:root{font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5f7;--surface:#fff;--surface-alt:#fafafc;--draft-surface:#e9e9ed;--text:#1d1d1f;--muted:#626268;--border:#dcdce1;--accent:#06c;--accent-hover:#0055ab;--on-accent:#fff;--link:#06c;--selected:#edf5ff;--focus:#73737a;--exercise:#713b9d;--exercise-soft:#f5eefb;--negative:#b42332;--negative-soft:#fff0f1;--positive:#246c46;--positive-soft:#edf6f0;--warning:#825300;--warning-soft:#fff4db;--backdrop:#00000073;--radius-control:12px;--radius-panel:18px;--rail-width:92px;--bottom-nav:72px;--nav-bg:var(--accent);--nav-text:var(--on-accent);--nav-selected-bg:var(--bg);--nav-selected-text:var(--link);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101012;--surface:#1e1e20;--surface-alt:#252527;--draft-surface:#2b2b2e;--text:#f5f5f7;--muted:#bfc0c8;--border:#38383c;--link:#79baff;--selected:#35353a;--nav-bg:#1a1a1d;--nav-text:#cfcfd5;--nav-selected-bg:var(--bg);--nav-selected-text:var(--link);--focus:#c4c4cc;--exercise:#d7a9f5;--exercise-soft:#302437;--negative:#ffadb6;--negative-soft:#3b2025;--positive:#8cdbab;--positive-soft:#183324;--warning:#f5ce89;--warning-soft:#342a18;--backdrop:#000000a6}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-top:24px}body{background:var(--bg);color:var(--text);letter-spacing:-.2px;margin:0;font-size:17px;line-height:1.47}button,input,select,textarea{font:inherit;-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{touch-action:manipulation}button,.button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--link);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}button svg,.button svg{flex-shrink:0}@media (hover:hover){button:hover,.button:hover{background:var(--selected)}}button:active{transform:scale(.98)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--negative-soft);color:var(--negative);border-color:var(--negative)}button.danger:hover:not(:disabled){background:var(--negative);color:var(--surface)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}input,select,textarea{width:100%;min-width:0;min-height:46px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:11px 13px;font-size:16px;line-height:1.4}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[readonly]{background:var(--surface-alt);color:var(--muted)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--negative)}textarea{resize:vertical;min-height:100px}select{cursor:pointer;text-overflow:ellipsis;padding-right:30px}select option,select optgroup{background:var(--surface);color:var(--text)}select{appearance:auto;color-scheme:inherit}select option:checked{font-weight:600}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}input[type=file]{background:var(--surface-alt);padding:5px;font-size:14px;overflow:hidden}input[type=file]::file-selector-button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--link);font:inherit;cursor:pointer;border-radius:8px;margin-right:10px;padding:7px 12px}input[type=file]::file-selector-button:hover{background:var(--selected)}.file-input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-alt);align-items:center;gap:12px;min-width:0;min-height:56px;padding:5px;display:flex;position:relative}.file-input .file-input-native{clip-path:inset(50%);border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-input>.button{border-radius:8px;flex-shrink:0;padding-inline:12px;font-size:14px}.file-input-name{color:var(--muted);overflow-wrap:anywhere;min-width:0;padding:4px 8px 4px 0;font-size:14px}.file-input:focus-within{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.6px;overflow-wrap:anywhere;margin-bottom:12px;font-size:28px;font-weight:600;line-height:1.2}h2{letter-spacing:-.4px;overflow-wrap:anywhere;margin-bottom:14px;font-size:22px;font-weight:600;line-height:1.3}h3{overflow-wrap:anywhere;margin-bottom:7px;font-size:17px;font-weight:600;line-height:1.4}p{color:var(--muted);overflow-wrap:anywhere;margin-bottom:16px}small{color:var(--muted);font-size:12px;line-height:1.5}form,fieldset{min-width:0}.field{flex-direction:column;gap:8px;min-width:0;margin:18px 0;display:flex}.field>label{color:var(--text);font-size:14px;font-weight:400;line-height:1.5}.muted{color:var(--muted);font-size:14px}.grow{flex:1;min-width:0}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.eyebrow{letter-spacing:1px;color:var(--muted);margin-bottom:16px;font-size:11px;font-weight:600;display:block}.app{min-height:100dvh;display:flex;position:relative}.sidebar{width:var(--rail-width);flex:0 0 var(--rail-width);background:var(--nav-bg);z-index:5;flex-direction:column;align-self:flex-start;height:100dvh;margin-block:-8px;padding:24px 0 18px 8px;display:flex;position:sticky;top:0}.sidebar>.brand{display:none}.sidebar nav{scrollbar-width:none;flex-direction:column;gap:5px;min-height:0;margin-top:36px;padding-block:28px;display:flex;overflow-y:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button,.sidebar-bottom>button{width:100%;min-height:50px;color:var(--nav-text);background:0 0;border:0;border-radius:28px 0 0 28px;flex-direction:column;gap:7px;padding:12px 3px;font-size:11px;font-weight:400}.sidebar nav button>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sidebar nav button svg:not(.nav-shape){width:24px;height:24px}.sidebar-bottom>button{font-size:0}.sidebar-bottom>button svg:not(.nav-shape){width:22px;height:22px}.sidebar button{flex-shrink:0;transition:none;transform:none}.sidebar nav button,.sidebar-bottom>button{isolation:isolate;position:relative}.sidebar nav button.active,.sidebar-bottom>button.active{color:var(--nav-selected-text);background:0 0}@media (hover:hover){.sidebar nav button:not(.active):hover,.sidebar-bottom>button:not(.active):hover{color:var(--nav-text);background:0 0}.sidebar nav button:not(.active):hover:before,.sidebar-bottom>button:not(.active):hover:before{content:"";background:color-mix(in srgb, var(--nav-text) 14%, var(--nav-bg));z-index:-1;pointer-events:none;border-radius:14px;position:absolute;inset:0 16px}}.sidebar button:focus-visible{outline:none}.sidebar button:focus-visible svg:not(.nav-shape){outline:2px solid var(--muted);outline-offset:5px;border-radius:4px}.sidebar .nav-shape{pointer-events:none;z-index:-1;width:calc(100% + 1px);height:calc(100% + 56px);fill:var(--bg);position:absolute;top:-28px;left:0}.sidebar-bottom{flex-direction:column;flex-shrink:0;margin-top:auto;padding-block:20px 48px;display:flex}.nav-dot{display:none}.preview-banner{margin-bottom:20px}.exam-shell>.preview-banner{border-radius:0;margin:0}.app{background:var(--nav-bg);padding:8px 8px 8px 0}.workspace{background:var(--bg);border-radius:30px;flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:76px;margin:0 24px;padding:14px 8px;display:flex}.header-title{letter-spacing:-.4px;align-items:center;gap:12px;min-width:0;font-size:18px;font-weight:600;display:flex}.header-title small{letter-spacing:0;margin-top:4px;font-size:12px;font-weight:400;display:block}.school-logo{width:32px;height:32px;color:var(--link);flex-shrink:0}.top-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.icon-button{width:44px;min-width:44px;height:44px;color:var(--muted);background:0 0;border:0;padding:10px}.profile{text-align:left;background:0 0;border:0;gap:10px;max-width:280px;min-height:44px;padding:4px}.profile>span:last-child{min-width:0}.profile strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.profile small{display:block}.avatar{background:var(--selected);width:36px;height:36px;color:var(--link);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:600;display:grid}.main{flex-direction:column;flex:1;width:100%;max-width:1440px;margin:0 auto;padding:30px 32px 0;display:flex}.home-welcome{border:1px solid var(--border);background:var(--surface);border-radius:24px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:32px 28px;display:flex}.home-welcome h1{margin-bottom:8px;font-size:34px;font-weight:700}.home-welcome p{margin:0;font-size:15px}.home-welcome>.school-logo{width:60px;height:60px;margin-right:28px}.home-actions-title{margin:8px 0 18px;font-size:17px}.home-page .stats{gap:12px}.home-page .stats>div{border-radius:16px;padding:20px}.home-page .stats strong{margin:0 0 4px;font-size:28px;font-weight:500}.quick-icon{border:1px solid var(--border);background:var(--surface-alt);width:56px;height:56px;color:var(--link);border-radius:16px;place-items:center;display:grid}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-title>div{min-width:0}.page-title h1{margin:0}.page-title p{margin:10px 0 0;font-size:15px}.page-title>button{flex-shrink:0}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 24px;display:grid}.stats>div{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;align-items:flex-start;padding:22px 24px;display:flex}.stats span{color:var(--muted);font-size:14px}.stats strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:10px 0 4px;font-size:34px;font-weight:600;line-height:1.2}.stats small{margin-top:auto;padding-top:6px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.quick-card{border-radius:var(--radius-panel);text-align:center;flex-direction:column;gap:14px;min-height:190px;padding:24px 15px;display:flex}.quick-card h2{color:var(--text);margin:0;font-size:15px;font-weight:500}.quick-card p{margin:0;font-size:14px;line-height:1.5}.quick-card>svg{color:var(--link)}.section-title{justify-content:space-between;align-items:center;gap:16px;margin:28px 0 18px;display:flex}.section-title h2,.section-title h3{margin:0}.section-title>h2{font-size:20px}.section-title>span{color:var(--muted);font-size:12px}.filters{align-items:center;gap:12px;margin:24px 0;display:flex}.filters>select{flex-shrink:0;width:170px}.search{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;min-width:0;max-width:440px;color:var(--muted);align-items:center;gap:9px;padding:0 14px;display:flex}.search svg{flex-shrink:0}.search input{background:0 0;border:0;min-width:0;padding:11px 0}.search:focus-within{outline:2px solid var(--focus);outline-offset:3px}.search input:focus-visible{outline:0}.list{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);margin-top:20px;overflow:hidden}.exam-row{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:22px 24px;display:flex}.exam-row:last-child{border-bottom:0}.exam-row h3,.lesson-link h3{margin:4px 0 6px;font-size:17px}.exam-row p,.lesson-link p{margin:0;font-size:14px}.exam-row p>span{margin-inline:6px}.exam-row small{overflow-wrap:anywhere;margin-top:6px;display:block}.tile-icon{background:var(--surface-alt);width:46px;height:52px;color:var(--link);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.meta{letter-spacing:.6px;color:var(--muted);font-size:11px}.badge{background:var(--surface-alt);width:max-content;max-width:100%;color:var(--muted);white-space:nowrap;border-radius:999px;align-self:center;align-items:center;padding:5px 10px;font-size:12px;line-height:1.5;display:inline-flex}.badge.published{background:var(--positive-soft);color:var(--positive)}.row-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.row-actions button{padding:10px 14px;font-size:14px}.row-actions button[aria-label]{width:44px;padding:10px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);min-width:0;margin:20px 0;padding:28px}.panel>.section-title:first-child{margin-top:0}.panel p{font-size:17px}.panel>p:last-child{margin-bottom:0}.panel>h2:not(:first-child){margin-top:28px}.form-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.form-grid .field{margin:0}.upload{border:1px dashed var(--border);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:24px;display:flex}.upload>svg{color:var(--link);flex-shrink:0}.upload>div{flex:1;min-width:190px}.upload strong{font-size:16px;font-weight:600}.upload p{margin:5px 0 0;font-size:14px}.upload input{width:min(100%,320px);margin-left:auto}.upload>.file-input{flex:0 320px;width:min(100%,320px);margin-left:auto}.answer-grid{grid-template-columns:1fr 1fr;column-gap:20px;display:grid}.question-editor .field>select{max-width:360px}.editor-fields,.question-fields{border:0;margin:0;padding:0}.exam-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;display:grid}.exam-meta-grid>.field:first-child{grid-column:1/-1}.exam-editor .source-file{overflow-wrap:anywhere;margin:12px 0 0}.import-summary{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:22px 0;font-size:15px;display:flex}.import-summary>strong{flex-basis:100%}.import-summary>span{color:var(--muted)}.import-summary>button{margin-left:auto}.question-editor{scroll-margin-top:24px}.question-editor .section-title>div{min-width:0}.include-question{cursor:pointer;flex-shrink:0;align-items:center;gap:10px;min-height:44px;font-size:14px;display:flex}.question-unresolved{border-color:var(--warning)}.question-excluded{background:var(--surface-alt)}.question-excluded>.question-fields{opacity:.6}.question-excluded>.muted{margin:18px 0 0}.choice-tools{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.choice-editor{min-width:0}.statement-card{border-top:1px solid var(--border);padding:16px 0}.statement-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.statement-controls>.field{margin:0}.key-entries{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.key-entries .badge{white-space:normal;gap:7px}.answer-key-panel summary,.question-preview>summary,.media-editor>summary{cursor:pointer;min-height:44px;color:var(--link);padding:12px 0;font-size:15px}.question-preview,.media-editor{border-top:1px solid var(--border);margin-top:20px}.question-preview .question-body{margin:18px 0;font-size:17px}.preview-choice{border-top:1px solid var(--border);gap:12px;padding:14px 0;display:flex}.preview-choice>.rich{flex:1;min-width:0}.media-editor>p{font-size:14px}.asset-editor{border-top:1px solid var(--border);min-width:0;padding:18px 0}.asset-editor>strong{overflow-wrap:anywhere;margin-bottom:16px;font-size:14px;display:block}.asset-editor>img{object-fit:contain;max-width:100%;max-height:240px;display:block}.asset-editor td{min-width:140px}.asset-editor td textarea{min-height:80px}.media-actions{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.media-actions>.field{flex:260px}.media-actions>button{margin-bottom:18px}.missing-media{color:var(--negative)}.image-preview{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-alt);cursor:zoom-in;width:fit-content;max-width:100%;margin:12px 0;padding:10px;display:block}.image-preview:focus-visible,.table-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.image-preview img{margin:0 0 8px}.image-viewer>img{object-fit:contain;max-width:100%;max-height:75dvh;margin:auto;display:block}dialog:has(.image-viewer){width:min(1100px,100% - 24px)}.statement-edit{align-items:flex-end;gap:16px;min-width:0;margin:18px 0;display:flex}.statement-edit>.field{flex:1;margin:0}.statement-edit>select{flex-shrink:0;width:148px}.sticky-actions{z-index:3;border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:14px 18px;display:flex;position:sticky;bottom:16px}.sticky-actions>span{color:var(--muted);margin-left:auto;font-size:14px}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.class-grid .panel{flex-direction:column;margin:0;display:flex}.class-grid .section-title{margin:0 0 18px}.class-grid .section-title>svg{color:var(--link)}.class-grid h2{margin-bottom:8px;font-size:22px}.class-grid p{margin-bottom:22px;font-size:14px}.class-grid .panel>button{align-self:flex-start;margin-top:auto}.class-grid>.empty{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);grid-column:1/-1}.lesson-link{border:0;border-bottom:1px solid var(--border);text-align:left;border-radius:0;justify-content:flex-start;align-items:center;gap:18px;width:100%;padding:22px 24px;display:flex}.lesson-link:last-child{border-bottom:0}.lesson-link>svg{flex-shrink:0}.lesson h2{margin:8px 0 0}.prose,.rich{white-space:pre-wrap;overflow-wrap:anywhere}.file-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:18px 0;display:flex}.file-row>svg{color:var(--muted);flex-shrink:0}.file-row .grow{overflow-wrap:anywhere;font-size:15px}.rich img{object-fit:contain;cursor:zoom-in;max-width:100%;max-height:500px;margin-block:16px;display:block}.table-scroll{max-width:100%;display:block;overflow-x:auto}table{border-collapse:collapse;width:100%}td{border:1px solid var(--border);padding:10px}.score-mini{min-width:60px;color:var(--link);text-align:center;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.result-head{text-align:center;padding:36px 0}.result-head h1{font-size:30px}.result-head p{margin:12px 0}.result-score{color:var(--link);letter-spacing:-3px;font-variant-numeric:tabular-nums;margin:24px 0;font-size:72px;font-weight:600;line-height:1.2}.result-score small{letter-spacing:0;margin-left:12px;font-size:14px}.review-options>div{border:1px solid var(--border);border-radius:var(--radius-control);align-items:flex-start;gap:12px;margin:10px 0;padding:16px;display:flex}.review-options .correct{background:var(--positive-soft);border-color:var(--positive)}.review-options .rich{flex:1;min-width:0}.review-options svg{color:var(--positive);flex-shrink:0;margin-left:auto}.segmented{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:inline-flex}.segmented .selected{background:var(--selected);border-color:var(--link);color:var(--link)}.empty{text-align:center;color:var(--muted);padding:52px 24px}.empty svg{margin-bottom:15px}.empty h3{color:var(--text)}.empty p{margin-bottom:0;font-size:15px}.notice{--notice-color:var(--link);--notice-bg:var(--selected);border:1px solid var(--notice-color);border-radius:var(--radius-control);background:var(--notice-bg);color:var(--notice-color);align-items:flex-start;gap:12px;margin:16px 0;padding:16px;font-size:15px;display:flex}.notice-error{--notice-color:var(--negative);--notice-bg:var(--negative-soft)}.notice-warning{--notice-color:var(--warning);--notice-bg:var(--warning-soft)}.notice-success{--notice-color:var(--positive);--notice-bg:var(--positive-soft)}.notice>svg{flex-shrink:0;margin-top:2px}.notice-content{overflow-wrap:anywhere;flex:1;min-width:0}.notice-content p{color:inherit;margin-bottom:0}.notice-close{color:inherit;margin:-10px -10px -10px 0}.notice-close:hover{background:0 0}.pending-message{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pending-message strong{font-weight:600}.warning{color:var(--warning);background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-control);margin:20px 0;padding:20px}.warning h3{color:inherit}.warning details{margin:12px 0;font-size:15px}.warning summary{cursor:pointer;overflow-wrap:anywhere;min-height:44px;padding:10px 0}.warning pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:10px 0 18px}.warning label{border-top:1px solid;align-items:flex-start;gap:12px;margin-top:18px;padding-top:18px;font-size:14px;display:flex}.warning label input{margin-top:1px}.floating-notice{z-index:12;max-width:640px;margin-inline:auto;position:fixed;bottom:20px;left:20px;right:20px}.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-form{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);width:100%;max-width:460px;padding:32px}.brand{justify-content:center;align-items:center;gap:12px;margin-bottom:28px;font-size:20px;font-weight:600;line-height:1.4;display:flex}.auth-form h1{text-align:center;font-size:26px}.auth-form>p{text-align:center;margin-bottom:24px;font-size:15px}.auth-form>.primary{width:100%;margin-top:12px}dialog{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);width:min(540px,100% - 32px);max-height:min(90dvh,960px);color:var(--text);overscroll-behavior:contain;padding:32px;position:fixed;overflow:auto}dialog::backdrop{background:var(--backdrop)}.dialog-close{z-index:2;position:absolute;top:10px;right:10px}.dialog-body{border:0;margin:0;padding:0}.dialog-body h2{margin-top:0;padding-right:30px;font-size:22px}.dialog-body p{font-size:15px}.dialog-body form>.primary,.dialog-body>.primary{width:100%;margin-top:12px}dialog>.notice{margin-bottom:0}.check-row{border-bottom:1px solid var(--border);cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:12px;min-height:44px;padding:12px 0;font-size:15px;display:flex}dialog:has(.document-viewer){width:min(1100px,100% - 24px);padding:28px}.document-viewer h2{padding-right:32px;font-size:20px}.document-viewer iframe{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;width:100%;height:70dvh;display:block}.document-viewer>img{max-width:100%;height:auto;margin:auto;display:block}.docx-reader{--text:#1d1d1f;--muted:#1d1d1f;--border:#dcdce1;color:#1d1d1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border-radius:8px;margin-top:22px;overflow:auto}.docx-reader .docx-wrapper{background:#fff!important;padding:0!important}.docx-reader section.docx{max-width:100%;box-shadow:none!important;margin:0!important;padding:24px!important}.docx-reader table{max-width:100%}.exam-shell{background:var(--nav-bg);min-height:100dvh;padding:8px}.exam-surface{background:var(--bg);border-radius:30px;min-height:calc(100dvh - 16px);padding-bottom:24px;overflow:clip}.exam-surface>.preview-banner{border-radius:24px 24px 0 0;margin:0}.exam-brandbar{padding-inline:8px}.exam-brandbar .profile{display:inline-flex}.exam-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:4;align-items:center;gap:18px;min-height:90px;padding:16px max(24px,50vw - 600px);display:flex;position:sticky;top:0}.exam-header>svg{color:var(--link);flex-shrink:0}.exam-header strong{overflow-wrap:anywhere;font-size:16px;display:block}.exam-header small{margin-top:4px;display:block}.timer{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:9px;display:flex}.timer.urgent{color:var(--negative)}.exam-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:24px;max-width:1280px;margin:auto;padding:24px;display:grid}.exam-question{min-height:560px;margin:0}.exam-question .section-title{align-items:flex-start;margin:0 0 22px}.exam-question .section-title .eyebrow{margin:10px 0 0}.exam-question .section-title>button{flex-shrink:0;font-size:14px}.question-body{margin:24px 0 30px;font-size:20px;line-height:1.7}.answer{text-align:left;border-radius:var(--radius-control);width:100%;color:var(--text);justify-content:flex-start;align-items:flex-start;gap:16px;margin:12px 0;padding:18px;font-size:17px;line-height:1.5}.answer>span:first-child{border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:14px;display:grid}.answer>.rich{min-width:0;padding-top:3px}.answer.chosen{border-color:var(--link);background:var(--selected)}.answer.chosen>span:first-child{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.exam-question .statement-edit{border-top:1px solid var(--border);align-items:center;margin:0;padding:18px 0}.exam-question .statement-edit>.grow{font-size:17px;line-height:1.6}.exam-question .tf-statement{border:1px solid var(--border);border-radius:12px;margin:12px 0;padding:16px}.exam-question .tf-statement.is-false{background:var(--negative-soft);border-color:var(--negative)}.tf-statement.is-false select{color:var(--negative);border-color:var(--negative);background:var(--negative-soft)}.exam-question .tf-statement.is-true{background:var(--positive-soft);border-color:var(--positive)}.tf-statement.is-true select{color:var(--positive);border-color:var(--positive);background:var(--positive-soft)}.statement-progress{color:var(--muted);margin-top:12px;font-size:13px!important}.question-tools{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:16px;display:flex}.navigator-toggle{width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;justify-content:space-between;padding:0;font-weight:600}.navigator-section h4{color:var(--muted);margin:20px 0 8px;font-size:12px;font-weight:500}.navigator-section .question-numbers{max-height:none;margin:8px 0 20px}.exam-nav>h3{margin-top:14px;font-size:14px}.exam-step{justify-content:space-between;gap:12px;margin-top:32px;display:flex}.exam-nav{margin:0;padding:24px;position:sticky;top:114px}.exam-nav>p{font-size:14px}.question-numbers{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:45dvh;margin:20px 0;padding:3px;display:grid;overflow-y:auto}.question-numbers button{min-width:0;color:var(--text);border-radius:8px;padding:5px;position:relative}.question-numbers .answered{background:var(--selected);color:var(--link)}.question-numbers .current{border:2px solid var(--link)}.question-numbers .flagged:after{content:"";background:var(--warning);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.question-numbers .partial{border-style:dotted;border-color:var(--link);background:var(--surface-alt)}.question-numbers .flagged{border-style:dashed;border-color:var(--warning)}.exam-nav>small{display:block}.exam-nav>.primary{width:100%;margin-top:24px}footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:auto;padding:20px 24px;font-size:11px;display:flex}footer>span{align-items:center;gap:8px;display:inline-flex}footer .school-logo{width:17px;height:17px;color:var(--muted)}.catalog-filters{grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:12px;display:grid}.catalog-filters .field,.report-filters .field{margin:0}.catalog-toolbar{flex-wrap:wrap;gap:12px;margin:24px 0 32px;display:flex}.exam-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:40px;display:grid}.exam-row.exam-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;align-items:stretch;gap:16px;min-width:0;padding:22px;display:flex}.exam-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-card .tile-icon{width:44px;height:44px}.exam-card h3{margin:4px 0 16px;font-size:18px}.exam-card p{margin:0;font-size:13px}.exam-card>.badge{align-self:flex-start}.exam-card .row-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;margin-top:auto;padding-top:16px}.report-filters{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.report-hint{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:12px;margin:32px 0 20px;padding:18px;font-size:14px}.report-metrics,.result-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.report-metrics>div,.result-metrics>div{background:var(--surface);border-radius:14px;min-width:0;padding:22px 18px}.report-metrics strong,.result-metrics>div>strong{overflow-wrap:anywhere;margin-top:12px;font-size:27px;font-weight:600;display:block}.result-metrics>div{border:1px solid var(--border)}.result-metrics{grid-template-columns:1fr 1.6fr 1fr 1fr}.result-metrics p{margin:14px 0 0;font-size:14px}.result-metrics p strong{color:var(--text);margin-inline:8px;font-size:18px}.result-metrics strong span{font-size:14px;font-weight:400}.score-chart h2{font-size:19px}.histogram{grid-template-columns:repeat(11,minmax(0,1fr));align-items:end;gap:7px;min-height:150px;margin:28px 0;display:grid}.histogram-column{text-align:center;min-width:0;color:var(--link);flex-direction:column;align-items:stretch;gap:4px;font-size:12px;display:flex}.histogram-column>div{background:var(--accent);border-radius:3px 3px 0 0}.histogram-column small{color:var(--link)}.score-chart .muted,.class-report .muted{font-size:13px}.results-table,.roster-table{border:1px solid var(--border);background:var(--surface);border-radius:14px}.results-table th,.roster-table th,.class-report th{text-align:left;background:var(--surface-alt);padding:14px 16px;font-size:13px;font-weight:500}.results-table td,.roster-table td,.class-report td{border:0;border-top:1px solid var(--border);padding:14px 16px;font-size:14px}.results-table td small,.roster-table td small{margin-top:6px;display:block}.results-table td strong{font-weight:500}.pagination{flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 40px;font-size:14px;display:flex}.pagination>span{margin-right:auto}.missing-students{gap:10px;padding:16px 0;display:grid}.missing-students small{display:block}.class-report details{margin-bottom:24px}.class-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.class-toolbar .field{min-width:180px;margin:0}.class-list{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.class-card{border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;min-width:110px;padding:14px 18px}.class-card.selected{border-color:var(--link);background:var(--selected)}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 28px;display:flex}.section-heading h2{margin:0;font-size:18px}.section-heading .catalog-toolbar{gap:10px;margin:0}.student-actions{flex-wrap:wrap;gap:8px;display:flex}.join-request{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.google-sign-in{flex-direction:column;gap:10px;margin:24px 0;display:flex}.google-sign-in button{width:100%;color:var(--text);border-radius:8px;font-weight:500}.google-sign-in small{text-align:center;display:block}.management-tabs{gap:8px;margin:0 0 24px;display:flex}.management-tabs .selected{border-color:var(--link);color:var(--link);background:var(--selected)}.class-toolbar .field{flex:0 220px}.class-toolbar .field:last-child{flex:0 260px;margin-left:0}.roster-caption,.panel .roster-caption{color:var(--muted);margin:10px 0 0;font-size:13px}.roster-filters{grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:16px;margin:24px 0 12px;display:grid}.roster-filters .field{margin:0}.roster-list-controls{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.check-touch{cursor:pointer;align-items:center;gap:8px;min-width:44px;min-height:44px;font-size:13px;display:inline-flex}.roster-check{width:48px;padding:0 4px!important}.roster-name{overflow-wrap:anywhere}.roster-bulk-bar{z-index:3;border:1px solid var(--link);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;padding:12px;display:flex;position:sticky;top:8px}.roster-bulk-bar strong{margin-right:auto;font-size:14px}.roster-bulk-bar button{padding-inline:12px;font-size:13px}.student-status{color:var(--muted);background:var(--surface-alt);border-radius:8px;padding:5px 9px;font-size:12px;display:inline-block}.student-status.disabled{color:var(--negative);background:var(--negative-soft)}.student-status.pending{color:var(--warning);background:var(--warning-soft)}.row-selected{background:var(--selected)}.action-menu{position:relative}.action-menu>summary{border:1px solid var(--border);cursor:pointer;min-height:44px;color:var(--link);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;display:flex}.action-menu[open]>summary{background:var(--selected)}.action-menu>div{z-index:4;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:200px;max-width:calc(100vw - 48px);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.action-menu>div button{text-align:left;border:0;border-radius:8px;justify-content:flex-start;width:100%}.account-row,.unassigned-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.account-row>div,.unassigned-list>div>div{overflow-wrap:anywhere;min-width:0}.account-row>button,.unassigned-list>div>button{flex-shrink:0}.account-row small,.unassigned-list small{margin-top:5px;display:block}.student-import-preview{border:1px solid var(--border);border-radius:10px;max-height:280px;margin:16px 0}.student-import-preview th{text-align:left;background:var(--surface-alt);padding:10px;font-size:13px;position:sticky;top:0}.student-import-preview td{overflow-wrap:anywhere;font-size:13px}.email-import-confirm{margin-top:12px;position:sticky;bottom:0}.late-result{color:var(--warning)}.main>footer{margin-top:auto}.home-page .quick-grid{margin-bottom:40px}@media (width<=1100px){.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters,.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-grid,.class-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-row{flex-wrap:wrap}.row-actions{margin-left:auto}}@media (width<=850px){.exam-layout{grid-template-columns:1fr}.exam-nav{position:static}.question-numbers{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));max-height:none}.exam-question{min-height:0}}@media (width<=760px){.page-title.classroom-title{flex-wrap:nowrap;align-items:center}.page-title.classroom-title>div{flex:auto}.classroom-title p,.class-list{display:none}.roster-filters{grid-template-columns:1fr;gap:12px}.roster-list-controls{align-items:center}.roster-bulk-bar strong{flex:100%}.roster-bulk-bar button{flex:auto}.responsive-table{background:0 0;border:0;overflow:visible}.responsive-table table{display:block;min-width:0!important}.responsive-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.responsive-table tbody{gap:12px;display:grid}.responsive-table tr{border:1px solid var(--border);border-radius:12px;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);min-width:0;padding:12px;display:grid}.responsive-table td{overflow-wrap:anywhere;border:0;min-width:0;padding:8px 4px}.responsive-table .roster-check{grid-area:1/1}.responsive-table .roster-name{grid-area:1/2/auto/-1}.responsive-table td[data-label]{grid-column:span 1}.responsive-table td:nth-child(3){grid-column:2}.responsive-table td:nth-child(4){grid-column:3}.responsive-table td[data-label]:before{content:attr(data-label);color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.responsive-table .roster-actions{border-top:1px solid var(--border);grid-column:1/-1;margin-top:8px;padding-top:12px}.roster-actions .student-actions{justify-content:flex-end}.account-row{flex-wrap:wrap}.account-row>div{flex:100%}.class-toolbar{grid-template-columns:1fr 1fr;display:grid}.class-toolbar .field:last-child{flex:100%;margin:0}.roster-table table{min-width:570px}.class-toolbar .field:first-child{flex:1;min-width:0}.catalog-filters,.report-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-filters .field:first-child,.report-filters .field:first-child{grid-column:1/-1}.exam-grid{grid-template-columns:1fr;gap:16px}.report-metrics,.result-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-metrics>div,.result-metrics>div{padding:16px 12px}.report-metrics strong,.result-metrics>div>strong{font-size:23px}.histogram{gap:3px}.results-table table{min-width:620px}.app{background:var(--bg);padding:0}.workspace{border-radius:0}html{scrollbar-gutter:auto}.sidebar{width:auto;height:calc(var(--bottom-nav) + env(safe-area-inset-bottom));padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);z-index:10;margin:0;position:fixed;inset:auto 0 0;overflow:visible}.sidebar nav{flex-direction:row;justify-content:space-around;gap:0;height:100%;margin:0;padding:0;overflow:visible}.sidebar nav button{width:20%;min-width:0;height:100%;min-height:44px;color:var(--muted);border-radius:8px;flex-direction:column;justify-content:center;gap:5px;padding:5px 2px;font-size:10px;line-height:1.4}.sidebar nav button>span{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.sidebar nav button>.nav-dot,.sidebar nav button.active:before,.sidebar nav button.active:after,.sidebar .nav-shape{display:none}.sidebar nav button:not(.active):hover:before{border-radius:8px;inset:0}.sidebar button.active{background:var(--selected);color:var(--nav-selected-text)}.sidebar button:focus-visible{outline-color:var(--focus)}.sidebar-bottom{display:none}.workspace{margin-left:0}.topbar{gap:8px;min-height:70px;margin:0 16px;padding:12px 0}.header-title{gap:8px;font-size:16px}.header-title small{font-size:10px;line-height:1.5;display:none}.home-welcome{border-radius:24px;margin-bottom:16px;padding:28px 24px}.home-welcome h1{font-size:25px}.home-welcome p{font-size:14px}.home-welcome>.school-logo{display:none}.home-page .stats{gap:8px;margin-bottom:24px}.home-page .stats>div{padding:16px 10px}.home-page .stats span{min-height:0}.home-page .stats strong{font-size:26px}.home-actions-title{margin:2px 0 16px}.quick-icon{width:48px;height:48px}.header-title .school-logo{width:26px;height:26px}.top-actions{gap:0}.profile{width:44px;min-width:44px;padding:4px}.profile>span:last-child{display:none}.profile .avatar{width:32px;height:32px}.main{padding:20px 16px calc(var(--bottom-nav) + env(safe-area-inset-bottom) + 20px)}.page-title{flex-wrap:wrap;align-items:flex-start;gap:16px}.page-title>div{flex:100%}.page-title h1{font-size:25px}.page-title p{font-size:14px}.stats{gap:8px;margin-bottom:24px}.stats>div{border-radius:12px;padding:16px 10px}.stats span{min-height:36px;font-size:12px}.stats strong{letter-spacing:-.5px;margin:8px 0 4px;font-size:28px}.stats small{font-size:11px}.quick-grid{gap:12px}.quick-card{min-height:140px;padding:22px 12px}.quick-card h2{font-size:15px}.quick-card p{font-size:12px}.section-title{flex-wrap:wrap;gap:12px;margin-top:24px}.section-title>h2{flex:100%;font-size:19px}.filters{gap:8px}.filters>select{width:132px}.filters input,.filters select{font-size:14px}.search{padding:0 11px}.exam-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:20px 16px;display:grid}.exam-row .tile-icon{display:none}.exam-row>.grow{grid-column:1}.exam-row>.badge{grid-column:2;align-self:start}.exam-row>.row-actions{grid-column:1/-1;margin:0}.exam-row h3{margin-top:0;font-size:16px}.exam-row p{font-size:14px}.exam-row>.grow+button{grid-column:1/-1;justify-self:end}.user-row{grid-template-columns:36px minmax(0,1fr);column-gap:12px}.user-row>.avatar{grid-area:1/1;margin-top:2px}.user-row>.grow{grid-area:1/2}.user-row>.badge{grid-area:2/2}.user-row>.grow+.badge+button{grid-column:2;justify-self:start}.result-row{grid-template-columns:60px minmax(0,1fr)}.result-row>.score-mini{grid-area:1/1;font-size:20px}.result-row>.grow{grid-area:1/2}.result-row>.grow+button{grid-column:2;justify-self:start}.badge{padding:5px 8px;font-size:11px}.panel{border-radius:14px;padding:20px}.panel p{font-size:16px}.form-grid{gap:16px}.form-grid>.field:first-child,.form-grid>.field:nth-child(2){grid-column:1/-1}.upload{padding:20px}.upload input{width:100%;margin-left:0}.upload>.file-input{flex-basis:100%;width:100%;margin-left:0}.upload>div{flex-basis:calc(100% - 44px);min-width:0}.answer-grid{grid-template-columns:1fr}.exam-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.exam-meta-grid>.field:nth-child(2),.exam-meta-grid>.field:nth-child(3){grid-column:1/-1}.question-editor .section-title>div{flex-basis:100%}.import-summary>button{margin-left:0}.statement-controls{gap:10px}.preview-choice,.question-preview .question-body{font-size:16px}.statement-edit{gap:10px}.question-editor .statement-edit{flex-direction:column;align-items:stretch;gap:8px;margin:22px 0}.statement-edit>select{width:128px}.question-editor .statement-edit>select{width:100%}.sticky-actions{bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom) + 8px);gap:8px;padding:10px}.sticky-actions>span{display:none}.sticky-actions>button{flex:1;padding-inline:10px;font-size:14px}.class-grid{grid-template-columns:1fr;gap:16px}.class-grid h2{font-size:21px}.class-grid p{font-size:14px}.file-row{grid-template-columns:24px minmax(0,1fr) 44px;gap:12px;display:grid}.file-row>svg{grid-column:1}.file-row .grow{grid-column:2/-1}.file-row>button{grid-column:1/3;justify-self:start}.file-row>.button{grid-column:3;padding:10px}.lesson-link{gap:12px;padding:20px 16px}.lesson-link .tile-icon{width:36px;height:44px}.lesson-link h3{font-size:16px}.lesson .section-title{align-items:flex-start}.lesson .section-title>div{flex:100%}.result-head{padding:28px 0}.result-head h1{font-size:26px}.result-score{font-size:60px}.review-options>div{padding:13px}.notice{gap:10px;padding:14px;font-size:14px}.notice-close{margin-right:-8px}.floating-notice{bottom:12px;left:12px;right:12px}.warning,.auth{padding:16px}.auth-form{padding:26px 22px}.auth-form .brand{font-size:18px}.auth-form h1{font-size:24px}.auth-form>p{font-size:14px}dialog{border-radius:16px;width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:26px 20px}.dialog-body h2{font-size:21px}.dialog-close{top:6px;right:6px}.actions{flex-wrap:nowrap}.actions>button{flex:1;padding-inline:12px}dialog:has(.document-viewer){padding:24px 16px}.document-viewer h2{font-size:18px}.docx-reader section.docx{padding:12px!important;font-size:10px!important}.docx-reader section.docx p,.docx-reader section.docx span{font-size:inherit!important}.docx-reader img{max-width:100%}.exam-header{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;min-height:0;padding:8px 12px;display:grid}.exam-header>svg{display:none}.exam-header>.grow{min-width:0}.exam-header strong{font-size:13px;line-height:1.3}.exam-header small{margin-top:2px;font-size:11px}.exam-header .timer{grid-area:1/2;gap:5px;font-size:14px}.exam-header>button{grid-row:2;min-height:36px;margin:0;padding:6px 10px;font-size:12px}.exam-header>button:first-of-type{grid-column:1;justify-self:start}.exam-header>button:last-of-type{grid-column:2;justify-self:end}.exam-layout{gap:16px;padding:16px}.exam-question{padding:20px}.exam-question .section-title{flex-wrap:wrap;gap:12px}.exam-question .section-title .eyebrow{flex-basis:100%;margin-top:0;font-size:11px}.question-body{margin:16px 0 20px;font-size:16px;line-height:1.6}.answer{gap:10px;margin:8px 0;padding:10px 12px;font-size:14px;line-height:1.45}.exam-question .statement-edit{flex-direction:column;align-items:stretch;padding-block:20px}.exam-question .statement-edit>select{width:100%}.exam-question .statement-edit>.grow{font-size:14px}.exam-step>button{padding-inline:12px;font-size:14px}.exam-nav{padding:20px}footer{gap:8px;margin-top:32px;padding-block:20px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input:focus:not([aria-invalid=true]),select:focus:not([aria-invalid=true]),textarea:focus:not([aria-invalid=true]){border-color:var(--muted)}.search:focus-within,.file-input:focus-within{border-color:var(--muted);outline:none}.field-error{color:var(--negative);font-size:13px}.field-invalid>label,.field-invalid>legend{color:var(--negative)}[aria-invalid=true]{border-color:var(--negative)}.radio-field{border:0;padding:0}.radio-field legend{margin-bottom:8px;font-size:14px}.radio-options{flex-wrap:wrap;gap:12px;min-height:46px;display:flex}.radio-options label{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:8px 14px;display:flex}.radio-options label:has(input:checked){background:var(--selected);border-color:var(--muted)}.radio-options input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);padding:0}.radio-field.field-invalid .radio-options label{border-color:var(--negative)}.exam-editor .page-title h1{font-size:24px}.exam-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.exam-meta-grid>.field:first-child,.exam-meta-grid>.radio-field{grid-column:span 2}.exam-meta-grid input{font-size:15px}.document-import-row{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:12px;display:flex}.document-import-row>svg{color:var(--muted)}.document-import-row>div:not(.file-input){min-width:0}.document-import-row strong{font-size:14px}.document-import-row p{margin:4px 0 0;font-size:12px}.document-import-row .file-input{background:0 0;border:0;flex:300px;min-height:44px;padding:0}.document-import-row .file-input>.button{min-height:44px;font-size:13px}.kind-exam{color:var(--link);background:var(--selected)}.kind-exercise{color:var(--exercise);background:var(--exercise-soft)}.report-filters{grid-template-columns:repeat(6,minmax(0,1fr)) auto;align-items:end}.report-submit{align-self:end}.report-submit button{white-space:nowrap}.theory-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 24px;display:flex}.theory-toolbar .field{flex:260px;max-width:500px;margin:0}.theory-grades{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.theory-grade{flex-direction:column;align-items:flex-start;gap:14px;min-height:160px;margin:0;padding:24px;display:flex}.theory-grade strong{color:var(--text);font-size:21px}.theory-list{gap:12px;margin-bottom:32px;display:grid}.theory-folder{text-align:left;border-radius:14px;justify-content:flex-start;gap:16px;padding:20px}.theory-folder>span{min-width:0}.theory-folder strong{color:var(--text);font-size:16px;display:block}.theory-folder small{margin-top:6px;display:block}.theory-files{gap:12px;display:grid}.theory-file{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:12px;padding:18px;display:flex}.theory-file .grow{overflow-wrap:anywhere}.theory-file small{margin-top:5px;display:block}.theory-reader{padding:0;overflow:hidden}.theory-reader-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.theory-reader-toolbar strong{overflow-wrap:anywhere;font-size:14px}.theory-reader .document-viewer{width:100%}.theory-reader .docx-reader{border:0;max-height:none;padding:0}.theory-upload summary{cursor:pointer;min-height:44px}@media (width<=1100px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-submit button{width:100%}}@media (width<=760px){.exam-meta-grid,.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-submit{grid-column:1/-1}.theory-grades{grid-template-columns:1fr;gap:12px}.theory-grade{grid-template-columns:36px 1fr;gap:8px 16px;min-height:110px;padding:18px;display:grid}.theory-grade svg{grid-row:span 2}.theory-file{flex-wrap:wrap;padding:14px}.theory-file .grow{flex-basis:calc(100% - 42px)}.theory-file>button{flex:auto}.theory-reader-toolbar{padding:12px}.theory-reader{margin-inline:-6px}.document-import-row>svg{display:none}}.page-back{justify-content:flex-start;margin:0 0 14px;display:flex}.back-button{gap:8px}.editor-save-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:18px 0;display:flex;position:static}.editor-save-row>span{color:var(--muted);font-size:14px}.import-summary{position:static}.grade-folders{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.grade-folder{flex-direction:column;align-items:flex-start;gap:14px;min-height:160px;margin:0;padding:24px;display:flex}.grade-folder strong{color:var(--text);font-size:21px}.grade-folder small{color:var(--muted)}.library-toolbar{max-width:500px;margin-bottom:24px}.theory-search{flex:240px;max-width:500px}.personal-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.tf-statement.is-true .grow{color:var(--positive)}.tf-statement.is-false .grow{color:var(--negative)}.chart-caption,.chart-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.chart-caption strong{color:var(--text)}.chart-plot{gap:10px;margin:32px 0 12px;display:flex}.chart-axis{text-align:right;width:24px;height:180px;color:var(--muted);flex-direction:column;flex-shrink:0;justify-content:space-between;font-size:11px;display:flex}.chart-data{flex:1;min-width:0;position:relative}.chart-grid{pointer-events:none;flex-direction:column;justify-content:space-between;height:180px;display:flex;position:absolute;inset:0 0 auto}.chart-grid i{border-top:1px solid var(--border);width:100%}.score-distribution .histogram{grid-template-columns:repeat(11,minmax(0,1fr));gap:10px;min-height:0;margin:0;display:grid;position:relative}.score-distribution .histogram-column{color:var(--text);gap:10px}.score-distribution .chart-slot{background:0 0;border-radius:0;justify-content:center;align-items:flex-end;height:180px;display:flex}.chart-bar{background:var(--accent);outline-offset:3px;border-radius:6px 6px 0 0;width:100%;max-width:56px;min-height:2px;position:relative}.chart-bar.chart-pass{background:var(--link)}.chart-count{color:var(--text);padding-bottom:5px;font-size:12px;position:absolute;bottom:100%;left:0;right:0}.chart-tooltip{background:var(--text);color:var(--surface);white-space:nowrap;z-index:2;border-radius:8px;padding:8px;font-size:12px;display:none;position:absolute;bottom:calc(100% + 24px);left:50%;transform:translate(-50%)}.chart-bar:hover .chart-tooltip,.chart-bar:focus-visible .chart-tooltip{display:block}.score-distribution .histogram-column small{color:var(--muted);font-size:12px}.chart-footer span:last-child{font-size:12px}.chart-empty{text-align:center;color:var(--muted);background:var(--surface-alt);border-radius:12px;margin:20px 0;padding:40px 16px}.chart-empty small{margin-top:8px;display:block}@media (width<=1100px){.personal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.grade-folders{grid-template-columns:1fr;gap:12px}.grade-folder{grid-template-columns:36px 1fr;gap:8px 16px;min-height:110px;padding:18px;display:grid}.grade-folder svg{grid-row:span 2}.editor-save-row{align-items:stretch}.editor-save-row>span{flex-basis:100%}.editor-save-row>button{width:100%}.score-distribution .histogram{gap:5px}.chart-plot{gap:6px}.chart-tooltip{white-space:normal;width:80px}.personal-results{background:0 0;border:0;overflow:visible}.personal-results table{width:100%;min-width:0}.personal-results thead{display:none}.personal-results tbody{gap:12px;display:grid}.personal-results tr{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:18px;display:grid}.personal-results td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:0}.personal-results td:first-child,.personal-results td:last-child{grid-column:1/-1}.personal-results td:last-child{justify-content:flex-end;display:flex}.personal-results td[data-label]:before{content:attr(data-label);color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.histogram-column:first-child .chart-tooltip{left:0;transform:none}.histogram-column:last-child .chart-tooltip{left:auto;right:0;transform:none}}.rich>.image-preview{margin:16px auto}.image-preview img{margin-inline:auto;display:block}.editor-toolbar{z-index:4;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:10px 0;display:flex;position:sticky;top:0}.editor-toolbar .page-back{margin:0}.exam-card.is-draft{background:var(--draft-surface);border-color:var(--border)}.exam-card.is-draft .tile-icon,.exam-card.is-draft .kind-exam,.exam-card.is-draft .kind-exercise,.exam-card.is-draft .badge.draft{background:var(--border);color:var(--muted)}.exam-card.is-draft .tile-icon svg{color:var(--muted)}.report-filters{grid-template-columns:repeat(6,minmax(0,1fr))}.report-filters.personal-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.profile{border-radius:14px;transition:background-color .16s,transform .16s}button.profile:hover{background:var(--surface-alt)}button.profile:hover .avatar{outline:2px solid var(--border);outline-offset:2px}button.profile:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button.profile:active{transform:scale(.97)}@media (width<=1100px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filters.personal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-toolbar{gap:10px}.top-actions{gap:4px}.topbar .header-title{min-width:0}.report-filters.personal-filters .field:nth-child(2){grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.profile{transition:none}}.system-toasts{z-index:18;pointer-events:none;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:auto;bottom:24px;right:24px}.system-toasts .notice{pointer-events:auto;margin:0;padding:12px;animation:.18s ease-out toast-enter}.system-toasts .notice-content{font-size:14px}@keyframes toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.system-toasts{top:auto;bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom) + 12px);right:16px}}@media (prefers-reduced-motion:reduce){.system-toasts .notice{animation:none}}.floating-notice{width:min(360px,100vw - 32px);max-width:360px;margin:0;left:auto;right:24px}.import-needs-review{border:1px solid var(--warning);background:var(--warning-soft);border-radius:14px;padding:18px}.import-review-status{color:var(--warning)}.import-summary>p{flex-basis:100%;margin:0;font-size:14px}.import-summary kbd{border:1px solid var(--border);font:inherit;border-radius:5px;padding:3px 6px;font-size:12px}.import-review-links{flex-basis:100%;gap:8px;margin:0;padding:0;list-style:none;display:grid}.import-review-links button{text-align:left;border-color:var(--border);border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:12px;display:flex}.import-review-links span{color:var(--muted);font-size:13px;line-height:1.5}.question-editor,.exam-editor .warning{scroll-margin-top:84px}.question-editor:focus{outline:2px solid var(--focus);outline-offset:3px}.theory-import-source{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.theory-import-source .field{flex:0 160px;margin:0}.theory-import-source .file-input{flex:240px}.theory-import-list .section-title label{align-items:center;gap:10px;display:flex}.theory-import-list details p{margin-top:14px}.theory-import-list .button{margin-top:12px}.document-import-row{background:0 0;border:0;margin:16px 0;padding:0}.document-import-row .file-input{flex:1}@media (width<=760px){.theory-import-source{gap:14px}.theory-import-source .field{flex-basis:100%}.page-title>.actions{flex-wrap:wrap}}.theory-importer form>fieldset,.theory-upload form>fieldset{border:0;margin:0;padding:0}.theory-import-source{grid-template-columns:124px minmax(0,1fr);align-items:center;gap:12px;display:grid}.theory-import-source .field{flex-direction:row;align-items:center;gap:8px}.theory-import-source .field>label{white-space:nowrap;flex-shrink:0}.theory-import-source .field>select{flex:1;width:80px;min-width:0}.theory-import-source .file-input{background:0 0;border:0;min-height:46px;padding:0}.theory-import-source .file-input>.button{border-radius:var(--radius-control);min-height:46px}.theory-import-source .file-input-name{display:none}.theory-source-name{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin:0;font-size:14px}.document-import-row .file-input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-alt);min-height:56px;padding:5px}@supports (appearance:base-select){select{appearance:base-select}select::picker(select){appearance:base-select}select{justify-content:space-between;align-items:center;gap:10px;display:inline-flex}select::picker-icon{color:var(--muted)}select::picker(select){background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-control);max-block-size:min(320px,50dvh);box-shadow:none;margin-block:5px;padding:5px;overflow:auto}select option{white-space:normal;overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}select option:hover,select option:focus{background:var(--selected);color:var(--link);outline:none}select option:checked{background:var(--selected);color:var(--link)}select option::checkmark{color:var(--link)}}.theory-import-source .file-input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-alt);min-height:56px;padding:5px}.auth-fields{border:0;min-width:0;margin:0;padding:0}.auth-fields>.primary{width:100%;margin-top:16px}.auth-switch{width:100%;margin-top:14px}.auth-help{text-align:center;font-size:13px}.auth-form{margin:24px auto}.class-identity{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-alt);flex-direction:column;gap:6px;margin:16px 0;padding:16px;display:flex}.class-identity strong{font-size:18px}.class-identity span{color:var(--muted);font-size:14px}.enrollment-form,.enrollment-status{max-width:700px}.enrollment-form .primary{width:auto}.invite-code{letter-spacing:2px;font-family:ui-monospace,Consolas,monospace}.join-requests .catalog-toolbar{flex-wrap:wrap}.join-request{gap:12px}.join-request small{margin-top:4px;display:block}.password-change{max-width:520px}.password-change .primary{width:auto}@media (width<=760px){.join-request{flex-wrap:wrap}.join-request .student-actions{flex-basis:100%;justify-content:flex-end}.roster-actions .student-actions{flex-wrap:wrap}.auth-form{padding:24px}.enrollment-form .primary,.password-change .primary{width:100%}}.password-input{align-items:center;min-width:0;display:flex;position:relative}.password-input input{width:100%;padding-right:68px}.password-toggle{min-width:52px;min-height:44px;color:var(--text);background:0 0;border:0;padding:6px;position:absolute;right:4px}.auth-help{line-height:1.6;margin-top:20px!important}.auth-switch{margin-top:16px}.password-change{margin-bottom:24px}.password-change+button{margin-top:12px}.roster-check{padding-left:16px!important;padding-right:12px!important}.join-requests>.check-touch{margin:12px 0}.dialog-body>form>.field,.dialog-body>form>p,.password-change h2{margin-bottom:16px}select.select-placeholder{color:var(--muted)}select.select-placeholder option:not([hidden]){color:var(--text)}select option[hidden]{display:none}.sidebar nav button>.class-request-dot{background:var(--notification);border:2px solid var(--nav-bg);z-index:2;pointer-events:none;border-radius:50%;width:11px;height:11px;display:block;position:absolute;top:7px;left:calc(50% + 7px)}:root{--notification:#d92d20}:root[data-theme=dark]{--notification:#ff5d67}.sidebar nav button.active>.class-request-dot{border-color:var(--nav-selected-bg)}.class-request-description{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-join-requests{margin-block:20px}.home-join-requests .section-heading{margin-bottom:8px}.home-join-requests h2{margin:0}.home-join-requests h2 span,.home-join-requests .section-heading>small{color:var(--muted)}.home-join-requests ul{margin:0;padding:0;list-style:none}.home-join-requests li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-block:16px;display:flex}.home-request-info{overflow-wrap:anywhere;min-width:0}.home-request-info strong,.home-request-info small{display:block}.home-request-info small{color:var(--muted);margin-top:4px}.home-request-info p{margin:6px 0 0;font-size:14px}.home-join-requests li>button{flex-shrink:0}.home-request-more{margin-top:8px}@media (width<=760px){.sidebar nav button>.class-request-dot{border-color:var(--surface);top:3px;left:calc(50% + 7px)}.sidebar nav button.active>.class-request-dot{border-color:var(--surface)}.home-join-requests .section-heading{flex-wrap:wrap;align-items:flex-start;gap:8px}.home-join-requests li{flex-wrap:wrap;align-items:flex-start;gap:12px}.home-join-requests li>button{margin-left:auto}}
