:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f8f6;--surface:#fff;--chrome:#fff;--text:#24372f;--muted:#637468;--accent:#246b51;--border:#e5ebe5;--subtle:#eef5ef;--button-text:#fff;--danger:#983e36;--danger-bg:#fff1ee;--warning:#795722;--warning-bg:#fbf2df;--shadow:0 4px 20px #213e2e05;--art-stroke:#9bb38c;--art-fill:#e0ead6;--art-leaf:#a7be94;--welcome-bg:#eef4e9;--field-border:#dce5da}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#10161e;--surface:#1d2733;--chrome:#151d27;--text:#f1f5f9;--muted:#bac5d2;--accent:#8dddb9;--border:#405269;--subtle:#293b45;--button-text:#102b21;--danger:#ffb8ae;--danger-bg:#402b30;--warning:#f4d18b;--warning-bg:#3b3227;--shadow:0 6px 24px #0003;--art-stroke:#9cb7ad;--art-fill:#30443f;--art-leaf:#94bda9;--welcome-bg:#22353a;--field-border:#657991}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0;font-family:Be Vietnam Pro,Avenir Next,Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.7}button,input,select,textarea{font:inherit}h1,h2,h3{letter-spacing:-.035em;font-weight:650}.ui-icon{vertical-align:middle;flex-shrink:0}button,a{touch-action:manipulation}.message-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;width:min(92%,36rem);margin:12vh auto;padding:2rem}.message-card h1{font-size:clamp(1.5rem,5vw,2rem);line-height:1.3}.message-card p{color:var(--muted)}.eyebrow{letter-spacing:.03em;font-weight:700}.button{background:var(--accent);min-height:44px;color:var(--button-text);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:550;line-height:1.5;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}a{color:var(--accent)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.button:disabled{cursor:not-allowed}.text-button{min-height:44px;color:var(--accent);font:inherit;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:6px 9px;font-weight:550;display:inline-flex}.text-link{color:var(--accent);font-weight:650}.danger{color:var(--danger)}.muted,.page-note{color:var(--muted)}.theme-toggle{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--muted);font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:12px;display:inline-flex}.form-stack{gap:1.2rem;display:grid}.form-stack fieldset{border:0;gap:1.2rem;min-width:0;margin:0;padding:0;display:grid}.form-stack label{gap:.45rem;font-size:.9rem;font-weight:550;display:grid}.form-stack input:not([type=checkbox]),.form-stack textarea,.form-stack select{box-sizing:border-box;border:1px solid var(--field-border);background:var(--surface);width:100%;min-height:46px;color:var(--text);font:inherit;border-radius:8px;padding:.7rem .8rem;font-weight:400}.form-stack textarea{resize:vertical}.form-stack input::placeholder,.form-stack textarea::placeholder{color:var(--muted);opacity:1}.form-stack small{color:var(--muted);font-weight:400;line-height:1.6}.form-stack .checkbox-label{align-items:flex-start;gap:.7rem;font-weight:400;display:flex}.checkbox-label input{min-width:20px;min-height:20px;accent-color:var(--accent);margin-top:.25rem}.form-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding-top:.8rem;display:flex}.form-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);overflow-wrap:anywhere;border-radius:.65rem;margin:0;padding:.85rem 1rem;line-height:1.7}.inline-notice{background:var(--subtle);color:var(--text);border-radius:.65rem;margin:0 1.5rem 1rem;padding:.8rem 1rem}.field-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.inline-field{align-items:center;gap:.6rem;margin-top:.65rem;display:flex}.inline-field .button{white-space:nowrap;flex-shrink:0}.add-catalog{color:var(--muted);font-size:.85rem}.add-catalog summary{cursor:pointer;min-height:32px}.align-start{justify-self:start}.filename{overflow-wrap:anywhere}.file-picker{background:var(--subtle);border:1px dashed var(--border);border-radius:.8rem;padding:1rem}.app-modal{border:1px solid var(--border);width:min(94vw,48rem);max-height:90dvh;color:var(--text);background:var(--surface);overscroll-behavior:contain;border-radius:1.2rem;margin:auto;padding:1.6rem;overflow:auto;box-shadow:0 20px 80px #0b281c26}.app-modal::backdrop{background:#08150e90}.modal-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.3rem;display:flex}.modal-heading h2{margin:4px 0 0;font-size:21px;line-height:1.4}.icon-button{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-content:center;display:grid}.login-layout{grid-template-columns:1fr 28rem;align-items:center;gap:6rem;width:min(90%,69rem);margin:10vh auto;display:grid}.login-theme{position:absolute;top:1.3rem;right:4vw}.app-brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);width:41px;height:41px;color:var(--button-text);letter-spacing:-.04em;border-radius:13px;flex-shrink:0;place-items:center;font-size:15px;font-weight:750;display:grid}.brand-lockup{gap:0;display:grid}.brand-name{letter-spacing:-1.1px;font-size:25px;font-weight:750;line-height:1.2}.brand-dot{color:#98b68e}.brand-sub{color:var(--muted);letter-spacing:.1px;font-size:9px;line-height:1.8}.login-story h1{letter-spacing:-.045em;max-width:16ch;margin-top:2.7rem;font-size:clamp(2rem,4vw,3rem);line-height:1.35}.login-story>p{max-width:36ch;color:var(--muted)}.login-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1.4rem;padding:2.2rem}.login-card h2{margin-top:0;margin-bottom:.5rem;font-size:1.6rem}.login-card>p{margin-top:0}.login-card form{margin-top:1.8rem}.login-card form+.button{width:100%;margin-top:.75rem}.login-card .login-help{color:var(--muted);margin:1.6rem 0 .5rem;font-size:.8rem}.login-card>a{font-size:.85rem}.notebook-art{border:1px solid var(--border);border-left:10px solid var(--accent);background:var(--subtle);width:15rem;box-shadow:var(--shadow);border-radius:.6rem 1.2rem 1.2rem .6rem;gap:1rem;margin:2rem 0 0 1.8rem;padding:1.7rem 1.5rem 2.4rem 2.5rem;display:grid;transform:rotate(-5deg)}.notebook-art span{color:var(--accent);font-size:1.1rem;font-weight:700}.notebook-art i{background:var(--border);height:2px;display:block}.teacher-layout{grid-template-columns:242px minmax(0,1fr);min-height:100dvh;display:grid}.app-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;width:242px;padding:32px 19px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow:auto}.app-sidebar>.app-brand{margin:0 12px 34px}.workspace-label{background:var(--background);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:10px;align-items:center;gap:10px;margin:0 5px 26px;padding:12px;display:flex}.workspace-icon{background:var(--subtle);width:32px;height:35px;color:var(--accent);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.workspace-caption{color:var(--muted);font-size:10px;line-height:1.6;display:block}.workspace-label strong{color:var(--text);font-size:12px;font-weight:550;line-height:1.6;display:block}.nav-label{color:var(--muted);margin:0 15px 11px;font-size:10px}.app-sidebar nav{gap:5px;font-size:13px;display:grid}.app-sidebar nav a,.app-sidebar .nav-pending{min-height:46px;color:var(--muted);border-radius:9px;align-items:center;gap:12px;padding:10px 15px;text-decoration:none;display:flex}.app-sidebar nav a.nav-active{background:var(--subtle);color:var(--accent);font-weight:600;position:relative}.app-sidebar nav a.nav-active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;left:-19px}.nav-pending small{margin-left:auto;font-size:9px;font-weight:400}.sidebar-bottom{color:var(--muted);margin-top:auto;padding-top:26px}.sidebar-note{background:var(--subtle);border:1px solid var(--border);border-radius:12px;margin:0 5px 16px;padding:16px}.sidebar-note strong{color:var(--text);align-items:center;gap:8px;font-size:12px;font-weight:550;display:flex}.sidebar-note p{margin:8px 0;font-size:11px;line-height:1.8}.sidebar-note a{align-items:center;gap:8px;min-height:36px;font-size:11px;font-weight:550;text-decoration:none;display:inline-flex}.sidebar-signature{border-top:1px solid var(--border);margin:0 5px;padding-top:12px;font-size:9px}.teacher-body{grid-column:2;min-width:0}.app-header{border-bottom:1px solid var(--border);background:var(--surface);min-height:86px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:12px 38px;font-size:12px;display:flex}.header-breadcrumb{align-items:center;gap:12px;display:flex}.header-breadcrumb strong{color:var(--text);font-size:12px;font-weight:500}.header-actions{align-items:center;gap:16px;display:flex}.header-profile{border-left:1px solid var(--border);align-items:center;gap:10px;padding-left:16px;display:flex}.header-profile strong{max-width:15rem;color:var(--text);overflow-wrap:anywhere;font-size:12px;font-weight:550;line-height:1.5;display:block}.header-profile small{color:var(--muted);font-size:10px;line-height:1.6;display:block}.header-actions .text-button{font-size:12px}.avatar{border:3px solid var(--surface);width:35px;height:35px;box-shadow:0 0 0 1px var(--border);color:var(--accent);background:var(--subtle);border-radius:50%;flex-shrink:0;place-content:center;font-size:11px;font-weight:550;display:inline-grid}.app-content{width:100%;max-width:1600px;margin:auto;padding:32px 38px}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.page-heading h1{letter-spacing:-.035em;overflow-wrap:anywhere;margin:0 0 6px;font-size:clamp(24px,2.5vw,29px);font-weight:650;line-height:1.4}.page-heading p{color:var(--muted);overflow-wrap:anywhere;max-width:62ch;margin:0;font-size:13px}.page-heading>button{flex-shrink:0}.welcome-panel{background:var(--welcome-bg);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:24px 30px;display:flex;position:relative;overflow:hidden}.welcome-panel>div{z-index:1;position:relative}.welcome-caption{color:var(--muted);align-items:center;gap:7px;margin-bottom:12px;font-size:11px;display:flex}.welcome-panel h2{color:var(--text);margin:0 0 10px;font-size:24px;line-height:1.4}.welcome-panel p{color:var(--muted);max-width:52ch;margin:0;font-size:12px;line-height:1.8}.classroom-art{flex-shrink:0;width:230px;height:150px}.empty-classroom-art{display:block}.list-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:26px 0 20px;font-size:12px;display:flex}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;gap:4px;padding:3px;display:flex}.tab{min-height:40px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:7px;padding:8px 15px}.tab.active{background:var(--subtle);color:var(--accent);font-weight:600}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.class-card{border:1px solid var(--border);color:var(--text);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:24px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block;position:relative}.class-card:hover{border-color:var(--art-stroke);box-shadow:0 5px 22px #213e2e0b}.class-icon{background:var(--subtle);width:48px;height:48px;color:var(--accent);border-radius:12px;place-content:center;display:inline-grid}.class-card>.badge{position:absolute;top:27px;right:24px}.class-card h2{overflow-wrap:anywhere;margin:20px 0 6px;font-size:21px;font-weight:600}.class-card p{min-height:38px;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px}.class-card-meta{border-bottom:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:20px 0 16px;padding-bottom:16px;font-size:11px;display:flex}.class-card-meta>span{align-items:center;gap:6px;display:inline-flex}.class-card>.text-link{justify-content:space-between;align-items:center;font-size:12px;font-weight:550;display:flex}.badge{background:var(--subtle);color:var(--accent);border-radius:5px;padding:3px 8px;font-size:10px;font-weight:550;display:inline-flex}.badge.warning{color:var(--warning);background:var(--warning-bg)}.badge.danger{color:var(--danger);background:var(--danger-bg)}.heading-badges{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.8rem;font-size:.85rem;display:flex}.back-link{min-height:36px;color:var(--muted);align-items:center;gap:8px;margin-bottom:20px;font-size:12px;text-decoration:none;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;overflow:hidden}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.panel-heading h2{margin:0;font-size:1.2rem}.panel-heading p{margin:.3rem 0 0;font-size:.85rem}.actions{flex-wrap:wrap;gap:.6rem;display:flex}.table-scroll{overflow:auto}.table-scroll table{border-collapse:collapse;text-align:left;width:100%;min-width:38rem;font-size:.85rem}th{color:var(--muted);background:var(--subtle);font-size:.75rem;font-weight:600}td,th{border-block:1px solid var(--border);overflow-wrap:anywhere;padding:.95rem 1.3rem}td{max-width:24rem}.row-actions{white-space:nowrap;justify-content:flex-end;gap:.25rem;display:flex}.row-actions .text-button{font-size:.8rem}.preview-table{border:1px solid var(--border);border-radius:.65rem;max-height:45vh}.preview-table table{min-width:29rem}.preview-table th{z-index:1;position:sticky;top:0}.empty-state{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;justify-items:center;padding:36px 24px;display:grid}.class-empty{align-content:center;min-height:340px}.empty-state h2,.empty-state h3{margin:18px 0 8px;font-size:20px;font-weight:600}.empty-state p{color:var(--muted);max-width:48ch;margin:0 0 20px;font-size:13px}.pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-size:.8rem;display:flex}.panel .pagination{padding-inline:1.5rem}.pagination>div{gap:.5rem;display:flex}.pagination .button{min-height:44px;padding:.45rem .8rem;font-size:.8rem}.page-note{font-size:.8rem}.list-loading{opacity:.55;pointer-events:none}.skip-link{z-index:50;background:var(--surface);color:var(--accent);border:2px solid var(--accent);padding:.8rem;position:fixed;top:-8rem;left:1rem}.skip-link:focus{top:1rem}.question-media-editor{border:1px dashed var(--border);background:var(--background);border-radius:9px;padding:16px}.media-editor-heading strong{font-size:12px;font-weight:550;display:block}.media-editor-heading small{color:var(--muted);margin:5px 0 12px;font-size:11px;display:block}.media-file-picker{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-flow:wrap;align-items:center;gap:8px;padding:10px;font-size:12px!important;display:flex!important}.media-file-picker input[type=file]{width:100%;min-width:0;background:0 0!important;border:0!important;min-height:30px!important;padding:4px 0!important;font-size:12px!important}.media-item{border-bottom:1px solid var(--border);margin-bottom:14px;padding:14px 0}.media-item>img,.media-item>video{object-fit:contain;border-radius:7px;width:auto;max-width:100%;height:auto;max-height:260px;margin:0 auto 14px;display:block}.media-item>label{font-size:12px}.media-item .actions{margin-top:6px}.media-item .text-button{font-size:11px}.word-preview-list{border:1px solid var(--border);border-radius:9px;max-height:40vh;overflow:auto}.word-preview-list>div{border-bottom:1px solid var(--border);padding:14px}.word-preview-list strong{font-size:12px}.word-preview-list p,.word-preview-list li{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.word-preview-list small{font-size:12px}.import-warnings{background:var(--warning-bg);color:var(--warning);border-radius:8px;padding:12px;font-size:12px}.import-warnings p{margin:6px 0}.empty-book{background:var(--subtle);width:72px;height:72px;color:var(--accent);border-radius:20px;place-items:center;display:grid}.editor-heading{margin-bottom:12px}.editor-heading .heading-badges{margin-bottom:10px}.editor-save-status{color:var(--muted);margin-bottom:24px;font-size:12px}.editor-notice{background:var(--subtle);color:var(--accent);border-radius:9px;margin:16px 0;padding:12px 16px;font-size:13px}.exam-editor-grid{grid-template-columns:minmax(0,1fr) 272px;align-items:start;gap:24px;display:grid}.exam-editor-main{gap:22px;min-width:0;display:grid}.exam-meta-panel{padding:24px}.exam-meta-panel h2{margin:0 0 22px;font-size:18px}.exam-editor-aside{gap:18px;min-width:0;display:grid;position:sticky;top:24px}.question-outline{padding:20px 16px}.question-outline h2{margin:0 4px 16px;font-size:15px}.question-outline>p{padding:0 4px;font-size:12px}.outline-list{gap:5px;max-height:420px;display:grid;overflow:auto}.outline-item{text-align:left;width:100%;min-height:56px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;font-size:12px;display:flex}.outline-item>span:first-child{background:var(--subtle);width:24px;height:25px;color:var(--accent);border-radius:5px;flex-shrink:0;place-items:center;font-size:11px;display:grid}.outline-item>span:last-child{overflow-wrap:anywhere;min-width:0}.outline-item small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.outline-item.current{background:var(--subtle);border-color:var(--border)}.publish-panel{background:var(--welcome-bg);padding:22px}.publish-panel>.ui-icon{color:var(--accent)}.publish-panel h2{margin:10px 0;font-size:16px}.publish-panel p{color:var(--muted);font-size:12px;line-height:1.8}.publish-panel .button{width:100%;margin-top:10px}.publish-panel .text-button{width:100%;margin-top:5px;font-size:12px}.question-editor-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 22px;display:flex}.question-editor-head>div:first-child{align-items:center;gap:10px;font-size:12px;display:flex}.question-editor-head .text-button{padding-inline:8px;font-size:11px}.question-editor-body{padding:24px}.media-placeholder{border:1px dashed var(--border);color:var(--muted);background:var(--background);border-radius:8px;gap:10px;padding:13px;font-size:12px;display:flex}.media-placeholder small{margin-top:4px;font-size:11px;display:block}.option-editor{gap:10px;display:grid}.field-label{color:var(--text);font-size:13px;font-weight:550}.option-edit-row{align-items:center;gap:8px;display:flex}.option-edit-row input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0;margin:0;padding:0}.option-edit-row input:not([type=radio]){min-width:0}.option-edit-row .icon-button{min-width:36px}.option-index{background:var(--subtle);width:25px;height:30px;color:var(--accent);border-radius:5px;flex-shrink:0;place-items:center;font-size:12px;display:grid}.points-field{max-width:160px}.true-false-editor{gap:30px;margin-top:10px;display:flex}.true-false-editor .checkbox-label{flex-direction:row;align-items:center;gap:10px;min-height:44px;display:flex}.true-false-editor input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--accent);margin:0;padding:0}.explanation-editor summary{cursor:pointer;min-height:36px;color:var(--muted);font-size:13px}.add-question-panel{border:1px dashed var(--art-stroke);border-radius:12px;gap:12px;padding:22px;display:grid}.add-question-panel>span{font-size:14px;font-weight:550}.add-question-panel small{font-size:11px}.preview-intro{border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:18px}.preview-intro h3{margin:0;font-size:19px}.preview-intro .muted{font-size:12px}.preview-note{color:var(--muted);font-size:12px}.exam-instructions{white-space:pre-wrap;overflow-wrap:anywhere}.preview-navigation{justify-content:space-between;align-items:center;gap:12px;padding:20px 0;font-size:12px;display:flex}.preview-keys{align-items:center;gap:10px;min-height:44px;font-size:12px;display:flex}.preview-keys input{width:18px;height:18px;accent-color:var(--accent)}.teacher-answer{background:var(--subtle);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;padding:16px;font-size:13px}.version-list{gap:8px;margin:20px 0;display:grid}.version-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.version-list strong{font-size:13px;font-weight:550}.version-list small{color:var(--muted);font-size:11px;display:block}.mobile-question-picker,.question-media:empty{display:none}.question textarea{background:var(--surface);color:var(--text)}@media (max-width:1100px){.exam-editor-grid{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.question-editor-head{padding-inline:18px}.question-editor-body,.exam-meta-panel{padding:20px}}@media (max-width:900px){.exam-editor-grid{grid-template-columns:1fr}.exam-editor-aside{position:static}.question-outline{display:none}.mobile-question-picker{display:block}}@media (max-width:520px){.editor-heading .actions{width:100%}.editor-heading .actions>button{flex:1}.question-editor-head .actions{gap:0}.question-editor-head{padding:12px 16px}.question-editor-body,.exam-meta-panel{padding:20px 16px}.option-edit-row{gap:6px}.option-index{width:20px}.option-edit-row .icon-button{min-width:28px}.add-question-panel{padding:18px 16px}.add-question-panel .actions{gap:7px}.add-question-panel .button{padding-inline:10px;font-size:11px}.preview-navigation{gap:8px}.preview-navigation .button{padding-inline:10px;font-size:11px}}@media (hover:hover){.button:not(:disabled):hover{filter:brightness(.97);box-shadow:0 2px 8px #213e2e0a}.text-button:not(:disabled):hover,.theme-toggle:hover,.icon-button:not(:disabled):hover{background:var(--subtle)}.back-link:hover{color:var(--accent)}}@media (max-width:1150px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-content,.app-header{padding-inline:26px}.header-breadcrumb{gap:8px}.header-breadcrumb>strong{display:none}.login-layout{grid-template-columns:1fr 26rem;gap:3rem}}@media (max-width:800px){.teacher-layout{display:block}.app-sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 20px;position:static;overflow:visible}.app-sidebar>.app-brand{margin:0}.app-sidebar .brand-sub,.workspace-label,.nav-label,.sidebar-bottom,.app-sidebar .nav-pending{display:none}.app-sidebar nav a{gap:7px;min-height:44px;padding:8px 10px;font-size:12px}.app-sidebar nav a.nav-active:before{display:none}.app-header{min-height:64px;padding:8px 20px}.header-breadcrumb,.header-profile .avatar,.header-profile small{display:none}.header-actions{justify-content:space-between;gap:10px;width:100%}.header-profile{border-left:0;min-width:0;margin-right:auto;padding-left:0}.header-profile strong{max-width:10rem;font-size:12px}.app-content{padding:24px 20px}.login-layout{grid-template-columns:1fr;gap:1.5rem;max-width:28rem;margin:5rem auto 2rem}.login-story h1,.login-story>p,.notebook-art{display:none}.login-card{padding:1.5rem}.classroom-art{width:180px;height:130px}}@media (max-width:520px){.brand-mark{border-radius:11px;width:35px;height:35px;font-size:13px}.brand-name{font-size:22px}.app-sidebar nav a{font-size:11px}.app-sidebar nav .ui-icon{width:16px}.app-content{padding:24px 16px}.class-grid{grid-template-columns:1fr}.page-heading{flex-wrap:wrap;gap:14px;margin-bottom:22px}.page-heading p,.page-heading>.button{font-size:12px}.welcome-panel{align-items:flex-start;min-height:200px;padding:22px}.welcome-panel h2{font-size:22px}.welcome-panel p{max-width:29ch;font-size:12px}.welcome-caption{font-size:10px}.classroom-art{opacity:.35;width:150px;height:110px;position:absolute;bottom:-8px;right:-32px}.list-toolbar{flex-wrap:wrap;gap:10px;font-size:11px}.tab{min-height:44px;padding-inline:12px}.class-empty{min-height:320px;padding:28px 18px}.empty-state h2{font-size:19px}.empty-state p{font-size:12px}.field-grid{grid-template-columns:1fr}.app-modal{max-height:94dvh;padding:20px}.form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea{font-size:16px}.panel-heading{padding:20px}.panel-heading .actions{width:100%}.panel-heading .actions>button{flex:1;padding-inline:10px;font-size:12px}.panel .pagination{padding-inline:16px}.pagination{gap:8px}.pagination .button{padding-inline:8px;font-size:11px}.form-actions>button{flex:1}.inline-notice{margin-inline:16px}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.form-field{gap:.45rem;display:grid}.question{font-size:1.125rem}.question-heading{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.25rem}.question-media{gap:1rem;margin-block:1.5rem;display:grid}.question-media img,.question-media video{background:var(--background);border-radius:.75rem;max-width:100%;height:auto;display:block}.question-options{border:0;gap:.75rem;margin:0;padding:0;display:grid}.question-option{border:1px solid var(--border);cursor:pointer;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.75rem;align-items:flex-start;gap:.8rem;min-height:48px;padding:1rem;display:flex}.question-option input{accent-color:var(--accent);margin-top:.4rem}.question textarea{resize:vertical;border:1px solid var(--border);border-radius:.75rem;width:100%;min-height:12rem;padding:1rem;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;min-width:0}.padded{padding:24px}.card h2{margin:0 0 12px;font-size:19px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-heading h2,.section-heading p{margin:0}.error-text{color:var(--danger);background:var(--danger-bg);overflow-wrap:anywhere;border-radius:9px;padding:12px 16px}.notice{background:var(--subtle);color:var(--text);border-radius:9px;padding:12px 16px}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-stack label,.grading-panel label{gap:7px;font-weight:550;display:grid}.check-row{align-items:center;gap:12px;padding:10px 0;font-weight:400!important;display:flex!important}.check-row input{flex-shrink:0;width:18px;height:18px;min-height:18px}.class-choices{border:1px solid var(--border);border-radius:10px;max-height:300px;padding:14px 18px;overflow:auto}.class-choices legend{padding:0 8px;font-weight:600}.class-choices .muted{margin-left:auto}.assignment-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px;display:grid}.assignment-card{padding:24px}.assignment-card h2{margin:16px 0 8px}.assignment-card h2 a{color:var(--text);text-decoration:none}.assignment-dates{gap:8px;margin:18px 0;display:grid}.assignment-dates div{justify-content:space-between;gap:16px;display:flex}.assignment-dates dt{color:var(--muted)}.assignment-dates dd{text-align:right;margin:0}.large-code{letter-spacing:.12em;color:var(--accent);margin:2px 0 12px;font-size:30px;font-weight:650}.exam-code{letter-spacing:.08em}.exam-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:18px 0;display:grid}.exam-facts>div{gap:4px;display:grid}.exam-facts span{color:var(--muted);font-size:12px}.exam-facts strong{font-size:14px;font-weight:550}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.stat-card{gap:10px;padding:20px;display:grid}.stat-card>span{color:var(--muted)}.stat-card>strong{font-size:30px;font-weight:650;line-height:1.2}.table-wrap{overflow-x:auto}.table-wrap table{min-width:650px}.table-caption{color:var(--muted);font-size:12px;display:block}.attempt-links{white-space:nowrap;gap:8px;display:grid}.question-stat{border-top:1px solid var(--border);grid-template-columns:60px 1fr 100px 100px;align-items:center;gap:16px;padding:16px 0;display:grid}.question-stat meter{width:100%;accent-color:var(--accent)}.grading-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.grading-question{margin-bottom:20px}.grading-panel{gap:18px;display:grid;position:sticky;top:22px}.grading-question textarea{opacity:1;color:var(--text);min-height:130px}.grading-total{color:var(--accent);font-size:27px}.grading-total small{color:var(--muted);font-size:13px;display:block}.student-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:20px 5vw;display:flex}.student-header .header-actions{flex-wrap:wrap}.student-entry{grid-template-columns:1fr 1fr;align-items:center;gap:100px;width:min(1080px,90%);margin:65px auto;display:grid}.student-welcome h1{color:var(--accent);letter-spacing:-.055em;margin:22px 0;font-size:clamp(36px,5vw,54px);line-height:1.35}.student-welcome p{color:var(--muted);max-width:390px}.student-welcome .classroom-art{width:270px;margin-top:30px}.student-login{padding:34px}.student-login h2{font-size:25px}.student-login form{margin-top:30px}.student-login form>p{font-size:12px}.student-lobby,.student-exam{width:min(1160px,92%);margin:36px auto 70px}.student-lobby>.card{margin-bottom:24px}.student-lobby .exam-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.preserve-space{white-space:pre-wrap}.attempt-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.attempt-row p{margin:3px 0}.result-score{background:var(--subtle);border-radius:12px;margin:20px 0;padding:20px}.result-score>strong{color:var(--accent);margin-right:12px;font-size:40px}.student-exam-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.student-exam-heading h1{margin:4px 0;font-size:25px}.student-exam-heading p{margin:4px 0}.exam-timer{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 20px;font-size:32px;font-weight:650}.exam-timer.urgent{color:var(--danger);border-color:var(--danger)}.save-status{color:var(--muted);min-height:23px;margin-bottom:20px;font-size:13px}.student-exam-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.student-exam .question-heading{letter-spacing:-.02em;font-size:21px;line-height:1.6}.student-exam .question-option{cursor:pointer;padding:16px}.student-exam .question textarea{min-height:180px}.question-controls{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;display:flex}.exam-outline{position:sticky;top:20px}.question-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.question-number{border:1px solid var(--border);background:var(--background);min-height:44px;color:var(--text);border-radius:8px}.question-number.answered{background:var(--subtle);border-color:var(--accent);color:var(--accent)}.question-number[aria-current]{outline:2px solid var(--accent);outline-offset:2px}.question-number.flagged{border-style:dashed;border-color:var(--warning)}.exam-outline>.button{width:100%}.exam-outline>p{font-size:12px}.receipt-card{text-align:center;padding:50px 24px}.receipt-card>.actions{justify-content:center}.receipt-card h1{font-size:30px}.success-symbol{background:var(--subtle);width:70px;height:70px;color:var(--accent);border-radius:50%;place-items:center;font-size:35px;display:inline-grid}.app-content>.card,.app-content>.stat-grid+.card{margin-bottom:24px}@media (max-width:950px){.student-entry{gap:40px}.exam-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.student-exam-grid{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.grading-layout{grid-template-columns:1fr}.grading-panel{position:static}}@media (max-width:650px){.padded{padding:18px}.form-grid,.student-entry,.student-exam-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:16px}.exam-facts{gap:15px}.student-header{gap:12px;padding:15px 4%}.student-header .brand-sub{display:none}.student-header .header-actions a{font-size:12px}.student-entry{gap:25px;margin:30px auto}.student-welcome h1{font-size:30px}.student-welcome h1 br,.student-welcome .classroom-art{display:none}.student-welcome{text-align:center}.student-login{padding:24px}.student-lobby,.student-exam{margin-top:25px}.student-exam-heading{align-items:start;gap:12px}.student-exam-heading h1{font-size:21px}.exam-timer{white-space:nowrap;padding:10px;font-size:24px}.student-exam .question-heading{font-size:19px}.exam-outline{position:static}.question-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.question-stat{grid-template-columns:48px 1fr;gap:10px}.question-stat meter{grid-column:2}.attempt-row{flex-direction:column;align-items:start}}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px;display:grid}.search-results{gap:10px;margin-top:20px;display:grid}.search-results a{background:var(--subtle);border-radius:8px;padding:12px;text-decoration:none;display:grid}.search-results small{color:var(--muted)}.profile-link{color:var(--text);text-decoration:none}.help-content{max-width:900px}.help-content li{padding:12px 0}.help-content summary,.grading-panel summary{cursor:pointer;padding:16px 0;font-weight:600}@media (max-width:950px){.header-actions>.text-button,.workspace-search-button{padding:5px;font-size:12px}.header-actions{gap:8px}}@media (max-width:650px){.settings-grid{grid-template-columns:1fr}.header-profile{display:none}}.class-icon[data-tone=blue]{background:color-mix(in srgb, #68a7c5 16%, var(--surface));color:var(--text)}.class-icon[data-tone=sand]{background:color-mix(in srgb, #d4af65 18%, var(--surface));color:var(--text)}.class-icon[data-tone=pink]{background:color-mix(in srgb, #c78fa8 17%, var(--surface));color:var(--text)}.list-toolbar{flex-wrap:wrap;align-items:end}.list-toolbar label{flex:1;gap:6px;min-width:min(100%,180px);font-size:12px;display:grid}.list-toolbar input,.list-toolbar select,.grading-panel input,.grading-panel textarea,.grading-question>label>input{border:1px solid var(--field-border);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}.grading-panel textarea{resize:vertical}.list-toolbar .button{flex-shrink:0}.check-row input,.question-option input{accent-color:var(--accent)}.student-header .app-brand{flex-shrink:0}.student-header .brand-name{white-space:nowrap}.student-header .header-actions{width:auto;margin-left:auto}@media (max-width:800px){.app-sidebar{padding:14px 16px;display:block}.app-sidebar nav{gap:4px;max-width:100%;margin-top:12px;padding:3px 0 5px;display:flex;overflow-x:auto}.app-sidebar nav a{white-space:nowrap;flex-shrink:0}.app-sidebar .brand-name{white-space:nowrap}}@media (max-width:650px){.student-header .header-actions{gap:10px}.student-header .header-actions a{font-size:11px}.list-toolbar input,.list-toolbar select,.grading-panel input,.grading-panel textarea,.grading-question>label>input{font-size:16px}}.toast-region{z-index:100;top:max(20px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));pointer-events:none;gap:10px;width:min(390px,100vw - 40px);display:grid;position:fixed}.toast{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);color:var(--text);pointer-events:auto;border-radius:12px;align-items:flex-start;gap:10px;padding:14px;animation:.16s ease-out toast-enter;display:flex;box-shadow:0 8px 30px #0002}.toast p{overflow-wrap:anywhere;flex:1;margin:0;font-size:13px}.toast .icon-button{flex-shrink:0;min-width:28px;min-height:28px;padding:4px}.toast-symbol{color:var(--accent);font-weight:700}.toast-warning{border-left-color:var(--warning)}.toast-warning .toast-symbol{color:var(--warning)}.toast-error{border-left-color:var(--danger)}.toast-error .toast-symbol{color:var(--danger)}.app-modal.confirm-modal{width:min(94vw,29rem)}.confirm-description{color:var(--muted);margin:0 0 24px}.button.danger-action{background:var(--danger);color:var(--surface)}.field-error{color:var(--danger);margin:6px 0;font-size:12px}[aria-invalid=true]{border-color:var(--danger)!important}.actions{align-items:center}.badge{flex-shrink:0;justify-content:center;align-self:center;align-items:center;line-height:1.45}.published-status{min-height:32px;padding:6px 12px;font-size:12px}.panel>.roster-toolbar{justify-content:flex-start;gap:12px;margin:0;padding:0 24px 24px}.roster-toolbar label{flex:0 28rem}select:not([multiple]):not([size]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23637468' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-inline-end:44px}:root[data-theme=dark] select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23bac5d2' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.spinner{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite feedback-spin;display:inline-block}.navigation-pending{opacity:0;width:16px;height:16px;margin-left:auto}.navigation-pending.is-pending{opacity:1}.page-loading>p{color:var(--muted);align-items:center;gap:10px;display:flex}.loading-skeleton{background:var(--subtle);border-radius:12px;margin:20px 0}.skeleton-heading{width:min(60%,320px);height:36px}.skeleton-panel{border:1px solid var(--border);height:130px}@keyframes feedback-spin{to{transform:rotate(360deg)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:650px){.panel>.roster-toolbar{padding-inline:16px}.roster-toolbar label{flex-basis:100%}.panel-heading .actions>.button{white-space:nowrap;flex:100%}.roster-toolbar .button{width:100%}.toast-region{top:auto;bottom:max(16px, env(safe-area-inset-bottom));width:calc(100vw - 32px);right:16px}}@media (prefers-reduced-motion:reduce){.toast,.spinner{animation:none}}.classroom-tools{flex-wrap:wrap;align-items:center;gap:10px;padding:0 24px 20px;display:flex}@media (max-width:650px){.classroom-tools{padding-inline:16px}.classroom-tools .button{flex:100%}}.app-sidebar,.app-header,.student-header{background-color:var(--chrome)}:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select){background-color:#141d28}:root[data-theme=dark] .button.secondary{border-color:var(--field-border)}:root[data-theme=dark] .app-modal::backdrop{background:#050a12b3}.help-start{margin-bottom:24px}.help-start h2{margin:0;font-size:20px}.help-start p{color:var(--muted);margin-top:6px}.help-journey{flex-wrap:wrap;gap:8px 14px;margin:18px 0 0;padding:0;list-style:none;display:flex}.help-journey a{align-items:center;gap:8px;padding:8px 4px;font-size:13px;text-decoration:none;display:inline-flex}.help-journey a>span{border:1px solid var(--border);border-radius:50%;place-items:center;width:26px;height:26px;font-weight:650;display:grid}.help-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:24px;display:grid}.help-index{padding:18px;position:sticky;top:20px}.help-index .form-stack input{min-width:0;font-size:13px}.help-filters{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.help-filter{border:1px solid var(--border);min-height:36px;color:var(--muted);background:var(--surface);border-radius:7px;padding:7px 9px;font-size:12px}.help-filter[aria-pressed=true]{background:var(--subtle);color:var(--accent);border-color:var(--accent);font-weight:650}.help-match-count{color:var(--muted);margin:14px 0 8px;font-size:11px}.help-index nav{scrollbar-gutter:stable;gap:4px;max-height:52dvh;margin-inline:-4px;padding:4px;display:grid;overflow-y:auto}.help-index nav>a{color:var(--muted);border-radius:7px;padding:9px 10px;font-size:12px;line-height:1.65;text-decoration:none}.help-index nav>a:hover{background:var(--subtle);color:var(--text)}.help-index nav>a[aria-current]{background:var(--subtle);color:var(--accent);font-weight:650}.help-index-note,.help-image-date{color:var(--muted);font-size:11px;line-height:1.8}.help-index-note{border-top:1px solid var(--border);margin:16px 0 0;padding-top:14px}.help-no-results{font-size:13px}.help-article{min-width:0;padding:clamp(20px,3vw,34px);scroll-margin-top:24px}.help-article-heading h2{margin:12px 0;font-size:clamp(23px,3vw,30px);line-height:1.4}.help-article-heading>p,.help-task,.help-related{font-size:15px;line-height:1.9}.help-location{color:var(--muted);align-items:flex-start;gap:8px;display:flex;font-size:12px!important}.help-location .ui-icon{margin-top:4px}.help-task{border-top:1px solid var(--border);margin-top:30px;padding-top:24px}.help-task h3,.help-related h3{margin:0 0 16px;font-size:19px;line-height:1.5}.help-steps{margin:16px 0;padding-left:24px}.help-steps li{margin-bottom:14px;padding-left:5px}.help-steps li::marker{color:var(--accent);font-weight:650}.help-result{background:var(--subtle);border-radius:9px;padding:14px 16px}.help-result strong{color:var(--accent)}.help-note{border-left:3px solid var(--warning);background:var(--warning-bg);color:var(--text);border-radius:0 8px 8px 0;padding:12px 16px;font-size:14px}.help-note>strong{color:var(--warning)}.help-note p{margin:4px 0 0}.help-figure{border:1px solid var(--border);border-radius:10px;margin:22px 0;overflow:hidden}.help-figure>a{background:var(--background);display:block}.help-figure img{width:100%;height:auto;display:block}.help-figure figcaption{background:var(--background);padding:14px 16px;font-size:12px;line-height:1.75}.help-figure figcaption>p{color:var(--muted);margin:0 0 12px}.help-callouts{gap:9px;margin:0;padding:0;list-style:none;display:grid}.help-callouts li{align-items:flex-start;gap:9px;display:flex}.help-callouts li>span{color:#17232a;background:#ffb547;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;font-size:12px;font-weight:750;display:grid}.help-related{border-top:1px solid var(--border);margin-top:30px;padding-top:24px}.help-related a{justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:flex}.help-pagination{justify-content:space-between;gap:10px;margin-top:28px;display:flex}.help-image-date{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}@media (max-width:1100px){.help-layout{grid-template-columns:195px minmax(0,1fr);gap:16px}.help-index{padding:14px}}@media (max-width:850px){.help-layout{grid-template-columns:1fr}.help-index{position:static}.help-index nav{max-height:220px}.help-index-note{margin-top:12px;padding-top:10px}.help-filters{margin-top:12px}.help-filter{min-height:44px}.help-index .form-stack input,.help-article-heading>p,.help-task{font-size:16px}.help-article{padding:20px 16px}.help-figure figcaption{padding:12px}}.help-back-to-index{float:right;margin-top:-8px;font-size:12px}
