: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}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: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)}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}.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{flex-shrink:0}.review-options .review-choice{flex-wrap:wrap;align-items:center;min-height:56px}.review-options .incorrect{background:var(--negative-soft);border-color:var(--negative)}.review-choice-label{flex-shrink:0}.review-choice-content{overflow-wrap:anywhere;flex:1;min-width:0}.review-choice-status{flex-wrap:wrap;gap:6px 12px;font-size:13px;font-weight:600;display:flex}.review-choice-status:empty{display:none}.review-choice-status>span{align-items:center;gap:4px;display:inline-flex}.review-choice.correct .review-choice-status{color:var(--positive)}.review-choice.incorrect .review-choice-status{color:var(--negative)}.review-statements{margin-top:20px}.review-statement{border-top:1px solid var(--border);padding:18px 0}.review-statement-row{align-items:flex-start;gap:16px;display:flex}.review-statement-heading{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.review-statement-heading>strong{flex-shrink:0;font-size:18px}.review-statement-result{flex:0 0 180px}.review-options.review-boolean-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.review-boolean-options>.review-choice{align-content:start;gap:6px;margin:0;padding:10px}.review-boolean-options .review-choice-status{flex-basis:100%;gap:4px;font-size:12px}.review-boolean-options .review-choice-status>span{flex-wrap:wrap}.review-accessible-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.review-statement-explanation{gap:6px;margin-top:12px;display:grid}.review-unanswered{margin:12px 0 0}@media (width<=600px){.review-statement-row{gap:10px}.review-statement-heading{gap:6px}.review-statement-result{flex-basis:148px}.review-options.review-boolean-options{gap:6px}.review-boolean-options>.review-choice{padding:8px}}.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 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-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-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:4;align-items:center;gap:18px;min-height:72px;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}.exam-toasts{right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:18;pointer-events:none;gap:10px;width:min(380px,100vw - 32px);max-height:calc(100dvh - 140px);display:grid;position:fixed;overflow-y:auto}.exam-toasts:empty{display:none}.exam-toasts .notice{pointer-events:auto;margin:0;padding:12px}.exam-toasts .notice-content{font-size:14px}@media (width<=760px){.exam-toasts{right:16px;bottom:max(12px,env(safe-area-inset-bottom))}}.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}.exam-card .row-actions button.shuffle-active{background:var(--positive-soft);border-color:var(--positive);color:var(--positive)}.exam-grid.manage-exam-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,352px),1fr))}@media (width<=430px){.exam-card .row-actions{justify-content:space-between;gap:3px}}.exam-card .exam-card-actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px;width:100%;display:flex}.exam-card .exam-card-actions button[aria-label]{border-radius:10px;flex:0 0 44px;gap:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px}@media (width<=430px){.exam-card .exam-card-actions{gap:2px}}.exam-settings-section{border-bottom:1px solid var(--border);padding:10px 0}.exam-settings-section .radio-options{flex-direction:column;align-items:stretch}.settings-switch-row{justify-content:space-between;align-items:center;gap:16px;min-height:44px;font-weight:600;display:flex}.settings-switch-row .settings-toggle{background:0 0;border:0;justify-content:center;align-items:center;width:52px;min-width:52px;min-height:44px;padding:0;display:inline-flex}.settings-switch-row .settings-toggle:hover{background:0 0}.settings-toggle-track{background:var(--border);border:1px solid var(--border);border-radius:20px;width:44px;height:26px;padding:3px;transition:background .15s;display:block}.settings-toggle-thumb{background:var(--surface);border-radius:50%;width:18px;height:18px;transition:transform .15s;display:block}.settings-toggle[aria-checked=true] .settings-toggle-track{background:var(--accent);border-color:var(--accent)}.settings-toggle[aria-checked=true] .settings-toggle-thumb{background:var(--on-accent);transform:translate(16px)}.settings-sub-options{margin:8px 0 4px 12px}.settings-sub-options .check-row{border-bottom:0}@media (prefers-reduced-motion:reduce){.settings-toggle-track,.settings-toggle-thumb{transition:none}}.monitor-settings-fields{border:0;min-width:0;margin:0;padding:0}.exam-card .exam-card-actions button.setting-active{background:var(--positive-soft);border-color:var(--positive);color:var(--positive)}.shuffle-lock{align-items:center;gap:10px;min-height:44px;margin-top:16px;display:flex}.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 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}@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:44px;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}.mindmap-panel{min-width:0;scroll-margin-top:20px}.mindmap-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mindmap-toolbar h2{margin:0}.mindmap-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mindmap-controls output{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-size:14px}.mindmap-help{margin-block:12px;font-size:13px}.mindmap-stage{touch-action:none;cursor:grab;border:1px solid var(--border);-webkit-user-select:none;user-select:none;outline-offset:3px;background:#f7f9fc;border-radius:12px;width:100%;height:clamp(420px,65vh,760px);position:relative;overflow:hidden}.mindmap-stage.is-dragging{cursor:grabbing}.mindmap-stage>img{transform-origin:0 0;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0;max-width:none!important;max-height:none!important}.mindmap-loading{text-align:center;color:#54657a;position:absolute;inset:40% 16px auto}.mindmap-panel:fullscreen{background:var(--surface);flex-direction:column;width:100%;height:100%;padding:20px;display:flex}.mindmap-panel:fullscreen .mindmap-stage{flex:1;height:auto}.inline-mindmaps:empty{display:none}@media (width<=540px){.mindmap-panel{padding:12px}.mindmap-controls{width:100%}.mindmap-stage{height:460px}.mindmap-panel:fullscreen{padding:10px}}.library-toolbar.exam-library-toolbar{grid-template-columns:minmax(0,1fr) minmax(210px,.7fr);gap:12px;max-width:850px;display:grid}.exam-library-toolbar .field{min-width:0;margin:0}.exam-card .exam-history{color:var(--muted);font-size:14px;line-height:1.6}@media (width<=540px){.library-toolbar.exam-library-toolbar{grid-template-columns:minmax(0,1fr)}}.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)}.report-filters{grid-template-columns:repeat(6,minmax(0,1fr))}.report-filters .report-exam-select{white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:0;max-width:100%;height:46px;overflow:hidden}@supports (appearance:base-select){.report-exam-select>button{all:unset;width:100%;min-width:0;color:inherit;font:inherit;text-align:start;flex:1;align-items:center;display:flex}.report-exam-select selectedcontent{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:block;overflow:hidden}.report-exam-select::picker-icon{flex-shrink:0}.report-exam-select::picker(select){width:min(480px,100vw - 32px);max-width:calc(100vw - 32px)}.report-exam-select option{white-space:normal;overflow-wrap:anywhere}}.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}.explanation-editor{border:1px solid var(--border);border-radius:12px;min-width:0;margin-block:20px;padding:16px}.explanation-editor textarea{min-height:110px}.explanation-editor .field{margin-block:12px}.explanation-editor small{color:var(--muted);line-height:1.6;display:block}.explanation-editor a{overflow-wrap:anywhere}.explanation-editor h4{margin-top:0}.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}}.lesson-videos{min-width:0;margin-top:20px}.lesson-videos h2{margin:0}.lesson-video{gap:12px;min-width:0;margin-top:20px;display:grid}.lesson-video h3{overflow-wrap:anywhere;margin:0}.lesson-video-play{justify-content:center;align-items:center;gap:16px;width:100%;min-height:180px;display:flex}.lesson-video-frame{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;min-height:200px;overflow:hidden}.lesson-video-frame iframe{border:0;width:100%;height:100%;display:block}.lesson-video>a{justify-self:start}.lesson-video-edit{border-bottom:1px solid var(--border);gap:12px;margin:20px 0;padding-bottom:16px;display:grid}.lesson-video-edit input{width:100%;min-width:0}.practice-source-field{border:0;min-width:0;margin:0;padding:0}.practice-source-field legend{margin-bottom:8px;font-weight:600}.practice-sources{border:1px solid var(--border);border-radius:12px;max-height:240px;overflow-y:auto}.practice-source{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;padding:12px;display:flex}.practice-source+.practice-source{border-top:1px solid var(--border)}.practice-source input{flex:0 0 20px;width:20px;height:20px;margin-top:2px}.practice-source span{overflow-wrap:anywhere;min-width:0}.practice-source strong,.practice-source small{display:block}.practice-source strong{font-size:14px;font-weight:500;line-height:1.45}.practice-source small{color:var(--muted);margin-top:4px;font-size:12px}.report-metrics.practice-metrics,.result-metrics.practice-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}@font-face{font-family:Itim;src:url(/assets/Itim-Regular-NrYbsetC.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f6f0;--surface:#fffefa;--surface-alt:#f0eee6;--ink:#171814;--muted:#62655e;--line:#24251f;--blue:#0094ff;--blue-soft:#e0f2ff;--yellow:#ffda49;--paper:#fff9e8;--green:#216044;--green-soft:#e3f4e7;--red:#aa343b;--red-soft:#ffeded;--grid:#3978b11c;--shadow:2px 2px 0 var(--line);--shadow-lg:4px 4px 0 var(--line);color:var(--ink);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#20211f;--surface:#2b2d29;--surface-alt:#343630;--ink:#f3f1e6;--muted:#c4c6b9;--line:#999d8c;--blue-soft:#17384d;--paper:#313228;--green:#a5dfbb;--green-soft:#253a2d;--red:#ffb3b5;--red-soft:#422d2e;--grid:#cad8bb11;--shadow:2px 2px 0 #11130f;--shadow-lg:4px 4px 0 #11130f}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,select{cursor:pointer}button,a,input,select{touch-action:manipulation}button{border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);box-shadow:var(--shadow);border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-weight:600;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex}button svg{flex:none}button.primary{background:var(--blue);color:#101815;border-color:var(--line)}button.yellow{background:var(--yellow);color:#171814}button:disabled{opacity:.48;cursor:not-allowed}button:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}button.flat{box-shadow:none;background:0 0;border-color:#0000}button.icon{width:44px;min-width:44px;height:44px;padding:9px}button.danger{color:var(--red)}button.text-link{box-shadow:none;color:var(--ink);text-underline-offset:4px;background:0 0;border-color:#0000;padding-inline:4px;text-decoration:underline}input,select{border:2px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);border-radius:7px;padding:9px 11px}input::placeholder{color:var(--muted)}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--blue);flex:none;margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Itim,Segoe UI,sans-serif;font-weight:400;line-height:1.15}h1{font-size:38px}h2{font-size:27px}h3{font-size:23px}small{color:var(--muted);font-size:12px}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}@media (hover:hover){button:hover:not(:disabled):not(.flat):not(.text-link){box-shadow:none;transform:translate(2px,2px)}button.flat:hover{background:var(--blue-soft)}button.text-link:hover{color:var(--blue)}}.preview-tools{justify-content:space-between;align-items:center;gap:16px;max-width:1490px;margin:0 auto;padding:20px 26px;display:flex}.preview-label{flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;display:flex}.preview-label strong{font-weight:700}.preview-dot{background:var(--blue);border:1px solid var(--line);border-radius:50%;width:9px;height:9px}.preview-caption{color:var(--muted);padding-left:4px}.preview-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preview-options select{width:auto;max-width:190px;height:36px;min-height:36px;padding:5px 9px;font-size:12px}.preview-options button{min-height:36px;box-shadow:none;border-width:1px;padding:6px 10px;font-size:12px}.preview-options button[aria-pressed=true]{background:var(--yellow);color:#171814}.preview-stage{border:2px solid var(--line);width:calc(100% - 52px);max-width:1438px;box-shadow:var(--shadow-lg);background:var(--surface);border-radius:14px;margin:0 auto;overflow:clip;container:stage/inline-size}.preview-stage.phone{max-width:390px}.preview-note{text-align:center;max-width:960px;color:var(--muted);margin:20px auto 24px;padding:0 20px;font-size:12px}.shell{--rail:88px;grid-template-columns:var(--rail) minmax(0,1fr);min-height:920px;display:grid}.sidebar{background:var(--surface);border-right:2px solid var(--line);flex-direction:column;align-items:stretch;gap:30px;padding:24px 10px 18px;display:flex}.sidebar-logo{background:var(--yellow);border:2px solid var(--line);width:44px;height:44px;box-shadow:var(--shadow);color:#171814;border-radius:9px;align-self:center;place-items:center;display:grid}.sidebar-nav{flex-direction:column;gap:14px;display:flex}.sidebar-nav button{box-shadow:none;background:0 0;border-color:#0000;justify-content:center;min-height:48px;padding:10px 8px;font-weight:600;position:relative}.sidebar-nav button span{display:none}.sidebar-nav button.active{border-color:var(--line);box-shadow:var(--shadow);background:var(--blue);color:#111a1c}.sidebar-bottom{align-self:center;margin-top:auto}.wide .sidebar{padding-inline:15px}.wide .sidebar-nav button{justify-content:flex-start;gap:13px;padding-inline:13px}.wide .sidebar-nav button span{display:block}.wide .sidebar-logo{align-self:flex-start;margin-left:10px}.wide .sidebar-bottom{align-self:flex-start}.wide .sidebar-bottom:after{content:"Học mỗi ngày";color:var(--muted);margin:12px 0 0 12px;font-family:Itim;font-size:18px;display:block}.workspace{background-color:var(--blue-soft);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px;min-width:0}.topbar{border-bottom:2px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:18px;padding:18px 30px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand>svg{flex:none;width:28px;height:28px}.brand-title{letter-spacing:-.4px;font-size:18px;font-weight:700}.brand-subtitle{color:var(--muted);letter-spacing:.1px;margin-top:2px;font-size:11px;display:block}.top-actions{flex:none;align-items:center;gap:9px;display:flex}.profile{border-left:1px solid var(--line);align-items:center;gap:10px;margin-left:3px;padding:0 0 0 10px;display:flex}.profile-text{font-size:12px;font-weight:700}.profile-text small{font-size:10px;font-weight:400;display:block}.avatar{background:var(--yellow);border:2px solid var(--line);color:#171814;border-radius:50%;place-items:center;width:38px;height:38px;font-family:Itim;font-size:21px;display:grid}.main{max-width:1280px;margin:auto;padding:30px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:10px;font-weight:700;display:flex}.eyebrow:before{content:"";background:currentColor;width:15px;height:2px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px;display:flex}.section-subtitle{color:var(--muted);max-width:620px;margin-top:8px}.page-heading{margin-bottom:26px}.page-heading h1{font-size:36px}.panel{border:2px solid var(--line);box-shadow:var(--shadow);background:var(--surface);border-radius:12px;padding:22px}.badge{border:1.5px solid var(--line);white-space:nowrap;letter-spacing:.1px;border-radius:5px;align-items:center;gap:5px;min-height:25px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.badge.blue{background:var(--blue-soft)}.badge.yellow{background:var(--yellow);color:#171814}.badge.green{background:var(--green-soft);color:var(--green)}.badge.gray{background:var(--surface-alt);color:var(--muted)}.badge svg{width:12px;height:12px}.footer{border-top:1px dashed var(--muted);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding-top:25px;font-size:11px;display:flex}.welcome{background:var(--paper);grid-template-columns:1fr 240px;align-items:center;gap:20px;margin-bottom:22px;padding:29px 32px;display:grid;position:relative}.welcome h1{letter-spacing:-.7px;margin:0 0 12px;font-size:45px}.welcome h1 span{box-shadow:inset 0 -.22em var(--yellow);padding-right:4px}.welcome p{color:var(--muted);max-width:510px;font-size:14px;line-height:1.7}.welcome-actions{flex-wrap:wrap;gap:11px;margin-top:22px;display:flex}.welcome-art{place-items:center;height:160px;display:grid;position:relative}.welcome-art>svg{width:230px;height:174px;stroke:var(--line);stroke-width:2px}.welcome-art .art-label{background:var(--yellow);border:2px solid var(--line);color:#171814;padding:5px 12px;font-family:Itim;font-size:18px;position:absolute;top:2px;right:-4px;transform:rotate(6deg)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:30px;display:grid}.stat{justify-content:space-between;align-items:center;gap:10px;padding:17px 19px;display:flex}.stat strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-top:9px;font-size:32px;line-height:1;display:block}.stat small{color:var(--ink);font-size:12px;font-weight:600}.stat-icon{border:1.5px solid var(--line);background:var(--surface);border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.stat:nth-child(2),.stat:nth-child(3){background:var(--surface)}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:31px;display:grid}.quick-card{text-align:left;background:var(--surface);border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:0;min-height:155px;padding:19px 16px;display:flex}.quick-card .quick-icon{background:var(--blue-soft);border:1.5px solid var(--line);border-radius:7px;place-items:center;width:36px;height:36px;margin-bottom:7px;display:grid}.quick-card:nth-child(2) .quick-icon{background:var(--yellow);color:#171814}.quick-card p{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;line-height:1.6}.section-heading .text-link{font-size:12px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,305px),1fr));gap:18px;display:grid}.exam-card{flex-direction:column;gap:13px;min-width:0;padding:18px;display:flex}.card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-icon{border:1.5px solid var(--line);background:var(--blue-soft);border-radius:6px;place-items:center;width:37px;height:40px;display:grid}.card-icon.yellow{background:var(--yellow);color:#171814}.exam-card h3{letter-spacing:-.2px;min-height:44px;font-family:inherit;font-size:15px;font-weight:650;line-height:1.5}.card-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.card-meta span{align-items:center;gap:5px;display:flex}.card-meta svg{width:14px;height:14px}.card-history{color:var(--muted);font-size:11px}.card-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-toolbar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:2px;margin-top:auto;padding:13px 2px 2px 0;display:flex}.card-toolbar button{border-radius:6px;flex:0 0 44px;width:44px;height:44px;padding:10px}.card-toolbar svg{width:17px;height:17px}.card-toolbar .play{background:var(--blue);color:#171814}.card-toolbar .student-play{flex:initial;width:auto;min-width:44px;padding-inline:15px}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.filter{flex:140px;min-width:0}.filter.search{flex:2 220px}.filter label{margin-bottom:7px;font-size:11px;font-weight:650;display:block}.catalog-tools{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.catalog-tools p{color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);padding:36px}.info-strip{background:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:9px;align-items:center;gap:11px;margin-bottom:22px;padding:13px 16px;font-size:12px;display:flex}.info-strip strong{font-size:13px}.info-strip svg{flex:none}.exam-bar{background:var(--surface);border-bottom:2px solid var(--line);align-items:center;gap:10px;padding:15px 24px;display:flex}.exam-bar .grow{flex:1;min-width:0}.exam-bar strong{font-size:15px;line-height:1.4;display:block}.exam-bar small{margin-bottom:3px;font-size:10px;display:block}.timer{border:2px solid var(--line);background:var(--yellow);color:#171814;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:6px;align-items:center;gap:7px;padding:9px 11px;font-weight:750;display:flex}.exam-layout{grid-template-columns:minmax(0,1fr) 240px;gap:23px;display:grid}.question-panel{background:var(--paper);padding:25px}.question-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.question-heading h2{font-size:28px}.question-text{max-width:780px;margin-bottom:24px;font-size:17px;font-weight:500;line-height:1.8}.answer{text-align:left;background:var(--surface);justify-content:flex-start;gap:13px;width:100%;min-height:60px;margin-bottom:13px;padding:12px 14px;font-weight:400}.answer>span{background:var(--surface-alt);border:1.5px solid var(--line);border-radius:5px;flex:none;place-items:center;width:29px;height:29px;font-size:12px;font-weight:700;display:grid}.answer.selected{background:var(--blue-soft);box-shadow:var(--shadow)}.answer.selected>span{background:var(--blue);color:#171814}.answer .answer-text{background:0 0;border:0;width:auto;height:auto;font-size:14px;font-weight:400;line-height:1.5;display:block}.answer.selected:after{content:"✓";margin-left:auto;font-weight:700}.exam-step{border-top:1px dashed var(--muted);justify-content:space-between;gap:10px;margin-top:25px;padding-top:20px;display:flex}.exam-nav{align-self:start;padding:20px}.progress-label{color:var(--muted);margin-bottom:10px;font-size:12px}.progress-track{border:1.5px solid var(--line);background:var(--surface-alt);border-radius:4px;height:12px;margin-bottom:23px;overflow:hidden}.progress-fill{background:var(--blue);height:100%}.exam-nav .part-label{margin:18px 0 10px;font-size:11px;font-weight:700}.question-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-right:2px;display:grid}.question-buttons button{min-height:40px;box-shadow:none;padding:5px;font-size:12px}.question-buttons button.current{background:var(--yellow);color:#171814;box-shadow:var(--shadow)}.question-buttons button.answered{background:var(--blue-soft)}.exam-status-key{color:var(--muted);margin-top:18px;font-size:10px;line-height:1.8}.fixed-sample-notice{border:2px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;gap:10px;margin:20px 0 0;padding:12px 15px;font-size:12px;display:flex}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:25px;display:grid}.result-grid strong{margin-top:10px;font-size:30px;display:block}.result-grid p{margin-top:12px}.result-table{border-collapse:collapse;width:100%;font-size:12px}.result-table th{background:var(--paper);text-align:left;letter-spacing:.3px;font-size:11px}.result-table th,.result-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 12px}.result-table td strong{font-size:13px;display:block}.result-table td small{margin-top:4px;display:block}.table-wrap{padding:0;overflow:auto}.tabs{flex-wrap:wrap;gap:10px;margin-bottom:23px;display:flex}.tabs button{font-size:12px}.tabs button.active{background:var(--yellow);color:#171814}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.book-card{text-align:left;background:var(--yellow);color:#171814;border-radius:9px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:15px;min-height:230px;padding:26px 25px 23px 35px;position:relative;overflow:hidden}.book-card:before{content:"";border-right:2px solid var(--line);background:#1d3557;width:14px;position:absolute;inset:0 auto 0 0}.book-card:nth-child(2){background:#a8d8ee}.book-card:nth-child(3){background:#80bdae}.book-card h2{font-size:44px}.book-card p{font-size:12px;font-weight:400}.book-card svg{width:29px;height:29px}dialog{background:var(--surface);width:min(460px,100% - 30px);max-height:calc(100dvh - 34px);color:var(--ink);border:2px solid var(--line);box-shadow:5px 5px 0 var(--line);border-radius:12px;padding:0;overflow:auto}dialog::backdrop{background:#0f141a75}.dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.dialog-heading .icon{box-shadow:none;border-color:#0000;width:36px;min-width:36px;height:36px;min-height:36px;padding:7px}.dialog-description{color:var(--muted);margin-bottom:23px;font-size:12px}.setting-section+.setting-section{border-top:1px dashed var(--muted);margin-top:24px;padding-top:22px}.switch-row{justify-content:space-between;align-items:center;gap:15px;min-height:44px;font-size:14px;font-weight:650;display:flex}.switch{box-shadow:none;background:0 0;border:0;width:48px;min-width:48px;padding:0}.switch-track{background:var(--surface-alt);border:2px solid var(--line);border-radius:99px;width:46px;height:27px;padding:2px;display:block}.switch-thumb{background:var(--surface);border:1px solid var(--line);border-radius:99px;width:19px;height:19px;transition:transform .15s;display:block}.switch[aria-checked=true] .switch-track{background:var(--blue)}.switch[aria-checked=true] .switch-thumb{background:#fff;transform:translate(19px)}.check-row{cursor:pointer;align-items:center;gap:10px;min-height:44px;padding-left:7px;font-size:13px;display:flex}.field{flex-direction:column;gap:8px;margin-top:17px;font-size:12px;display:flex}.field input,.field select{font-size:14px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.dialog-actions>.primary{flex:1}.practice-source{border-bottom:1px solid var(--line);align-items:flex-start;gap:11px;padding:12px;font-size:13px;display:flex}.practice-source:last-child{border:0}.practice-source input{margin-top:3px}.practice-source small{margin-top:4px;display:block}.practice-sources{border:2px solid var(--line);border-radius:7px;margin-top:15px;overflow:hidden}.toast{z-index:10;border:2px solid var(--line);background:var(--yellow);color:#171814;max-width:min(380px,100% - 32px);box-shadow:var(--shadow);border-radius:8px;padding:14px 18px;font-size:13px;position:fixed;bottom:24px;right:24px}@container stage (width<=1050px){.main{padding:25px}.topbar{padding-inline:25px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome{grid-template-columns:1fr 180px;padding:25px}.welcome-art>svg{width:190px}.welcome-art .art-label{font-size:16px}.welcome h1{font-size:40px}.exam-layout{grid-template-columns:minmax(0,1fr) 205px}.exam-nav{padding:15px}.question-buttons{gap:6px}.brand-subtitle,.profile-text{display:none}.brand-title{font-size:16px}}@container stage (width<=760px){.shell,.shell.wide{flex-direction:column;min-height:800px;display:flex}.sidebar{border-right:0;border-top:2px solid var(--line);z-index:4;order:2;gap:0;padding:8px 7px;position:sticky;bottom:0}.sidebar-logo,.sidebar-bottom,.wide .sidebar-bottom{display:none}.sidebar-nav{flex-direction:row;justify-content:space-between;gap:5px}.sidebar-nav button,.wide .sidebar-nav button{border-radius:6px;flex-direction:column;flex:1;justify-content:center;gap:5px;min-width:0;min-height:53px;padding:6px 2px;font-size:9px}.sidebar-nav button span,.wide .sidebar-nav button span{white-space:nowrap;font-size:9px;font-weight:500;display:block}.sidebar-nav button svg{width:19px;height:19px}.wide .sidebar{padding:8px 7px}.workspace{flex:1}.main{padding:19px 15px}.topbar{gap:10px;min-height:66px;padding:12px 15px}.brand>svg{width:23px;height:23px}.brand{gap:9px}.brand-title{letter-spacing:-.2px;font-size:13px;line-height:1.4}.top-actions{gap:5px}.top-actions>.icon{width:36px;min-width:36px;height:36px;min-height:36px;box-shadow:none;border-color:#0000;padding:6px}.top-actions .refresh{display:none}.profile{border:0;margin:0;padding:0}.avatar{width:33px;height:33px;font-size:19px}.welcome{grid-template-columns:1fr;gap:0;margin-bottom:16px;padding:21px 19px}.welcome-art{display:none}.welcome h1{margin-bottom:12px;font-size:36px;line-height:1.15}.welcome p{font-size:12px;line-height:1.7}.welcome-actions{gap:9px;margin-top:18px}.welcome-actions button{padding-inline:11px;font-size:12px}.eyebrow{letter-spacing:1.2px;margin-bottom:10px;font-size:9px}.stats{gap:9px;margin-bottom:24px}.stat{align-items:flex-start;gap:0;min-width:0;padding:14px 10px}.stat small{min-height:30px;font-size:10px;line-height:1.5;display:block}.stat strong{margin-top:7px;font-size:27px}.stat-icon{display:none}.quick-grid{gap:12px;margin-bottom:26px}.quick-card{min-height:148px;padding:16px 13px}.quick-card h3{font-size:22px}.quick-card p{font-size:11px}.section-heading{gap:9px;margin-bottom:15px}.section-heading h2{font-size:27px}.section-heading .text-link{white-space:nowrap;gap:4px;font-size:10px}.section-heading .text-link svg{width:14px;height:14px}.card-grid{grid-template-columns:1fr;gap:15px}.exam-card{gap:12px;padding:14px 10px}.exam-card h3{min-height:0;font-size:14px}.card-toolbar{gap:2px}.card-toolbar button{border-radius:5px}.card-history{font-size:10px}.footer{flex-direction:column;align-items:flex-start;gap:6px;margin-top:23px;padding-top:19px;padding-bottom:12px;font-size:10px}.footer span:first-child{font-size:15px}.page-heading h1{font-size:33px}.page-heading .section-subtitle{font-size:12px}.page-heading.section-heading{flex-wrap:wrap;align-items:flex-start}.page-heading.section-heading>div{flex:100%}.page-heading button{font-size:12px}.filters{gap:10px}.filter{flex:calc(50% - 10px)}.filter.search{flex:100%}.catalog-tools{flex-wrap:wrap;align-items:flex-start}.catalog-tools button{font-size:12px}.info-strip{padding:11px;font-size:11px}.exam-bar{flex-wrap:wrap;gap:8px;padding:12px}.exam-bar .grow{flex:calc(100% - 100px)}.exam-bar strong{font-size:12px}.timer{min-height:40px;padding:7px;font-size:13px}.exam-bar>button{flex:1;min-height:38px;font-size:11px}.exam-layout{flex-direction:column;gap:18px;display:flex}.question-panel{width:100%;padding:18px 14px}.question-text{font-size:15px;line-height:1.8}.question-heading{margin-bottom:18px}.question-heading h2{font-size:26px}.question-heading .badge{font-size:9px}.answer{gap:10px;min-height:64px;padding:11px;font-size:13px}.answer .answer-text{font-size:13px}.exam-step button{padding-inline:10px;font-size:11px}.exam-nav{width:100%;padding:18px}.question-buttons{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.question-buttons button{min-height:34px}.result-grid{gap:12px}.result-grid .panel{padding:17px 12px}.result-grid strong{font-size:23px}.result-grid p{font-size:12px}.result-table th,.result-table td{padding:12px 9px}.result-table th{font-size:10px}.result-table td strong{font-size:12px}.book-grid{grid-template-columns:1fr}.book-card{min-height:150px;padding:20px 25px 20px 34px}.book-card h2{font-size:35px}.toast{bottom:22px;right:16px}.fixed-sample-notice{font-size:11px}}@media (width<=760px){.preview-tools{padding:15px 14px;display:block}.preview-caption{padding:0;font-size:10px}.preview-label{gap:7px}.preview-options{gap:7px;margin-top:12px}.preview-options select,.preview-options button{flex:1;max-width:none;padding:5px;font-size:10px}.preview-stage{border-radius:10px;width:calc(100% - 24px)}.preview-note{margin-top:17px;font-size:10px}.dialog-inner{padding:20px}.dialog-heading h2{font-size:27px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}button:hover,button:active{transform:none!important}}.answer.selected>.answer-text{color:var(--ink);background:0 0}.stat-icon{color:var(--ink)}@container stage (width<=760px){.shell,.shell.wide{height:min(820px,100dvh - 155px);min-height:560px}.workspace{min-height:0;overflow:auto}.sidebar{flex:none;position:static}.topbar{z-index:3;position:sticky;top:0}#app>.workspace{height:min(820px,100dvh - 155px);min-height:560px;overflow:auto}.exam-bar{z-index:3;position:sticky;top:0}}@font-face{font-family:"Baloo 2";src:url(/assets/Baloo2-Variable-BcePNZ8p.ttf)format("truetype");font-weight:400 800;font-style:normal;font-display:swap}:root{--bg:#f4f6fb;--surface:#fff;--surface-alt:#eef2f9;--ink:#111b2c;--muted:#65666a;--line:#171717;--focus:#44474c;--paper:#faf9f6;--yellow:#ffd12e;--yellow-soft:#fff1b5;--canvas:#e4edfb;--grid:#23283029;--ui-font:Itim;--heading-font:"Baloo 2";--on-accent:#fff;--on-yellow:#202020;--accent-raw:#4f8cff;--snake:#4f8cff;--snake-opacity:.92;--shadow:2px 2px 0 #171717;--shadow-lg:3px 3px 0 #171717;font-family:var(--ui-font), "Segoe UI", sans-serif}:root[data-theme=dark]{--bg:#171e2a;--surface:#222c3b;--surface-alt:#2d394d;--ink:#dce6f3;--muted:#a5b5ca;--line:#526782;--focus:#a4a9b2;--paper:#253143;--yellow:#b38223;--yellow-soft:#493a21;--on-yellow:#ffe4a3;--canvas:#26292e;--grid:#c6ccd612;--green:#acc4b7;--green-soft:#303c35;--red:#d3a6aa;--red-soft:#423438;--snake-opacity:.34;--shadow:2px 2px 0 #16181c;--shadow-lg:3px 3px 0 #16181c}body{font-size:15px;font-weight:400}h1,h2,h3{font-family:var(--heading-font),var(--ui-font),sans-serif;letter-spacing:-.5px;font-weight:700}button,input,select,textarea{font-family:inherit}button.primary,.sidebar-nav button.active,.card-toolbar .play{color:var(--on-accent)}button.yellow,.badge.yellow,.card-icon.yellow,.quick-card:nth-child(2) .quick-icon,.welcome-art .art-label,.timer,.question-buttons button.current,.tabs button.active{color:var(--on-yellow)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--blue-soft);color:var(--ink)}.preview-tools{max-width:1660px;padding:16px 20px}.preview-options{gap:8px}.preview-options button{font-size:13px}.preview-stage{width:calc(100% - 28px);max-width:1640px;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.shell{--rail:88px;align-items:start;gap:15px;min-height:900px}.shell.wide{--rail:210px}.sidebar,.wide .sidebar{background:var(--bg);border:0;gap:26px;height:calc(100dvh - 100px);min-height:630px;padding:15px 0 10px;position:sticky;top:12px}.sidebar-brand{align-items:center;gap:10px;min-height:57px;padding:0 10px;display:flex}.sidebar-logo,.wide .sidebar-logo{background:var(--blue);width:41px;height:43px;color:var(--on-accent);box-shadow:none;border-radius:8px;flex:none;align-self:auto;margin:0}.sidebar-logo svg{width:27px;height:27px}.sidebar-brand-text{font-family:var(--heading-font);letter-spacing:-.3px;font-size:18px;font-weight:700;line-height:1.3;display:none}.wide .sidebar-brand-text{display:block}.nav-section-label{text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin:4px 12px 9px;font-size:11px;font-weight:600;display:none}.wide .nav-section-label{display:block}.sidebar-nav{gap:11px}.sidebar-nav button,.wide .sidebar-nav button{border-radius:6px;min-height:47px;font-weight:400}.wide .sidebar-nav button{gap:12px;padding:9px 12px;font-size:15px}.sidebar-nav button.active{border-color:var(--line);box-shadow:var(--shadow);font-weight:700}.sidebar-nav button svg{width:20px;height:20px}.sidebar-bottom,.wide .sidebar-bottom{flex-direction:column;align-self:stretch;gap:11px;margin-top:auto;display:flex}.sidebar-bottom:after,.wide .sidebar-bottom:after{display:none}.sidebar-bottom button{min-width:0;box-shadow:none;border-color:#0000;justify-content:flex-start;font-weight:400}.sidebar-bottom button>span{display:none}.wide .sidebar-bottom button>span{display:inline}.sidebar-system-actions{flex-wrap:nowrap;align-items:center;gap:5px;padding:0 7px;display:flex}.sidebar-system-actions button{justify-content:center}.shell:not(.wide) .sidebar-system-actions{flex-direction:column}.sidebar-profile{border-top:1px solid var(--line);align-items:center;gap:10px;min-height:61px;margin-top:4px;padding:14px 8px 0;display:flex}.sidebar-profile .profile-text{display:none}.wide .sidebar-profile .profile-text{font-size:14px;display:block}.profile-text small{font-size:12px;font-weight:400}.avatar{background:var(--surface-alt);color:var(--ink);box-shadow:var(--shadow);border-radius:8px;width:37px;height:37px;font-size:19px}.workspace{border:2px solid var(--line);isolation:isolate;background-color:var(--canvas);border-radius:20px;min-width:0;position:relative;overflow:clip}.main{z-index:1;max-width:1215px;min-height:896px;padding:33px 30px;position:relative}.topbar{display:none}.panel{border-radius:7px}.welcome{background:var(--surface);grid-template-columns:minmax(0,1fr) 190px;padding:25px 26px}.welcome h1{margin-bottom:16px;font-size:38px;line-height:1.22}.welcome p{color:var(--ink);font-size:16px;line-height:1.7}.welcome h1 span{box-shadow:inset 0 -.23em var(--blue-soft)}.welcome-art{height:153px}.welcome-art>svg{width:195px}.welcome-art .art-label{font-family:var(--ui-font);background:var(--blue-soft);color:var(--ink);font-size:17px;font-weight:400}.eyebrow{letter-spacing:1.4px;font-size:11px;font-family:var(--ui-font)}.stat small{font-size:14px;font-weight:400}.stat strong{font-family:var(--heading-font);letter-spacing:0;font-size:35px;font-weight:650}.stat:first-child{background:var(--blue-soft);color:var(--ink)}.stat:first-child small{color:var(--ink)}.stat:nth-child(2){background:var(--yellow-soft)}.stat:first-child strong{color:var(--blue)}:root[data-theme=dark] .stat:first-child strong{color:var(--ink)}.stat-icon{background:var(--surface);color:var(--ink)}.quick-card h3{font-size:23px}.quick-card p{font-size:14px}.quick-card,.exam-card{border-radius:7px}.exam-card h3{font-family:var(--ui-font);letter-spacing:0;font-size:16px;font-weight:600}.card-meta,.card-history{font-size:13px}.badge{font-size:12px;font-weight:600}.card-toolbar{border-top:1px solid var(--line)}.card-toolbar button{border-radius:6px}.card-toolbar .danger{background:var(--surface)}.filter label{font-size:14px;font-weight:400}.filters select,.filters input{font-size:15px}.footer{font-size:12px}.footer span:first-child{font-family:var(--ui-font);font-size:16px}.question-text,.answer .answer-text{font-family:var(--ui-font);font-size:18px;font-weight:400}.question-panel{background:var(--surface)}.answer.selected>span:first-child{color:var(--on-accent)}.question-buttons button.current{background:var(--blue-soft);color:var(--ink)}.timer{font-family:var(--heading-font);background:var(--surface);color:var(--ink);font-size:17px;font-weight:600}.exam-bar{z-index:2;position:relative}.exam-bar .grow strong{font-family:var(--heading-font);font-size:18px}.exam-nav .part-label,.exam-status-key{font-size:13px}dialog{border-radius:12px}.dialog-inner{padding:24px}.dialog-heading h2{font-size:28px}.dialog-description,.check-row,.field,.switch-row,.practice-source{font-size:15px}.field label{font-weight:400}.dialog-description{color:var(--muted)}.dialog-actions button{font-size:16px}.switch[aria-checked=true] .switch-thumb{background:var(--surface)}.switch-row{font-weight:600}.preview-options button[aria-pressed=true],.tabs button.active{background:var(--blue-soft);color:var(--ink)}:root[data-theme=dark] .badge.yellow,:root[data-theme=dark] .card-icon.yellow,:root[data-theme=dark] .quick-card:nth-child(2) .quick-icon{color:#ffdb8c;background:#65491f}:root[data-theme=dark] .book-card{filter:saturate(.45)brightness(.65)}:root[data-theme=dark] .welcome-art{opacity:.7}.background-snakes{z-index:0;pointer-events:none;width:100%;height:100%;opacity:var(--snake-opacity);position:absolute;inset:0;overflow:hidden}.background-snakes path{fill:none;stroke:var(--snake);stroke-width:50px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;animation:none}.background-snakes path:nth-child(2){stroke-width:44px;opacity:.88}html[data-snakes=off] .background-snakes{display:none}.neo-select{width:100%;min-width:0;position:relative}.neo-select>select{display:none!important}.neo-select-trigger{text-align:left;background:var(--surface);width:100%;min-height:44px;box-shadow:none;border-radius:8px;justify-content:space-between;gap:10px;padding:9px 11px;font-size:15px;font-weight:400}.neo-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.neo-select-trigger:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);flex:none;width:7px;height:7px;margin:0 2px 4px 3px;transform:rotate(45deg)}.neo-select-trigger[aria-expanded=true]:after{margin-top:7px;transform:rotate(225deg)}.neo-select-trigger[aria-expanded=true]{border-color:var(--focus)}.neo-select-menu{border:2px solid var(--line);max-height:260px;box-shadow:var(--shadow-lg);background:var(--surface);color:var(--ink);z-index:100;border-radius:12px;min-width:120px;margin:0;padding:6px;position:fixed;inset:auto;overflow:auto}.neo-select-menu::backdrop{background:0 0}.neo-option{cursor:pointer;min-height:44px;font-family:var(--ui-font);border-radius:7px;outline:none;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-size:15px;display:flex}.neo-option[aria-selected=true]{background:var(--blue-soft);font-weight:600}.neo-option[aria-selected=true]:after{content:"✓";font-size:14px}.neo-option:hover,.neo-option:focus-visible{background:var(--surface-alt);outline:1px solid var(--focus);outline-offset:-1px}.preview-options .neo-select{width:auto;min-width:112px;max-width:190px}.preview-options .neo-select-trigger{border-width:1px;border-radius:7px;height:36px;min-height:36px;padding:5px 10px;font-size:13px}.field .neo-select-trigger{font-size:15px}.tf-statement-row{border-bottom:1px dashed var(--muted);align-items:center;gap:14px;padding:16px 2px 16px 0;display:flex}.tf-statement-text{min-width:0;font-family:var(--ui-font);color:var(--ink);flex:1;font-size:18px;line-height:1.7}.tf-statement-text strong{font-weight:700}.tf-statement-row>.neo-select{flex:0 0 88px;align-items:center;width:88px;min-height:44px;display:flex}.tf-statement-row .neo-select-trigger{gap:6px;height:40px;min-height:40px;padding:6px 9px;font-size:14px;position:relative}.tf-statement-row .neo-select-trigger:before{content:"";position:absolute;inset:-2px 0}.palette-label{margin:20px 0 10px;font-size:15px;font-weight:600}.color-palette{flex-wrap:wrap;gap:10px;padding-bottom:3px;display:flex}.color-swatch{width:44px;height:44px;min-height:44px;box-shadow:none;background:var(--swatch);color:#fff;border-radius:9px;padding:0;position:relative}.color-swatch[aria-pressed=true]{outline:2px solid var(--focus);outline-offset:3px}.color-swatch[aria-pressed=true]:after{content:"✓";text-shadow:0 1px 3px #111;font-family:Segoe UI,sans-serif;font-size:20px;font-weight:700}.custom-color{justify-content:space-between;align-items:center;gap:15px;margin-top:18px;font-size:14px;display:flex}.custom-color>span{align-items:center;gap:10px;display:flex}.custom-color input{cursor:pointer;border-radius:7px;width:50px;height:36px;min-height:36px;padding:3px}.custom-color output{font-family:var(--heading-font);color:var(--muted);font-size:14px}@container stage (width<=1100px){.shell.wide{--rail:185px;gap:12px}.main{padding:26px 22px}.sidebar-brand-text{font-size:16px}.welcome{grid-template-columns:1fr 150px}.welcome-art>svg{width:163px}.welcome h1{font-size:34px}}@container stage (width<=760px){.shell,.shell.wide{gap:0;height:min(820px,100dvh - 175px);min-height:560px;display:flex}.sidebar,.wide .sidebar{border-top:2px solid var(--line);background:var(--surface);border-radius:0 0 15px 15px;order:2;gap:0;height:auto;min-height:0;padding:8px 7px;position:static}.sidebar-brand,.sidebar-bottom,.wide .sidebar-bottom,.nav-section-label,.wide .nav-section-label{display:none}.sidebar-nav{flex-direction:row;gap:4px}.sidebar-nav button,.wide .sidebar-nav button{justify-content:center;gap:3px;min-height:52px;padding:6px 2px;font-size:11px}.sidebar-nav button span,.wide .sidebar-nav button span{font-size:11px}.workspace{border-bottom:0;border-radius:15px 15px 0 0;flex:1;min-height:0;overflow:auto}.workspace,.sidebar,.wide .sidebar{width:100%}.sidebar,.wide .sidebar{border:2px solid var(--line);border-radius:0 0 15px 15px}.main{min-height:0;padding:21px 15px}.mobile-heading{z-index:3;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;top:0}.mobile-heading strong{font-family:var(--heading-font);font-size:17px;font-weight:650}.mobile-heading button{box-shadow:none;background:0 0;border:0}.welcome{grid-template-columns:1fr;padding:20px 17px}.welcome h1{font-size:32px}.welcome p{font-size:15px}.welcome-actions button{font-size:14px}.stat small{font-size:12px}.stat strong{font-size:29px}.quick-card p{font-size:14px}.quick-card h3{font-size:23px}.exam-card h3{font-size:15px}.card-meta,.card-history{font-size:12px}.badge{font-size:11px}.filter label{font-size:14px}.preview-stage.phone .background-snakes{opacity:calc(var(--snake-opacity) * .7)}#app>.workspace{border:2px solid var(--line);border-radius:15px;height:min(820px,100dvh - 175px);min-height:560px}.question-text,.answer .answer-text{font-size:17px}.tf-statement-row{gap:9px;padding:14px 2px 14px 0}.tf-statement-text{font-size:17px}.tf-statement-row>.neo-select{flex-basis:80px;width:80px}.neo-select-trigger{font-size:14px}}@container stage (width>=761px){.mobile-heading{display:none}}@media (width<=760px){.preview-tools{padding:14px 14px 12px}.preview-options{gap:7px}.preview-options .neo-select{flex:calc(50% - 7px);min-width:0;max-width:none}.preview-options button{flex:auto;font-size:12px}.preview-options .neo-select-trigger{font-size:13px}.preview-stage{width:calc(100% - 22px)}}@media (prefers-reduced-motion:reduce){.background-snakes path{animation:none!important}}:root{--brand:#3478f6;--blue:var(--brand);--blue-soft:color-mix(in srgb,var(--brand) 20%,white);--canvas:color-mix(in srgb,var(--brand) 15%,#f7faff);--text:var(--ink);--border:var(--line);--accent:var(--blue);--selected:var(--blue-soft);--link:var(--blue);--accent-hover:color-mix(in srgb,var(--blue) 90%,#111b2c);--on-accent:var(--on-accent-light,#181b20);--snake:var(--brand);--positive:var(--green);--positive-soft:var(--green-soft);--negative:var(--red);--negative-soft:var(--red-soft);--warning:#825300;--warning-soft:var(--yellow-soft);--exercise:#202020;--exercise-soft:var(--yellow);--draft-surface:var(--surface-alt);--radius-control:8px;--radius-panel:7px;--rail-width:210px;--nav-bg:var(--bg);--nav-text:var(--ink);--nav-selected-bg:var(--blue);--nav-selected-text:var(--on-accent)}:root[data-theme=dark]{--blue:color-mix(in srgb,var(--brand) 84%,#202a3a);--blue-soft:color-mix(in srgb,var(--brand) 24%,#222b3b);--canvas:color-mix(in srgb,var(--brand) 6.5%,#171e2a);--on-accent:var(--on-accent-dark,#f2f3f5);--link:color-mix(in srgb,var(--brand) 40%,white);--exercise:#ffdb8c;--exercise-soft:#65491f;--warning:#f3d898}html{scrollbar-gutter:stable}#root{container:stage/inline-size}body{font-family:var(--ui-font),"Segoe UI",sans-serif;letter-spacing:0;line-height:1.5}button,.button{color:var(--ink);border-radius:7px;padding:9px 15px;font-size:15px;font-weight:600;line-height:1.5}button.primary,button.primary:hover:not(:disabled){color:var(--on-accent);border:2px solid var(--line);background:var(--blue)}button.danger{color:var(--red);background:var(--surface)}input,select,textarea{font:inherit;border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:8px;padding:9px 11px}input[type=checkbox],input[type=radio]{box-shadow:none}input[type=radio]{padding:0}textarea{resize:vertical}input::file-selector-button{font:inherit;border:2px solid var(--line);border-radius:7px}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}:focus:not(:focus-visible){outline:none}.notebook-icon,.lucide{stroke-width:1.8px}.app.shell.wide{--rail:210px;grid-template-columns:var(--rail) minmax(0,1fr);background:var(--bg);align-items:start;gap:15px;min-height:100dvh;padding:12px 12px 12px 0;display:grid}.app>.sidebar{background:var(--bg);border:0;flex:none;align-self:start;gap:26px;width:auto;height:calc(100dvh - 24px);min-height:0;margin:0;padding:15px 0 10px 12px;position:sticky;top:12px;overflow:visible}.sidebar>.brand{box-shadow:none;min-height:57px;color:var(--ink);text-align:left;font-family:var(--heading-font);letter-spacing:-.3px;background:0 0;border:0;flex-shrink:0;justify-content:flex-start;align-items:center;gap:10px;padding:0 10px;font-size:18px;font-weight:700;line-height:1.3;display:flex}.sidebar>.brand .school-logo{border:2px solid var(--line);background:var(--blue);width:41px;height:43px;color:var(--on-accent);border-radius:8px;flex:none;padding:6px}.app .sidebar-nav{flex-shrink:1;gap:11px;min-height:0;margin:0;padding:0 3px 3px 0;overflow:auto}.sidebar .nav-section-label{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:4px 12px 9px;font-size:11px;display:block}.app .sidebar-nav button{width:100%;min-height:47px;color:var(--ink);box-shadow:none;background:0 0;border:2px solid #0000;border-radius:6px;flex-direction:row;justify-content:flex-start;gap:12px;padding:9px 12px;font-size:15px;font-weight:400}.sidebar-nav button>span{clip-path:none!important;width:auto!important;height:auto!important;position:static!important;overflow:visible!important}.app .sidebar-nav button svg{width:20px;height:20px}.app .sidebar-nav button.active{background:var(--blue);color:var(--on-accent);border-color:var(--line);box-shadow:var(--shadow);font-weight:700}.sidebar .nav-shape,.sidebar .nav-dot,.sidebar nav button:before,.sidebar nav button:after{display:none!important}.sidebar button,.sidebar button:hover,.sidebar button:active{transition:none!important;transform:none!important}.sidebar button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sidebar button:focus-visible svg{outline:none}.sidebar nav button>.class-request-dot{border-color:var(--bg);top:7px;left:auto;right:10px}.sidebar nav button.active>.class-request-dot{border-color:var(--blue)}.app>.workspace{border:2px solid var(--line);isolation:isolate;background-color:var(--canvas);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px;border-radius:20px;flex-direction:column;min-width:0;min-height:calc(100dvh - 24px);display:flex;position:relative;overflow:clip}.app .main{z-index:1;background:0 0;border:0;border-radius:0;flex-direction:column;width:100%;max-width:1215px;min-height:calc(100dvh - 28px);margin:0 auto;padding:33px 30px;display:flex;position:relative}.main>.system-toasts:empty{display:none}.sidebar>.topbar{z-index:2;background:0 0;border:0;flex-shrink:0;width:auto;min-height:0;margin:auto 0 0;padding:0 7px;display:block;position:static}.topbar .header-title{display:none}.topbar .top-actions{flex-wrap:wrap;gap:5px;margin:0;display:flex}.top-actions .icon-button{width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;color:var(--ink);background:0 0;border:2px solid #0000;border-radius:7px;padding:9px}.top-actions .appearance-button{order:0}.top-actions .theme-toggle{order:1}.top-actions .refresh-button{order:2}.top-actions .profile{border:0;border-top:1px solid var(--line);width:100%;min-width:0;max-width:none;min-height:61px;box-shadow:none;background:0 0;border-radius:0;flex:100%;order:3;justify-content:flex-start;gap:10px;margin:4px 0 0;padding:14px 8px 0}.profile>span:last-child{text-align:left;min-width:0;display:block}.profile strong{font-family:var(--ui-font);font-size:14px;line-height:1.5}.profile small{color:var(--muted);font-size:12px;font-weight:400}.profile .avatar{background:var(--surface-alt);color:var(--ink);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:8px;flex:none;width:37px;height:37px;font-size:19px}.home-page .home-welcome{border:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:7px;grid-template-columns:minmax(0,1fr) 190px;gap:20px;margin-bottom:22px;padding:25px 26px;display:grid}.home-page .welcome h1{margin:0 0 16px;font-size:38px;font-weight:700;line-height:1.22}.home-page .welcome p{color:var(--ink);font-size:16px;line-height:1.7}.home-page .welcome-art{height:153px}.home-page .welcome-art>svg{width:195px;height:174px}.home-page .stats{gap:17px;margin-bottom:30px}.home-page .stats>.stat{border:2px solid var(--line);box-shadow:var(--shadow);border-radius:7px;flex-direction:row;justify-content:space-between;align-items:center;gap:15px;padding:17px 19px;display:flex}.home-page .stats>.stat:first-child{background:var(--blue-soft)}.home-page .stats>.stat:nth-child(2){background:var(--yellow-soft)}.home-page .stat small{color:var(--muted);margin:0;padding:0;font-size:14px;font-weight:400;display:block}.home-page .stat:first-child small{color:var(--ink)}.home-page .stat strong{font-family:var(--heading-font);letter-spacing:0;margin:9px 0 0;font-size:35px;font-weight:650;line-height:1.2;display:block}.home-page .quick-grid{gap:18px;margin-bottom:32px}.quick-grid .quick-card{text-align:left;border:2px solid var(--line);background:var(--surface);min-height:178px;box-shadow:var(--shadow);color:var(--ink);border-radius:7px;align-items:flex-start;gap:0;padding:20px 18px}.quick-card .quick-icon{border:1.5px solid var(--line);background:var(--blue-soft);width:40px;height:40px;color:var(--ink);border-radius:6px;place-items:center;margin-bottom:16px;display:grid}.quick-card h3{font-family:var(--heading-font);margin:0 0 8px;font-size:23px}.quick-card p{text-align:left;color:var(--muted);font-size:14px;font-weight:400;line-height:1.5}.home-actions-title,.section-heading>.eyebrow{margin:0}.section-heading h2{font-size:29px}.exam-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;display:grid}.exam-grid .exam-row.exam-card{background:var(--surface);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:7px;gap:13px;padding:18px}.exam-card .card-icon.tile-icon{border:1.5px solid var(--line);background:var(--blue-soft);width:37px;height:40px;color:var(--ink);border-radius:6px}.exam-card .card-icon.yellow,.exam-card.is-draft .card-icon.yellow{background:var(--yellow);color:var(--on-yellow)}.exam-card.is-draft .card-icon:not(.yellow){background:var(--blue-soft);color:var(--ink)}.exam-card.is-draft .tile-icon svg{color:inherit}.exam-card h3{font-family:var(--ui-font);letter-spacing:0;min-height:44px;margin:0;font-size:16px;font-weight:600;line-height:1.5}.exam-card .card-meta{color:var(--muted);gap:12px;font-size:13px}.exam-card .card-bottom{flex-wrap:wrap;gap:8px}.exam-card .exam-history{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.exam-history small{font-size:11px}.exam-card .card-toolbar.row-actions{border-top:1px solid var(--line);flex-wrap:nowrap;justify-content:space-between;gap:2px;margin-top:auto;padding:13px 2px 2px 0}.exam-card .card-toolbar button{border:2px solid var(--line);width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:var(--shadow);color:var(--ink);background:var(--surface);border-radius:6px;flex:0 0 44px;padding:10px}.exam-card .card-toolbar .play,.exam-card .card-toolbar .primary{background:var(--blue);color:var(--on-accent)}.exam-card .card-toolbar .danger{background:var(--surface);color:var(--red)}.badge{border:1.5px solid var(--line);letter-spacing:.1px;border-radius:5px;min-height:25px;padding:2px 8px;font-size:12px;font-weight:600}.badge.kind-exam,.exam-card.is-draft .badge.kind-exam{background:var(--blue-soft);color:var(--ink)}.badge.kind-exercise,.exam-card.is-draft .badge.kind-exercise{background:var(--yellow);color:var(--on-yellow)}.badge.published{background:var(--green-soft);color:var(--green)}.exam-card.is-draft .badge.draft{background:var(--surface-alt);color:var(--muted)}:root[data-theme=dark] .exam-card .card-icon.yellow,:root[data-theme=dark] .badge.kind-exercise{color:#ffdb8c;background:#65491f}.page-title{gap:16px;margin-bottom:26px}.page-title h1{font-size:36px;line-height:1.15}.page-title p{max-width:620px;color:var(--muted);margin-top:8px;font-size:15px}.catalog-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.catalog-filters>.field{flex:135px;min-width:0;margin:0}.catalog-filters>.field:first-child{flex:2 220px}.field>label{font-size:14px;font-weight:400}.catalog-filters input,.catalog-filters select{font-size:15px}.catalog-tools p{font-size:14px}.panel,.report-metrics>div,.result-metrics>div,.class-identity,.theory-folder,.grade-folder,.file-input,.exam-editor .question-editor{border:2px solid var(--line);box-shadow:var(--shadow);background:var(--surface);border-radius:7px}.file-input{border-radius:8px}.notice{border:2px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.table-scroll,.responsive-table{border-radius:7px}.results-table,.roster-table{border:2px solid var(--line);background:var(--surface);border-radius:7px}.results-table th,.roster-table th{background:var(--paper);font-weight:600}.results-table td,.roster-table td{border-top-color:var(--line)}.segmented .selected{background:var(--blue-soft);color:var(--ink);border-color:var(--line)}.main>footer{border-top:1px dashed var(--muted);min-height:70px;color:var(--muted);margin-top:auto;padding-top:25px;padding-bottom:0;font-size:12px}.main>footer span:first-child{font:400 16px var(--ui-font)}.main>footer .school-logo,.main>footer:before{display:none}.main>.exam-grid:last-of-type{margin-bottom:26px}dialog{border:2px solid var(--line);box-shadow:5px 5px 0 var(--line);color:var(--ink);border-radius:12px}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.dialog-close{box-shadow:none;background:0 0;border:0;border-radius:7px}.dialog-body{border:0;padding:24px}.dialog-body h2{font-size:28px}.dialog-body .actions button{font-size:16px}.dialog-body>p{color:var(--muted);font-size:15px}.settings-toggle{box-shadow:none;background:0 0;border:0;width:48px;min-width:48px;padding:0}.settings-toggle-track{border:2px solid var(--line);background:var(--surface-alt);border-radius:99px;width:46px;height:27px;padding:2px}.settings-toggle-thumb{border:1px solid var(--line);background:var(--surface);border-radius:99px;width:19px;height:19px}.settings-toggle[aria-checked=true] .settings-toggle-track{background:var(--blue)}.settings-toggle[aria-checked=true] .settings-toggle-thumb{transform:translate(19px)}.settings-switch-row{min-height:44px;font-size:15px;font-weight:600}.appearance-section h3{font-family:var(--ui-font);margin:20px 0 10px;font-size:15px;font-weight:600}.appearance-section+.appearance-section{border-top:1px dashed var(--line);margin-top:22px;padding-top:17px}.appearance-palette{flex-wrap:wrap;gap:10px;padding-bottom:3px;display:flex}.appearance-palette button{color:#fff;width:44px;min-width:44px;height:44px;box-shadow:none;border-radius:9px;padding:0;font:700 20px Segoe UI,sans-serif}.appearance-palette button[aria-pressed=true]{outline:2px solid var(--focus);outline-offset:3px}.appearance-save{width:100%;margin-top:24px}.appearance-hint{color:var(--muted);margin-top:13px;font-size:12px}.exam-shell{background:var(--bg);padding:12px}.exam-surface{isolation:isolate;border:2px solid var(--line);background-color:var(--canvas);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px;border-radius:20px;position:relative;overflow:clip}.exam-header{z-index:3;border-bottom:2px solid var(--line);background:var(--surface);padding:15px 24px;position:sticky;top:0}.exam-header strong{font-family:var(--heading-font);font-size:18px}.exam-header small{font-size:12px}.exam-layout{z-index:1;grid-template-columns:minmax(0,1fr) 240px;gap:23px;max-width:1280px;padding:30px;position:relative}.exam-question{background:var(--surface);padding:25px}.exam-question .section-title{margin-bottom:22px}.question-body,.exam-question .rich{font-family:var(--ui-font);font-size:18px;font-weight:400;line-height:1.8}.question-body{margin-bottom:24px}.exam-question .answer{border:2px solid var(--line);background:var(--surface);min-height:60px;box-shadow:var(--shadow);color:var(--ink);border-radius:7px;gap:13px;margin-bottom:13px;padding:12px 14px;font-size:18px;font-weight:400}.answer>span{border:1.5px solid var(--line);background:var(--surface-alt);width:29px;height:29px;color:var(--ink);border-radius:5px;font-size:12px}.exam-question .answer.chosen{background:var(--blue-soft);border-color:var(--line);color:var(--ink)}.answer.chosen>span{background:var(--blue);color:var(--on-accent)}.answer.chosen:after{content:"✓";margin-left:auto;font-weight:700}.exam-question .tf-statement{border:0;border-bottom:1px dashed var(--muted);box-shadow:none;background:0 0;border-radius:0;flex-direction:row;align-items:center;gap:14px;margin:0;padding:16px 2px 16px 0;display:flex}.exam-question .tf-statement>.grow{min-width:0;font-size:18px;line-height:1.7}.tf-statement .grow p{font-size:inherit}.tf-statement select{width:88px;min-width:88px;max-width:88px;height:40px;min-height:40px;box-shadow:none;flex:0 0 88px;gap:5px;padding:6px 9px;font-size:14px;line-height:1.4}.tf-statement.is-true select{color:var(--positive)}.tf-statement.is-false select{color:var(--negative)}.question-tools>button{box-shadow:none;background:0 0;border-color:#0000}.exam-step{border-top:1px dashed var(--muted)}.exam-nav{padding:20px}.exam-nav h3{margin-bottom:13px;font-size:24px}.exam-nav p{color:var(--muted);font-size:13px}.exam-nav h4{font-size:13px}.navigator-toggle{box-shadow:none;border:0}.question-numbers button{border:2px solid var(--line);box-shadow:none;border-radius:7px;font-size:12px}.question-numbers button.current{background:var(--blue-soft);color:var(--ink);box-shadow:var(--shadow);border-color:var(--line)}.question-numbers button.answered{background:var(--blue-soft);color:var(--ink)}.exam-toasts{z-index:60}.exam-surface>.background-snakes{z-index:0}.background-snakes{border-radius:inherit}@supports (appearance:base-select){select{appearance:base-select}select::picker(select){appearance:base-select}select::picker(select){border:2px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);border-radius:12px;padding:6px}select option{font:400 15px var(--ui-font);border-radius:7px;min-height:44px;padding:9px 11px}select option:checked{background:var(--blue-soft);font-weight:600}select option:hover,select option:focus{background:var(--surface-alt);outline:1px solid var(--focus);outline-offset:-1px}select::picker-icon{color:var(--muted)}}@media (hover:hover){.sidebar button:hover,.topbar button:hover{transform:none!important}.sidebar nav button:not(.active):hover,.topbar .icon-button:hover{background:var(--blue-soft);color:var(--ink)}}@container stage (width<=1100px){.app.shell.wide{--rail:185px;gap:12px}.app .main{padding:26px 22px}.sidebar>.brand{gap:8px;font-size:16px}.home-page .welcome{grid-template-columns:minmax(0,1fr) 150px}.home-page .welcome-art>svg{width:163px}.home-page .welcome h1{font-size:34px}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container stage (width<=760px){.app.shell.wide{height:auto;min-height:100dvh;padding:0;display:block}.app>.workspace{margin:10px 10px calc(var(--bottom-nav) + 24px);border:2px solid var(--line);border-radius:15px;height:auto;min-height:calc(100dvh - 110px);padding-top:64px;overflow:clip}.app .main{border:0;max-width:none;min-height:0;padding:21px 15px;overflow:visible}.app>.sidebar{width:100%;min-height:0;height:calc(var(--bottom-nav) + env(safe-area-inset-bottom));padding:6px 6px calc(6px + env(safe-area-inset-bottom));border:0;border-top:2px solid var(--line);background:var(--surface);z-index:40;border-radius:0;position:fixed;inset:auto 0 0;overflow:visible}.sidebar>.brand,.sidebar .nav-section-label{display:none}.app .sidebar-nav{flex-direction:row;gap:4px;height:100%;margin:0;padding:0;overflow:visible}.app .sidebar-nav button{flex-direction:column;flex:1;justify-content:center;gap:3px;width:auto;min-width:0;min-height:44px;padding:6px 2px;font-size:11px;line-height:1.3}.app .sidebar-nav button>span{white-space:nowrap;font-size:11px;font-weight:400}.app .sidebar-nav button svg{width:19px;height:19px}.sidebar nav button>.class-request-dot{top:2px;left:calc(50% + 6px);right:auto}.sidebar>.topbar{border-bottom:1px solid var(--line);background:var(--surface);z-index:40;border-radius:12px 12px 0 0;gap:8px;width:auto;height:64px;min-height:64px;margin:0;padding:10px 12px;display:flex;position:fixed;inset:12px 12px auto}.topbar .header-title{min-width:0;font:650 15px/1.35 var(--heading-font);flex:1;display:block}.header-title small{display:none}.topbar .top-actions{flex-wrap:nowrap;flex:none;gap:2px}.top-actions .icon-button{border:0;width:30px;min-width:30px;height:44px;min-height:44px;padding:5px}.top-actions .profile{border:0;flex:none;order:3;justify-content:center;width:32px;min-height:44px;margin:0;padding:0}.profile>span:last-child{display:none}.profile .avatar{width:29px;height:32px;box-shadow:none;font-size:15px}.home-page .home-welcome{grid-template-columns:1fr;gap:0;margin-bottom:16px;padding:20px 17px}.home-page .welcome h1{margin-bottom:16px;font-size:32px;line-height:1.22}.home-page .welcome p{font-size:15px}.home-page .welcome-art{display:none}.welcome-actions{gap:9px;margin-top:18px}.welcome-actions button{padding-inline:11px;font-size:14px}.home-page .stats{gap:9px;margin-bottom:24px}.home-page .stats>.stat{align-items:flex-start;gap:0;padding:14px 10px}.home-page .stat small{min-height:36px;font-size:12px;line-height:1.5}.home-page .stat strong{margin-top:7px;font-size:29px}.home-page .stat-icon{display:none}.home-page .quick-grid{gap:12px;margin-bottom:26px}.quick-grid .quick-card{min-height:148px;padding:16px 13px}.quick-card h3{font-size:23px}.quick-card p{font-size:14px}.section-heading{gap:9px;margin-bottom:15px}.section-heading h2{font-size:27px}.section-heading .eyebrow{font-size:9px}.section-heading .text-link{white-space:nowrap;gap:4px;font-size:12px}.exam-grid{grid-template-columns:1fr;gap:15px}.exam-grid .exam-row.exam-card{gap:12px;padding:14px 10px}.exam-card h3{min-height:0;font-size:15px}.exam-card .card-meta,.exam-card .exam-history{font-size:12px}.badge{font-size:11px}.page-title h1{font-size:33px}.page-title p,.page-title>button{font-size:14px}.catalog-filters{gap:10px}.catalog-filters>.field{flex:calc(50% - 10px)}.catalog-filters>.field:first-child{flex:100%}.main>footer{flex-direction:column;align-items:flex-start;gap:6px;min-height:0;margin-top:23px;padding-top:19px;font-size:10px}.main>footer span:first-child{font-size:15px}.responsive-table,.roster-table{box-shadow:none;background:0 0;border:0}.responsive-table tr{border:2px solid var(--line);box-shadow:var(--shadow);background:var(--surface);border-radius:7px}.exam-shell{padding:0}.exam-surface{border:0;border-radius:0}.exam-header{gap:8px;padding:12px}.exam-header strong{font-size:14px}.timer{min-height:40px;padding:7px;font-size:17px}.exam-layout{flex-direction:column;gap:18px;padding:21px 15px;display:flex}.exam-question{width:100%;padding:18px 14px}.question-body,.exam-question .rich,.exam-question .answer{font-size:17px}.exam-question .tf-statement{gap:9px;padding:14px 2px 14px 0}.exam-question .tf-statement>.grow{font-size:17px}.tf-statement select{flex-basis:80px;width:80px;min-width:80px;max-width:80px;font-size:14px}.exam-nav{width:100%;padding:18px}.exam-step button{padding-inline:10px;font-size:14px}}@media (prefers-reduced-motion:reduce){button,.button{transition:none!important}button:hover,button:active,.button:hover{transform:none!important}}:root{--blue-soft:var(--selected-light,#d6e4fd);--canvas:var(--canvas-light,#dae7fe)}:root[data-theme=dark]{--blue:var(--brand-dark,#316cdc);--blue-soft:var(--selected-dark,#263d68);--canvas:var(--canvas-dark,#19243a)}@container stage (width>=761px){.app.shell.wide{padding:14px}.app>.sidebar{height:calc(100dvh - 28px);padding-left:0;top:14px}.app>.workspace{min-height:calc(100dvh - 28px)}.app .main{min-height:calc(100dvh - 32px)}}.quick-grid .quick-card{min-height:155px;padding:19px 16px}.quick-card .quick-icon{width:36px;height:36px;margin-bottom:7px}.quick-card h3{margin:0}.quick-card p{margin-top:4px;line-height:1.6}.quick-card h3{font-family:var(--heading-font),var(--ui-font),sans-serif}.exam-card .card-toolbar button[aria-label]{border-radius:6px}.exam-question .answer>span:first-child{border:1.5px solid var(--line);border-radius:5px;width:29px;height:29px;font-size:12px}.exam-question .answer{align-items:center;margin-top:0}.exam-question .answer>.rich{padding-top:0}.exam-question .answer.chosen>span:first-child{border-color:var(--line)}.exam-question .answer.chosen:after{display:none}.exam-question .answer .answer-check{color:var(--ink);background:0 0;border:0;border-radius:0;flex:none;width:auto;height:auto;margin-left:auto;font-size:15px;font-weight:700;display:block}.exam-question .tf-statement.is-true,.exam-question .tf-statement.is-false{border-color:var(--muted);background:0 0}.exam-question .tf-statement select{background:var(--surface);color:var(--ink);border-color:var(--line)}.exam-question .tf-statement.is-true .grow,.exam-question .tf-statement.is-false .grow{color:var(--ink)}.exam-question .section-title>h2{font-size:28px;line-height:1.15}@media (hover:hover){button:where(:not(.primary,.play,.answer,.active,.selected,.answered,.current,.grade-folder,.icon-button,.settings-toggle,.profile,.text-link,.flat)):hover:not(:disabled){background:var(--surface)}button.danger:hover:not(:disabled){background:var(--surface);color:var(--red);border-color:var(--line)}.exam-card .card-toolbar .play:hover:not(:disabled){background:var(--blue);color:var(--on-accent)}.question-tools>button:hover:not(:disabled){background:var(--blue-soft)}}.question-tools{border:0;gap:10px;margin-top:20px;padding-top:0}.exam-step{gap:10px;margin-top:25px;padding-top:20px}.question-body{margin-top:0}.exam-nav .progress-label{margin-bottom:10px}.exam-nav .question-numbers{max-height:none;margin:0 0 18px;padding:0 2px 0 0;overflow:visible}.exam-nav .question-numbers button{min-height:40px}.grade-folder strong{display:block}.grade-folder>div>small{font-size:12px;line-height:1.5}.grade-folder>p{align-items:center;gap:8px;font-size:12px;font-weight:400;display:flex}.icon-button{box-shadow:none}@supports (appearance:base-select){select::picker-icon{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);flex:none;width:7px;height:7px;margin:0 2px 4px 3px;transform:rotate(45deg)}select:open::picker-icon{margin-top:7px;transform:rotate(225deg)}select option:checked,select option:hover,select option:focus{color:var(--ink)}select option::checkmark{color:var(--ink);order:2;margin-left:auto}}.home-page .welcome{margin-top:0}.home-page .stats>.stat,.exam-grid .exam-row.exam-card,.exam-question,.exam-nav{margin:0}.section-heading{margin-top:0;margin-bottom:19px}.home-page .quick-grid{margin-bottom:31px}.exam-card .card-icon.tile-icon{display:grid}.exam-grid,.exam-grid.manage-exam-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,302px),1fr))}.exam-card .card-toolbar.row-actions{width:calc(100% + 12px);margin-inline:-6px}.grade-folders .grade-folder{text-align:left;border:2px solid var(--line);background:var(--yellow);color:#171814;min-height:230px;box-shadow:var(--shadow);border-radius:9px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:15px;padding:26px 25px 23px 35px;position:relative;overflow:hidden}.grade-folder:before{content:"";border-right:2px solid var(--line);background:#1d3557;width:14px;position:absolute;inset:0 auto 0 0}.grade-folders .grade-folder:nth-child(2){background:#a8d8ee}.grade-folders .grade-folder:nth-child(3){background:#80bdae}.grade-folder strong{font:700 44px/1.15 var(--heading-font);color:inherit}.grade-folder small{font:400 14px var(--ui-font);color:inherit}.grade-folder svg{width:29px;height:29px}:root[data-theme=dark] .grade-folder{filter:saturate(.45)brightness(.65)}.theory-file,.report-hint,.roster-bulk-bar,.document-import-row,.explanation-editor,.practice-sources,.student-import-preview,.import-needs-review{box-shadow:var(--shadow);border-width:2px;border-radius:7px}.action-menu>summary{border:2px solid var(--line);box-shadow:var(--shadow);color:var(--ink);border-radius:7px}.action-menu>div{border:2px solid var(--line);box-shadow:var(--shadow-lg);border-radius:12px}.action-menu>div button{box-shadow:none}.theory-import-source .file-input,.document-import-row .file-input{border:2px solid var(--line);border-radius:8px}.report-picker-trigger{border:2px solid var(--line);box-shadow:none;border-radius:8px}.report-picker-menu{border:2px solid var(--line);box-shadow:var(--shadow-lg);border-radius:12px}@container stage (width<=760px){.exam-grid,.exam-grid.manage-exam-grid{grid-template-columns:1fr}.quick-grid .quick-card{min-height:148px;padding:16px 13px}.grade-folders .grade-folder{min-height:150px;padding:20px 25px 20px 34px}.grade-folder strong{font-size:35px}.app>.workspace{width:auto}.home-page .quick-grid{margin-bottom:26px}.section-heading{margin-bottom:15px}}.app,.exam-shell,dialog,.auth{font-synthesis:weight}.app input,.app select,.app textarea,dialog input,dialog select,dialog textarea{font-weight:400}.app .field>label,dialog .field>label,.radio-field legend{font:400 14px/1.5 var(--ui-font)}.app .muted,.app .panel>p,dialog .dialog-body p{font-size:14px;font-weight:400;line-height:1.6}.app button:where(:not(.primary,.quick-card,.brand)),dialog button:where(:not(.primary)){font-weight:400}.app .sidebar-nav button.active{font-weight:700}.app .field,.dialog-body .field{gap:7px}.app .field input,.app .field select,.app .field textarea{font-size:15px}.catalog-filters>.field,.exam-library-toolbar>.field{margin:0}.exam-grid{align-items:start}.exam-grid .exam-card h3{overflow-wrap:anywhere;min-height:0}.exam-card .card-meta,.exam-card .exam-history{font-size:12px;font-weight:400}.exam-card .card-bottom{flex-wrap:nowrap;align-items:center;gap:8px}.exam-card .exam-history{text-align:right;min-width:0}.catalog-tools{margin-bottom:18px}.catalog-tools p{color:var(--muted)}.theory-list .theory-folder{gap:12px;padding:14px 16px}.theory-folder strong{font-size:16px;font-weight:600;line-height:1.5}.theory-folder small{font-size:12px}.classroom-page .class-toolbar{grid-template-columns:minmax(160px,1.15fr) minmax(200px,1.7fr) minmax(115px,.8fr) minmax(150px,1fr);align-items:end;gap:12px;margin:0 0 22px;display:grid}.classroom-page .class-toolbar .field{width:auto;min-width:0;max-width:none;margin:0}.classroom-page .class-request-strip{margin:0 0 20px}.class-request-strip>span{flex:1;min-width:0}.class-request-strip small{font-weight:400;display:block}.class-request-strip strong{font-size:14px}.class-request-strip button{white-space:nowrap}.classroom-page .roster-panel{margin:0 0 22px;padding:0}.roster-panel>.section-heading{gap:12px;margin:0;padding:18px 20px 12px}.roster-panel .section-heading h2{font-size:24px;font-weight:700;line-height:1.25}.roster-panel .roster-caption{margin:5px 0 0;font-size:13px;font-weight:400}.roster-panel .catalog-toolbar{gap:8px}.roster-panel .catalog-toolbar button,.action-menu>summary{white-space:nowrap;padding:8px 12px;font-size:13px}.roster-panel .roster-list-controls{min-height:44px;margin:0;padding:0 20px 10px;font-size:13px}.roster-panel .roster-table{box-shadow:none;border:0;border-radius:0 0 7px 7px;margin:0}.roster-table table{table-layout:auto;width:100%;min-width:0}.roster-table th,.roster-table td{vertical-align:middle;padding:12px 14px;font-size:13px}.roster-table th{letter-spacing:.4px;text-transform:uppercase;font-size:11px;font-weight:600}.roster-table .roster-name strong{font-size:14px;font-weight:600;line-height:1.5}.roster-table .roster-name small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.5}.roster-table th:nth-child(3){width:145px}.roster-actions .student-actions{flex-wrap:nowrap;justify-content:flex-end;gap:5px}.roster-actions .student-actions button{border-radius:6px;width:44px;min-width:44px;height:44px;padding:10px}.student-status{border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:12px;line-height:1.5}.student-status.active{background:var(--green-soft);color:var(--green)}.classroom-page>.panel{margin:0 0 22px;padding:20px}.classroom-page>.roster-panel{padding:0}.classroom-page .roster-bulk-bar{margin:0 16px 10px;padding:10px}.reports-page .report-filters,.reports-page .report-filters.personal-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 22px;display:flex}.reports-page .report-filters>.field{flex:160px;min-width:0;margin:0}.reports-page .report-filters>.field:first-child{flex:1.5 220px}.reports-page .report-exam-select{height:44px}.report-date-filter{flex:none;position:relative}.report-date-filter>summary{cursor:pointer;border:2px solid var(--line);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 12px;font-size:14px;list-style:none;display:flex}.report-date-filter>summary::-webkit-details-marker{display:none}.report-date-filter>summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;margin:0 2px 4px 3px;transform:rotate(45deg)}.report-date-fields{z-index:6;border:2px solid var(--line);background:var(--surface);width:295px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-lg);border-radius:12px;padding:16px;position:absolute;top:calc(100% + 7px);right:0}.report-date-fields .field{min-width:0;margin:0 0 12px}.report-date-fields button{width:100%;font-size:13px}.reports-page .report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 24px}.reports-page .report-metrics>.panel{margin:0;padding:19px 22px}.reports-page .report-metrics small{font-size:14px;font-weight:400;line-height:1.5}.reports-page .report-metrics strong{font:650 32px/1.2 var(--heading-font);margin-top:8px;display:block}.report-list-heading{margin:0 0 14px}.report-list-heading h2{font-size:24px}.reports-page .results-table{margin:0 0 20px;padding:0;overflow:hidden}.reports-page .results-table table{table-layout:fixed;width:100%;min-width:0;font-size:13px}.reports-page .results-table th{letter-spacing:.4px;text-transform:uppercase;padding:12px 16px;font-size:11px;font-weight:600}.reports-page .results-table th:nth-child(2){width:175px}.reports-page .results-table th:last-child{width:78px}.reports-page .results-table td{vertical-align:middle;padding:12px 16px;font-size:13px;line-height:1.5}.reports-page .results-table td strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.5}.reports-page .results-table td small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.5}.result-row-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reports-page .results-table .result-row-meta{font-size:11px}.reports-page .results-table .review-row-button{border-radius:6px;width:44px;min-width:44px;height:44px;padding:10px}.reports-page .results-table .badge{font-size:12px;font-weight:600}.reports-page .pagination{margin:0 0 20px;font-size:13px}.pagination button{font-size:13px}.reports-page .class-report,.reports-page .score-chart{margin:0 0 22px;padding:20px}.reports-page .class-report h2,.reports-page .score-chart h2{font-size:24px}.reports-page .class-report h3{margin-top:18px;font-size:20px}.report-secondary-metrics{color:var(--muted);flex-wrap:wrap;gap:8px 20px;font-size:13px;line-height:1.5;display:flex}.class-report>.report-secondary-metrics{margin:12px 0 16px}.report-secondary-metrics strong{color:var(--ink);margin-left:4px;font-weight:600}.reports-page .score-chart>.section-heading{margin:0 0 14px}.reports-page .chart-slot,.reports-page .chart-axis,.reports-page .chart-grid{height:130px}.reports-page .chart-caption{font-size:12px}.reports-page .score-chart>.muted{margin-top:12px;font-size:12px}.exam-editor .editor-setup{margin:0 0 24px;padding:22px}.editor-start>.editor-toolbar,.editor-start>.page-title,.editor-start .editor-setup{width:100%;max-width:500px;margin-inline:auto}.editor-start .page-title h1{font-size:28px}.editor-start>.editor-toolbar{box-shadow:none;background:0 0;border:0;justify-content:flex-start;padding:0}.editor-start>.editor-toolbar>button,.editor-start .editor-save-row{display:none}.exam-editor .exam-meta-grid{grid-template-columns:1fr;gap:16px;display:grid}.exam-editor .exam-meta-grid>.field,.exam-editor .exam-meta-grid>.radio-field{grid-column:auto;margin:0}.exam-editor .radio-field legend{margin-bottom:7px}.exam-editor .radio-options{gap:10px;min-height:44px}.exam-editor .radio-options label{border:2px solid var(--line);box-shadow:none;border-radius:7px;flex:1;justify-content:flex-start;font-size:14px;font-weight:400}.exam-editor .document-import-row{box-shadow:none;background:0 0;border:0;margin:18px 0;padding:0}.exam-editor .document-import-row .file-input{border:2px solid var(--line);background:var(--surface);min-height:56px;box-shadow:none;border-radius:8px;padding:5px}.exam-editor .document-import-row .file-input>.button{white-space:nowrap;border-radius:6px;min-height:44px;font-size:14px}.editor-options{border-top:1px dashed var(--muted);margin-top:4px;padding-top:2px}.editor-options>summary{cursor:pointer;min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.editor-options>summary:after{content:"+";margin-left:auto;font-size:18px}.editor-options[open]>summary:after{content:"−"}.editor-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin:12px 0 16px;display:grid}.exam-editor:not(.editor-start) .exam-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-editor:not(.editor-start) .editor-options-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-options-grid>.field{min-width:0;margin:0}.editor-options>.field{margin:0}.exam-editor .question-editor{margin:0 0 20px;padding:22px}.question-editor .section-title h3{font-size:23px}.exam-editor .question-editor .field{margin:12px 0}.exam-editor textarea{font-size:16px;font-weight:400;line-height:1.6}.exam-editor .editor-toolbar{background:var(--surface);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:20px;padding:7px 10px}.editor-start .editor-save-row:has(>span:only-child){max-width:620px;margin-inline:auto;padding-top:12px}.exam-question .answer{white-space:normal;align-items:flex-start;font-weight:400;line-height:1.75}.exam-question .answer-content{text-align:left;flex:1;min-width:0;line-height:1.75;display:block}.exam-question .answer-content>.rich{width:auto;height:auto;color:inherit;font-size:18px;font-weight:400;line-height:inherit;white-space:pre-wrap;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block}.exam-question .answer-label,.exam-question .answer .answer-check{margin-top:2px}.exam-question .statement-content{align-items:flex-start;gap:6px;min-width:0;display:flex}.statement-label{flex:none;line-height:1.75}.statement-text{flex:1;min-width:0}.exam-question .statement-text>.rich{font-size:18px;font-weight:400;line-height:1.75;display:block}.exam-question .rich .table-scroll{white-space:normal;width:100%;max-width:100%;margin:12px 0;display:block;overflow:auto}.exam-question .rich table{font:inherit;table-layout:auto;min-width:0}.exam-question .rich td{font:inherit;white-space:pre-wrap;vertical-align:top;word-break:normal;overflow-wrap:break-word;min-width:5.5em;padding:8px 10px}.exam-question .section-title{flex-flow:row;justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-question .rich img{object-fit:contain;max-width:100%;height:auto}.exam-question .rich>.image-preview{width:fit-content;max-width:100%;margin:12px auto;display:block}.exam-question .rich>.image-preview small{white-space:normal;font:400 12px/1.5 var(--ui-font)}@container stage (width<=760px){.exam-question .answer-content>.rich,.exam-question .statement-text>.rich{font-size:17px}.classroom-page .class-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.classroom-page .class-toolbar .field:nth-child(2){grid-area:2/1/auto/-1}.classroom-page .class-toolbar .field:nth-child(4){grid-column:1/-1}.classroom-page .class-toolbar .field:nth-child(3){grid-area:1/2}.class-request-strip{flex-wrap:wrap;padding:12px}.class-request-strip button{margin-left:auto}.roster-panel>.section-heading{flex-wrap:wrap;align-items:flex-start;padding:16px 14px 10px}.roster-panel .catalog-toolbar{margin:0}.roster-panel .roster-list-controls{padding:0 14px 10px}.classroom-page .roster-panel{padding-bottom:12px}.classroom-page .responsive-table{background:0 0;border:0;padding:0 12px}.classroom-page .responsive-table table{table-layout:auto;min-width:0;display:block}.classroom-page .responsive-table tr{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr);padding:10px}.classroom-page .responsive-table td{padding:6px 4px;font-size:13px}.classroom-page .responsive-table td[data-label=Trạng\ thái]{grid-column:2/-1}.classroom-page .responsive-table td.roster-actions{grid-column:1/-1;min-width:0;margin-top:6px;padding-top:10px}.roster-actions .student-actions{justify-content:flex-end;gap:8px}.reports-page .report-filters,.reports-page .report-filters.personal-filters{gap:10px}.reports-page .report-filters>.field{flex:calc(50% - 10px)}.reports-page .report-filters>.field:first-child{flex:100%}.report-date-filter{flex:calc(50% - 10px)}.report-date-filter>summary{font-size:13px}.report-date-fields{width:260px;padding:13px;right:0}.reports-page .report-metrics{gap:12px;margin-bottom:20px}.reports-page .report-metrics>.panel{padding:17px 12px}.reports-page .report-metrics strong{font-size:28px}.reports-page .report-metrics small{font-size:13px}.reports-page .results-table{box-shadow:none;background:0 0;border:0;overflow:visible}.reports-page .results-table table,.reports-page .results-table tbody{width:100%;min-width:0;display:block}.reports-page .results-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.reports-page .results-table tbody{gap:12px;display:grid}.reports-page .results-table tr{border:2px solid var(--line);box-shadow:var(--shadow);background:var(--surface);border-radius:7px;grid-template-columns:minmax(0,1fr) 44px;gap:8px 12px;padding:14px;display:grid}.reports-page .results-table td{border:0;min-width:0;padding:0}.reports-page .results-table td:first-child{grid-column:1/-1}.reports-page .results-table td:nth-child(2){grid-column:1;align-self:center}.reports-page .results-table td:last-child{grid-column:2;place-self:end}.reports-page .results-table td[data-label]:before{display:none}.reports-page .class-report,.reports-page .score-chart{margin-bottom:18px;padding:16px 14px}.reports-page .class-report h2,.reports-page .score-chart h2{font-size:23px}.reports-page .score-chart>.section-heading{align-items:flex-start}.report-secondary-metrics{gap:6px 12px;font-size:12px}.exam-editor .editor-setup,.exam-editor .question-editor{padding:18px 14px}.exam-editor .editor-toolbar{margin-bottom:18px;padding:6px 8px}.editor-options-grid{gap:12px}.editor-options-grid>.field:first-child{grid-column:1/-1}.exam-editor:not(.editor-start) .exam-meta-grid{grid-template-columns:1fr}.exam-editor:not(.editor-start) .editor-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.app .main,.exam-shell .exam-layout{width:max(min(100%,1215px),86.1091%);max-width:100%;padding-inline:max(30px,2.12615%)}.exam-grid,.exam-grid.manage-exam-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px max(18px,1.55844%)}.exam-grid .exam-row.exam-card{gap:13px}@container stage (width<=1249px){.exam-grid,.exam-grid.manage-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container stage (width<=1100px){.app .main{width:100%;padding-inline:22px}}.background-snakes-frame{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:clip}.background-snakes-frame>.background-snakes{pointer-events:none;width:100%;height:100dvh;max-height:100%;display:block;position:sticky;top:0}.background-snakes .snake-face{fill:var(--snake);stroke:none}.snake-eye>ellipse{fill:#f6f8f2;stroke:#182337;stroke-width:1.2px}.snake-pupil,.snake-nostril{fill:#182337}.snake-eye-shine{fill:#fff}.main>footer.footer{border:2px solid var(--line);background:var(--surface);width:fit-content;max-width:100%;min-height:0;color:var(--ink);box-shadow:2px 2px 0 var(--line);text-align:center;border-radius:10px;flex-flow:wrap;justify-content:center;align-self:center;align-items:center;gap:8px 18px;margin:auto auto 0;padding:11px 16px;display:flex}.main>footer.footer>span:first-child{font:600 15px/1.5 var(--ui-font);gap:9px}.main>footer.footer>span:last-child{font:400 13px/1.5 var(--ui-font);color:var(--ink)}.main>footer.footer .school-logo{border:1.5px solid var(--line);background:var(--blue-soft);width:28px;height:28px;color:var(--ink);border-radius:6px;flex:none;padding:4px;display:block}.back-to-top{z-index:25;border:2px solid var(--line);background:var(--blue);width:44px;min-width:44px;height:44px;color:var(--on-accent);box-shadow:var(--shadow);border-radius:8px;padding:9px;position:fixed;bottom:24px;right:24px}.app:has(.system-toasts .notice)>.back-to-top{visibility:hidden}.exam-grid{grid-auto-rows:1fr;align-items:stretch}.exam-grid .exam-card h3{min-height:44px}.exam-question .tf-statement.is-true select{color:var(--green);background:var(--green-soft);border-color:var(--green)}.exam-question .tf-statement.is-false select{color:var(--red);background:var(--red-soft);border-color:var(--red)}.settings-appearance-title{margin-bottom:20px}.dialog-body form:has(.monitor-settings-fields)>h2{margin-bottom:14px}.dialog-body form:has(.monitor-settings-fields)>p{color:var(--muted);margin-top:0;margin-bottom:22px}.monitor-settings-fields>.exam-settings-section:last-child{border-bottom:0;padding-bottom:0}.result-metrics.unscored-metrics:not(.practice-metrics){grid-template-columns:repeat(3,minmax(0,1fr))}.result-metrics>div>strong{font-family:var(--heading-font);font-weight:700}.classroom-page .class-toolbar{grid-template-columns:minmax(160px,1fr) minmax(200px,2fr)}.classroom-page .roster-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px 0;display:flex}.roster-tools .catalog-toolbar{gap:8px;margin:0}.roster-tools>button,.roster-tools .catalog-toolbar>button{font-size:13px}.classroom-page>.roster-panel{box-shadow:none;background:0 0;border:0;padding:0}.roster-panel .roster-table{border:2px solid var(--line);box-shadow:var(--shadow);border-radius:7px}.roster-table th:first-child{width:auto}.roster-table th:nth-child(2){width:155px}.roster-table th:last-child{width:172px}.roster-table th{font-size:12px}.roster-count{margin-left:5px;font-weight:400}.roster-table th>.check-touch{vertical-align:middle;margin-right:8px;display:inline-flex}.roster-name>.check-touch{vertical-align:middle;margin-right:10px;display:inline-flex}.roster-account{vertical-align:middle;display:inline-block}.roster-actions .student-actions{align-items:center;gap:8px}.icon-action-menu>summary{border-radius:6px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:9px;display:flex}.roster-table,.roster-table.table-scroll{overflow:visible}.roster-table .action-menu>div{z-index:8;width:210px;min-width:185px;max-width:calc(100vw - 44px)}.classroom-page .roster-bulk-bar{margin:0 0 14px}.reports-page .results-table td strong{font-size:16px;line-height:1.6}.reports-page .results-table th{font-size:13px}.reports-page .results-table td small:first-of-type{color:var(--ink);font-size:15px;line-height:1.6}.reports-page .results-table td small{font-size:13px;line-height:1.6}@container stage (width<=760px){.app .main,.exam-shell .exam-layout{width:100%;padding-inline:15px}.exam-grid,.exam-grid.manage-exam-grid{grid-template-columns:1fr;gap:15px}.exam-grid .exam-row.exam-card{gap:12px}.back-to-top{right:16px;bottom:calc(var(--bottom-nav) + 20px)}.classroom-page .class-toolbar{grid-template-columns:1fr;gap:12px}.classroom-page .class-toolbar .field:nth-child(2){grid-area:auto}.classroom-page .roster-tools{flex-wrap:wrap;margin:0;padding:10px 0 14px}.roster-panel .roster-table{box-shadow:none;background:0 0;border:0;padding:0}.classroom-page .responsive-table tr{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px}.classroom-page .responsive-table td.roster-name{grid-area:auto/1/auto/-1}.classroom-page .responsive-table td[data-label=Trạng\ thái]{grid-column:1;align-self:center}.classroom-page .responsive-table td[data-label=Trạng\ thái]:before{display:none}.classroom-page .responsive-table td.roster-actions{border:0;grid-column:2;align-self:end;margin:0;padding:0}.roster-account{max-width:calc(100% - 55px)}.result-metrics.unscored-metrics:not(.practice-metrics){grid-template-columns:1fr}}
