:root{--bg:#f4f6f8;--bg-sidebar:#0f172a;--surface:#fff;--surface-muted:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--muted:#64748b;--accent:#1d4ed8;--accent-soft:#eff6ff;--accent-border:#bfdbfe;--success:#047857;--success-soft:#ecfdf5;--danger:#b91c1c;--danger-soft:#fef2f2;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 10px 30px #0f172a14;--radius:12px;--font:"IBM Plex Sans", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.toast-viewport{z-index:1000;pointer-events:none;flex-direction:column;gap:.6rem;width:min(360px,100vw - 2rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{pointer-events:auto;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:.7rem;padding:.85rem .95rem;animation:.2s ease-out toast-in;display:grid}.toast p{margin:0;font-size:.9rem}.toast-dot{background:var(--accent);border-radius:999px;width:.5rem;height:.5rem;margin-top:.4rem}.toast-success{border-color:#a7f3d0}.toast-success .toast-dot{background:var(--success)}.toast-error{border-color:#fecaca}.toast-error .toast-dot{background:var(--danger)}.toast-close{color:var(--muted);background:0 0;border:0;margin:0;padding:0;font-size:1.1rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.admin-shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-sidebar);color:#e2e8f0;flex-direction:column;gap:1.4rem;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:.7rem;padding:.2rem .35rem;display:flex}.brand-mark{color:#fff;background:#2563eb;border-radius:9px;place-items:center;width:2rem;height:2rem;font-weight:700;display:grid}.brand{color:#fff;font-weight:700}.brand-sub{color:#94a3b8;font-size:.72rem}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:0 0 .4rem;padding:0 .65rem;font-size:.68rem}.side-nav{flex-direction:column;gap:.25rem;display:flex}.side-nav a{color:#94a3b8;border-radius:9px;padding:.6rem .75rem;font-weight:500}.side-nav a:hover{color:#e2e8f0;background:#94a3b81a}.side-nav a.active{color:#dbeafe;background:#2563eb38}.sidebar-footer{flex-direction:column;gap:.65rem;margin-top:auto;display:flex}.user-chip{background:#ffffff0a;border-radius:10px;align-items:center;gap:.65rem;padding:.65rem;display:flex}.avatar{color:#cbd5e1;background:#1e293b;border-radius:999px;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.72rem;font-weight:700;display:grid}.user-meta{flex-direction:column;min-width:0;display:flex}.user-meta strong{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.user-meta span{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.content{min-width:0;padding:1.5rem 1.75rem 2rem}.page-hero,.editor-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-hero h1,.editor-topbar h1,.page h1{letter-spacing:-.025em;margin:.15rem 0;font-size:clamp(1.45rem,1.8vw,1.75rem);font-weight:650}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem;font-weight:600}.lede,.meta-line{color:var(--muted);margin:.2rem 0 0;font-size:.92rem}.crumb{color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:.82rem;display:flex}.crumb a{color:var(--accent)}.crumb a:hover{text-decoration:underline}.editor-title-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.dirty-pill{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:650}.muted{color:var(--muted)}.btn-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn{background:var(--accent);color:#fff;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:.55rem .95rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:#1e40af}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text);background:#0f172a0a}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#991b1b}.btn-icon{border-radius:10px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;padding:0;display:inline-flex}.btn-icon.btn-danger{color:var(--danger);background:#fef2f2;border-color:#fecaca}.btn-icon.btn-danger:hover:not(:disabled){color:#991b1b;background:#fee2e2}@keyframes icon-spin{to{transform:rotate(360deg)}}.icon-spin{animation:.8s linear infinite icon-spin}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.btn-block{width:100%}.sidebar .btn-ghost{color:#94a3b8}.sidebar .btn-ghost:hover:not(:disabled){color:#e2e8f0;background:#94a3b81a}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-card,.state-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.assessment-card{flex-direction:column;gap:.65rem;padding:1.2rem;display:flex}.assessment-card h2{margin:0;font-size:1.1rem}.assessment-card-top{justify-content:space-between;gap:.5rem;display:flex}.slug-line code,code{font-family:var(--mono);color:#475569;font-size:.78rem}.card-desc{color:var(--muted);margin:0;font-size:.9rem}.stat-row{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.15rem 0 .35rem;display:grid}.stat-row dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem}.stat-row dd{margin:.1rem 0 0;font-weight:650}.meta-chip{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.badge{color:#475569;border:1px solid var(--border);background:#f1f5f9;border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.7rem;font-weight:650;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success);border-color:#a7f3d0}.state-card{text-align:center;color:var(--muted);padding:2rem}.state-card h2{color:var(--text);margin:0 0 .5rem}.accent-card{background:linear-gradient(160deg,#eff6ff,#fff 55%)}.auth-layout{background:radial-gradient(800px 400px at 20% 0%, #2563eb14, transparent 55%), var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:.65rem;padding:1.75rem;display:flex}.auth-card h1{margin:0 0 .25rem;font-size:1.45rem}.auth-card label{color:var(--muted);font-size:.84rem}.auth-card input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:9px;padding:.7rem .8rem}.auth-card button[type=submit]{background:var(--accent);color:#fff;border:none;border-radius:9px;margin-top:.5rem;padding:.7rem 1rem;font-weight:600}.alert{background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:.7rem .85rem;font-size:.88rem}.center-page{min-height:100vh;color:var(--muted);place-items:center;display:grid}.pdf-doc{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1rem;min-height:calc(100vh - 14rem);display:grid}.pdf-rail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;max-height:calc(100vh - 10rem);padding:.75rem;display:flex;position:sticky;top:1rem}.pdf-rail-block{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.pdf-rail-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pdf-rail-head strong{font-size:.82rem}.pdf-q-list{flex-direction:column;gap:.3rem;min-height:0;display:flex;overflow:auto}.pdf-nav{text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:.15rem;margin:0;padding:.65rem .7rem;display:flex}.pdf-nav strong{font-size:.84rem}.pdf-nav span{color:var(--muted);font-size:.75rem}.pdf-nav:hover{background:var(--surface-muted)}.pdf-nav.active{background:var(--accent-soft);border-color:var(--accent-border)}.pdf-canvas{min-width:0}.pdf-callout{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.85rem 1rem;font-size:.88rem}.field-tag{color:#b45309;font-size:.78rem;font-style:normal;font-weight:600}.linkish{color:#1d4ed8;font:inherit;text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin:0;padding:0;font-weight:600;text-decoration:underline}.results-advanced{border-top:1px dashed var(--border);margin-top:.5rem;padding-top:1rem}.settings-note{margin:.25rem 0 0;padding:0 .25rem}.settings-stack{flex-direction:column;gap:1rem;display:flex}.workspace-tabs{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;padding:.35rem;display:flex}.workspace-tab{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;margin:0;padding:.55rem .9rem;font-size:.86rem;font-weight:600}.workspace-tab:hover{color:var(--text);background:var(--surface-muted)}.workspace-tab.active{color:#1e3a8a;background:var(--accent-soft);border-color:var(--accent-border)}.section-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}.section-chips{flex-wrap:wrap;flex:1;gap:.45rem;min-width:0;display:flex}.chip{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:999px;align-items:center;gap:.45rem;max-width:220px;margin:0;padding:.45rem .65rem;display:inline-flex}.chip:hover{border-color:var(--border-strong)}.chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:#1e3a8a}.chip-code{font-family:var(--mono);color:var(--accent);font-size:.72rem;font-weight:650}.chip-label{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:550;overflow:hidden}.chip-count{color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:999px;padding:.05rem .4rem;font-size:.7rem}.chip.active .chip-count{color:#1e40af;background:#fff}.section-bar-actions{flex-shrink:0;gap:.4rem;display:flex}.editor-split{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:1rem;min-height:calc(100vh - 12rem);display:grid}.question-nav,.editor-main-pane,.editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.question-nav{flex-direction:column;gap:.7rem;max-height:calc(100vh - 12rem);padding:.9rem;display:flex;position:sticky;top:1rem}.question-nav-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.question-nav-head h2{margin:0;font-size:.95rem}.question-nav-head p{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.search-input{border:1px solid var(--border);background:var(--surface-muted);width:100%;color:var(--text);border-radius:9px;padding:.55rem .7rem}.search-input:focus,.field input:focus,.field textarea:focus,.field select:focus{background:#fff;border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #2563eb1f}.question-nav-list{flex-direction:column;flex:1;gap:.25rem;min-height:0;display:flex;overflow:auto}.q-item{text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr;gap:.55rem;margin:0;padding:.55rem;display:grid}.q-item:hover{background:var(--surface-muted)}.q-item.active{background:var(--accent-soft);border-color:var(--accent-border)}.q-index{width:1.5rem;height:1.5rem;color:var(--muted);background:#f1f5f9;border-radius:7px;place-items:center;font-size:.7rem;font-weight:700;display:grid}.q-item.active .q-index{color:var(--accent);background:#fff}.q-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.q-body strong{font-size:.8rem;font-weight:650}.q-body span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.empty-rail{color:var(--muted);margin:.75rem 0;font-size:.85rem}.editor-main-pane{min-width:0;min-height:560px;overflow:hidden}.editor-panel{box-shadow:none;border:0;padding:1.15rem 1.25rem 1.5rem}.editor-panel-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem;margin-bottom:1.1rem;padding-bottom:.9rem;display:flex}.sticky-head{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;margin:-1.15rem -1.25rem 1.1rem;padding:1.15rem 1.25rem .9rem;position:sticky;top:0}.editor-panel-head h2{letter-spacing:-.02em;margin:.1rem 0 0;font-size:1.15rem}.canvas-empty{text-align:center;min-height:520px;color:var(--muted);place-content:center;gap:.6rem;padding:2rem;display:grid}.canvas-empty h2{color:var(--text);margin:0}.form-stack,.qf{flex-direction:column;gap:1rem;display:flex}.qf-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.field{flex-direction:column;gap:.35rem;display:flex}.field-label{color:#334155;font-size:.8rem;font-weight:600}.field-hint{color:var(--muted);font-size:.74rem}.field input,.field textarea,.field select{border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:9px;padding:.65rem .75rem}.field select{cursor:pointer}.meta-selects{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.qf-options{border-top:1px solid var(--border);flex-direction:column;gap:.85rem;margin-top:.25rem;padding-top:1rem;display:flex}.qf-options-head h3{margin:0;font-size:.98rem}.qf-options-head p{color:var(--muted);margin:.2rem 0 0;font-size:.84rem}.option-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.option-tab{border:1px solid var(--border);background:var(--surface-muted);min-width:3.6rem;color:var(--text);border-radius:10px;flex-direction:column;align-items:center;gap:.1rem;margin:0;padding:.55rem .7rem;display:flex}.option-tab strong{font-family:var(--mono);font-size:.95rem}.option-tab span{color:var(--muted);font-size:.68rem}.option-tab.filled{background:#f0fdf4;border-color:#bbf7d0}.option-tab.active{background:var(--accent-soft);border-color:var(--accent);color:#1e3a8a}.option-tab.active span{color:#1d4ed8}.option-pane{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.option-pane-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.option-pane-head strong{font-size:.95rem;display:block}.option-pane-head span{color:var(--muted);font-size:.8rem}.level-field{color:var(--muted);align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;display:flex}.level-field input{border:1px solid var(--border);background:#fff;border-radius:8px;width:4rem;padding:.4rem .5rem}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:min(540px,100%);box-shadow:var(--shadow);border-radius:16px;padding:1.15rem 1.2rem 1.25rem}.modal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-head h2{margin:0;font-size:1.1rem}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.1rem;display:flex}@media (width<=1100px){.editor-split,.home-grid,.qf-grid,.meta-selects{grid-template-columns:1fr}.question-nav{max-height:320px;position:relative;top:0}}@media (width<=860px){.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.content{padding:1.1rem}}.space-stack{flex-direction:column;gap:1rem;display:flex}.readonly-block h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6b7280);margin:0 0 .35rem;font-size:.75rem}.readonly-block p,.readonly-block li{margin:0;line-height:1.5}.readonly-block ol{margin:0;padding-left:1.1rem}.option-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.muted-action{color:var(--muted,#6b7280);white-space:pre-wrap;font-size:.85rem;margin-top:.35rem!important}.ai-prompt-badge{border:1px dashed var(--border,#d1d5db);background:color-mix(in srgb, var(--panel,#fff) 92%, #94a3b8);border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.ai-prompt-badge strong{font-size:.92rem}.ai-prompt-badge span{color:var(--muted,#6b7280);font-size:.82rem;line-height:1.4}.table-wrap{border:1px solid var(--border,#e5e7eb);background:var(--panel,#fff);border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.92rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border,#e5e7eb);vertical-align:top;padding:.75rem 1rem}.data-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6b7280);font-size:.72rem;font-weight:600}.data-table tr:last-child td{border-bottom:none}.mono-sm{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.muted{color:var(--muted,#6b7280);font-size:.85rem}.field-inline select{border:1px solid var(--border,#d1d5db);background:var(--panel,#fff);border-radius:8px;min-width:9rem;padding:.45rem .65rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.drawer-backdrop{z-index:40;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-panel{background:var(--panel,#fff);flex-direction:column;width:min(520px,100%);height:100%;display:flex;overflow:hidden;box-shadow:-8px 0 32px #0f172a1f}.drawer-header{border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.35rem;display:flex}.drawer-header h2{margin:.15rem 0 .25rem;font-size:1.15rem}.drawer-body{flex-direction:column;gap:1.35rem;padding:1.1rem 1.35rem 2rem;display:flex;overflow-y:auto}.drawer-section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6b7280);margin:0 0 .55rem;font-size:.75rem}.flag-list,.flag-cat-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.flag-cat-list li{font-size:.88rem}.flag-item{border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:.85rem 1rem}.flag-item-top{gap:.5rem;margin-bottom:.35rem;display:flex}.flag-item p{color:var(--muted,#4b5563);margin:.35rem 0 .65rem;font-size:.88rem;line-height:1.45}.transcript{flex-direction:column;gap:.65rem;max-height:360px;display:flex;overflow-y:auto}.transcript-msg{background:color-mix(in srgb, var(--panel,#fff) 88%, #94a3b8);border-radius:10px;padding:.65rem .8rem}.transcript-msg.role-user{background:#ebf3fe}.transcript-msg.role-assistant{background:#f4f7fa}.role-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6b7280);margin-bottom:.25rem;font-size:.68rem;display:block}.transcript-msg p{white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.45}
