:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#eef6f5;--surface:#fff;--surface-soft:#f2f8f7;--surface-brand:#e1f4f1;--ink:#091b33;--ink-secondary:#40546b;--ink-muted:#68798b;--brand:#087f83;--brand-strong:#061a3a;--brand-soft:#d7f1ed;--brand-navy:#06143c;--brand-aqua:#19b8b0;--brand-aqua-bright:#77e2d8;--border:#d6e4e4;--border-strong:#afc6c7;--danger:#b42318;--danger-soft:#fff1f0;--danger-border:#f5b8b2;--warning:#9a5b13;--warning-soft:#fff8e6;--warning-border:#efcf86;--success:#087653;--success-soft:#e8f7f0;--success-border:#acd8c7;--info:#236f7c;--info-soft:#e8f5f7;--info-border:#b8dfe5;--neutral-soft:#eef2ef;--accent-coral:#ec6f88;--accent-sun:#edbd4a;--accent-lilac:#9294dc;--accent-sky:#36bfc2;--control-surface-hover:#f0f9f8;--control-disabled:#e4ecec;--focus:#12a9a457;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--shadow-sm:0 8px 24px #17231f0f;--shadow-lg:0 28px 80px #17231f1f;--control-height:44px;--filter-action-width:112px;--ease:.16s ease}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:radial-gradient(circle at 8% 4%, #19b8b026, transparent 27rem), radial-gradient(circle at 94% 96%, #06143c14, transparent 32rem), var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,Microsoft YaHei UI,Microsoft YaHei,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}.select-control{min-width:148px;color:var(--ink);display:inline-grid;position:relative}.select-input{width:100%;height:var(--control-height);min-height:var(--control-height);appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:inherit;cursor:pointer;transition:border-color var(--ease), background var(--ease), box-shadow var(--ease);padding:9px 42px 9px 13px}.select-input:hover:not(:disabled){border-color:var(--brand);background:var(--surface-soft)}.select-input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 4px #176b5717}.select-input:disabled{cursor:not-allowed;opacity:.62}.select-chevron{border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:16px;transform:translateY(-65%)rotate(45deg)}button{min-height:var(--control-height);border-radius:var(--radius-sm);background:var(--brand);color:#fff;cursor:pointer;transition:background var(--ease), transform var(--ease), box-shadow var(--ease);border:0;padding:11px 18px;font-weight:700}button:hover:not(:disabled){background:var(--brand-strong);box-shadow:0 6px 16px #176b5729}button:active:not(:disabled){transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.65}button[aria-busy=true],button[data-busy=true]{cursor:wait}.eyebrow{color:var(--brand);letter-spacing:.12em;margin:0;font-size:.75rem;font-weight:800}h1{letter-spacing:-.035em;margin:10px 0 12px;font-size:clamp(2rem,5vw,3rem);line-height:1.14}p{line-height:1.65}.muted{color:var(--ink-secondary);margin:0}.entry-page{background:var(--surface);border:1px solid #0e515b33;border-radius:28px;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);width:min(100%,1400px);min-height:calc(100dvh - 48px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 30px 100px #06143c29}.entry-copy{z-index:1;background:radial-gradient(circle at 0 0,#19b8b029,#0000 25rem),linear-gradient(155deg,#fff,#eff9f7);flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(32px,5vw,72px);display:flex;position:relative}.entry-intro{max-width:660px;margin-block:clamp(36px,7vh,92px)}.entry-intro h1{max-width:620px;color:var(--brand-navy);letter-spacing:-.055em;margin-block:14px 20px;font-size:clamp(2.8rem,5.2vw,5.6rem);line-height:1.02}.entry-intro>p:last-child{max-width:590px;color:var(--ink-secondary);margin:0;font-size:clamp(1rem,1.5vw,1.16rem)}.entry-actions{grid-template-columns:minmax(0,1.5fr) minmax(180px,.78fr);gap:12px;display:grid}.entry-actions a{min-width:0;min-height:112px;transition:transform var(--ease), border-color var(--ease), box-shadow var(--ease);border-radius:18px;flex-direction:column;justify-content:center;padding:20px 22px;text-decoration:none;display:flex}.entry-actions a>span,.entry-actions a>small{letter-spacing:.05em;font-size:.76rem;font-weight:700}.entry-actions a>strong{margin-top:5px;font-size:1.16rem}.entry-primary{border:1px solid var(--brand);background:linear-gradient(135deg, var(--brand), #07595f);color:#fff;box-shadow:0 16px 36px #087f8338}.entry-primary small{color:#ffffffb8;letter-spacing:0;margin-top:4px}.entry-secondary{color:var(--brand-navy);background:#fff;border:1px solid #06143c29}.entry-footnote{color:var(--ink-muted);letter-spacing:.13em;margin:22px 0 0;font-size:.72rem;font-weight:700}.entry-visual{background:radial-gradient(circle at 25% 20%,#77e2d875,#0000 28%),radial-gradient(circle at 76% 72%,#19b8b042,#0000 34%),linear-gradient(145deg,#07163e 0%,#092753 54%,#086b71 100%);place-items:center;min-width:0;padding:clamp(42px,6vw,86px);display:grid;position:relative;overflow:hidden}.entry-image-frame{z-index:1;background:#fff;border:8px solid #ffffffeb;border-radius:34% 25% 35% 26%;width:min(100%,610px);position:relative;overflow:hidden;transform:rotate(1.4deg);box-shadow:0 38px 80px #00071d6b}.entry-image-frame img{width:100%;height:auto;display:block}.entry-visual-note{z-index:2;color:#fff;background:linear-gradient(145deg,#041331f0,#073348f0);border:1px solid #ffffff47;border-radius:16px;align-items:center;gap:12px;max-width:310px;padding:14px 16px;display:flex;position:absolute;bottom:clamp(24px,5vw,64px);right:clamp(24px,5vw,72px);box-shadow:0 14px 40px #00000038}.entry-visual-note>span,.chemistry-symbol{width:44px;height:44px;color:var(--brand-aqua-bright);background:#19b8b029;border:1px solid #77e2d894;border-radius:10px;flex:0 0 44px;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.entry-visual-note p,.student-chemistry-note p{margin:0}.entry-visual-note strong,.entry-visual-note small,.student-chemistry-note strong,.student-chemistry-note small{display:block}.entry-visual-note small{color:#ffffffad;margin-top:2px}.brand-lockup{color:var(--brand-navy);align-self:flex-start;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-avatar{object-fit:cover;border:2px solid #19b8b07a;border-radius:14px;flex:none;box-shadow:0 8px 22px #06143c24}.brand-lockup-copy>strong,.brand-lockup-copy>span,.brand-lockup-copy>small{display:block}.brand-lockup-copy>strong{letter-spacing:-.02em;font-size:1.18rem;line-height:1.05}.brand-lockup-copy>span{color:var(--brand);letter-spacing:.14em;font-size:.76rem;font-weight:800}.brand-lockup-copy>small{color:var(--ink-muted);margin-top:3px;font-size:.68rem;font-weight:600}.brand-lockup-compact{color:#fff}.brand-lockup-compact .brand-lockup-copy>strong{font-size:1rem}.brand-lockup-compact .brand-lockup-copy>span{color:var(--brand-aqua-bright);font-size:.66rem}.brand-lockup-compact .brand-lockup-copy>small{color:#ffffff94}.molecule-orbit{border:1px solid #77e2d852;border-radius:50%;width:180px;height:180px;animation:.9s ease-out both molecule-float;position:absolute}.molecule-orbit:before,.molecule-orbit:after{content:"";border:1px solid #77e2d842;border-radius:50%;position:absolute;inset:32px -22px;transform:rotate(55deg)}.molecule-orbit:after{transform:rotate(-55deg)}.molecule-orbit span{background:var(--brand-aqua-bright);border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:0 0 18px #77e2d8d1}.molecule-orbit span:first-child{top:20px;left:34px}.molecule-orbit span:nth-child(2){bottom:68px;right:-4px}.molecule-orbit span:nth-child(3){bottom:8px;left:38px}.molecule-orbit-large{opacity:.82;width:420px;height:420px;top:9%;right:8%}@keyframes molecule-float{0%{opacity:0;transform:translateY(10px)rotate(-4deg)}to{opacity:1;transform:translate(0,0)rotate(0)}}.auth-page{border:1px solid var(--border);background:var(--surface);width:min(100%,1120px);min-height:min(720px,100dvh - 48px);box-shadow:var(--shadow-lg);border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);margin:0 auto;display:grid;overflow:hidden}.auth-story{color:#fff;background:radial-gradient(circle at 85% 15%,#77e2d83d,#0000 32%),linear-gradient(145deg,#07163e 0%,#0b3155 66%,#08787c 100%);flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(36px,6vw,72px);display:flex;position:relative;overflow:hidden}.auth-page-student .auth-story{background:radial-gradient(circle at 86% 14%, #ffffff2b, transparent 34%), linear-gradient(145deg, #07525d 0%, var(--brand) 48%, #071d46 100%)}.auth-story .brand-lockup{z-index:2;color:#fff;position:relative}.auth-story .brand-lockup-copy>span{color:var(--brand-aqua-bright)}.auth-story .brand-lockup-copy>small{color:#fff9}.auth-story-copy{z-index:2;max-width:560px;margin-block:36px 240px;position:relative}.auth-story-copy .eyebrow{color:var(--brand-aqua-bright)}.auth-illustration{aspect-ratio:1;width:min(68%,430px);position:absolute;bottom:-76px;right:-34px}.auth-illustration img{z-index:1;border:7px solid #ffffffe0;border-radius:42% 42% 12%;width:100%;height:auto;display:block;position:relative;transform:rotate(2deg);box-shadow:0 28px 60px #00061a52}.auth-illustration .molecule-orbit{top:-56px;left:-60px}.auth-story h1{color:#fff;max-width:620px;margin-top:20px;font-size:clamp(2.45rem,5vw,4.5rem)}.auth-product-copy{color:#ffffffb8;max-width:560px;margin:20px 0 0;font-size:1.05rem}.activity-type{border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.activity-practice{background:var(--brand-soft);color:var(--brand-strong)}.activity-resource{background:color-mix(in srgb, var(--accent-sun) 32%, white);color:#755006}.activity-exam{background:color-mix(in srgb, var(--accent-lilac) 35%, white);color:#59468b}.activity-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px;display:grid}.activity-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--surface), var(--surface-soft));box-shadow:var(--shadow-sm);gap:9px;padding:18px;display:grid}.activity-card .activity-type{width:fit-content}.activity-card p,.activity-card small{color:var(--ink-secondary);margin:0}.activity-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.activity-form>label,.activity-attempt-fields label{gap:7px;font-weight:700;display:grid}.activity-form input:not([type=checkbox]){border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:44px;padding:9px 12px}.activity-form fieldset,.activity-form>button{grid-column:1/-1}.activity-attempt-fields{align-items:end;gap:12px;display:flex}.checkbox-label{align-items:center;min-height:44px;flex-direction:row!important;display:flex!important}.compact-picker-grid{max-height:180px;overflow-y:auto}.auth-panel{flex-direction:column;justify-content:center;padding:clamp(34px,6vw,68px);display:flex}.auth-panel-heading h2{letter-spacing:-.03em;margin:10px 0 12px;font-size:clamp(1.85rem,4vw,2.55rem)}.auth-form{gap:10px;margin-top:32px;display:grid}.auth-form label{margin-top:8px;font-weight:700}.auth-form input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:50px;color:inherit;transition:border-color var(--ease), box-shadow var(--ease);background:#fff;padding:11px 14px}.auth-form input:hover{border-color:#78958a}.auth-form input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 4px #176b5717}.auth-form button[type=submit]{width:100%;min-height:50px;margin-top:4px}.field-label-row{justify-content:space-between;align-items:baseline;gap:16px;margin-top:8px;display:flex}.field-label-row label{margin:0}.field-label-row span{color:var(--ink-muted);font-size:.82rem}.form-message{min-height:28px}.form-message p{color:var(--danger);margin:4px 0 0;font-size:.925rem}.signed-in-as{border-radius:var(--radius-sm);background:var(--surface-soft);margin:0 0 8px;padding:12px 14px}.auth-route-links{justify-content:space-between;gap:16px;margin-top:18px;display:flex}.auth-route-links a{color:var(--brand);text-underline-offset:4px;font-size:.86rem;font-weight:700;text-decoration-thickness:1px}.auth-card,.landing-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,720px);box-shadow:var(--shadow-sm);margin:max(24px,8vh) auto;padding:clamp(28px,7vw,48px)}.landing-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.landing-header h1{margin-bottom:0}.secondary-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-secondary);flex:none}.secondary-button:hover:not(:disabled){border-color:var(--brand);background:var(--surface-brand);color:var(--brand-strong)}.welcome{margin:36px 0 4px;font-size:1.25rem;font-weight:700}.teacher-shell,.student-shell{--role-accent:var(--brand-aqua);--role-accent-soft:color-mix(in srgb, var(--brand-aqua) 13%, white);width:min(100%,1440px);margin:0 auto}.student-shell{--role-accent:var(--accent-sky);--role-accent-soft:color-mix(in srgb, var(--accent-sky) 18%, white)}.app-shell{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:calc(100dvh - 48px);box-shadow:var(--shadow-sm);grid-template-columns:248px minmax(0,1fr);display:grid;overflow:hidden}.app-sidebar{background:radial-gradient(circle at 14% 4%, #19b8b042, transparent 14rem), linear-gradient(180deg, var(--brand-navy) 0%, #071d42 70%, #063d52 100%);color:#fff;border-right:1px solid #ffffff17;flex-direction:column;justify-content:space-between;min-width:0;padding:24px 18px;display:flex;position:relative;overflow:hidden}.app-sidebar:after{border:18px solid color-mix(in srgb, var(--role-accent) 20%, transparent);content:"";pointer-events:none;border-radius:42% 58% 60% 40%;width:90px;height:90px;position:absolute;bottom:110px;right:-34px;transform:rotate(16deg)}.app-sidebar>*{z-index:1;position:relative}.app-navigation{gap:6px;margin-top:34px;display:grid}.app-navigation a,.back-link{color:#ffffffad;min-height:44px;transition:border-color var(--ease), background var(--ease), color var(--ease), transform var(--ease);border:1px solid #0000;border-radius:999px;padding:11px 13px;font-weight:700;text-decoration:none}.app-navigation a:hover,.back-link:hover{color:#fff;background:#77e2d817;border-color:#77e2d838}.app-navigation .app-navigation-active{box-shadow:inset 4px 0 0 var(--brand-aqua-bright);color:#fff;background:linear-gradient(90deg,#19b8b042,#77e2d817);border-color:#77e2d852}.app-profile{border-top:1px solid #ffffff21;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:16px 8px 0;display:grid}.profile-avatar{color:#fff;background:#19b8b02e;border:1px solid #77e2d870;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.profile-avatar-image{object-fit:cover;display:block}.app-profile strong,.app-profile span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-profile span{color:#ffffff8a;margin-top:2px;font-size:.75rem}.app-profile .secondary-button{color:#ffffffbd;background:#ffffff12;border-color:#ffffff29}.app-profile .secondary-button:hover:not(:disabled){color:#fff;background:#77e2d81f;border-color:#77e2d859}.app-profile>div:last-of-type{min-width:0}.app-profile>div:last-child{grid-column:1/-1}.app-profile button{width:100%}.management-section{border:1px solid color-mix(in srgb, var(--brand) 16%, var(--border));border-radius:var(--radius-lg);background:radial-gradient(circle at 96% 8%, var(--role-accent-soft), transparent 15rem), linear-gradient(135deg, var(--surface-brand), #f8f9ee);justify-content:space-between;align-items:flex-start;gap:24px;padding:clamp(24px,4vw,36px);display:flex;position:relative;overflow:hidden}.management-section:after{background:color-mix(in srgb, var(--accent-sun) 28%, transparent);content:"";pointer-events:none;border-radius:55% 45% 60% 40%;width:92px;height:72px;position:absolute;bottom:-38px;right:34%;transform:rotate(-12deg)}.management-section>*{z-index:1;position:relative}.app-content{background:linear-gradient(#fffffff0, #fffffff0), radial-gradient(circle at 100% 0%, var(--role-accent-soft), transparent 30rem);min-width:0;min-height:0;padding:clamp(28px,4vw,56px)}.workspace-hero{background:radial-gradient(circle at 92% 16%,#ffffffdb,#0000 32%),linear-gradient(135deg,#dcf3ef,#f6faf5);border:1px solid #c9e1df;border-radius:20px;justify-content:space-between;align-items:flex-start;gap:32px;padding:clamp(28px,5vw,48px);display:flex;overflow:hidden}.workspace-hero h1{max-width:760px;margin-top:14px;font-size:clamp(2rem,4vw,3.4rem)}.workspace-hero .muted{max-width:680px;font-size:1.02rem}.workspace-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.workspace-hero-note{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffa3;border:1px solid #176b571f;flex:0 0 260px;padding:22px}.workspace-hero-note span{color:var(--ink-muted);font-size:.78rem;font-weight:700;display:block}.workspace-hero-note strong{color:var(--brand-strong);margin-top:8px;font-size:1.12rem;display:block}.workspace-hero-note p{color:var(--ink-secondary);margin:12px 0 0;font-size:.88rem}.chemistry-note,.student-chemistry-note{background:linear-gradient(145deg, var(--brand-navy), #0a485c);color:#fff;align-items:center;gap:14px;min-height:132px;display:flex}.chemistry-note small,.student-chemistry-note small{color:#ffffff8f;letter-spacing:.08em;font-size:.69rem;font-weight:700;display:block}.chemistry-note strong,.student-chemistry-note strong{color:#fff;margin-top:7px;font-size:1rem;line-height:1.45;display:block}.student-chemistry-note{flex:0 0 300px}.teacher-workspace-hero{background:radial-gradient(circle at 88% 12%,#19b8b02e,#0000 32%),linear-gradient(140deg,#eff9f6,#e6f3f3)}.workspace-section{margin-top:42px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.section-heading h2{margin:8px 0 0;font-size:1.55rem}.section-heading>p{color:var(--ink-muted);margin:0;font-size:.82rem}.stat-grid,.workflow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card,.workflow-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:inherit;transition:border-color var(--ease), box-shadow var(--ease), transform var(--ease);text-decoration:none}.stat-card:hover,.workflow-card:hover{border-color:color-mix(in srgb, var(--brand) 42%, var(--border));box-shadow:var(--shadow-sm)}.stat-card{gap:4px;padding:22px;display:grid}.stat-card strong{letter-spacing:-.04em;font-size:2rem}.stat-card span{color:var(--ink-secondary)}.workflow-card{align-content:start;min-height:190px;padding:22px;display:grid}.workflow-card>span{color:var(--brand);font-size:.78rem;font-weight:800}.workflow-card strong{margin-top:28px;font-size:1.14rem}.workflow-card p{color:var(--ink-secondary);margin:10px 0 0;font-size:.9rem}.dashboard-grid,.card-list{gap:18px;margin-top:32px;display:grid}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboard-card,.class-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:24px}.dashboard-card{color:inherit;gap:10px;text-decoration:none;display:grid}.dashboard-card:hover{border-color:color-mix(in srgb, var(--brand) 48%, var(--border))}.dashboard-card strong{font-size:1.25rem}.management-section h1,.class-card h2{margin:8px 0}.inline-form,.filter-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inline-form label,.filter-form label{gap:6px;font-weight:700;display:grid}.inline-form input,.filter-form input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:180px;padding:9px 12px}.inline-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.filter-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.inline-form .select-input,.filter-form .select-input,.inline-form>button,.filter-form>button{height:var(--control-height);min-height:var(--control-height)}.filter-form .select-control{min-width:180px}.filter-form>button[type=submit]{flex:0 0 var(--filter-action-width);width:var(--filter-action-width)}.create-form{justify-content:flex-end}.filter-form,.member-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--surface-soft), var(--role-accent-soft));margin:28px 0 18px;padding:18px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:14px 16px}th{background:var(--surface-brand);color:var(--ink-secondary);letter-spacing:.02em;font-size:.86rem}tr:last-child td{border-bottom:0}.action-cell,.dialog-form{gap:14px;margin-top:20px;display:grid}.picker-search{grid-template-columns:minmax(0, 1fr) var(--filter-action-width);align-items:end;gap:12px;margin-top:20px;display:grid}.dialog-form label,.picker-search label{gap:7px;font-weight:700;display:grid}.dialog-form input,.picker-search input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:10px 13px}.dialog-form input{min-height:46px}.picker-search input,.picker-search>button{height:var(--control-height);min-height:var(--control-height)}.picker-search>button{width:var(--filter-action-width)}.selection-summary{color:var(--brand-strong);margin:18px 0 8px;font-weight:800}.picker-results{gap:8px;max-height:min(420px,48vh);padding:4px;display:grid;overflow-y:auto}.picker-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);cursor:pointer;transition:border-color var(--ease), transform var(--ease);grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.picker-option:hover{border-color:var(--brand)}.picker-option input{width:20px;height:20px;accent-color:var(--brand)}.picker-option span{gap:2px;display:grid}.picker-option small{color:var(--ink-muted)}.picker-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compact-button,.button-link{min-height:38px;padding:8px 12px}.button-link{border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand);color:#fff;transition:border-color var(--ease), background var(--ease), box-shadow var(--ease), transform var(--ease);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 6px 16px #176b571f}.button-link:hover{border-color:var(--brand-strong);background:var(--brand-strong);box-shadow:0 8px 20px #176b572e}.danger-button{background:var(--danger)}.status-badge{border:1px solid #0000;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:800;line-height:1.2;display:inline-block}.status-active{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.status-disabled,.status-archived{border-color:var(--border);background:var(--neutral-soft);color:var(--ink-secondary)}.error-banner{border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:13px 16px}.empty-state{border:1px dashed color-mix(in srgb, var(--role-accent) 46%, var(--border));border-radius:var(--radius-md);background:linear-gradient(135deg, var(--surface-soft), var(--role-accent-soft));color:var(--ink-secondary);text-align:center;margin-top:24px;padding:30px 24px;position:relative;overflow:hidden}.empty-state:before{background:var(--role-accent);width:10px;height:10px;box-shadow:15px -5px 0 -2px var(--accent-sun);content:"";border-radius:50%;margin-right:9px;display:inline-block}.pagination-summary{color:var(--ink-secondary);text-align:center;padding:16px}.class-card{justify-content:space-between;align-items:center;gap:18px;display:flex}.member-picker fieldset{border:0;margin:0 0 14px}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:12px;display:grid}.checkbox-grid label{align-items:center;gap:8px;display:flex}.dialog-backdrop{z-index:20;background:#152238a6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-card{background:#fff;border-radius:18px;width:min(100%,560px);padding:30px;box-shadow:0 24px 80px #00000040}.dialog-card h2{margin:8px 0}.temporary-password{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#f7f9fc;border:1px dashed #7d91ad;border-radius:10px;margin:20px 0;padding:16px;font-size:1.2rem;display:block}.copy-status{color:#067647;min-height:24px}.paper-card,.document-card,.version-header,.question-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.paper-card,.document-card,.paper-metadata-form,.question-create-form,.question-card,.published-note{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.paper-metadata-form,.question-create-form,.published-note{background:linear-gradient(135deg, var(--surface-soft), var(--role-accent-soft));box-shadow:none}.paper-card h2,.document-card h2,.question-card h2,.question-create-form h2{margin:0 0 8px}.paper-card-heading,.document-card-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.document-card h2{overflow-wrap:anywhere}.document-type-pdf{color:#b42318;background:#fee4e2}.document-type-docx{border-color:var(--info-border);background:var(--info-soft);color:var(--info)}.import-hero{align-items:stretch}.document-upload-panel{border-radius:var(--radius-md);background:#ffffffad;border:1px dashed #8fb3a5;flex:0 360px;align-content:center;gap:10px;padding:22px;display:grid}.document-upload-panel label{gap:8px;font-weight:800;display:grid}.document-upload-panel span{color:var(--ink-muted);font-size:.8rem}.document-upload-panel input[type=file]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;width:100%;min-height:46px;padding:8px}.document-list{margin-top:18px}.import-card{border-color:var(--border);background:var(--surface);gap:24px}.document-main{flex:1;min-width:0}.document-actions{flex:none}.parse-job-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);gap:12px;margin-top:20px;padding:16px;display:grid}.parse-job-empty{grid-template-columns:minmax(0,1fr) auto;align-items:center}.parse-job-panel p{color:var(--ink-secondary);margin:5px 0 0;font-size:.88rem}.parse-job-heading,.parse-job-meta{justify-content:space-between;align-items:center;gap:14px;display:flex}.parse-job-heading .status-badge{background:var(--brand-soft);color:var(--brand-strong)}.parse-job-panel progress,.answer-import-state progress{width:100%;height:8px;accent-color:var(--brand);background:#d7e3dd;border:0;border-radius:999px;overflow:hidden}.parse-job-panel progress::-webkit-progress-bar{background:#d7e3dd;border-radius:999px}.answer-import-state progress::-webkit-progress-bar{background:#d7e3dd;border-radius:999px}.parse-job-panel progress::-webkit-progress-value{background:var(--brand);border-radius:999px}.answer-import-state progress::-webkit-progress-value{background:var(--brand);border-radius:999px}.parse-job-panel progress::-moz-progress-bar{background:var(--brand);border-radius:999px}.answer-import-state progress::-moz-progress-bar{background:var(--brand);border-radius:999px}.parse-job-meta>span{color:var(--ink-muted);font-size:.8rem}.parse-result-stats{flex-wrap:wrap;gap:8px;display:flex}.parse-result-stats span{color:var(--ink-secondary);background:#fff;border-radius:999px;padding:6px 9px;font-size:.8rem}.parse-job-success{border-color:var(--success-border);background:var(--success-soft)}.parse-job-failed,.answer-import-failed{border-color:var(--danger-border);background:var(--danger-soft)}.answer-import-progress{margin-top:12px}.answer-import-filename,.answer-import-terminal{margin:0}.answer-import-ready,.answer-import-applied{border-color:var(--success-border);background:var(--success-soft)}.answer-import-cancelled,.answer-import-discarded,.answer-import-superseded,.answer-import-stale{background:var(--neutral-soft)}.text-button{min-height:auto;box-shadow:none;color:var(--brand-strong);background:0 0;padding:4px;font-size:.82rem}.text-button:hover:not(:disabled){box-shadow:none;background:0 0;text-decoration:underline;transform:none}.danger-text-button{color:var(--danger)}.paper-meta{color:var(--ink-secondary);margin:12px 0 0;font-size:.9rem}.status-draft{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.status-published{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.version-header{margin:20px 0 24px}.paper-metadata-form,.question-create-form,.question-fields{gap:14px;margin-bottom:24px;display:grid}.paper-metadata-form label,.question-create-form label,.question-fields label{gap:6px;font-weight:700;display:grid}.paper-metadata-form input,.paper-metadata-form textarea,.question-create-form input,.question-create-form textarea,.question-create-form select,.question-fields input,.question-fields textarea,.question-fields select,.option-row input,.option-row textarea{border:1px solid var(--border-strong);width:100%;min-height:44px;color:inherit;background:#fff;border-radius:9px;padding:9px 12px}textarea{resize:vertical;min-height:100px}.question-list{gap:20px;display:grid}.question-list>[hidden]{display:none}.question-pager{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:24px 0 18px;display:grid}.question-number-strip{scrollbar-width:thin;gap:8px;min-width:0;padding:4px;display:flex;overflow-x:auto}.question-number-button{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--ink);flex:0 0 42px;padding:8px}.question-number-button:hover:not(:disabled){background:var(--surface-soft)}.question-number-button.active{border-color:var(--brand);background:var(--brand);color:#fff}.question-number-button.selected:not(.active){border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}.question-page-count{color:var(--ink-secondary);grid-column:1/-1;justify-self:center;font-size:.9rem}.question-source-mapping{color:var(--ink-secondary);gap:4px;margin-top:8px;font-size:.9rem;display:grid}.question-source-mapping span{overflow-wrap:anywhere}.question-header{margin-bottom:18px}.option-list{border:0;gap:10px;margin:20px 0;padding:0;display:grid}.option-list legend{margin-bottom:10px;font-weight:800}.option-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.option-row>input{width:20px;min-height:20px}.option-row form{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0;display:grid}.option-row form textarea{min-width:0}.option-row form button{flex:none;width:auto}.validation-list{border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:16px 34px}.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}.review-version-header{align-items:center}.save-state{border-radius:999px;margin:4px 0 0;padding:5px 10px;font-size:.85rem;font-weight:700;display:inline-block}.save-saved{background:var(--success-soft);color:var(--success)}.save-dirty{background:var(--warning-soft);color:var(--warning)}.save-saving{background:var(--info-soft);color:var(--info)}.save-failed{background:var(--danger-soft);color:var(--danger)}.review-summary{border:1px solid color-mix(in srgb, var(--brand) 18%, var(--border));border-radius:var(--radius-md);background:radial-gradient(circle at 96% 8%, var(--role-accent-soft), transparent 13rem), var(--surface-brand);gap:16px;margin-bottom:24px;padding:20px;display:grid}.review-summary h2{margin:4px 0 0}.review-summary dl{grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;margin:0;display:grid}.review-summary dl>div{border-radius:var(--radius-sm);background:#ffffffc7;border:1px solid #176b5717;padding:12px}.review-summary dt{color:var(--ink-secondary);font-size:.85rem}.review-summary dd{margin:4px 0 0;font-size:1.15rem;font-weight:800}.review-summary-issues{margin:0}.answer-import-panel{background:#f8faff;border:1px solid #c9d7ed;border-radius:14px;gap:14px;margin-bottom:24px;padding:20px;display:grid}.answer-import-heading,.answer-upload-form,.answer-import-state .action-cell{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.answer-import-heading h2{margin:4px 0 0}.answer-upload-form label,.uncovered-policy{gap:8px;display:grid}.answer-import-state,.answer-proposal-review{gap:12px;display:grid}.answer-proposal-row{background:#fff;border:1px solid #dce4ef;border-radius:10px;gap:10px;padding:14px;display:grid}.answer-proposal-row dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.answer-proposal-row dd{overflow-wrap:anywhere;margin:4px 0 0}.answer-import-recovery{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.paper-review-workspace{grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr);align-items:start;gap:24px;display:grid}.paper-review-workspace.no-source{grid-template-columns:minmax(0,1fr)}.paper-source-pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);max-height:calc(100vh - 32px);box-shadow:var(--shadow-sm);position:sticky;top:16px;overflow:auto}.paper-review-pane{min-width:0}.paper-editor-settings{border-top:1px solid var(--border);gap:20px;margin-top:24px;padding-top:24px;display:grid}.source-viewer{min-height:420px}.source-toolbar{z-index:4;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex;position:sticky;top:0}.source-toolbar>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-controls{align-items:center;gap:6px;display:flex}.source-controls label{align-items:center;gap:4px;display:flex}.source-controls input{width:58px;min-height:40px;padding:5px}.source-canvas-scroll{padding:12px;overflow:auto}.source-canvas-wrap{width:100%;min-height:240px;position:relative}.source-canvas-wrap canvas{background:#fff;max-width:none;display:block;box-shadow:0 3px 14px #1522382e}.source-highlight{color:#7a271a;pointer-events:none;background:#fdb02242;border:3px solid #d92d20;min-width:22px;min-height:18px;font-size:.7rem;font-weight:800;position:absolute}.source-state,.source-empty,.source-page-only{background:#fff;border-radius:10px;margin:16px;padding:14px}.source-page-only p{max-height:120px;margin-bottom:0;overflow:auto}.review-question-card{transition:border-color .16s,box-shadow .16s}.review-question-card.active{border-color:var(--brand);box-shadow:0 0 0 3px #176b571c, var(--shadow-sm)}.question-media-list{gap:10px;margin:12px 0 16px;display:grid}.question-media-item{justify-items:start;gap:8px;display:grid}.question-media-page-label,.question-screenshot-page-label,.question-visual-status{color:var(--ink-secondary);margin:0;font-size:.85rem;font-weight:700}.teacher-question-media-review{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);margin:16px 0;padding:14px}.question-media-image{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:520px;display:block}.question-media-error{color:#b42318;background:#fef3f2;border:1px solid #fda29b;border-radius:10px;margin:0;padding:12px}.student-question-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.student-question-title-row h2{flex:1}.question-screenshot-trigger{flex:none}.question-screenshot-dialog{flex-direction:column;width:min(96vw,1120px);max-height:94vh;display:flex;overflow:hidden}.question-screenshot-toolbar,.question-screenshot-switcher{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.question-screenshot-toolbar output{text-align:center;font-variant-numeric:tabular-nums;min-width:56px}.question-screenshot-switcher .is-active{box-shadow:inset 0 0 0 2px var(--brand-strong)}.question-screenshot-viewport{overscroll-behavior:contain;border:1px solid var(--border);background:var(--surface-soft);touch-action:pan-x pan-y;border-radius:12px;flex:1;place-items:center;min-height:min(54vh,560px);display:grid;overflow:auto}.question-screenshot-viewport img{transform-origin:top;object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:66vh;display:block}.question-screenshot-error{text-align:center;max-width:420px;padding:24px}.question-screenshot-help{color:var(--ink-muted);margin:10px 0 0;font-size:.9rem}.question-screenshot-dialog .dialog-actions{flex:none}.option-row .question-media-list,.answer-options .question-media-list,.result-options .question-media-list{grid-column:1/-1;width:100%}.question-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.question-title-row h2{margin:0}.question-title-row>input{width:20px;height:20px}.warning-badge{color:#b42318;background:#fee4e2;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800}.question-review-meta{color:#58677c;margin:7px 0 0;font-size:.88rem}.question-warning-list,.question-validation-list{gap:7px;margin:0 0 18px;padding:0;list-style:none;display:grid}.question-warning-list li,.question-validation-list li{background:#fff8e6;border-left:4px solid #d97706;padding:10px 12px}.question-validation-list li{color:#8a1c13;background:#fff1f0;border-left-color:#d92d20}.question-review-actions,.merge-toolbar{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.question-order-actions{flex-wrap:wrap;align-items:center}.drag-handle{cursor:grab;touch-action:none}.question-dragging{opacity:.76}.review-dialog-card{width:min(94vw,920px);max-height:90vh;overflow:auto}.replacement-list{gap:16px;margin:18px 0;display:grid}.replacement-question{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);gap:12px;padding:16px;display:grid}.replacement-question label{gap:6px;font-weight:700;display:grid}.replacement-question input,.replacement-question select,.replacement-question textarea{border:1px solid var(--border-strong);border-radius:9px;width:100%;min-height:44px;padding:9px 12px}.replacement-options{gap:8px;display:grid}.replacement-option{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.replacement-option>input:first-child{width:20px;min-height:20px}.published-note{color:#58677c;margin:20px 0}.assignment-header{align-items:center}.assignment-stats{grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px;margin:0;display:grid}.assignment-stats div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-brand);text-align:center;min-width:110px;padding:14px}.assignment-stats dt{color:var(--ink-secondary);font-size:.85rem}.assignment-stats dd{margin:4px 0 0;font-size:1.35rem;font-weight:800}.assignment-section{margin-top:30px}.assignment-section h2{margin-bottom:14px}.assignment-filter{margin-top:0}.assignment-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);gap:16px;padding:18px;display:grid}.assignment-picker fieldset{border:0;margin:0;padding:0}.assignment-picker legend{font-weight:800}.assignment-picker>button{justify-self:start}.assignment-pagination{color:#58677c;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.secondary-link{border:1px solid var(--border-strong);background:var(--surface);box-shadow:none;color:var(--ink-secondary)}.secondary-link:hover{border-color:var(--brand);background:var(--surface-brand);box-shadow:none;color:var(--brand-strong)}.student-page-heading{border-color:color-mix(in srgb, var(--accent-sky) 42%, var(--border));background:radial-gradient(circle at 88% 12%, #ffffffdb, transparent 30%), linear-gradient(135deg, color-mix(in srgb, var(--accent-sky) 22%, white), color-mix(in srgb, var(--accent-lilac) 15%, white));display:flex}.student-paper-filter label{flex:320px}.student-paper-filter input:not([type=hidden]){width:100%}.student-paper-card{align-items:center;position:relative;overflow:hidden}.student-paper-card:before{background:linear-gradient(var(--accent-sky), var(--accent-lilac));content:"";width:5px;position:absolute;inset:0 auto 0 0}.student-paper-card>div{min-width:0}.student-paper-meta,.student-detail-meta{flex-wrap:wrap;gap:16px 28px;margin:18px 0 0;display:flex}.student-paper-meta div,.student-detail-meta div{border-radius:var(--radius-sm);background:var(--role-accent-soft);gap:4px;padding:9px 11px;display:grid}.student-paper-meta dt,.student-detail-meta dt{color:var(--ink-secondary);font-size:.82rem;font-weight:700}.student-paper-meta dd,.student-detail-meta dd{margin:0;font-weight:700}.student-pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:16px;display:grid}.student-pagination>:last-child{justify-self:end}.student-pagination .pagination-summary{margin:0}.student-paper-detail-header h1{overflow-wrap:anywhere}.student-answering-note{border-color:var(--info-border);background:var(--info-soft);color:var(--ink-secondary)}.status-student-question{border-color:color-mix(in srgb, var(--accent-lilac) 48%, var(--border));background:color-mix(in srgb, var(--accent-lilac) 18%, white);color:#5e4f92;white-space:nowrap}.student-question h2{overflow-wrap:anywhere;font-size:1.15rem;line-height:1.55}.student-option-list{gap:10px;margin:0;padding-left:32px;display:grid}.student-option-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);overflow-wrap:anywhere;padding:12px 14px;line-height:1.55}.paper-card-actions,.paper-action,.result-detail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.submitted-actions{flex-wrap:wrap;gap:10px;display:flex}.paper-action{flex-direction:column;align-items:flex-start}.inline-error{color:#b42318;margin:0;font-size:.9rem}.status-attempt-NONE{border-color:var(--border);background:var(--neutral-soft);color:var(--ink-secondary)}.status-attempt-IN_PROGRESS{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.status-attempt-SUBMITTED{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.status-attempt-RESET{border-color:var(--border);background:var(--neutral-soft);color:var(--ink-secondary)}.student-paper-callout,.attempt-submit-bar{border:1px solid var(--info-border);border-radius:var(--radius-md);background:radial-gradient(circle at 92% 18%, var(--role-accent-soft), transparent 12rem), var(--info-soft);justify-content:space-between;align-items:center;gap:18px;margin:22px 0;padding:18px 22px;display:flex}.attempt-submit-bar{border-color:var(--warning-border);background:radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--accent-coral) 14%, white), transparent 12rem), var(--warning-soft)}.student-paper-callout p,.attempt-submit-bar p{margin:0}.answer-options{border:0;gap:10px;margin:0;padding:0;display:grid}.answer-options label{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;min-height:48px;transition:border-color var(--ease), background var(--ease), box-shadow var(--ease);align-items:center;gap:12px;padding:11px 14px;display:flex}.answer-options label:has(input:checked){border-color:color-mix(in srgb, var(--accent-lilac) 68%, var(--brand));background:linear-gradient(90deg, var(--role-accent-soft), color-mix(in srgb, var(--accent-lilac) 15%, white));box-shadow:inset 4px 0 0 var(--accent-lilac)}.answer-options input{width:22px;height:22px;accent-color:var(--brand);flex:none}.save-summary,.save-status{color:var(--ink-secondary)}.save-status{min-height:44px;margin:14px 0 0}.save-saved{color:#067647}.save-failed{color:#b42318;align-items:center;gap:12px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.result-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.result-summary{grid-template-columns:repeat(2,minmax(130px,1fr));gap:12px;margin:0;display:grid}.result-summary div{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--surface-soft), var(--role-accent-soft));padding:16px}.result-summary dt{color:var(--ink-secondary);font-size:.85rem}.result-summary dd{margin:5px 0 0;font-size:1.45rem;font-weight:800}.result-verdict{white-space:nowrap;border-radius:999px;padding:7px 11px;font-weight:800}.result-verdict.is-correct{color:#067647;background:#dcfae6}.result-verdict.is-wrong{color:#b42318;background:#fff1f0}.result-options{gap:9px;margin:0;padding:0;list-style:none;display:grid}.result-options li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow-wrap:anywhere;justify-content:space-between;gap:16px;padding:12px 14px;display:flex}.option-meaning{color:var(--ink-secondary);flex:none;font-weight:800}.answer-availability-note{border:1px solid color-mix(in srgb, var(--accent-sun) 65%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent-sun) 18%, white);margin:20px 0;padding:16px 18px}.answer-availability-note p{color:var(--ink-secondary);margin:5px 0 0}.explanation{border-left:4px solid var(--info);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--info-soft);margin-top:16px;padding:16px}.explanation p{margin-bottom:0}.teacher-result-summary{grid-template-columns:repeat(4,minmax(130px,1fr));margin-bottom:24px}.teacher-result-summary dd{font-size:1.05rem}@media (max-width:1024px){.entry-page{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)}.entry-actions{grid-template-columns:1fr}.entry-actions a{min-height:92px}.entry-visual{padding:38px}.entry-visual-note{bottom:28px;right:28px}.app-shell{grid-template-columns:210px minmax(0,1fr)}.stat-grid,.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:1fr;width:min(100%,720px)}.auth-story{min-height:auto;padding:38px}.auth-story h1{max-width:600px;font-size:clamp(2.2rem,7vw,3.5rem)}.auth-panel{padding:42px 38px}.paper-review-workspace{grid-template-columns:minmax(0,1fr)}.paper-source-pane{max-height:55vh;position:relative;top:auto}.source-toolbar{position:sticky}.review-summary dl{grid-template-columns:repeat(2,minmax(110px,1fr))}}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled),.button-link:hover,.picker-option:hover{transform:translateY(-1px)}.stat-card:hover,.workflow-card:hover,.dashboard-card:hover{transform:translateY(-2px)}.paper-card:hover,.class-card:hover,.document-card:hover{border-color:color-mix(in srgb, var(--brand) 34%, var(--border))}.student-paper-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #46534e1a}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:720px){.molecule-orbit{animation:none}.entry-page{border-radius:20px;flex-direction:column;min-height:auto;display:flex;overflow:visible}.entry-copy{padding:26px 22px 22px}.entry-intro{margin-block:34px}.entry-intro h1{font-size:clamp(2.45rem,12vw,3.8rem)}.entry-actions{grid-template-columns:1fr}.entry-actions a{min-height:84px;padding:16px 18px}.entry-footnote{margin-top:18px}.entry-visual{order:-1;min-height:260px;padding:28px 26px}.entry-image-frame{border-width:5px;width:min(68vw,300px)}.entry-visual-note{max-width:230px;padding:10px 12px;bottom:18px;right:18px}.entry-visual-note small{display:none}.molecule-orbit-large{width:240px;height:240px}.app-shell{min-height:auto;display:block;overflow:visible}.app-sidebar{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 12px max(14px, env(safe-area-inset-left));border-bottom:1px solid #ffffff1a;border-right:0;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;display:grid}.app-sidebar-main{display:contents}.brand-lockup-compact{grid-column:1}.app-navigation{overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-column:1/-1;gap:4px;margin-top:0;padding:2px 0 1px;display:flex;overflow-x:auto}.app-navigation::-webkit-scrollbar{display:none}.app-navigation a{flex:none;padding-inline:12px}.app-profile{border-top:0;grid-area:1/2;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0}.app-profile>.profile-avatar{display:none}.app-profile-identity{text-align:right;max-width:112px}.app-profile>div:last-child{grid-column:auto}.app-profile button{width:auto;min-height:42px;padding:8px 11px;font-size:.8rem}.workspace-hero,.section-heading{flex-direction:column;align-items:stretch}.workspace-hero{gap:20px;padding:24px 20px}.workspace-hero h1{margin-top:10px;font-size:clamp(1.85rem,9vw,2.65rem)}.workspace-actions{margin-top:20px}.student-chemistry-note{flex-basis:auto;min-height:96px}.document-upload-panel{flex-basis:auto}.parse-job-empty,.parse-job-heading,.parse-job-meta{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.workspace-hero-note{flex-basis:auto}.stat-grid,.workflow-grid{grid-template-columns:1fr}.workflow-card{min-height:auto}.workflow-card strong{margin-top:18px}.auth-page{min-height:auto;overflow:visible}.auth-story{min-height:220px;padding:24px;display:block}.auth-story-copy{max-width:calc(100% - 130px);margin:34px 0 0}.auth-story-copy h1{margin:10px 0 0;font-size:clamp(1.8rem,8vw,2.45rem)}.auth-product-copy{display:none}.auth-illustration{width:180px;bottom:-36px;right:-18px}.auth-illustration img{border-width:4px}.auth-illustration .molecule-orbit{display:none}.auth-panel{justify-content:flex-start;padding:28px 24px 30px}.auth-form{margin-top:22px}.auth-route-links{flex-direction:column;align-items:flex-start;gap:10px}.teacher-header,.student-header,.management-section,.class-card,.paper-card,.document-card,.version-header,.question-header{flex-direction:column;align-items:stretch}.app-content{min-height:0;padding:18px 14px 24px}.student-pagination{grid-template-columns:1fr}.student-paper-callout,.attempt-submit-bar,.result-header,.result-options li{flex-direction:column;align-items:stretch}.teacher-result-summary,.result-summary{grid-template-columns:1fr}.paper-card-actions,.paper-card-actions>*,.student-paper-callout button,.attempt-submit-bar button{width:100%}.student-pagination>*,.student-pagination>:last-child{text-align:center;justify-self:stretch}.student-paper-meta,.student-detail-meta{flex-direction:column}.activity-form{grid-template-columns:1fr}.activity-form>*,.activity-form fieldset,.activity-form>button{grid-column:1}.inline-form,.filter-form{flex-direction:column;align-items:stretch}.picker-search{grid-template-columns:1fr;align-items:stretch}.option-row{grid-template-columns:1fr}.option-row>input{width:20px}.option-row form{grid-template-columns:minmax(0,1fr);align-items:stretch}.option-row form button{width:100%}.source-toolbar{flex-direction:column;align-items:stretch}.source-controls{justify-content:space-between;overflow-x:auto}.question-pager{grid-template-columns:auto minmax(0,1fr) auto}.question-pager>.compact-button{padding-inline:10px}.review-summary dl{grid-template-columns:1fr}.replacement-option{grid-template-columns:auto 1fr}.replacement-option button{grid-column:1/-1}.assignment-stats{grid-template-columns:1fr;width:100%}.assignment-pagination{flex-direction:column;align-items:flex-start}.inline-form input,.filter-form input,.inline-form .select-control,.filter-form .select-control,.inline-form button,.filter-form button,.picker-search>button{width:100%}.inline-form .select-control,.filter-form .select-control{min-width:0}.filter-form>button[type=submit]{flex-basis:auto;width:100%}}@media (max-width:520px){body{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.entry-page,.auth-page,.app-shell{border-radius:16px}.entry-visual{min-height:228px}.entry-copy{padding:22px 18px 18px}.entry-intro{margin-block:28px}.entry-intro h1{font-size:2.5rem}.brand-lockup-copy>small{display:none}.brand-lockup-compact .brand-lockup-copy>span{letter-spacing:.08em}.app-profile-identity{display:none}.auth-page{border-radius:16px;min-height:auto}.auth-story{min-height:196px;padding:20px 18px}.auth-story-copy{max-width:calc(100% - 108px);margin-top:27px}.auth-story h1{font-size:1.78rem}.auth-product-copy{font-size:.95rem}.auth-card,.landing-card{border-radius:14px}.landing-header{flex-direction:column;align-items:stretch}.secondary-button{width:100%}.dialog-card{padding:22px 18px}.question-screenshot-dialog{border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:16px 12px}.question-screenshot-dialog .question-screenshot-viewport{min-height:0}.question-screenshot-dialog .question-screenshot-viewport img{max-height:none}.student-question-title-row{flex-direction:column;align-items:stretch}.question-screenshot-trigger{align-self:flex-start}.question-card{padding:18px 14px}.dialog-actions,.dialog-actions>*{width:100%}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f6f1e7;--color-canvas-subtle:#fbf8f1;--color-surface:#fffdf9;--color-surface-raised:#fff;--color-surface-muted:#f3efe6;--color-surface-accent:#e6f4f1;--color-text:#102a4c;--color-text-secondary:#43566d;--color-text-muted:#6e7b89;--color-heading:#082b56;--color-primary:#0b3480;--color-primary-hover:#082860;--color-primary-soft:#e9f0fb;--color-accent:#0a9792;--color-accent-hover:#087a77;--color-accent-soft:#dff3f0;--color-border:#ddd9d0;--color-border-strong:#bbbdbd;--color-focus:#1677d2;--color-selection:#ccece8;--color-danger:#a93b35;--color-danger-soft:#fbecea;--color-danger-border:#e6aaa4;--color-warning:#8a5a0a;--color-warning-soft:#fff4d8;--color-warning-border:#e8ca79;--color-success:#23704d;--color-success-soft:#e7f3e8;--color-success-border:#acd1b2;--color-info:#175e91;--color-info-soft:#e8f2fa;--color-info-border:#aecde3;--color-overlay:#081f399e;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--font-serif:Georgia, "Times New Roman", "Songti SC", SimSun, serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:clamp(1.75rem, 3vw, 2.35rem);--text-display:clamp(2.4rem, 5vw, 4.8rem);--leading-tight:1.18;--leading-normal:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-xs:6px;--radius-sm:9px;--radius-md:13px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px #082b560d;--shadow-sm:0 8px 22px #082b5612;--shadow-md:0 18px 44px #082b561a;--shadow-lg:0 28px 70px #082b5624;--control-height:44px;--control-height-lg:50px;--content-max:1440px;--sidebar-width:244px;--transition-fast:.12s ease;--transition-base:.18s ease;--canvas:var(--color-canvas);--surface:var(--color-surface);--surface-soft:var(--color-surface-muted);--surface-brand:var(--color-surface-accent);--ink:var(--color-text);--ink-secondary:var(--color-text-secondary);--ink-muted:var(--color-text-muted);--brand:var(--color-accent);--brand-strong:var(--color-heading);--brand-soft:var(--color-accent-soft);--brand-navy:var(--color-heading);--brand-aqua:var(--color-accent);--brand-aqua-bright:#48bdb7;--border:var(--color-border);--border-strong:var(--color-border-strong);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--danger-border:var(--color-danger-border);--warning:var(--color-warning);--warning-soft:var(--color-warning-soft);--warning-border:var(--color-warning-border);--success:var(--color-success);--success-soft:var(--color-success-soft);--success-border:var(--color-success-border);--info:var(--color-info);--info-soft:var(--color-info-soft);--info-border:var(--color-info-border);--neutral-soft:var(--color-surface-muted);--control-surface-hover:#f4faf8;--control-disabled:#e7e5df;--focus:#1677d247;--ease:var(--transition-base);--filter-action-width:112px}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px;min-height:100%}body{background-color:var(--color-canvas);min-height:100%;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(#ffffff52,#ffffff52),repeating-linear-gradient(0deg,#0000 0 31px,#082b5606 32px),repeating-linear-gradient(90deg,#0000 0 31px,#082b5605 32px);margin:0;padding:clamp(10px,1.5vw,24px)}::selection{background:var(--color-selection);color:var(--color-heading)}:where(h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote){margin-block-start:0}:where(h1,h2,h3,h4){color:var(--color-heading);letter-spacing:-.025em;font-weight:750;line-height:var(--leading-tight);text-wrap:balance}h1{font-size:var(--text-2xl);margin-block-end:var(--space-4)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{line-height:var(--leading-normal)}:where(a){color:var(--color-primary);text-underline-offset:.18em;text-decoration-thickness:1px}:where(img,svg,canvas,video){max-width:100%}:where(button,input,select,textarea){color:inherit;font:inherit;margin:0}:where(button,[role=button],input,select,textarea,a){-webkit-tap-highlight-color:transparent}:where(button,[role=button],input:not([type=hidden]),select){min-height:var(--control-height)}:where(button,[role=button],input,select,textarea,a):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}:where(input,select,textarea)::placeholder{color:#8a949e;opacity:1}:where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.62}:where(input[type=checkbox],input[type=radio]){width:20px;min-height:20px;accent-color:var(--color-accent)}:where(table){font-variant-numeric:tabular-nums}:where(.muted){color:var(--color-text-muted)}:where(.eyebrow){color:var(--color-accent-hover);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:800}:where(.sr-only,.visually-hidden){clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (max-width:1200px){:root{--sidebar-width:220px}}@media (max-width:960px){body{padding:12px}}@media (max-width:720px){body{background-image:none;padding:0}h1{font-size:clamp(1.65rem,8vw,2.2rem)}}@media (max-width:520px){:root{--radius-lg:14px;--radius-xl:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.hofmann-mascot{background:#fff;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.hofmann-mascot-ring{z-index:1;border:clamp(2px,.2em,5px) solid #132d52;border-bottom-color:#0000;border-radius:50%;position:absolute;inset:4%}.hofmann-mascot-image{z-index:2;object-fit:contain;mix-blend-mode:multiply;width:94.6%;height:94.6%;display:block;position:relative;transform:translate(-2.35%)}.hofmann-mascot-login{width:148px;height:148px}.hofmann-mascot-lockup,.hofmann-mascot-profile{width:42px;height:42px}.hofmann-mascot-lockup .hofmann-mascot-ring,.hofmann-mascot-profile .hofmann-mascot-ring{border-width:2px}.hofmann-mascot-dashboard{width:clamp(150px,15vw,208px);height:clamp(150px,15vw,208px)}.hofmann-mascot-dashboard .hofmann-mascot-ring{border-width:5px}:where(button,.button-link){min-height:var(--control-height);border:1px solid var(--color-accent-hover);border-radius:var(--radius-sm);background:var(--color-accent);box-shadow:var(--shadow-xs);color:#fff;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);padding:.65rem 1rem;font-weight:750;line-height:1.2;text-decoration:none}:where(button,.button-link):hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 7px 16px #082b5621}:where(button,.button-link):active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(1px)}:where(.secondary-button,.secondary-link){border-color:var(--color-border-strong);background:var(--color-surface-raised);box-shadow:none;color:var(--color-heading)}:where(.secondary-button,.secondary-link):hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:none;color:var(--color-heading)}:where(.danger-button){background:var(--color-danger);border-color:#8f302b}:where(.danger-button):hover:not(:disabled){background:#8d302b;border-color:#772720}:where(.text-button){min-width:44px;min-height:44px;box-shadow:none;color:var(--color-primary);background:0 0;border-color:#0000;padding:.5rem}:where(.text-button):hover:not(:disabled){border-color:var(--color-border);background:var(--color-primary-soft);box-shadow:none}:where(.danger-text-button){color:var(--color-danger)}:where(.compact-button){min-height:44px;padding:.55rem .8rem}:where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea,.select-input){border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-raised);width:100%;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);box-shadow:inset 0 1px 1px #082b5608}:where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,.select-input){min-height:var(--control-height);padding:.6rem .8rem}:where(textarea){resize:vertical;min-height:112px;padding:.75rem .8rem}:where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea,.select-input):hover:not(:disabled){background:#fff;border-color:#82939e}:where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea,.select-input):focus-visible{border-color:var(--color-primary);outline-offset:1px;box-shadow:0 0 0 1px var(--color-primary);outline:3px solid #1677d238}.select-control{min-width:160px}.select-input{padding-right:2.75rem}.select-chevron{border-color:var(--color-primary);right:1rem}:where(label,legend){color:var(--color-heading)}:where(.inline-form,.filter-form,.dialog-form,.paper-metadata-form,.question-create-form,.question-fields,.replacement-question,.activity-form) label{font-size:var(--text-sm);font-weight:750}:where(.auth-card,.landing-card,.dashboard-card,.class-card,.stat-card,.workflow-card,.paper-card,.document-card,.question-card,.activity-card,.dialog-card,.review-summary,.answer-import-panel,.assignment-picker,.replacement-question,.published-note){border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-xs)}:where(.dashboard-card,.class-card,.stat-card,.workflow-card,.paper-card,.document-card,.question-card,.activity-card){transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base)}:where(.dashboard-card,.stat-card,.workflow-card):hover{box-shadow:var(--shadow-sm);border-color:#9bb9c0}:where(.filter-form,.member-picker,.paper-metadata-form,.question-create-form){border-radius:var(--radius-md);background:var(--color-canvas-subtle);box-shadow:none;border:1px solid #cddbd8}.management-section,.workspace-hero,.student-page-heading{border-radius:var(--radius-lg);background:linear-gradient(90deg, #0a979214, transparent 48%), var(--color-canvas-subtle);box-shadow:none;border:1px solid #c9d7d5}.management-section:after{display:none}.workspace-hero-note,.document-upload-panel{border-radius:var(--radius-md);background:var(--color-surface-raised);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border:1px dashed #91aaa7}.section-heading h2,:where(.paper-card,.document-card,.question-card) h2{color:var(--color-heading)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:none;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;background:var(--color-surface-raised);width:100%;min-width:640px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e1d9;padding:.85rem 1rem}th{color:var(--color-heading);font-size:var(--text-xs);letter-spacing:.045em;text-transform:uppercase;background:#f2efe8;font-weight:800}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover{background:#f8fbfa}tbody tr:last-child td{border-bottom:0}.status-badge,.activity-type,.save-state,.result-verdict,.warning-badge{border-radius:var(--radius-pill);min-height:28px;font-size:var(--text-xs);border:1px solid #0000;align-items:center;padding:.25rem .65rem;font-weight:800;line-height:1.2;display:inline-flex}:where(.status-active,.status-published,.status-attempt-SUBMITTED,.save-saved){border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}:where(.status-draft,.status-attempt-IN_PROGRESS,.save-dirty){border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning)}:where(.status-disabled,.status-archived,.status-attempt-NONE,.status-attempt-RESET){border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-secondary)}:where(.error-banner,.inline-error,.question-media-error){color:var(--color-danger)}:where(.error-banner,.question-media-error){border-color:var(--color-danger-border);background:var(--color-danger-soft)}.empty-state{border-radius:var(--radius-md);background:var(--color-canvas-subtle);color:var(--color-text-secondary);border:1px dashed #9db7b5}.empty-state:before{background:var(--color-accent);box-shadow:15px -5px 0 -2px #e7b94c}:where(.parse-job-panel,.answer-import-state) progress{border-radius:var(--radius-pill);accent-color:var(--color-accent);overflow:hidden}.dialog-backdrop{z-index:50;background:var(--color-overlay);padding:clamp(12px,3vw,28px)}.dialog-card{width:min(100%,580px);max-height:min(88dvh,860px);box-shadow:var(--shadow-lg);padding:clamp(1.25rem,4vw,2rem);overflow:auto}.dialog-card h2{margin:0 0 var(--space-3)}.dialog-actions{padding-top:var(--space-2);justify-content:flex-end}.temporary-password{border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-heading);border-color:#8ca4b6}.picker-option,.answer-options label,.student-option-list li,.result-options li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised)}.picker-option:hover,.answer-options label:hover{border-color:var(--color-accent);background:#f5fbfa}.answer-options label:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 4px 0 0 var(--color-accent)}.question-number-button{border-color:var(--color-border);background:var(--color-surface-raised);min-height:44px;color:var(--color-heading);flex-basis:44px}.question-number-button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.paper-source-pane,.source-toolbar{background:var(--color-surface-raised);-webkit-backdrop-filter:none;backdrop-filter:none}.source-toolbar{border-bottom-color:var(--color-border)}:where(.action-cell,.paper-card-actions,.paper-action,.result-detail-actions){gap:var(--space-2)}@media (hover:hover) and (pointer:fine){:where(.dashboard-card,.stat-card,.workflow-card):hover{transform:translateY(-2px)}}@media (max-width:960px){.teacher-result-summary,.review-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){:where(.inline-form,.filter-form,.picker-search){align-items:stretch}:where(.inline-form,.filter-form)>:where(label,.select-control,button),.picker-search>*{width:100%}table{min-width:560px}.dialog-actions,.dialog-actions>*{width:100%}.teacher-result-summary,.review-summary dl{grid-template-columns:1fr}}@media (max-width:520px){:where(.dashboard-card,.class-card,.paper-card,.document-card,.question-card,.activity-card){padding:1rem}.dialog-backdrop{align-items:end;padding:0}.dialog-card:not(.question-screenshot-dialog){border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92dvh}}
.teacher-shell,.student-shell{width:min(100%, var(--content-max));--role-accent:var(--color-accent);--role-accent-soft:var(--color-accent-soft);margin-inline:auto}.student-shell{--role-accent:#2475c6;--role-accent-soft:#e8f1fb}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);border-radius:var(--radius-lg);background:var(--color-surface);min-height:calc(100svh - clamp(20px,3vw,48px));box-shadow:var(--shadow-md);border:1px solid #d5d2ca;display:grid;overflow:clip}.app-sidebar{border-right:1px solid var(--color-border);background:linear-gradient(#fffdf8ed, #fffdf8ed), repeating-linear-gradient(0deg, transparent 0, transparent 27px, #082b560d 28px), var(--color-canvas);min-width:0;color:var(--color-text);flex-direction:column;justify-content:space-between;padding:1.5rem 1rem;display:flex;position:relative;overflow:hidden}.app-sidebar:after{opacity:.8;background:0 0;border:1px solid #0a97921f;width:130px;height:130px;bottom:118px;right:-50px}.app-sidebar>*{z-index:1;position:relative}.app-sidebar-main{min-width:0}.brand-lockup{color:var(--color-heading)}.brand-signature{flex:none;place-items:center;display:inline-grid;position:relative}.brand-avatar{border:2px solid #d6e0df;border-radius:50%;box-shadow:0 5px 16px #082b561c}.brand-signature-mark{border:2px solid var(--color-surface-raised);background:var(--color-accent);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.65rem;font-weight:800;display:grid;position:absolute;bottom:-2px;right:-3px}.brand-lockup-copy>strong{color:var(--color-heading);font-family:var(--font-serif);letter-spacing:-.025em;font-size:1.18rem}.brand-lockup-copy>span{color:var(--color-accent-hover)}.brand-lockup-copy>small{color:var(--color-text-muted)}.brand-lockup-compact,.brand-lockup-compact .brand-lockup-copy>strong{color:var(--color-heading)}.brand-lockup-compact .brand-lockup-copy>span{color:var(--color-accent-hover)}.brand-lockup-compact .brand-lockup-copy>small{color:var(--color-text-muted)}.app-navigation{gap:.35rem;margin-top:2.25rem;display:grid}.app-navigation a{border-radius:var(--radius-sm);min-height:46px;color:var(--color-text-secondary);font-size:var(--text-sm);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;align-items:center;gap:.625rem;padding:.7rem .85rem;font-weight:750;text-decoration:none;display:flex;position:relative;overflow:hidden}.app-navigation a:hover{color:var(--color-heading);background:#f2f8f7;border-color:#d6e2e0}.app-navigation .app-navigation-active{background:var(--color-accent-soft);box-shadow:inset 4px 0 0 var(--color-accent);color:var(--color-heading);border-color:#c9dfdc}.app-navigation-pill{z-index:0;border-radius:inherit;pointer-events:none;background:0 0;position:absolute;inset:0}.app-navigation-icon{z-index:1;flex:0 0 20px;width:20px;height:20px;position:relative}.app-navigation-label{z-index:1;position:relative}.app-profile{border-top:1px solid var(--color-border);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.65rem;padding:1rem .35rem 0;display:grid}.app-profile-indicator{background:var(--color-heading);border:1px solid #b8cbc8;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.app-profile-indicator>span{background:#fff;border-radius:50%;width:11px;height:11px;position:relative;overflow:visible}.app-profile-indicator>span:after{content:"";background:#fff;border-radius:12px 12px 6px 6px;width:22px;height:10px;position:absolute;top:13px;left:50%;transform:translate(-50%)}.app-profile-identity{min-width:0}.app-profile strong{color:var(--color-heading)}.app-profile span{color:var(--color-text-muted)}.app-profile .secondary-button{border-color:var(--color-border);color:var(--color-text-secondary);background:0 0}.app-profile .secondary-button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-heading)}.app-main-area{min-width:0;min-height:0}.app-content{background:var(--color-surface);min-width:0;min-height:0;padding:clamp(1.5rem,4vw,3.5rem)}.app-content>*{width:min(100%,1180px);margin-inline:auto}.workspace-section{margin-top:clamp(1.75rem,4vw,2.75rem)}.workspace-hero{padding:clamp(1.5rem,4vw,2.75rem)}.workspace-hero h1{max-width:740px;color:var(--color-heading);font-size:clamp(1.9rem,4vw,3.15rem)}.workspace-hero-note{flex-basis:260px}.workspace-actions{gap:.65rem}.stat-grid,.workflow-grid{gap:1rem}.stat-card,.workflow-card{min-width:0}.stat-card strong{color:var(--color-heading);font-variant-numeric:tabular-nums}.chemistry-note,.student-chemistry-note{background:var(--color-accent-soft);color:var(--color-heading);border:1px solid #c5dbd8}.chemistry-note strong,.student-chemistry-note strong{color:var(--color-heading)}.chemistry-note small,.student-chemistry-note small{color:var(--color-text-muted)}.chemistry-symbol{background:var(--color-surface-raised);color:var(--color-accent-hover);border-color:#add2cd}.back-link{border-color:var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);min-height:44px;color:var(--color-primary);align-items:center;display:inline-flex}.back-link:hover{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-heading)}@media (max-width:1200px){.app-content{padding:clamp(1.35rem,3vw,2.4rem)}.stat-grid,.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.app-shell{grid-template-columns:196px minmax(0,1fr)}.brand-lockup-compact .brand-lockup-copy>small{display:none}.paper-review-workspace{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.app-shell{min-height:100dvh;box-shadow:none;border:0;border-radius:0;display:block;overflow:visible}.app-sidebar{z-index:20;padding:max(.75rem, env(safe-area-inset-top)) max(.85rem, env(safe-area-inset-right)) .65rem max(.85rem, env(safe-area-inset-left));border-right:0;border-bottom:1px solid var(--color-border);background:#fffdf9f7;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;display:grid;position:sticky;top:0;overflow:visible;box-shadow:0 5px 18px #082b5614}.app-sidebar:after{display:none}.app-sidebar-main{display:contents}.brand-lockup-compact{grid-column:1}.app-navigation{overscroll-behavior-inline:contain;scrollbar-width:none;grid-column:1/-1;gap:.3rem;margin-top:0;padding:.15rem 0 .05rem;display:flex;overflow-x:auto}.app-navigation::-webkit-scrollbar{display:none}.app-navigation a{flex:none;min-height:44px;padding-inline:.8rem}.app-profile{border:0;grid-area:1/2;grid-template-columns:auto;padding:0}.app-profile-indicator,.app-profile>.hofmann-mascot,.app-profile-identity{display:none}.app-profile>div:last-child{grid-column:auto}.app-profile button{width:auto;min-width:44px;min-height:44px}.app-main-area{min-height:0}.app-content{padding:1.25rem max(1rem, env(safe-area-inset-right)) max(1.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.workspace-hero,.management-section,.section-heading{flex-direction:column;align-items:stretch}.workspace-hero-note,.student-chemistry-note,.document-upload-panel{flex-basis:auto}.stat-grid,.workflow-grid{grid-template-columns:1fr}}@media (max-width:520px){.brand-lockup-compact .brand-avatar{width:38px;height:38px}.brand-lockup-compact .brand-lockup-copy>strong{font-size:.95rem}.brand-lockup-compact .brand-lockup-copy>span{font-size:.61rem}.app-content{padding-inline:.85rem}.workspace-hero,.management-section{padding:1.2rem}.workspace-actions>*{width:100%}}
