:root{--bg:#EEF1EF;--bg-2:#E7EBE8;--surface:#FFFFFF;--surface-2:#F2F4F2;--surface-3:#E9EDEA;--border:#D6DBD7;--border-2:#C3CAC5;--text:#1B2420;--muted:#5B6660;--muted-2:#8A938D;--accent:#1F5C52;--accent-2:#E7EEEC;--accent-strong:#153F38;--warm:#A85A34;--warm-2:#F3E4DA;--ok:#2F7D4F;--warn:#A9791E;--err:#B23A3A;--info:#2E5C8A;--radius:12px;--radius-sm:8px;--radius-pill:999px;--shadow:0 10px 28px rgba(27,36,32,.08);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-serif:Georgia,"Iowan Old Style","Palatino Linotype","Times New Roman",serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;background:var(--bg)}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;font-family:var(--font-serif);font-weight:700;letter-spacing:.1px;text-wrap:balance}h1{font-size:23px}h2{font-size:17px}h3{font-size:14px;font-family:var(--font)}.muted{color:var(--muted)}.small{font-size:12px}.accent{color:var(--accent)}.splash{display:grid;place-items:center;height:100vh;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}.btn:hover{border-color:var(--accent);background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent-strong);font-weight:700}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{background:transparent;border-color:var(--border)}.btn-danger{color:var(--err);border-color:#e0b8b8}.btn-danger:hover{background:#fbeded;border-color:var(--err)}.btn-sm{padding:5px 10px;font-size:12px}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh;transition:grid-template-columns .15s}.app.sidebar-collapsed{grid-template-columns:72px 1fr}.sidebar{position:relative;background:var(--surface);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px}.menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:20;width:42px;height:42px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);color:var(--text);font-size:20px;cursor:pointer;align-items:center;justify-content:center}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#141a1759}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 20px}.brand .logo{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--accent);font-family:var(--font-serif);font-size:16px}.brand b{font-size:16px;letter-spacing:.2px;font-family:var(--font-serif)}.brand span{color:var(--accent)}.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted-2);padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:7px 11px;border-radius:var(--radius-sm);color:var(--muted);font-weight:600;cursor:pointer;transition:.13s;border:1px solid transparent}.nav-item .ic{width:18px;text-align:center;opacity:.9}.nav-item:hover{color:var(--text);background:var(--surface-2)}.nav-item.active{color:var(--accent-strong);background:var(--accent-2);border-color:#cfe0db}.sidebar .spacer{flex:1}.user-box{border-top:1px solid var(--border);padding-top:14px;margin-top:8px}.user-box .who{display:flex;align-items:center;gap:10px;padding:6px 8px}.avatar-dot{width:30px;height:30px;border-radius:50%;background:var(--accent-2);display:grid;place-items:center;color:var(--accent-strong);font-weight:700;border:1px solid var(--border-2)}.main{padding:30px 38px;min-width:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px}.topbar .sub{color:var(--muted);font-size:13px;margin-top:4px}.content{max-width:1500px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head .desc{color:var(--muted);font-size:12.5px;margin-top:4px;max-width:60ch}.stat .v{font-size:26px;font-weight:700;letter-spacing:.2px;font-family:var(--font-serif)}.stat .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-top:4px}.tile{cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:10px}.tile:hover{border-color:var(--accent);transform:translateY(-2px)}.tile .ti{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:20px;background:var(--accent-2);border:1px solid var(--border-2)}.tile h3{font-size:15px}.tile p{color:var(--muted);font-size:12.5px;margin:0}.field{margin-bottom:16px}.field>label{display:block;font-size:12.5px;font-weight:700;margin-bottom:7px;color:var(--text)}.field .hint{color:var(--muted-2);font-size:11.5px;margin-top:6px}input,textarea,select{width:100%;background:var(--surface);border:1px solid var(--border-2);color:var(--text);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;font-family:inherit;transition:.13s}textarea{resize:vertical;min-height:96px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1f5c521f}.row{display:flex;gap:14px;flex-wrap:wrap}.row>*{flex:1;min-width:160px}.check{display:flex;align-items:center;gap:9px;cursor:pointer}.check input{width:auto}.adv{margin:10px 0 4px}.adv-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--accent);cursor:pointer;font-size:12.5px;font-weight:700;-webkit-user-select:none;user-select:none}.adv-body{margin-top:14px;padding:16px;border:1px dashed var(--border-2);border-radius:var(--radius-sm);background:var(--surface-2)}.dropzone{border:1.5px dashed var(--border-2);border-radius:var(--radius-sm);padding:18px;background:var(--surface-2);transition:.13s}.dropzone:hover{border-color:var(--accent)}.dropzone .fn{color:var(--accent-strong);font-size:12.5px;margin-top:8px;word-break:break-all}.migration-history-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin:12px 0}.cloud-import{display:grid;gap:12px}.cloud-import>label{display:grid;gap:6px}.cloud-file{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--border)}.rule-candidate{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.layout-admin-row{padding:10px 0;border-top:1px solid var(--border)}.layout-admin-row>summary{cursor:pointer}.rule-candidate div,.layout-admin-row>div{display:grid}.rule-candidate small,.layout-admin-row small{color:var(--muted-2)}.admin-layout-preview{display:block;width:min(420px,100%);margin:12px 0;border:1px solid var(--border);border-radius:8px}.revision-preview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.revision-preview-pair img{width:100%;border:1px solid var(--border);border-radius:8px}.version-editor{margin-bottom:16px}.version-editor details{margin-top:8px}.version-editor pre{max-height:240px;overflow:auto;background:var(--surface-2);padding:10px;border-radius:8px}@media (max-width:900px){.migration-history-filters,.revision-preview-pair{grid-template-columns:1fr}.rule-candidate{grid-template-columns:1fr auto auto}}.mapping-wizard{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.6fr);gap:18px}.slide-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:7px}.slide-preview.placeholder{background:linear-gradient(135deg,var(--surface-2),var(--surface-3))}.layout-candidate .slide-preview{margin-bottom:5px}.event-log{display:grid;gap:8px}.event-log>div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:7px 0;border-top:1px solid var(--border)}.event-log time{color:var(--muted-2);font-size:12px}@media (max-width:900px){.mapping-wizard{grid-template-columns:1fr}}.run-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.run-summary>div{display:grid;gap:4px}.run-summary small,.run-summary span{color:var(--muted-2)}.slide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.slide-tile{display:grid;gap:5px}.slide-tile small{color:var(--muted-2)}@media (max-width:760px){.run-summary{grid-template-columns:1fr}}.migration-settings{margin-bottom:16px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.settings-grid label{display:grid;gap:5px;font-size:12px;color:var(--muted-2)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:700;border:1px solid var(--border-2);background:var(--surface-2);color:var(--muted)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-queued{color:var(--muted)}.pill-running{color:var(--info);border-color:#c3d6e5}.pill-done{color:var(--ok);border-color:#c6e0cf}.pill-error{color:var(--err);border-color:#e5c3c3}.pill-canceled{color:var(--warn);border-color:#e5dac3}.role-tag{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--border-2);color:var(--muted)}.role-admin{color:var(--accent-strong);border-color:var(--accent)}.verdict{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.verdict-pass{background:#e3f1e7;color:var(--ok)}.verdict-warn{background:#f4ecd9;color:var(--warn)}.verdict-fail{background:#f6e2e2;color:var(--err)}.progress{height:7px;background:var(--surface-3);border-radius:var(--radius-pill);overflow:hidden;border:1px solid var(--border)}.progress-fill{height:100%;background:var(--accent);transition:width .5s ease;border-radius:var(--radius-pill)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;padding:10px 12px;border-bottom:1px solid var(--border)}td{padding:11px 12px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2)}.mono{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable}.tab{padding:10px 16px;color:var(--muted);cursor:pointer;font-weight:700;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.tab.tab-disabled{color:var(--muted-2);cursor:not-allowed;pointer-events:none;opacity:.55}.job-progress{margin-bottom:16px}.alert{padding:11px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;border:1px solid}.alert-err{background:#fbeded;border-color:#e5c3c3;color:#8c2b2b}.alert-ok{background:#e9f5ec;border-color:#c6e0cf;color:#1f5c37}.alert-info{background:#eaf1f7;border-color:#c3d6e5;color:#204a6b}.alert-warn{background:#f8f0dd;border-color:#e5dac3;color:#7a5a12}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}.login-card{width:100%;max-width:380px}.login-card .brand{justify-content:center;padding-bottom:8px}.login-card .tag{text-align:center;color:var(--muted);font-size:12.5px;margin-bottom:24px}.divider{height:1px;background:var(--border);margin:18px 0}.empty{text-align:center;color:var(--muted-2);padding:40px 0;font-size:13px}.kvp{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.kvp:last-child{border:none}.kvp .k{color:var(--muted)}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}.joblog{max-height:220px;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px;padding:8px 10px;line-height:1.6;font-size:12.5px}.lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted-2);font-weight:700}.spin{width:22px;height:22px;border:3px solid var(--border-2);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.spin-sm{width:12px;height:12px;border:2px solid var(--border-2);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#141a1773;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border-2);border-radius:12px;padding:20px;width:100%;max-width:760px;box-shadow:0 20px 60px #141a1740}.modal h3{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-family:var(--font)}.unit-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px;background:var(--surface)}.unit-row .kind-tag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);font-weight:700}.unassigned-row{border:1px solid var(--warm);background:var(--warm-2);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px}.type-icons{display:inline-flex;align-items:center;gap:5px;margin-left:8px;vertical-align:middle;white-space:nowrap}.type-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;font-size:18px;font-weight:800;color:#c8cfcc;background:var(--surface-2);border:1px solid var(--border)}.type-icon.is-available{color:var(--accent);background:var(--accent-2);border-color:var(--border-2)}.type-icon.is-active{color:var(--accent-strong);box-shadow:inset 0 0 0 2px currentColor}.type-icons-compact .type-icon{width:19px;height:19px;font-size:14px;border-radius:5px}.type-label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--accent)}.quick-project-form{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(240px,1.5fr) minmax(170px,1fr) minmax(170px,1fr) auto;gap:10px;align-items:center;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px}.template-select-wrap{position:relative;display:flex;align-items:center;min-width:0}.template-select-wrap select{padding-right:76px}.template-select-wrap .type-icons{position:absolute;right:32px;pointer-events:none;background:var(--surface)}.project-type-choice{min-height:42px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.project-type-choice select{border:0;padding:0;background:transparent}.quick-file{height:42px;display:flex;align-items:center;padding:0 12px;border:1px dashed var(--border-2);border-radius:var(--radius-sm);cursor:pointer;overflow:hidden}.quick-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-file input{display:none}.text-link{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.quick-text-toggle{grid-column:1/-1;justify-self:start}.quick-paste{grid-column:1/-1}.project-filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin:14px 0}.bulk-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;background:var(--accent-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);margin-bottom:10px}.bulk-share{display:grid;grid-template-columns:minmax(220px,1fr) 140px auto;gap:8px;align-items:start;flex:1}.projects-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.projects-table{min-width:1050px}.projects-table th,.projects-table td{vertical-align:middle}.sort-head{border:0;background:none;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer;white-space:nowrap}.project-thumb{width:100px;height:100px;border-radius:8px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;color:var(--muted-2);font-size:32px}.project-thumb img{width:100%;height:100%;object-fit:cover}.project-name-cell{display:flex;align-items:flex-start;gap:7px}.table-link{border:0;background:none;padding:0;color:var(--text);font:inherit;font-weight:700;cursor:pointer;text-align:left}.table-link:hover{color:var(--accent)}.table-actions{display:flex;gap:5px;flex-wrap:wrap}.project-title-with-types{display:flex;align-items:center;gap:8px}.project-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.project-type-select{display:inline-flex;align-items:center;gap:7px;font-size:12px}.project-type-select select{min-width:190px;padding:5px 28px 5px 8px}.content-editor-panel{display:grid;gap:12px;margin-bottom:14px}.document-model-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.document-model-panel>summary{cursor:pointer;padding:13px 16px}.document-model-groups{max-height:52vh;overflow:auto;padding:0 14px 14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.document-partial-group{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--surface-2)}.document-partial-group h3{margin-bottom:9px;color:var(--accent)}.semantic-unit{padding:9px;background:var(--surface);border:1px solid var(--border);border-radius:7px;margin-bottom:7px}.semantic-unit-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.semantic-edit{display:flex;gap:7px;align-items:flex-start;margin-top:6px}.semantic-edit textarea{min-height:58px}.semantic-edit .btn{flex:0 0 auto}.editor-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.editor-actions-main{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.unassigned-table{margin:-2px 0 12px;max-height:300px;overflow:auto;background:var(--surface);border:1px solid var(--warm);border-radius:var(--radius-sm)}.unassigned-table table{margin:0}.page-editor-shell{height:calc(100vh - 304px);min-height:320px;display:flex;flex-direction:column;overflow:hidden}.page-editor-shell>.editor-actions,.page-editor-shell>.alert,.page-editor-shell>.job-progress,.page-editor-shell>.unassigned-table{flex:0 0 auto}.editor-viewport{position:relative;flex:1 1 auto;min-height:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}.pdf-viewer{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:28px 24px 84px;display:flex;flex-direction:column;align-items:center;gap:28px}.pdf-page-slot{display:flex;flex-direction:column;align-items:center;gap:8px}.pdf-page-label{font-size:11.5px;color:var(--muted-2);letter-spacing:.02em}.pdf-page-wrapper{position:relative;overflow:hidden;background:#fff;box-shadow:0 6px 24px #141a1729;border:1px solid var(--border-2)}.pdf-page-frame{border:none;transform-origin:top left;display:block;background:#fff}.pdf-page-placeholder{width:100%;height:100%;background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 12px,var(--surface-3) 12px,var(--surface-3) 24px)}.editor-bottombar{position:absolute;left:12px;right:12px;bottom:12px;z-index:50;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;overflow:visible;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:8px 14px;box-shadow:0 10px 30px #141a1733}.bottombar-sep{width:1px;align-self:stretch;background:var(--border-2);margin:2px 4px}.page-num-input{width:52px;text-align:center;padding:6px 4px}.popover-wrap{position:relative;display:inline-block}.popover-panel{position:absolute;bottom:calc(100% + 10px);left:0;min-width:260px;max-width:340px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:0 14px 40px #141a1738;padding:14px;z-index:100}.rte-toolbar{position:fixed;z-index:60;display:flex;flex-direction:column;align-items:stretch;gap:4px;background:var(--accent-strong);border-radius:var(--radius-sm);padding:4px;box-shadow:0 10px 26px #141a174d}.rte-toolbar-row{display:flex;align-items:center;gap:2px}.rte-toolbar-expanded{width:min(560px,calc(100vw - 20px))}.rte-expanded-editor{min-height:86px;max-height:230px;overflow:auto;background:#fff;color:var(--text);padding:10px;border-radius:6px;outline:none;font-weight:400}.rte-slot-picker{position:absolute;top:calc(100% + 7px);right:0;width:320px;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:9px;box-shadow:var(--shadow)}.rte-slot-picker>div{max-height:240px;overflow:auto;margin-top:6px}.rte-slot-picker button{display:flex;flex-direction:column;width:100%;text-align:left;border:0;border-radius:6px;background:transparent;padding:7px;color:var(--text);cursor:pointer}.rte-slot-picker button:hover,.rte-slot-picker button.active{background:var(--accent-2)}.rte-slot-picker small{color:var(--muted-2);font-family:var(--font-mono)}.rte-link-picker{display:flex;gap:6px;position:absolute;top:calc(100% + 7px);left:0;width:min(420px,calc(100vw - 20px));background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:9px;box-shadow:var(--shadow)}.rte-link-picker input{min-width:0;flex:1}.rte-btn{background:transparent;border:none;color:#fff;padding:6px 9px;border-radius:6px;font-size:12.5px;font-weight:700;cursor:pointer}.rte-btn:hover{background:#ffffff2e}.rte-btn.active{background:#ffffff52}.rte-sep{width:1px;height:18px;background:#ffffff4d;margin:0 4px}.flow-editor-help{font-size:12px;color:var(--muted);margin-bottom:8px}.flow-editor-canvas{width:100%;max-height:52vh;min-height:300px;touch-action:none;border:1px solid var(--border-2);border-radius:10px;background:#fff;cursor:default}.flow-editor-canvas g[transform]{cursor:grab}.flow-editor-canvas g[transform]:active{cursor:grabbing}.flow-editor-node-text{height:44px;display:flex;align-items:center;justify-content:center;text-align:center;font:600 10px/1.2 Arial,sans-serif;overflow:hidden;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}.flow-editor-toolbar{display:flex;gap:8px;margin:10px 0}.flow-editor-properties{padding:12px;margin-bottom:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.flow-edge-row{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr) minmax(100px,1fr) 48px auto;gap:7px;align-items:center}.flow-edge-row input[type=color]{padding:3px;height:38px}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;width:250px;transform:translate(-110%);transition:.2s}.sidebar.open{transform:none;box-shadow:0 0 40px #141a174d}.menu-btn{display:flex}.nav-overlay.show{display:block}.main{padding:64px 18px 18px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.content{max-width:100%}.content table{display:block;overflow-x:auto;white-space:nowrap}.quick-project-form,.project-filters{grid-template-columns:1fr}.quick-text-toggle,.quick-paste{grid-column:1}.bulk-share{grid-template-columns:1fr}}.sidebar.collapsed{width:72px;padding-left:10px;padding-right:10px}.sidebar.collapsed .brand b,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-item span.lbl,.sidebar.collapsed .user-box .who div:not(.avatar-dot),.sidebar.collapsed .user-box .btn span.lbl{display:none}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed .brand{justify-content:center;padding-right:0}.sidebar-collapse-btn{position:absolute;top:50%;right:0;width:30px;height:30px;border-radius:50% 0 0 50%;background:var(--muted-2);border:none;color:var(--surface);cursor:pointer;display:flex;justify-content:flex-start;font-size:28px;line-height:23px;z-index:2;align-items:baseline;flex-direction:row}.table-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.table-tools>*{min-width:150px;flex:1}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions .bad{color:var(--err)}.history-row{background:var(--surface-2);opacity:.88}.expanded-table-row>td{padding:0 16px 16px}.expanded-table-row .migration-template{box-shadow:none;border:0;margin:0}.migration-template td small,.migration-jobs td small{display:block}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.migration-page,.migration-run{display:grid;gap:16px}.migration-upload{display:grid;gap:12px}.migration-upload .dropzone{text-align:center;padding:38px;cursor:pointer}.migration-file,.migration-version,.migration-status,.migration-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.migration-file span:first-child{flex:1}.migration-actions{margin-top:8px}.migration-status{justify-content:space-between;margin-top:10px}.question-card{border-color:var(--accent)}.layout-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px}.layout-candidate{display:flex;flex-direction:column;gap:7px;text-align:left;padding:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.layout-candidate:hover,.layout-candidate:focus{border-color:var(--accent)}.layout-candidate .bad{color:var(--err)}.metadata-question{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.metadata-question label{display:grid;gap:5px}.migration-template-create{display:flex;gap:10px;margin-bottom:16px}.migration-template{margin-bottom:14px}.migration-version{padding:10px 0;border-top:1px solid var(--border)}.migration-version>div{min-width:180px;flex:1}@media (max-width:760px){.metadata-question{grid-template-columns:1fr}.migration-upload .dropzone{padding:24px 12px}}.presentation-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.presentation-entry{text-align:left;cursor:pointer;display:grid;gap:7px}.presentation-entry b{font-size:18px}.presentation-entry span{color:var(--muted)}.table-sub{display:block;color:var(--muted);margin-top:3px}.active-template{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.template-picker,.layout-gallery{max-width:1120px}.template-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:18px}.template-card,.layout-gallery-card{display:grid;padding:0;overflow:hidden;text-align:left;background:var(--surface);color:inherit;border:1px solid var(--border);border-radius:11px;cursor:pointer}.template-card:hover,.template-card:focus,.layout-gallery-card:hover,.layout-gallery-card:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.template-card>img,.template-preview-empty,.layout-gallery-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#fff;border-bottom:1px solid var(--border)}.template-preview-empty{display:grid;place-items:center;color:var(--muted)}.template-card>span,.layout-gallery-card>span{display:grid;gap:5px;padding:13px}.template-card small,.layout-gallery-card small{color:var(--muted);line-height:1.35}.template-card em,.layout-gallery-card em{font-size:11px;color:var(--accent);font-style:normal}.layout-search{width:100%;margin:12px 0}.layout-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px;max-height:68vh;overflow:auto;padding:2px}.layout-gallery-card>img{object-fit:contain}.layout-gallery-card span{min-height:105px}.presentation-editor-shell{height:100vh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.presentation-editor-top{min-height:62px;padding:10px 16px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);background:var(--surface);z-index:3}.presentation-editor-top>div:nth-child(2){display:grid;flex:1}.presentation-editor-top small{color:var(--muted)}.presentation-editor-actions{display:flex;gap:8px}.presentation-editor-grid{display:grid;grid-template-columns:210px minmax(520px,1fr) 310px;min-height:0;flex:1}.presentation-filmstrip,.presentation-inspector{padding:14px;overflow:auto;background:var(--surface);border-right:1px solid var(--border)}.presentation-inspector{border-right:0;border-left:1px solid var(--border)}.filmstrip-slide{display:grid;grid-template-columns:22px 1fr;gap:6px;width:100%;padding:7px;margin-top:10px;border:2px solid transparent;border-radius:9px;background:transparent;color:inherit;text-align:left}.filmstrip-slide.active{border-color:var(--accent);background:var(--surface-2)}.mini-slide{aspect-ratio:16/9;background:#fff;position:relative;overflow:hidden;box-shadow:0 1px 4px #0002}.mini-slide>div{position:absolute;overflow:hidden;color:#17233c;font-size:3px;z-index:1}.presentation-canvas-column{display:flex;flex-direction:column;min-width:0;background:#d9dde5}.presentation-toolbar{display:flex;gap:6px;padding:9px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.presentation-toolbar button{border:1px solid var(--border);background:var(--surface-2);border-radius:7px;padding:6px 10px;color:inherit}.presentation-canvas{position:relative;width:min(92%,1280px);margin:auto;background:#fff;box-shadow:0 10px 35px #0003;overflow:hidden}.mini-slide>.template-background,.presentation-canvas>.template-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0}.canvas-element{position:absolute;white-space:pre-wrap;overflow:hidden;padding:4px;border:1px solid transparent;line-height:1.18;z-index:1}.canvas-element>img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.canvas-element.selected{border:2px solid #2474ff;box-shadow:0 0 0 2px #fff}.canvas-element.type-shape,.canvas-element.type-icon{border-radius:10px}.canvas-element table{border-collapse:collapse;width:100%;height:100%;font-size:.8em}.canvas-element td{border:1px solid #94a3b8;padding:3px}.presentation-inspector label{display:grid;gap:5px;margin:9px 0;font-size:12px}.presentation-inspector input,.presentation-inspector textarea,.presentation-inspector select{width:100%}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.version-create{display:flex;gap:6px}.version-list{display:grid;gap:8px;margin-top:10px}.version-list>div{display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid var(--border);padding-bottom:7px}.version-list span{display:grid}.version-list small{color:var(--muted)}.toolbar-separator{width:1px;min-height:24px;background:var(--border);margin:0 3px}.element-toolbar{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 4px 14px #0001;z-index:2}.element-toolbar-empty{display:block;color:var(--muted);font-size:12px}.element-toolbar-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.element-toolbar button,.element-toolbar select{border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:6px;padding:5px 8px;font-size:12px}.element-toolbar button.active{border-color:var(--accent);background:var(--accent-2);color:var(--accent-strong)}.element-toolbar button:disabled{opacity:.45}.element-toolbar input[type=color]{width:30px;height:27px;padding:2px;border:1px solid var(--border);border-radius:5px}.text-format-button,.table-align-button{width:32px!important;height:32px!important;min-width:32px;display:inline-grid!important;place-items:center;padding:0!important;flex:0 0 32px}.text-format-color{width:32px!important;height:32px!important}.element-kind{min-width:58px;text-transform:capitalize}.font-size-value{min-width:42px;text-align:center;font-size:12px}.toolbar-color,.toolbar-select-label{display:inline-flex!important;grid-auto-flow:column;align-items:center;gap:5px!important;margin:0!important;color:var(--muted);white-space:nowrap}.toolbar-select-label select{color:var(--text)}.toolbar-danger-row{margin-left:auto}.toolbar-danger-row .bad{color:var(--err)}.table-toolbar{display:grid;gap:5px;border-top:1px solid var(--border);padding-top:6px}.table-toolbar-primary,.table-toolbar-secondary{flex-wrap:nowrap;overflow-x:auto}.presentation-canvas-column{overflow:auto}.presentation-canvas{flex:0 0 auto;margin:22px auto}.canvas-element.is-empty{border:1px dashed #aab4c1;background:#f4f6f9db!important;color:#84909f!important}.canvas-element.is-empty:not(.selected){box-shadow:inset 0 0 0 1px #ffffffb3}.inline-slide-text{width:100%;height:100%;min-height:1em;outline:none;overflow:hidden;white-space:pre-wrap}.inline-slide-text:empty:before,.editable-slide-table td>div:empty:before{content:attr(data-placeholder);color:#9aa4b2;font-style:italic;font-weight:400;text-decoration:none}.element-visual-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed #aab4c1;background:#f4f6f9e0;color:#8b96a4;text-align:center}.element-visual-placeholder:first-letter{font-size:26px}.free-move-mode .canvas-element{cursor:move;touch-action:none}.element-resize-handle{position:absolute;right:-7px;bottom:-7px;width:14px!important;height:14px!important;padding:0!important;border:2px solid white!important;border-radius:3px!important;background:#2474ff!important;cursor:nwse-resize!important;z-index:4}.editable-slide-table{table-layout:fixed}.editable-slide-table td{position:relative;overflow:hidden}.editable-slide-table td.selected-cell{outline:2px solid #2474ff;outline-offset:-2px}.editable-slide-table td>div{width:100%;height:100%;min-height:1.2em;outline:none;white-space:pre-wrap}.mini-slide .mini-placeholder{border:1px dashed #b8c1cb!important;background:#f3f5f7aa!important}@media (max-width:1100px){.presentation-editor-grid{grid-template-columns:150px minmax(450px,1fr) 250px}.presentation-entry-grid{grid-template-columns:1fr}}@media (max-width:820px){.presentation-editor-grid{grid-template-columns:1fr}.presentation-filmstrip,.presentation-inspector{display:none}.presentation-editor-actions .btn:not(.btn-primary){display:none}}.template-tools-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px;background:var(--surface-2);border-radius:10px;margin-bottom:14px}.template-tools-panel>div{display:grid;gap:8px}.tuning-progress{height:7px;background:var(--border);border-radius:8px;overflow:hidden;margin-bottom:12px}.tuning-progress>div{height:100%;background:var(--accent)}.tuning-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:18px}.tuning-grid>div{display:flex;flex-direction:column;gap:10px}.tuning-preview{width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border:1px solid var(--border)}.tuning-output-placeholder{aspect-ratio:16/9;background:var(--surface-2);display:grid;place-items:center;text-align:center;color:var(--muted);padding:20px}.analysis-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px}.analysis-list dt{color:var(--muted)}.analysis-list dd{margin:0;font-weight:600}@media (max-width:1000px){.tuning-grid,.template-tools-panel{grid-template-columns:1fr}}.comparison-list{display:grid;gap:16px}.comparison-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 170px;gap:16px;align-items:start;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.comparison-row>div{display:grid;gap:7px;min-width:0}.comparison-row .slide-preview{width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:8px}.comparison-row aside{display:grid;gap:8px;padding-top:24px}.qa-pass{color:#08783e}.qa-wait{color:#9a5b00}@media (max-width:900px){.comparison-row{grid-template-columns:1fr}.comparison-row aside{padding-top:0}}.visually-hidden{position:fixed!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.object-add-button{display:flex;align-items:center;gap:6px}.object-add-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.transform-toggle.active{background:#2474ff!important;border-color:#155bd7!important;color:#fff!important;box-shadow:0 0 0 2px #2474ff33}.move-four{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}.small-number{width:65px!important;padding:5px 7px!important}.collection-toolbar label{display:inline-flex!important;align-items:center;gap:6px;margin:0!important}.collection-toolbar select{width:auto}.canvas-element.type-frame{border-radius:10px}.rich-slide-text ul,.rich-slide-text ol{margin:.15em 0;padding-left:2em}.rich-slide-text li::marker{color:var(--marker-color,#f4af85);font-weight:800}.rich-slide-text ul[data-list-style=check]{list-style:none;padding-left:2em}.rich-slide-text ul[data-list-style=check] li:before{content:"✓";position:absolute;margin-left:-1.7em;width:1.25em;text-align:center;color:var(--marker-color,#f4af85);font-weight:800}.slide-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.slide-image-button img{display:block;width:100%;height:100%}.element-visual-placeholder{border-radius:8px;cursor:pointer}.element-visual-placeholder svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.35}.canvas-element.selected{overflow:visible}.element-resize-handle{right:auto;bottom:auto;width:12px!important;height:12px!important;margin:-6px 0 0 -6px}.handle-nw{left:0;top:0;cursor:nwse-resize!important}.handle-n{left:50%;top:0;cursor:ns-resize!important}.handle-ne{left:100%;top:0;cursor:nesw-resize!important}.handle-e{left:100%;top:50%;cursor:ew-resize!important}.handle-se{left:100%;top:100%;cursor:nwse-resize!important}.handle-s{left:50%;top:100%;cursor:ns-resize!important}.handle-sw{left:0;top:100%;cursor:nesw-resize!important}.handle-w{left:0;top:50%;cursor:ew-resize!important}.collection-element{display:grid;gap:8px;width:100%;height:100%;align-content:stretch}.collection-item{display:flex;gap:9px;min-width:0;min-height:0}.collection-item.last-full{grid-column:1/-1}.collection-list .collection-item{align-items:flex-start;padding:6px 7px}.collection-marker{flex:0 0 42px;min-width:42px;font-weight:800;color:var(--marker-color,#f4af85);text-align:center;white-space:nowrap}.collection-copy{min-width:0;flex:1}.collection-field{outline:none;min-height:1.3em;white-space:pre-wrap}.collection-field:empty:before{content:attr(data-placeholder);color:#9aa4b2;font-style:italic}.collection-tiles .collection-item{padding:11px 12px;border-radius:9px;background:color-mix(in srgb,var(--surface) 82%,transparent);border:1px solid color-mix(in srgb,currentColor 18%,transparent)}.tile-title{font-weight:750;margin-bottom:5px}.canvas-element.numeric-marker{overflow:visible;white-space:nowrap}.project-palette{padding:10px 0;border-top:1px solid var(--border);margin-top:12px}.palette-presets{display:grid;gap:7px}.palette-presets>button{display:grid;gap:6px;text-align:left;border:1px solid var(--border);background:var(--surface-2);padding:8px;border-radius:8px;color:inherit}.palette-presets>button.active{border-color:#2474ff;box-shadow:0 0 0 2px #2474ff22}.palette-swatches{display:grid!important;grid-template-columns:repeat(4,1fr);gap:2px;height:15px}.palette-swatches i{display:block;border-radius:3px;border:1px solid #0002}.project-palette details{margin-top:8px}.project-palette summary{cursor:pointer;font-size:12px;color:var(--accent)}.custom-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.custom-palette-grid label{display:grid!important;grid-template-columns:1fr 34px!important;align-items:center}.custom-palette-grid input{width:34px!important;height:28px;padding:2px}.layout-gallery{width:min(1120px,94vw)}.layout-type-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px;max-height:66vh;overflow:auto;padding:3px}.layout-type-group{border:1px solid var(--border);border-radius:11px;background:var(--surface);overflow:hidden}.layout-type-group>header{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.layout-type-group h3{margin:0 0 3px}.layout-type-group small{color:var(--muted)}.layout-diagram{width:105px;height:66px;flex:0 0 auto;fill:var(--muted-2);stroke:var(--muted-2);stroke-width:.7}.layout-diagram .layout-page{fill:#fff;stroke:var(--border-2)}.layout-diagram .layout-image{fill:var(--accent-2);stroke:var(--accent)}.layout-variant-list{display:grid;gap:1px}.layout-variant-list button{display:grid;gap:3px;text-align:left;border:0;border-top:1px solid var(--border);background:transparent;color:inherit;padding:10px 12px;cursor:pointer}.layout-variant-list button:first-child{border-top:0}.layout-variant-list button:hover,.layout-variant-list button:focus{background:var(--accent-2)}.image-upload-dialog{width:min(520px,92vw)}.image-upload-choice{min-height:180px;display:grid;place-items:center;align-content:center;gap:16px;border:2px dashed var(--border-2);border-radius:12px;background:var(--surface-2);margin:14px 0}.image-upload-choice svg{width:58px;height:58px;fill:none;stroke:var(--muted);stroke-width:1.2}.palette-admin{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.palette-admin-form{display:grid;grid-template-columns:minmax(150px,1fr) repeat(4,80px) auto auto;gap:8px;align-items:end}.palette-admin-form label{display:grid;gap:4px;font-size:11px;color:var(--muted)}.palette-admin-form input[type=color]{height:38px;padding:3px}.palette-admin-list{display:grid;gap:7px;margin-top:10px}.palette-admin-row{display:grid;grid-template-columns:minmax(160px,1fr) 180px auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:8px}.palette-admin-row .row-actions{justify-content:flex-end}.presentation-canvas-viewport{width:min(92%,1280px);flex:0 0 auto;margin:24px auto 32px;position:relative}.presentation-canvas-viewport>.presentation-canvas{margin:0}.presentation-filmstrip>button:first-child{position:sticky;top:-14px;z-index:2;width:100%;box-shadow:0 4px 12px #0002}.layout-choice{width:100%;color:inherit;text-align:left;cursor:pointer}.layout-choice:hover,.layout-choice:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.layout-change-current{display:grid;gap:6px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);margin:8px 0 12px}.layout-change-current small{color:var(--muted)}.layout-change-current .btn{width:100%}.layout-change-gallery{max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.layout-change-grid{min-height:0;max-height:none;flex:1;overflow-y:auto;align-content:start;grid-auto-rows:max-content}.layout-gallery-card.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.layout-gallery-card:disabled{opacity:.72;cursor:default}.layout-change-grid .layout-gallery-card>img{display:block}.layout-change-grid .layout-gallery-card>span{min-height:138px}.layout-change-grid .mono{overflow-wrap:anywhere}.layout-question-choices{min-width:0}.layout-question-tabs{margin:0 0 12px}.layout-question-tabs .tab{border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer}.layout-question-tabs .tab.active{border-bottom-color:var(--accent)}.layout-question-choices>.layout-candidates,.layout-question-choices>.inline-candidates{max-height:62vh;overflow:auto;padding-right:4px}.layout-question-choices .layout-search{margin:0 0 12px}.layout-question-choices .mono{overflow-wrap:anywhere}.format-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.format-icon text{fill:currentColor;stroke:none;font-family:Arial,sans-serif;font-size:8px;font-weight:700}@media (max-width:1100px){.palette-admin-form{grid-template-columns:1fr 1fr 1fr}.palette-admin-form>label:first-child{grid-column:1/-1}.layout-diagram{width:88px}.presentation-toolbar .object-add-button span{display:none}}.live-processing,.live-questions{scroll-margin-top:18px}.live-run{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(180px,2fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}.live-run:first-of-type{border-top:0}.live-run>div:first-child{display:grid;gap:3px}.live-run small{color:var(--muted)}.live-run .progress{min-width:160px}.inline-question{display:grid;gap:13px;padding:16px 0;border-top:1px solid var(--border)}.inline-question:first-of-type{border-top:0}.inline-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.inline-question-head>div{display:grid;gap:4px}.inline-question-head small{color:var(--muted)}.inline-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.inline-candidates .layout-candidate{min-width:0}.inline-candidates .layout-candidate img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border:1px solid var(--border)}.question-link{display:block;margin-top:6px;border:0;cursor:pointer;color:var(--accent-strong)}.section-anchor{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;background:var(--accent-2);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));scroll-margin-top:18px}.section-anchor span{color:var(--muted)}.admin-user-create{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.4fr) minmax(180px,1fr) minmax(130px,.7fr) auto;gap:10px;align-items:end}.admin-user-create h2{grid-column:1/-1;margin:0 0 4px}.password-reset-inline{display:flex;gap:6px;min-width:210px}.password-reset-inline input{min-width:120px}@media (max-width:900px){.live-run{grid-template-columns:1fr auto}.live-run .progress{grid-column:1/-1;grid-row:2}.inline-question-head{align-items:flex-start}.section-anchor{align-items:flex-start;flex-direction:column}.admin-user-create{grid-template-columns:1fr 1fr}.admin-user-create h2{grid-column:1/-1}}@media (max-width:620px){.live-run,.admin-user-create{grid-template-columns:1fr}.live-run .progress{grid-column:1}.inline-question-head{display:grid}.inline-candidates{grid-template-columns:1fr}}.canvas-element{box-sizing:border-box}.toolbar-caption{display:inline-flex;align-items:center;white-space:nowrap;color:var(--muted);font-size:12px;margin-right:4px}.presentation-layout-config{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px 10px;background:var(--surface);border-bottom:1px solid var(--border)}.presentation-layout-config button{border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:7px;padding:6px 10px;cursor:pointer}.presentation-layout-config button.active{border-color:var(--accent);background:var(--accent-2);color:var(--accent-strong)}.canvas-element.type-frame.is-empty{background:#e7e9a0!important;color:#17233c!important;border:1px dashed #8b9d91}.canvas-element.type-frame.is-empty .inline-slide-text:empty:before{color:#526263}.editable-slide-table td>div:empty:before{color:var(--placeholder-color,#9aa4b2)}.element-hover-actions{position:absolute;left:-32px;top:0;display:none;flex-direction:column;gap:3px;z-index:8;pointer-events:auto}.canvas-element:hover .element-hover-actions,.canvas-element.selected .element-hover-actions{display:flex}.element-hover-actions span,.element-hover-actions button{display:grid;place-items:center;width:27px;height:27px;border:1px solid #89a1bb;border-radius:5px;background:#fff;color:#233a55;box-shadow:0 1px 6px #0002;cursor:grab;font:18px/1 sans-serif}.element-hover-actions button{cursor:pointer;font-size:14px}.element-hover-actions button{color:#b42318;border-color:#ef8078;background:#fff1f0;font-size:17px;box-shadow:0 2px 8px #0003}.element-hover-actions button:hover{background:#b42318;color:#fff}.template-card>img,.template-card>.template-preview-empty{height:200px;aspect-ratio:16/9;object-fit:cover;width:auto}.template-card>span{gap:2px;padding:4px 10px}.template-card small{display:none}.template-card,.layout-gallery-card{width:fit-content}.nav-with-badge{position:relative}.nav-progress-badge{display:inline-block;margin:-3px 0 8px 43px;padding:2px 6px;border-radius:999px;background:#fff0c2;color:#744d00;font-size:10px;line-height:1.2}.sidebar-collapsed .nav-progress-badge{display:none}.migration-page[data-view=create]>.presentation-history,.migration-page[data-view=create]>#presentation-projects{display:none}.migration-page[data-view=projects]>:not(#presentation-projects):not(.alert),.migration-page[data-view=history]>:not(.presentation-history):not(.alert){display:none}.presentation-canvas:has(.type-image) .canvas-element.type-image .slide-image-button img{width:100%;height:100%}.presentation-canvas:has(.type-image) .canvas-element.type-image{padding:0}.presentation-canvas .canvas-element.type-image .slide-image-button{width:100%;height:100%;padding:0;border:0;background:transparent}.presentation-canvas .canvas-element:hover,.presentation-canvas .canvas-element.selected{overflow:visible}.presentation-canvas .canvas-element.type-image{border:0;padding:0}.presentation-canvas .canvas-element.type-image.selected{border:2px solid #2474ff;box-shadow:0 0 0 2px #fff}.presentation-canvas .canvas-element.type-image .slide-image-button img{object-position:center}.presentation-canvas.full-page-ad-canvas .canvas-element.type-image.is-empty{background:#fff!important;border:0;box-shadow:none}.presentation-canvas.full-page-ad-canvas .canvas-element.type-image .element-visual-placeholder{background:#fff;border:0;border-radius:0}.graphic-toolbar-row{flex-wrap:nowrap;overflow-x:auto}.graphic-toolbar-row .graphic-upload-help{color:var(--muted);white-space:nowrap;font-size:11px}.graphic-toolbar-row label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px}.graphic-toolbar-row .bad{margin-left:auto;white-space:nowrap;color:var(--err)}.layout-candidate.active{border:2px solid var(--accent);background:var(--accent-2)}.question-step-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.presentation-history{overflow-x:auto}.presentation-history table{min-width:1120px;table-layout:fixed}.presentation-history th:nth-child(1){width:17%}.presentation-history th:nth-child(2){width:15%}.presentation-history th:nth-child(3){width:15%}.presentation-history th:nth-child(4){width:9%}.presentation-history th:nth-child(5){width:6%}.presentation-history th:nth-child(6){width:14%}.presentation-history th:nth-child(7){width:8%}.presentation-history th:nth-child(8){width:16%}.presentation-history td{vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presentation-history .table-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presentation-history .row-actions{flex-wrap:nowrap;gap:3px}.presentation-history .row-actions .btn{white-space:nowrap;padding:5px 7px}.presentation-history .question-link{display:inline-flex;align-items:center;margin:0 0 0 5px;padding:2px 6px;font-size:11px;white-space:nowrap}.cover-add-author{position:absolute;left:7.1%;top:84%;z-index:3;border:1px dashed #fff;background:#233a55bb;color:#fff;border-radius:7px;padding:7px 10px;cursor:pointer}.mini-slide>.mini-ad-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.mini-slide .mini-element-image img{display:block;width:100%;height:100%}.canvas-element table{font-size:1em}.canvas-element td{vertical-align:middle}.sidebar{background:#fcfdfd;padding-top:19px;gap:4px}.nav-item,.nav-section-toggle{min-height:41px;display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:10px;color:var(--muted);background:transparent;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.nav-item:hover,.nav-section-toggle:hover{background:var(--surface-2);color:var(--text)}.nav-section-toggle.active{color:var(--text)}.nav-item .ic,.nav-section-toggle .ic{display:grid;place-items:center;width:23px;flex:0 0 23px;opacity:1}.nav-item .ic .app-icon,.nav-section-toggle .ic .app-icon{width:21px;height:21px}.nav-section-toggle .lbl{display:flex;align-items:center;gap:7px;flex:1;min-width:0;flex-wrap:wrap}.nav-chevron{margin-left:auto;transition:transform .15s;flex:0 0 auto}.nav-section.expanded .nav-chevron{transform:rotate(180deg)}.nav-submenu{margin:2px 0 7px 19px;padding-left:13px;border-left:1px solid var(--border);display:grid;gap:2px}.nav-submenu .nav-item{font-weight:500;font-size:12.5px;min-height:37px}.nav-submenu .nav-item .app-icon{width:18px;height:18px}.nav-progress-badge{margin:0;padding:2px 6px;line-height:1.1;white-space:nowrap;font-size:9px;font-weight:700;letter-spacing:.01em}.notifications-toggle{width:100%;display:flex;align-items:center;gap:10px;justify-content:flex-start!important;min-height:40px;padding:7px 10px!important}.notifications-toggle .app-icon{flex:0 0 auto}.notifications-toggle .pill{margin-left:auto}.user-details{flex:1;min-width:0}.logout-button{width:100%;margin-top:10px;display:flex;align-items:center;gap:9px;justify-content:flex-start}.sidebar.collapsed .nav-section-toggle{justify-content:center;padding:9px 0}.sidebar.collapsed .nav-section-toggle .lbl,.sidebar.collapsed .nav-chevron,.sidebar.collapsed .notification-label,.sidebar.collapsed .user-details,.sidebar.collapsed .logout-button .lbl{display:none}.sidebar.collapsed .nav-item .ic .app-icon,.sidebar.collapsed .nav-section-toggle .ic .app-icon{width:21px;height:21px}.sidebar.collapsed .notifications-toggle .app-icon,.sidebar.collapsed .logout-button .app-icon{width:20px;height:20px}.sidebar.collapsed .nav-item,.sidebar.collapsed .notifications-toggle,.sidebar.collapsed .logout-button{justify-content:center!important;min-height:54px;padding:6px!important}.sidebar.collapsed .notifications-toggle .pill{position:absolute;top:0;right:0;font-size:9px;padding:1px 4px}.sidebar.collapsed .notifications-toggle{position:relative}.presentation-toolbar,.presentation-layout-config,.element-toolbar{gap:8px;padding:9px 12px}.presentation-toolbar button,.presentation-layout-config button,.element-toolbar button{transition:background .15s,border-color .15s,box-shadow .15s}.presentation-toolbar button:hover:not(:disabled),.presentation-layout-config button:hover:not(:disabled),.element-toolbar button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-2)}.presentation-toolbar .app-icon,.presentation-layout-config .app-icon,.presentation-editor-actions .app-icon,.element-toolbar .app-icon{vertical-align:middle;flex:0 0 auto}.presentation-toolbar .editor-action-button,.presentation-layout-config .editor-action-button,.presentation-editor-actions .btn{display:inline-flex;align-items:center;gap:6px}.element-toolbar-row:first-child>.toolbar-delete{margin-left:auto;color:var(--err);border-color:#e4b9b9;background:#fff7f7}.element-toolbar-row:first-child>.toolbar-delete:hover{background:#ffeded!important;border-color:var(--err)!important}.graphic-toolbar-row>.toolbar-delete{margin-left:auto}.element-toolbar-row:first-child{flex-wrap:nowrap;overflow-x:auto;min-width:0}.element-toolbar-row:first-child>*{flex-shrink:0}.editor-view-switch{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.editor-view-switch .btn{padding:5px!important;min-width:34px;justify-content:center;border:0;background:transparent}.editor-view-switch .btn.active{background:var(--surface);color:var(--accent-strong);box-shadow:0 1px 4px #0002}.editor-view-slides .presentation-editor-grid,.editor-view-focus .presentation-editor-grid{position:relative;grid-template-columns:210px minmax(0,1fr)}.editor-view-focus .presentation-editor-grid{grid-template-columns:minmax(0,1fr)}.editor-view-focus .presentation-filmstrip,.editor-view-slides .presentation-inspector,.editor-view-focus .presentation-inspector{display:none}.presentation-editor-grid{position:relative}.inspector-handle{position:absolute;right:310px;top:50%;z-index:5;transform:translateY(-50%);width:26px;height:64px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px 0 0 9px;background:var(--surface);color:var(--accent-strong);box-shadow:-3px 2px 8px #0001;cursor:pointer}.editor-view-slides .inspector-handle,.editor-view-focus .inspector-handle{right:0}.editor-view-slides .inspector-handle,.editor-view-focus .inspector-handle{border-radius:9px 0 0 9px}@media (max-width:1100px){.inspector-handle{right:250px}.editor-view-slides .presentation-editor-grid{grid-template-columns:150px minmax(0,1fr)}}@media (max-width:820px){.inspector-handle{display:none}.presentation-editor-actions{flex-wrap:wrap}.editor-view-slides .presentation-editor-grid,.editor-view-focus .presentation-editor-grid{grid-template-columns:1fr}}.rich-slide-text{display:flex;flex-direction:column;justify-content:var(--vertical-align,flex-start);line-height:inherit}.rich-slide-text>div+div,.rich-slide-text>ul+div,.rich-slide-text>ol+div{margin-top:.42em}.rich-slide-text ul,.rich-slide-text ol{margin:.18em 0;padding-left:2em}.editable-slide-table td>div{display:flex;align-items:center}.migration-transfer{display:grid;gap:7px;padding:11px 13px;border:1px solid var(--accent);border-radius:9px;background:var(--accent-2)}.migration-transfer>div:first-child{display:flex;justify-content:space-between;gap:12px}.migration-transfer .progress.indeterminate{overflow:hidden}.migration-transfer .progress.indeterminate .progress-fill{width:35%!important;animation:migration-progress-pulse 1.1s ease-in-out infinite}@keyframes migration-progress-pulse{0%{transform:translate(-120%)}to{transform:translate(320%)}}.inline-layout-question{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:16px;align-items:start}.inline-source-preview{display:grid;gap:8px;position:sticky;top:12px}.inline-source-preview h3{margin:0}.inline-source-preview img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:8px}.presentation-authors{display:grid;gap:7px;padding:10px 0;border-top:1px solid var(--border);margin-top:12px}.presentation-authors h3,.presentation-authors p{margin:0}.presentation-author-row{display:grid;grid-template-columns:1fr 34px;gap:6px;align-items:center}.presentation-author-row input{margin:0!important}.presentation-author-row button{min-width:34px;padding:5px!important}@media (max-width:900px){.inline-layout-question{grid-template-columns:1fr}.inline-source-preview{position:static}}.layout-options-dialog{width:min(560px,94vw)}.layout-option-fields{display:grid;gap:15px;margin:18px 0}.layout-option-fields>label:not(.layout-option-check){display:grid;gap:7px}.layout-option-fields select{width:100%;padding:9px}.layout-option-check{display:flex;align-items:center;gap:9px}.layout-option-check input{width:18px;height:18px}.layout-option-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.presentation-help{max-width:1180px;margin:auto;padding-bottom:80px}.help-toc{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 30px}.help-toc a{padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none;font-size:13px}.help-toc a:hover{border-color:var(--accent);color:var(--accent-strong)}.help-section{scroll-margin-top:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin:18px 0;line-height:1.65}.help-section h2{margin:0 0 15px}.help-section p{max-width:88ch}.help-section li{margin:10px 0}.help-screenshot{margin:20px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.help-screenshot img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:6px;background:#fff}.help-screenshot figcaption{padding:9px 4px 2px;color:var(--muted);font-size:13px}.help-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.help-tools>div{padding:14px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.help-tools h3{margin:0 0 6px;font-size:14px}.help-tools p{margin:0;font-size:13px}@media (max-width:760px){.help-section{padding:17px}.help-tools{grid-template-columns:1fr}}@media (max-width:820px){.presentation-editor-top{flex-wrap:wrap}.presentation-editor-actions{width:100%;overflow-x:auto;flex-wrap:nowrap}.presentation-editor-actions .editor-view-switch .btn{display:inline-flex!important}.presentation-editor-grid{grid-template-columns:minmax(0,1fr)!important}.editor-view-all .presentation-inspector{display:block;position:absolute;right:0;top:0;bottom:0;width:min(310px,86vw);z-index:4;box-shadow:-8px 0 24px #0002}.inspector-handle{display:grid;right:0!important}.editor-view-all .inspector-handle{right:min(310px,86vw)!important}.editor-view-slides .presentation-filmstrip{display:block;position:absolute;left:0;top:0;bottom:0;width:140px;z-index:2;box-shadow:4px 0 12px #0001}.editor-view-slides .presentation-canvas-column{margin-left:140px}.editor-view-all .presentation-filmstrip{display:block;position:absolute;left:0;top:0;bottom:0;width:140px;z-index:2}.editor-view-all .presentation-canvas-column{margin-left:140px}}.sidebar{transition:width .24s ease,padding .24s ease,transform .24s ease}.sidebar .sidebar-handle{position:fixed;top:50%;left:250px;right:auto;transform:translateY(-50%);width:26px;height:64px;display:grid;place-items:center;justify-content:center;align-items:center;z-index:35;border:1px solid var(--accent);border-radius:0 9px 9px 0;background:var(--accent);color:#fff;box-shadow:3px 2px 8px #0002;cursor:pointer;transition:left .24s ease,background .2s ease}.sidebar-collapsed .sidebar .sidebar-handle{left:72px}.sidebar .sidebar-handle:hover{background:var(--accent-strong)}.sidebar .sidebar-handle svg{width:18px;height:18px}.sidebar:not(.collapsed) .ic svg{width:21px;height:21px}.app,.presentation-editor-grid{transition:grid-template-columns .24s ease}.presentation-filmstrip,.presentation-inspector{transition:opacity .2s ease,padding .24s ease}.inspector-handle{transition:right .24s ease,background .2s ease}.element-toolbar{animation:editor-toolbar-reveal .18s ease-out}@keyframes editor-toolbar-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sidebar,.app,.presentation-editor-grid,.presentation-filmstrip,.presentation-inspector,.inspector-handle,.sidebar .sidebar-handle{transition:none}.element-toolbar{animation:none}}.collection-tiles .collection-item.tile-icon-top{flex-direction:column;align-items:flex-start}.collection-tiles .collection-item.tile-icon-left{align-items:center}.tile-icon-text{font-family:Poppins SemiBold,sans-serif;font-size:42px;font-weight:700;line-height:1;min-width:1.2em;max-width:100%;width:auto;overflow-wrap:anywhere;color:var(--marker-color,#5cbeb8)}.tile-icon-upload{display:grid;place-items:center;flex:0 0 54px;min-width:54px;min-height:54px;padding:2px;border:1px dashed currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.tile-icon-upload img{display:block;max-width:100%;max-height:54px;width:auto;height:auto;object-fit:contain}.collection-tiles .collection-item.tile-icon-top .tile-icon-upload{flex-basis:auto}.collection-tiles .collection-item.tile-icon-top .tile-icon-upload img{max-height:65px}.collection-toolbar input[type=color]{width:34px;height:28px;padding:2px}
