@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-cyrillic-ext-wght-normal.8bbfa6e0.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-cyrillic-wght-normal.12b57c6b.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-vietnamese-wght-normal.c6a3f4e5.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-latin-ext-wght-normal.b921df26.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-latin-wght-normal.9ff55a8a.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-cyrillic-ext-wght-normal.85d55428.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-cyrillic-wght-normal.33900800.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-symbols2-wght-normal.b6529aae.woff2) format("woff2-variations");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-vietnamese-wght-normal.55bad67b.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-latin-ext-wght-normal.3d379059.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-latin-wght-normal.125b055e.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/newsreader-vietnamese-wght-normal.5c203539.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/newsreader-latin-ext-wght-normal.52ecd825.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/newsreader-latin-wght-normal.257fdc63.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--font-sans:"Geist Variable",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-serif:"Newsreader Variable",ui-serif,Georgia,"Times New Roman",serif;--font-mono:"Geist Mono Variable",ui-monospace,"SFMono-Regular",Menlo,monospace;--t-display:clamp(34px,4.2vw,52px);--t-h1:28px;--lh-h1:34px;--t-h2:20px;--lh-h2:28px;--t-h3:16px;--lh-h3:22px;--t-body:14.5px;--lh-body:22px;--t-small:13px;--lh-small:19px;--t-label:12.5px;--t-caption:11.5px;--t-micro:10.5px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:56px;--s-10:72px;--paper:#F6F4EF;--paper-2:#EFECE5;--surface:#FFFFFF;--surface-2:#FBFAF7;--line:#E4E0D7;--line-strong:#D3CEC2;--ink:#17191E;--ink-2:#454A53;--ink-3:#6E737C;--ink-4:#9A9EA5;--brand:#0E5E55;--brand-hover:#0B4D46;--brand-press:#093F39;--brand-tint:#E3EFEC;--brand-tint-2:#F0F6F4;--brand-ink:#0A4740;--brand-ring:rgba(14,94,85,.28);--amber:#A86400;--amber-tint:#FBF1DF;--amber-line:#EED6AC;--ok:#1C7A4A;--ok-tint:#E5F3EA;--ok-line:#BFE0CB;--warn:#A86400;--warn-tint:#FBF1DF;--warn-line:#EED6AC;--bad:#B4372E;--bad-tint:#FBE9E7;--bad-line:#F1C5C0;--info:#2F5DA8;--info-tint:#E8EFFA;--info-line:#C6D6F0;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--e-1:0 1px 0 rgba(23,25,30,.04);--e-2:0 1px 2px rgba(23,25,30,.06),0 4px 12px -6px rgba(23,25,30,.08);--e-3:0 12px 32px -12px rgba(23,25,30,.22),0 2px 6px rgba(23,25,30,.06);--e-focus:0 0 0 3px var(--brand-ring);--ease:cubic-bezier(.2,.7,.2,1);--d-fast:120ms;--d-base:180ms;--d-slow:260ms;--sidebar-w:244px;--topbar-h:56px;--content-max:1180px;--content-narrow:760px}@media (prefers-reduced-motion:reduce){:root{--d-fast:0ms;--d-base:0ms;--d-slow:0ms}}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%}body,html{background:var(--paper)}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--t-body);line-height:var(--lh-body);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}audio,img,svg,video{display:block;max-width:100%}audio{width:100%;height:40px}h1,h2,h3,h4,h5{margin:0;color:var(--ink);font-weight:600;letter-spacing:-.011em}h1{font-size:var(--t-h1);line-height:var(--lh-h1);letter-spacing:-.02em}h2{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:-.015em}h3{font-size:var(--t-h3);line-height:var(--lh-h3)}h4{font-size:var(--t-small);line-height:var(--lh-small)}p{margin:0}p+p{margin-top:var(--s-2)}small{font-size:var(--t-small);color:var(--ink-3)}b,strong{font-weight:600}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}ol,ul{margin:var(--s-2) 0;padding-left:var(--s-5)}li+li{margin-top:var(--s-1)}hr{border:0;border-top:1px solid var(--line);margin:var(--s-5) 0}::selection{background:var(--brand-tint)}:focus{outline:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}.serif{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em}.mono{font-family:var(--font-mono);font-feature-settings:normal}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}label{display:grid;grid-gap:6px;gap:6px;font-size:var(--t-label);font-weight:550;color:var(--ink-2)}label small{font-weight:400}input,select,textarea{width:100%;font:inherit;font-size:var(--t-body);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:9px 12px;min-height:38px;transition:border-color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease),background var(--d-fast)}input::placeholder,textarea::placeholder{color:var(--ink-4)}input:hover,select:hover,textarea:hover{border-color:#BFB9AB}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--e-focus);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--paper-2);color:var(--ink-4);cursor:not-allowed}textarea{min-height:120px;line-height:var(--lh-body);resize:vertical}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E737C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;cursor:pointer}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--brand)}button{font:inherit}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border-radius:var(--r-sm);border:1px solid transparent;font-size:var(--t-small);font-weight:560;line-height:1;white-space:nowrap;cursor:pointer;color:var(--ink);background:transparent;text-decoration:none;transition:background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),color var(--d-fast),box-shadow var(--d-fast),transform var(--d-fast)}.btn:active,button:active:not(:disabled){transform:translateY(.5px)}.btn[aria-disabled=true],button:disabled{cursor:not-allowed;opacity:.5}.btn svg,button svg{width:16px;height:16px;flex:none}.btn-primary,.loginButton,.nextBtn,.primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(10,71,64,.25)}.btn-primary:hover,.loginButton:hover:not(:disabled),.nextBtn:hover:not(:disabled),.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);text-decoration:none}.nextBtn:active:not(:disabled),.primary:active:not(:disabled){background:var(--brand-press)}.backBtn,.btn-secondary,.secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--e-1)}.backBtn:hover:not(:disabled),.btn-secondary:hover,.secondary:hover:not(:disabled){background:var(--surface-2);border-color:#BFB9AB}.btn-quiet,.quietButton{background:transparent;color:var(--ink-2);border-color:transparent}.btn-quiet:hover,.quietButton:hover:not(:disabled){background:rgba(23,25,30,.05);color:var(--ink)}.btn-danger{background:var(--surface);color:var(--bad);border-color:var(--bad-line)}.btn-danger:hover{background:var(--bad-tint)}.btn-link,.linkButton{min-height:0;padding:0;border:0;background:none;color:var(--brand);font-weight:550;box-shadow:none}.btn-link:hover,.linkButton:hover{text-decoration:underline;text-underline-offset:3px}.btn-sm{min-height:30px;padding:0 10px;font-size:var(--t-label)}.btn-lg{min-height:44px;padding:0 20px;font-size:var(--t-body)}.btn-icon{width:36px;padding:0}.btn-block{width:100%}.pageHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);padding:var(--s-7) 0 var(--s-6);flex-wrap:wrap}.pageHeader .crumbs{display:flex;align-items:center;gap:6px;margin-bottom:var(--s-2);font-family:var(--font-mono);font-size:var(--t-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.pageHeader .crumbs i{font-style:normal;color:var(--ink-4)}.pageHeader h1{font-family:var(--font-serif);font-weight:500;font-size:32px;line-height:38px;letter-spacing:-.018em}.pageHeader p{margin-top:6px;color:var(--ink-2);max-width:68ch}.pageHeader .pageActions{display:flex;gap:var(--s-2);flex-wrap:wrap}.card,.panel,.secondaryPanel,.workspaceCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-1)}.card{padding:var(--s-5)}.secondaryPanel{padding:var(--s-5) var(--s-6);margin-top:var(--s-4)}.secondaryPanel>h2,.secondaryPanel>h3{margin-bottom:var(--s-2)}.secondaryPanel>p{color:var(--ink-2)}.panel{max-width:560px;margin:var(--s-9) auto;padding:var(--s-7);text-align:left}.panel h2{font-family:var(--font-serif);font-weight:500;font-size:24px;line-height:30px}.panel p{margin-top:var(--s-2);color:var(--ink-2)}.panel .primary{margin-top:var(--s-4)}.cardHead,.workspaceCard{padding:var(--s-4) var(--s-5)}.cardHead{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);border-bottom:1px solid var(--line)}.cardHead h2,.cardHead h3{font-size:var(--t-h3);line-height:var(--lh-h3)}.cardHead p,.cardHead small{color:var(--ink-3);font-size:var(--t-small)}.cardBody{padding:var(--s-4) var(--s-5)}.cardFoot{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.egPreviewKicker,.egTeacherBadge,.eyebrow,.familiarEyebrow,.progressSnapshotEyebrow,.stageTag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--t-micro);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.code{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:var(--r-xs);background:var(--paper-2);border:1px solid var(--line);font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink-2);letter-spacing:.02em;white-space:nowrap}.code.brand{background:var(--brand-tint);border-color:#C9DFDA;color:var(--brand-ink)}.sectionTitle{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin:var(--s-7) 0 var(--s-3)}.sectionTitle h2{font-size:var(--t-h3);line-height:var(--lh-h3)}.sectionTitle small{font-size:var(--t-small)}.badge,.egStatus{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);font-size:var(--t-caption);font-weight:560;color:var(--ink-2);white-space:nowrap}.badge:before,.egStatus:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.badge.ok,.egStatus.complete,.egStatus.past,.egStatus.ready{background:var(--ok-tint);border-color:var(--ok-line);color:var(--ok)}.badge.warn,.egStatus.repair{background:var(--warn-tint);border-color:var(--warn-line);color:var(--warn)}.badge.bad{background:var(--bad-tint);border-color:var(--bad-line);color:var(--bad)}.badge.info,.egStatus.current{background:var(--brand-tint);border-color:#C9DFDA;color:var(--brand-ink)}.badge.muted,.egStatus.upcoming{background:var(--paper-2);border-color:var(--line);color:var(--ink-3)}.badge.plain:before{display:none}.alert,.egPlanningNote,.egReviewNote,.loginError,.simpleNotice,.successBox,.successCard{display:block;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);font-size:var(--t-small);line-height:var(--lh-small);color:var(--ink-2)}.alert b,.egPlanningNote b,.egReviewNote b,.simpleNotice b,.successBox b{color:var(--ink);font-weight:600}.alert p,.egPlanningNote p,.egReviewNote p,.simpleNotice p,.successBox p{margin-top:2px}.alert.bad,.loginError{background:var(--bad-tint);border-color:var(--bad-line);color:#8A2A23}.alert.ok,.successBox,.successCard{background:var(--ok-tint);border-color:var(--ok-line);color:#155E39}.successBox b,.successCard b{color:#11502F}.alert.info,.egPlanningNote,.simpleNotice{background:var(--brand-tint-2);border-color:#D4E6E1;color:var(--brand-ink)}.alert.warn,.egReviewNote{background:var(--amber-tint);border-color:var(--amber-line);color:#7A4A05}*+.loginError,*+.simpleNotice,*+.successBox,.loginError+*{margin-top:var(--s-3)}.emptyState,.reviewEmpty{display:grid;justify-items:start;grid-gap:6px;gap:6px;padding:var(--s-6);border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink-3);font-size:var(--t-small)}.emptyState b{color:var(--ink);font-size:var(--t-body)}.emptyState .primary,.emptyState .secondary{margin-top:var(--s-2)}.stackForm{display:grid;grid-gap:var(--s-3);gap:var(--s-3);margin-top:var(--s-4)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-3) var(--s-4);gap:var(--s-3) var(--s-4)}.formGrid .full{grid-column:1/-1}.fieldHint{color:var(--ink-3);font-weight:400}.fieldError,.fieldHint{font-size:var(--t-caption)}.fieldError{color:var(--bad);font-weight:500}.formActions{justify-content:flex-end;align-items:center;margin-top:var(--s-2)}.formActions,.heroActions{display:flex;gap:var(--s-2)}.heroActions{flex-wrap:wrap;margin-top:var(--s-4)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:var(--s-5);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{position:relative;min-height:40px;border-radius:0;padding:0 12px;color:var(--ink-3);font-weight:550;background:none;border:0}.tabs button.active,.tabs button:hover,.tabs button[aria-selected=true]{color:var(--ink)}.tabs button.active:after,.tabs button[aria-selected=true]:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--brand);border-radius:2px}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md)}.segmented button{min-height:28px;padding:0 10px;border-radius:5px;color:var(--ink-3);font-size:var(--t-label);border:0}.segmented button.active,.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--e-2)}.dataTable{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--t-small)}.dataTable th{position:-webkit-sticky;position:sticky;top:0;text-align:left;font-weight:550;font-size:var(--t-caption);letter-spacing:.02em;color:var(--ink-3);background:var(--surface-2);padding:9px var(--s-4);white-space:nowrap}.dataTable td,.dataTable th{border-bottom:1px solid var(--line)}.dataTable td{padding:11px var(--s-4);vertical-align:middle;color:var(--ink-2)}.dataTable tr:last-child td{border-bottom:0}.dataTable tbody tr{transition:background var(--d-fast)}.dataTable tbody tr:hover{background:var(--surface-2)}.dataTable td b{color:var(--ink);font-weight:560}.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.rowList{display:grid}.rowList>*{border-top:1px solid var(--line)}.rowList>:first-child{border-top:0}.personRow{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:10px 0}.personRow>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.personRow b{color:var(--ink);font-weight:560}.personRow small{font-size:var(--t-small)}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--brand-tint);color:var(--brand-ink);font-size:11.5px;font-weight:650;letter-spacing:.02em;border:1px solid #c9dfda}.avatar.lg{width:44px;height:44px;font-size:15px}.avatar.muted{background:var(--paper-2);color:var(--ink-3);border-color:var(--line)}.statRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.stat{padding:var(--s-4) var(--s-5);border-left:1px solid var(--line)}.stat:first-child{border-left:0}.stat span{display:block;font-size:var(--t-caption);color:var(--ink-3);font-weight:550}.stat strong{display:block;margin-top:4px;font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat small{display:block;font-size:var(--t-caption)}.meter{height:6px;border-radius:var(--r-pill);background:var(--paper-2);overflow:hidden}.meter>i{display:block;height:100%;background:var(--brand);border-radius:inherit;transition:width var(--d-slow) var(--ease)}.ribbon{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:4px;gap:4px}.ribbon .wk{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:2px;gap:2px}.ribbon .wk i{height:14px;border-radius:2px;background:var(--paper-2);border:1px solid var(--line)}.ribbon .wk i.done{background:var(--brand);border-color:var(--brand)}.ribbon .wk i.current{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-tint)}.ribbon .wk i.ready{background:var(--brand-tint);border-color:#C9DFDA}.ribbonLegend{display:flex;gap:var(--s-4);margin-top:var(--s-2);font-size:var(--t-caption);color:var(--ink-3);flex-wrap:wrap}.ribbonLegend span{display:inline-flex;align-items:center;gap:6px}.ribbonLegend i{width:10px;height:10px;border-radius:2px;background:var(--paper-2);border:1px solid var(--line)}.ribbonLegend i.done{background:var(--brand);border-color:var(--brand)}.ribbonLegend i.current{background:var(--amber);border-color:var(--amber)}.ribbonLegend i.ready{background:var(--brand-tint);border-color:#C9DFDA}.ribbonWeeks{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:4px;gap:4px;margin-top:6px;font-family:var(--font-mono);font-size:10px;color:var(--ink-4)}.skeleton{position:relative;overflow:hidden;background:var(--paper-2);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:shimmer 1.3s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite;opacity:.8}@keyframes spin{to{transform:rotate(1turn)}}.loadingScreen{display:grid;grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-7) 0}.loadingScreen .skeleton.title{height:30px;width:38%}.loadingScreen .skeleton.line{height:14px;width:60%}.loadingScreen .skeleton.block{height:180px;border-radius:var(--r-lg)}.scrim{position:fixed;inset:0;background:rgba(23,25,30,.32);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:60;animation:fadeIn var(--d-base) var(--ease)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--e-3);z-index:61;display:flex;flex-direction:column;animation:slideIn var(--d-slow) var(--ease)}.drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--line)}.drawer header h2{font-size:var(--t-h2)}.drawer header p{color:var(--ink-3);font-size:var(--t-small);margin-top:2px}.drawer .drawerBody{flex:1 1;overflow:auto;padding:var(--s-5) var(--s-6)}.drawer footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--line);background:var(--surface-2)}@keyframes fadeIn{0%{opacity:0}}@keyframes slideIn{0%{transform:translateX(24px);opacity:0}}@keyframes rise{0%{transform:translateY(6px);opacity:0}}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-md);background:var(--ink);color:#fff;font-size:var(--t-small);box-shadow:var(--e-3);animation:rise var(--d-base) var(--ease)}.toast svg{width:16px;height:16px;color:#7FD3B4}.kv{display:grid;grid-template-columns:auto 1fr;grid-gap:6px var(--s-4);gap:6px var(--s-4);font-size:var(--t-small)}.kv dt{color:var(--ink-3)}.kv dd{margin:0;color:var(--ink);font-weight:500}.shell{min-height:100vh}.shellSidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);border-right:1px solid var(--line);background:#F2EFE8;z-index:20}.shellNav{display:flex;flex-direction:column;height:100%;padding:var(--s-4) var(--s-3)}.shellBrand{display:flex;align-items:center;gap:10px;padding:4px 8px var(--s-5)}.shellBrand b{display:block;font-size:14px;line-height:18px;font-weight:650;letter-spacing:-.01em}.shellBrand span{display:block;font-size:var(--t-caption);color:var(--ink-3)}.shellGroup{display:grid;grid-gap:1px;gap:1px;margin-bottom:var(--s-5)}.shellGroupLabel{display:flex;align-items:center;justify-content:space-between;padding:0 10px 6px;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.shellGroupLabel em{font-style:normal;color:var(--ink-4)}.shellLearner,.shellLink{position:relative;justify-content:flex-start;width:100%;min-height:34px;padding:0 10px;gap:10px;border-radius:var(--r-sm);color:var(--ink-2);font-weight:520;font-size:13.5px;border:0;background:none}.shellLink svg{width:17px;height:17px;color:var(--ink-3)}.shellLearner:hover,.shellLink:hover{background:rgba(23,25,30,.05);color:var(--ink)}.shellLink.active{background:var(--surface);color:var(--ink);box-shadow:var(--e-2),0 0 0 1px var(--line)}.shellLink.active svg{color:var(--brand)}.shellLink em{margin-left:auto;font-style:normal;min-width:20px;height:18px;padding:0 6px;border-radius:var(--r-pill);background:var(--amber);color:#fff;font-size:11px;font-weight:650;display:inline-grid;place-items:center}.shellLearner{min-height:38px}.shellLearner .avatar{width:24px;height:24px;font-size:10px}.shellLearnerName{flex:1 1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis}.shellLearner .code{height:20px;font-size:10.5px;padding:0 5px;background:transparent}.shellLearner.active{background:var(--surface);color:var(--ink);box-shadow:var(--e-2),0 0 0 1px var(--line)}.shellLearner.active .code{background:var(--brand-tint);border-color:#C9DFDA;color:var(--brand-ink)}.shellHint{padding:0 10px;font-size:var(--t-small);color:var(--ink-3)}.shellFoot{margin-top:auto;justify-content:space-between;gap:8px;padding:var(--s-3) 6px 0;border-top:1px solid var(--line)}.shellFoot,.shellUser{display:flex;align-items:center}.shellUser{gap:10px;min-width:0}.shellUser b{display:block;font-size:13px;line-height:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.shellUser span{display:block;font-size:var(--t-caption);color:var(--ink-3)}.shellMain{padding-left:var(--sidebar-w)}.shellContent{max-width:var(--content-max);margin:0 auto;padding:0 var(--s-8) var(--s-10)}.shellTopbar{display:none}.shellDrawer{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);background:#F2EFE8;z-index:61;box-shadow:var(--e-3);animation:drawerIn var(--d-slow) var(--ease)}.shellClose{position:absolute;top:12px;right:10px;z-index:2}@keyframes drawerIn{0%{transform:translateX(-16px);opacity:0}}.workspace{display:block}@media (max-width:1024px){:root{--sidebar-w:216px}.shellContent{padding:0 var(--s-6) var(--s-9)}}@media (max-width:820px){.shellSidebar{display:none}.shellMain{padding-left:0}.shellTopbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;justify-content:space-between;height:var(--topbar-h);padding:0 var(--s-3);background:rgba(246,244,239,.9);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.shellTopBrand,.shellTopbar{display:flex;align-items:center}.shellTopBrand{gap:8px;font-size:14px}.shellContent{padding:0 var(--s-4) var(--s-9)}.pageHeader{padding:var(--s-5) 0 var(--s-4)}.pageHeader h1{font-size:26px;line-height:32px}}.skipLink{position:absolute;left:12px;top:-60px;z-index:100;padding:8px 12px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:var(--t-small)}.skipLink:focus{top:12px}.shellContent:focus{outline:none}.publicPage{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--paper)}.publicStory{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:var(--s-8) var(--s-9);background:#0B3F39;color:#E9F1EE;overflow:hidden}.publicStory:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 100% 0,rgba(184,110,0,.22),transparent 55%),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 28px);pointer-events:none}.publicStory>*{position:relative}.publicStoryTop{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:-.01em}.publicStoryTop b{font-weight:600;color:#fff}.publicStoryBody{max-width:520px}.publicKicker{font-family:var(--font-mono);font-size:var(--t-caption);letter-spacing:.1em;text-transform:uppercase;color:#E2B76B}.publicStoryBody h2{margin-top:var(--s-4);color:#FFFDF8;font-family:var(--font-serif);font-weight:400;font-size:clamp(32px,3.4vw,46px);line-height:1.08;letter-spacing:-.02em}.publicLoop{list-style:none;margin:var(--s-8) 0 0;padding:0;display:grid;grid-gap:0;gap:0;border-top:1px solid rgba(255,255,255,.14)}.publicLoop li{display:flex;gap:var(--s-4);align-items:baseline;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);margin:0}.publicLoop span{font-family:var(--font-mono);font-size:11px;color:#E2B76B;width:22px}.publicLoop b{display:block;color:#fff;font-weight:560;font-size:15px}.publicLoop small{display:block;color:rgba(233,241,238,.68);font-size:13px}.publicStoryFoot{max-width:420px;color:rgba(233,241,238,.7);font-size:13px}.publicForm{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-8) var(--s-6)}.publicFormTopBrand{display:none}.publicCard{width:100%;max-width:380px}.publicCard h1{font-family:var(--font-serif);font-weight:500;font-size:34px;line-height:40px;letter-spacing:-.02em}.publicCard .lead{margin-top:var(--s-2);color:var(--ink-2)}.publicCard form{display:grid;grid-gap:var(--s-4);gap:var(--s-4);margin-top:var(--s-7)}.publicCard input{min-height:44px;font-size:15px}.publicCard .loginButton{width:100%;min-height:44px;font-size:14.5px;margin-top:var(--s-1)}.publicCard .rowBetween{display:flex;justify-content:space-between;align-items:center}.publicCard .publicKickerDark{font-family:var(--font-mono);font-size:var(--t-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}.publicCard .successBox{margin-top:var(--s-6)}.publicCard .successBox .loginButton{margin-top:var(--s-4)}.publicLegal{max-width:380px;margin-top:var(--s-8);font-size:var(--t-caption);color:var(--ink-3);text-align:center}.passwordField{position:relative}.passwordField input{padding-right:64px}.passwordField button{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:30px;padding:0 10px;font-size:var(--t-caption);color:var(--ink-3)}.passwordField button:hover{color:var(--ink);background:rgba(23,25,30,.05)}@media (max-width:900px){.publicPage{grid-template-columns:1fr}.publicStory{display:none}.publicForm{justify-content:flex-start;padding:var(--s-6) var(--s-5) var(--s-8)}.publicFormTopBrand{display:flex;align-items:center;gap:10px;align-self:flex-start;margin-bottom:var(--s-9);font-size:15px}.publicCard{max-width:440px;align-self:flex-start}}.weekLessonNav{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-1)}.weekLessonNavHead{display:flex;flex-direction:column;gap:2px;padding:0 8px 0 10px;min-width:150px;border-right:1px solid var(--line)}.weekLessonNavHead span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.06em;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.weekLessonNavHead .quietButton{min-height:24px;padding:0;justify-content:flex-start;color:var(--brand);font-size:var(--t-label)}.weekLessonNavHead .quietButton:hover{background:none;text-decoration:underline}.weekLessonTabs{display:flex;gap:4px;flex:1 1;min-width:0;overflow-x:auto;scrollbar-width:none}.weekLessonTabs::-webkit-scrollbar{display:none}.weekLessonTabs button{min-height:34px;padding:0 12px;font-weight:520;flex:none;max-width:260px;overflow:hidden;text-overflow:ellipsis;box-shadow:none}.weekLessonTabs button.secondary{background:transparent;border-color:transparent;color:var(--ink-2)}.weekLessonTabs button.secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--line)}.weekLessonTabs button.primary{background:var(--ink);border-color:var(--ink);box-shadow:none}.weekLessonTabs button[aria-label]{width:34px;padding:0;color:var(--ink-3)}.previewNotice{margin-bottom:var(--s-4)}.lessonPlayer{display:grid;grid-template-columns:212px minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-2);overflow:hidden}.playerRail{padding:var(--s-4) var(--s-3);background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.railTitle{padding:0 8px var(--s-3);font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}.railTitle small{display:block;margin-top:2px;font-family:var(--font-sans);text-transform:none;letter-spacing:0;font-size:var(--t-caption);color:var(--ink-4)}.playerRail button{position:relative;justify-content:flex-start;gap:10px;min-height:36px;padding:0 8px;border:0;border-radius:var(--r-sm);color:var(--ink-2);font-weight:520;background:none}.playerRail button:before{content:"";position:absolute;left:19px;top:-1px;height:2px;width:0}.playerRail button span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);flex:none}.playerRail button:hover{background:rgba(23,25,30,.04)}.playerRail button.visited span{background:var(--brand-tint);border-color:#C9DFDA;color:var(--brand)}.playerRail button.active{background:var(--surface);color:var(--ink);box-shadow:var(--e-2),0 0 0 1px var(--line)}.playerRail button.active span{background:var(--brand);border-color:var(--brand);color:#fff}.playerMain{display:flex;flex-direction:column;min-width:0}.playerProgress{height:3px;background:var(--paper-2)}.playerProgress span{display:block;height:100%;background:var(--brand);transition:width var(--d-slow) var(--ease)}.activityStage{flex:1 1;padding:var(--s-7) var(--s-8) var(--s-6);animation:rise var(--d-base) var(--ease)}.activityStage>h2{margin:var(--s-2) 0 var(--s-5);font-family:var(--font-serif);font-weight:500;font-size:28px;line-height:34px;letter-spacing:-.018em;max-width:30ch}.activityStage>p{color:var(--ink-2);max-width:70ch;margin-bottom:var(--s-4)}.stageTag{color:var(--brand)}.stageTag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.playerControls{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-6);border-top:1px solid var(--line);background:var(--surface-2)}.playerControls>span{font-family:var(--font-mono);font-size:var(--t-caption);color:var(--ink-3)}.activityCueGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--s-6);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.activityCue{padding:var(--s-4);border-left:1px solid var(--line);background:var(--surface)}.activityCue:first-child{border-left:0}.activityCue span{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.activityCue:last-child{background:var(--brand-tint-2)}.activityCue:last-child span{color:var(--brand)}.activityCue p{font-size:var(--t-small);line-height:var(--lh-small);color:var(--ink)}.talkPrompt{display:grid;grid-gap:6px;gap:6px;padding:var(--s-5) var(--s-6);border-left:3px solid var(--brand);background:var(--brand-tint-2);border-radius:0 var(--r-md) var(--r-md) 0}.talkPrompt span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.talkPrompt strong{font-family:var(--font-serif);font-weight:500;font-size:22px;line-height:30px;color:var(--ink)}.talkPrompt small{color:var(--ink-3)}.modelUpdate{padding:var(--s-5) var(--s-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.modelUpdate p{font-family:var(--font-serif);font-size:20px;line-height:32px;color:var(--ink-2)}.modelUpdate b{color:var(--brand-ink);font-weight:600;background:linear-gradient(transparent 62%,rgba(14,94,85,.13) 0)}.flowLine{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--s-3)}.flowLine span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;padding:4px 8px;border-radius:var(--r-xs);background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.flowLine i{font-style:normal;color:var(--ink-4)}.challengeList,.phraseGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--s-2);gap:var(--s-2)}.challengeList button,.phraseGrid button{justify-content:flex-start;text-align:left;white-space:normal;line-height:1.35;min-height:46px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--t-body);font-weight:500;color:var(--ink);cursor:default}.phraseGrid button{font-family:var(--font-serif);font-size:17px;font-weight:500}.challengeList button:before{content:"?";display:inline-grid;place-items:center;width:20px;height:20px;flex:none;border-radius:50%;background:var(--amber-tint);color:var(--amber);font-family:var(--font-mono);font-size:11px;font-weight:600}.grammarChoices{display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.grammarChoices div{display:grid;grid-template-columns:130px 1fr;grid-gap:var(--s-4);gap:var(--s-4);align-items:center;padding:12px var(--s-4);border:1px solid var(--line);border-radius:var(--r-md)}.grammarChoices span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.06em;color:var(--brand)}.grammarChoices b{font-family:var(--font-serif);font-size:18px;font-weight:500}.scenarioBox{padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.scenarioBox span{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.scenarioBox b{color:var(--brand-ink)}.scenarioBox p{font-size:15px;line-height:24px}.finalTask{padding:var(--s-5) var(--s-6);border-radius:var(--r-md);background:var(--ink);color:#F3F1EC}.finalTask span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:#E2B76B}.finalTask h3{margin-top:6px;color:#fff;font-family:var(--font-serif);font-weight:500;font-size:22px;line-height:30px}.finalTask p{margin-top:6px;color:rgba(243,241,236,.75);font-size:var(--t-small)}.handoffBox{margin-top:var(--s-5);padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.handoffBox h3{margin-bottom:6px}.handoffBox p,.handoffBox ul{color:var(--ink-2);font-size:var(--t-small)}.handoffBox .primary{margin-top:var(--s-3)}.repairSummary{display:grid;grid-gap:var(--s-3);gap:var(--s-3);margin-bottom:var(--s-4)}.repairBox,.repairMini{padding:var(--s-5);border:1px solid var(--amber-line);border-radius:var(--r-md);background:linear-gradient(180deg,#FFFBF3,var(--surface) 70%)}.repairMini .stageTag{color:var(--amber)}.repairBox h3,.repairMini h3{margin:6px 0 4px;font-size:17px;line-height:24px}.repairWhy{font-size:var(--t-small);color:var(--ink-3)}.rule{margin-top:var(--s-3);padding:10px 14px;border-left:2px solid var(--amber);background:var(--amber-tint);border-radius:0 var(--r-sm) var(--r-sm) 0}.rule b{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.rule p{font-size:var(--t-small);margin-top:2px}.repairBox ul,.repairMini ul{font-size:var(--t-small);color:var(--ink-2)}.practiceLine{margin-top:var(--s-2);padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:var(--t-small)}.practiceLine small{display:block;margin-top:4px;font-size:var(--t-caption)}.repairMini .finalTask{margin-top:var(--s-3);padding:var(--s-4)}.repairMini .finalTask h3{font-size:17px;line-height:24px}.repairMini .simpleNotice{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.repairMini .simpleNotice>div{display:flex;gap:var(--s-2);flex-wrap:wrap}.lessonTop{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3)}.lessonIdentity span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--brand)}.lessonIdentity h2{margin-top:4px;font-size:var(--t-h2)}.lessonCounter,.lessonIdentity p{color:var(--ink-3);font-size:var(--t-small)}.lessonCounter{font-family:var(--font-mono);padding:4px 10px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface)}.studentProgress{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:4px;gap:4px;margin-bottom:var(--s-4)}.studentProgress>div{display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:3px solid var(--line);font-size:var(--t-label);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studentProgress span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--paper-2);font-family:var(--font-mono);font-size:10px;flex:none}.studentProgress .done{border-top-color:var(--brand);color:var(--ink-2)}.studentProgress .done span{background:var(--brand);color:#fff}.studentProgress .active{border-top-color:var(--amber);color:var(--ink);font-weight:560}.studentProgress .active span{background:var(--amber);color:#fff}.activityFrame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-2);overflow:hidden}.activityBody{padding:var(--s-7) var(--s-8);display:grid;grid-gap:var(--s-4);gap:var(--s-4);animation:rise var(--d-base) var(--ease)}.activityBody>h2{font-family:var(--font-serif);font-weight:500;font-size:26px;line-height:32px}.activityBody>p{color:var(--ink-2);max-width:70ch}.activityFooter{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-6);border-top:1px solid var(--line);background:var(--surface-2)}.activityFooter small{font-family:var(--font-mono);font-size:var(--t-caption)}.writing{min-height:220px;font-size:15px;line-height:25px}.footerPair{gap:8px;flex-wrap:wrap}.footerPair,.wordRow{display:flex;justify-content:flex-end}.wordRow{gap:12px;font-family:var(--font-mono);font-size:var(--t-caption);color:var(--ink-3)}.wordRow .valid{color:var(--ok)}.recordBox{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-2)}.recordBox span{font-size:var(--t-small);color:var(--ink-3)}.record{min-height:40px;padding:0 16px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line-strong);color:var(--bad);font-weight:600}.record:hover{background:var(--bad-tint)}.record.stop{background:var(--bad);border-color:var(--bad);color:#fff;animation:pulse 1.4s infinite}@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(180,55,46,.14)}}.readingText{padding:var(--s-5) var(--s-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-family:var(--font-serif);font-size:18px;line-height:30px;color:var(--ink)}.practiceCard{display:flex;gap:var(--s-2)}.question{display:grid;grid-gap:6px;gap:6px;padding:var(--s-4) 0 0}.question>b{margin-bottom:4px;font-size:15px}.question label{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--t-body);font-weight:450;color:var(--ink);cursor:pointer;transition:border-color var(--d-fast),background var(--d-fast)}.question label:hover{border-color:var(--line-strong);background:var(--surface-2)}.question label:has(input:checked){border-color:var(--brand);background:var(--brand-tint-2);box-shadow:0 0 0 1px var(--brand)}.reviewProgressBar{display:flex;align-items:center;gap:var(--s-5);padding:var(--s-3) var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:var(--s-5)}.reviewProgressBar span{display:block;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--ink-3)}.reviewProgressBar b{font-size:var(--t-small)}.reviewProgressTrack{flex:1 1;height:6px;border-radius:var(--r-pill);background:var(--paper-2);overflow:hidden}.reviewProgressTrack i{display:block;height:100%;background:var(--brand)}.reviewProgressBar strong{font-family:var(--font-mono);font-size:var(--t-small)}.reviewTabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:var(--s-5)}.reviewTabs button{position:relative;border:0;border-radius:0;min-height:40px;color:var(--ink-3);background:none}.reviewTabs button span{font-family:var(--font-mono);font-size:10.5px;padding:1px 6px;border-radius:var(--r-pill);background:var(--paper-2);color:var(--ink-3)}.reviewTabs button.active{color:var(--ink)}.reviewTabs button.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--brand)}.reviewPanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-1)}.reviewPanelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--line)}.reviewPanelHead span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--ink-3)}.reviewPanelHead h2{margin-top:4px;font-family:var(--font-serif);font-weight:500;font-size:24px;line-height:30px}.reviewPanelHead p{margin-top:4px;color:var(--ink-2);font-size:var(--t-small)}.reviewState{font-style:normal;display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--t-caption);font-weight:560;background:var(--ok-tint);color:var(--ok);border:1px solid var(--ok-line);white-space:nowrap}.reviewState.current{background:var(--brand-tint);color:var(--brand-ink);border-color:#C9DFDA}.reviewSteps{display:grid}.reviewSteps article{display:grid;grid-template-columns:28px 1fr;grid-gap:var(--s-4);gap:var(--s-4);padding:var(--s-4) var(--s-6);border-top:1px solid var(--line)}.reviewSteps article:first-child{border-top:0}.reviewStepNo{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3)}.reviewSteps small{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.reviewSteps h3{margin:2px 0 4px}.reviewSteps p{font-size:var(--t-small);color:var(--ink-2);max-width:72ch}.reviewFooter{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}.egMiniFlow,.reviewFooter{display:flex;flex-wrap:wrap}.egMiniFlow{gap:6px;margin-top:var(--s-2)}.egMiniFlow span{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--line);font-size:var(--t-caption);font-weight:520;color:var(--ink-2)}@media (max-width:1024px){.lessonPlayer{grid-template-columns:1fr}.playerRail{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:var(--s-2);scrollbar-width:none}.playerRail::-webkit-scrollbar{display:none}.railTitle{display:none}.playerRail button{flex:none}.activityStage{padding:var(--s-6) var(--s-6) var(--s-5)}.activityCueGrid{grid-template-columns:1fr}.activityCue{border-left:0;border-top:1px solid var(--line)}.activityCue:first-child{border-top:0}}@media (max-width:640px){.weekLessonNav{flex-direction:column;align-items:stretch}.weekLessonNavHead{flex-direction:row;justify-content:space-between;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:4px 6px 8px}.activityStage{padding:var(--s-5) var(--s-4)}.activityStage>h2{font-size:23px;line-height:29px}.playerControls{padding:var(--s-3) var(--s-4)}.activityBody{padding:var(--s-5) var(--s-4)}.activityFooter{padding:var(--s-3) var(--s-4)}.studentProgress>div{font-size:0;justify-content:center;padding:8px 0}.studentProgress>div span{font-size:10px}.grammarChoices div{grid-template-columns:1fr;gap:4px}.reviewPanelHead,.reviewSteps article{padding:var(--s-4)}.reviewPanelHead{flex-direction:column}.modelUpdate p{font-size:18px;line-height:29px}}.weekLessonTabs{mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);padding-right:24px}.transcriptBox{margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border-left:2px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface)}.transcriptBox span{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.transcriptBox p{white-space:pre-wrap}.transcriptBox small{display:block;margin-top:6px;font-size:var(--t-caption);color:var(--ink-3)}.promptSteps{margin:8px 0 0;padding-left:22px;display:grid;grid-gap:4px;gap:4px}.promptSteps li{padding-left:2px}.listenRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.listenRow small{color:var(--ink-3);font-size:var(--t-caption)}.promptSteps+p{margin-top:8px}.learnerChecklist{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-gap:6px;gap:6px}.learnerChecklist li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:baseline;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:var(--t-small)}.learnerChecklist li>span:first-child{font-weight:700}.learnerChecklist li.met>span:first-child{color:var(--ok)}.learnerChecklist li.partly>span:first-child{color:var(--amber)}.learnerChecklist li.missing>span:first-child{color:var(--bad)}.learnerChecklist em{font-style:normal;font-size:var(--t-caption);color:var(--ink-3)}.practiceModel{margin-top:var(--s-4);padding:var(--s-4) var(--s-5);border:1px dashed var(--brand);border-radius:var(--r-md);background:var(--brand-tint-2)}.followUpBox>span,.practiceModel>span{display:block;margin-bottom:8px;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}.practiceModel p{font-size:15px;line-height:26px}.practiceModel p b{color:var(--brand-ink)}.phraseChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s-3)}.phraseChips span{padding:4px 10px;background:var(--surface);font-size:14px;font-weight:550;color:var(--brand-ink)}.modeSwitch,.phraseChips span{border:1px solid var(--line);border-radius:999px}.modeSwitch{display:inline-flex;gap:4px;margin:var(--s-5) 0 var(--s-3);padding:4px;background:var(--surface-2)}.modeSwitch label{display:flex;align-items:center;gap:6px;padding:6px 16px;border-radius:999px;cursor:pointer;font-weight:550;color:var(--ink-3)}.modeSwitch label.on{background:var(--surface);color:var(--brand-ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}.modeSwitch input{position:absolute;opacity:0;pointer-events:none}.followUpBox{margin-top:var(--s-5);padding:var(--s-4) var(--s-5);border:1px solid var(--amber-line);border-radius:var(--r-md);background:var(--amber-tint)}.followUpBox>span{color:var(--ink-2,var(--ink-3))}.followUpBox>p{font-size:16px;font-weight:600;margin-bottom:var(--s-3)}.practiceFeedback{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--line);display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.practiceFeedback h3{margin:0}.moveList{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.moveList li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.moveList li>i{font-style:normal;font-weight:700;width:18px;text-align:center}.moveList li.yes>i{color:var(--ok)}.moveList li.partly>i{color:var(--amber)}.moveList li.no>i{color:var(--bad)}.moveList li div{display:grid;grid-gap:2px;gap:2px}.moveList q{font-size:14px}.moveList q,.moveList small{color:var(--ink-3)}.factWarn{padding:8px 12px;border-radius:var(--r-sm);background:var(--amber-tint);border:1px solid var(--amber-line)}.betterAnswer{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.betterAnswer summary{cursor:pointer;font-weight:600;color:var(--brand-ink)}.betterAnswer p{margin-top:var(--s-2,8px);line-height:24px}.practiceRestart{margin-top:var(--s-3);text-align:center}.practiceInvite{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line)}.practiceInvite div{display:grid;grid-gap:2px;gap:2px}.practiceInvite span{font-size:14px;color:var(--ink-3)}.practiceInvite button svg{width:16px;height:16px;margin-left:6px}.practiceRows{list-style:none;margin:var(--s-3) 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.practiceRows li{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 12px;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm)}.practiceRows small{grid-column:2;color:var(--ink-3)}@media (max-width:640px){.practiceInvite{flex-direction:column;align-items:stretch}}.modeSwitch{width:-moz-fit-content;width:fit-content}.lessonCounter{white-space:nowrap}.lessonNow .practiceInvite{border-top-color:rgba(255,255,255,.18)}.lessonNow .practiceInvite span{color:rgba(255,255,255,.72)}@media (max-width:640px){.activityFooter small.practiceOnly{display:none}}.presenter{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface-2);color:var(--ink)}.presenterLoading{display:grid;place-content:center;grid-gap:12px;gap:12px;text-align:center}.presenterBar{justify-content:space-between;gap:var(--s-4);padding:10px var(--s-5);background:var(--surface);border-bottom:1px solid var(--line)}.presenterBar,.presenterTitle{display:flex;align-items:center}.presenterTitle{gap:12px;min-width:0}.presenterTitle div{display:grid;min-width:0}.presenterTitle b{font-family:var(--font-serif);font-weight:500;font-size:20px;line-height:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presenterTitle small{color:var(--ink-3)}.presenterActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.presenterBody{display:grid;grid-template-columns:200px minmax(0,1fr) 340px;min-height:0}.presenterBody>.playerRail{overflow-y:auto}.presenterStage{min-height:0;overflow-y:auto;background:var(--surface)}.presenterStage .activityStage>h2{font-size:32px;line-height:38px;max-width:32ch}.presenterStageHead{display:flex;align-items:center;gap:10px}.hiddenBadge{font-style:normal;font-size:var(--t-caption);padding:2px 8px;border-radius:999px;background:var(--amber-tint);border:1px solid var(--amber-line);color:var(--ink-2)}.presenterNotes{min-height:0;overflow-y:auto;padding:var(--s-5);background:var(--surface-2);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s-4)}.notesHead{display:flex;justify-content:space-between;align-items:baseline}.notesHead span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--brand-ink)}.notesHead small{color:var(--ink-3)}.presenterNotes .activityCueGrid{grid-template-columns:1fr;margin-top:0}.presenterNotes .activityCue{border-left:0;border-top:1px solid var(--line)}.presenterNotes .activityCue:first-child{border-top:0}.presenterNotes .activityCue p{font-size:15px;line-height:22px}.noteCallout{padding:10px 12px;border-radius:var(--r-sm);background:var(--amber-tint);border:1px solid var(--amber-line);font-weight:550}.nextUp{display:grid;grid-gap:2px;gap:2px;padding:12px;border:1px dashed var(--line-strong);border-radius:var(--r-sm)}.nextUp span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em}.nextUp small,.nextUp span{color:var(--ink-3)}.presenterFoot{background:var(--surface)}.keysHint{margin-left:10px;color:var(--ink-4)}@media (max-width:1100px){.presenterBody{grid-template-columns:170px minmax(0,1fr) 280px}}@media (max-width:820px){.presenter{position:fixed;overflow-y:auto;display:block}.presenterBar{position:-webkit-sticky;position:sticky;top:0;z-index:2;flex-wrap:wrap}.presenterBody{display:block}.presenterBody>.playerRail{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:var(--s-2)}.presenterBody>.playerRail button{flex:none}.presenterBody>.playerRail .railTitle{display:none}.presenterNotes{border-left:0;border-top:1px solid var(--line)}.presenterFoot{position:-webkit-sticky;position:sticky;bottom:0}.keysHint{display:none}.presenterStage .activityStage>h2{font-size:24px;line-height:30px}}.learnerScreen{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto 1fr auto;background:var(--surface);overflow:auto}.learnerScreenBar{display:flex;justify-content:space-between;align-items:center;padding:12px 28px;border-bottom:1px solid var(--line);background:var(--surface-2);font-family:var(--font-serif);font-size:20px}.learnerScreenBar span{font-family:var(--font-mono);font-size:14px;color:var(--ink-3)}.learnerScreenStage{padding:48px clamp(24px,6vw,96px);max-width:1200px;width:100%;margin:0 auto}.learnerScreenStage>h1{margin:12px 0 28px;font-family:var(--font-serif);font-weight:500;font-size:clamp(30px,3.6vw,48px);line-height:1.15;letter-spacing:-.018em}.learnerScreenStage .modelUpdate p,.learnerScreenStage .scenarioBox p{font-size:clamp(18px,1.8vw,26px);line-height:1.55}.learnerScreenStage .talkPrompt strong{font-size:clamp(22px,2.4vw,34px);line-height:1.3}.learnerScreenStage .challengeList button,.learnerScreenStage .phraseGrid button{font-size:clamp(16px,1.5vw,22px);min-height:56px}.learnerScreenStage .grammarChoices b{font-size:clamp(17px,1.6vw,24px)}.learnerScreenStage .finalTask h3{font-size:clamp(22px,2.2vw,32px)}.learnerScreenBlank{display:grid;place-content:center;justify-items:center;grid-gap:10px;gap:10px;text-align:center;color:var(--ink-3)}.learnerScreenBlank h1{font-family:var(--font-serif);font-weight:500;font-size:40px;color:var(--ink)}.brandDot{width:56px;height:56px;border-radius:16px;background:var(--brand)}.learnerScreenNav{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:space-between;gap:12px;padding:12px 28px;border-top:1px solid var(--line);background:var(--surface-2)}.convoGrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:var(--s-4);gap:var(--s-4);align-items:start}.convoSide{position:-webkit-sticky;position:sticky;top:16px;display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.convoSide .practiceModel{margin-top:0}.approvedModel{border-style:solid;background:var(--surface-2)}.approvedModelHero{margin:0 0 var(--s-4);padding:18px 20px;border:2px solid var(--brand);border-radius:var(--r-md);background:var(--brand-tint-2)}.approvedModelHero>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.approvedModelHero span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--brand-ink);font-weight:700}.approvedModelHero h3{font-family:var(--font-serif);font-size:22px;margin:0}.approvedModelHero p{margin:12px 0 8px;font-size:var(--t-body);line-height:1.7;white-space:pre-wrap}.approvedModelHero small{display:block;color:var(--muted);line-height:1.5}.approvedModel summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--brand-ink);font-weight:700}.approvedModel p{margin:12px 0 8px;line-height:1.7}.approvedModel small,.approvedTeacherModel small{display:block;color:var(--muted);line-height:1.5}.convoWho{display:flex;align-items:center;gap:12px;margin-top:var(--s-4)}.convoWho div{display:grid;flex:1 1}.convoWho small{color:var(--ink-3)}.convoAvatar{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand-tint-2);color:var(--brand-ink);font-weight:700;border:1px solid var(--line)}.convoTask{margin-top:8px;color:var(--ink-2)}.thread{list-style:none;margin:var(--s-5) 0 0;padding:0;gap:10px}.thread,.thread li{display:flex;flex-direction:column}.thread li.learner{align-items:flex-end}.bubble{max-width:min(560px,85%);padding:10px 14px;border-radius:16px;border:1px solid var(--line)}.bubble p{margin:0;line-height:1.5}.bubble b{display:block;font-size:var(--t-caption);color:var(--brand-ink);margin-bottom:2px}.bubble.them{background:var(--surface-2);border-top-left-radius:4px}.bubble.me{background:var(--brand-tint-2);border-color:#D4E6E1;border-top-right-radius:4px}.bubble.typing p{color:var(--ink-3)}.bubble .replay{margin-top:4px;font-size:var(--t-caption)}.coachNote{max-width:min(560px,85%);margin-top:6px;padding:6px 10px;border-radius:var(--r-sm);background:var(--amber-tint);border:1px solid var(--amber-line);font-size:14px}.coachNote span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;margin-right:6px;color:var(--ink-2)}.composer{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line)}.composer .modeSwitch{margin-top:0}.writeRow{display:flex;gap:8px;align-items:flex-end}.writeRow textarea{flex:1 1;min-height:72px}.movesTracker{padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.movesTracker>span{display:block;margin-bottom:8px;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;color:var(--ink-3)}.movesTracker ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.movesTracker li{display:flex;gap:8px;color:var(--ink-2)}.movesTracker li i{font-style:normal;width:16px;color:var(--ink-4)}.movesTracker li.done{color:var(--ink)}.movesTracker li.done i{color:var(--ok)}@media (max-width:900px){.convoGrid{grid-template-columns:1fr}.convoSide{position:static;order:-1}}.attentionBar{margin-bottom:var(--s-4);border:1px solid var(--amber-line);border-radius:var(--r-lg);background:#FFFBF2;overflow:hidden}.attentionHead{display:flex;align-items:center;gap:10px;padding:10px var(--s-4);flex-wrap:wrap;font-size:var(--t-small)}.attentionHead svg{width:16px;height:16px;color:var(--amber)}.attentionHead span{color:var(--ink-3)}.attentionRow{display:grid;grid-template-columns:auto minmax(120px,180px) minmax(0,1fr) auto;align-items:center;grid-gap:var(--s-3);gap:var(--s-3);padding:10px var(--s-4);border-top:1px solid var(--amber-line);background:var(--surface)}.attentionWho{display:grid;line-height:1.25}.attentionWho b{font-size:var(--t-small)}.attentionWho small{font-size:var(--t-caption)}.learnerTabs{display:flex;gap:6px;margin-bottom:var(--s-4);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.learnerTabs::-webkit-scrollbar{display:none}.learnerTabs button{flex:none;gap:8px;min-height:40px;padding:0 12px 0 6px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-weight:530;color:var(--ink-2);box-shadow:var(--e-1)}.learnerTabs button:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.learnerTabs button.active{border-color:var(--brand);color:var(--ink);box-shadow:0 0 0 1px var(--brand)}.learnerTabs .avatar{width:28px;height:28px;font-size:10.5px}.learnerTabs .code{height:20px;font-size:10.5px}.learnerTabs button.active .code{background:var(--brand-tint);border-color:#C9DFDA;color:var(--brand-ink)}.learnerTabs button:disabled{opacity:.6}.deskGrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);grid-gap:var(--s-4);gap:var(--s-4);align-items:stretch}.nextJob{position:relative;padding:var(--s-6) var(--s-7);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--e-2);overflow:hidden}.nextJob:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--brand)}.nextJobTop{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nextJob h2{margin-top:var(--s-3);font-family:var(--font-serif);font-weight:500;font-size:28px;line-height:34px;letter-spacing:-.018em;max-width:28ch}.nextJob>p{margin-top:var(--s-2);color:var(--ink-2);max-width:62ch}.nextJobCriterion{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--s-3);gap:var(--s-3);align-items:baseline;margin-top:var(--s-4);padding:10px 14px;border-radius:var(--r-md);background:var(--brand-tint-2);border:1px solid #d4e6e1}.nextJobCriterion span{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);white-space:nowrap}.nextJobCriterion p{font-size:var(--t-small);color:var(--ink)}.nextJob .heroActions{margin-top:var(--s-5)}.upNext{padding:var(--s-4) var(--s-3) var(--s-3)}.upNextHead{display:flex;justify-content:space-between;align-items:center;padding:0 8px var(--s-2)}.upNext ol{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.upNext li{margin:0}.upNext li button{width:100%;justify-content:flex-start;gap:10px;min-height:48px;padding:6px 8px;border-radius:var(--r-sm);border:0;background:none;text-align:left;white-space:normal}.upNext li button:hover{background:var(--surface-2)}.upNext li button.current{background:var(--amber-tint)}.upNextTitle{display:grid;flex:1 1;min-width:0;line-height:1.3}.upNextTitle b{font-size:var(--t-small);font-weight:560;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upNextTitle small{font-size:var(--t-caption)}.ribbonCard{margin-top:var(--s-4)}.ribbonCardHead{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap}.ribbonCardHead h3{margin-top:2px}.teachCard{margin-top:var(--s-4);padding:0}.teachHead{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);flex-wrap:wrap}.teachHead h3{margin-top:2px}.teachPicker{display:grid;grid-template-columns:220px 140px minmax(0,1fr);grid-gap:var(--s-3);gap:var(--s-3);align-items:end;padding:var(--s-4) var(--s-5) 0}.teachLesson{display:grid;grid-gap:2px;gap:2px;padding:6px 0 4px;min-width:0}.teachLesson b{font-size:var(--t-body)}.teachLesson small{font-size:var(--t-small);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.teachActions{display:flex;gap:var(--s-2);flex-wrap:wrap;padding:var(--s-4) var(--s-5)}.teachSpacer{flex:1 1}.teachCard>.fieldHint,.teachCard>.loginError,.teachCard>.successBox{margin:0 var(--s-5) var(--s-4)}.inbox{margin-top:var(--s-4);padding:0}.inboxHead{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);flex-wrap:wrap}.inboxHead h3{margin-top:2px}.segmented button span{margin-left:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4)}.segmented button.active span{color:var(--brand)}.inboxSkeleton{display:grid;grid-gap:8px;gap:8px;padding:var(--s-4) var(--s-5)}.inboxEmpty{padding:var(--s-6) var(--s-5);color:var(--ink-3);font-size:var(--t-small)}.inboxList{list-style:none;margin:0;padding:0}.inboxList>li{margin:0;border-top:1px solid var(--line)}.inboxList>li:first-child{border-top:0}.inboxRow{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto 18px;align-items:center;grid-gap:var(--s-3);gap:var(--s-3);width:100%;min-height:56px;padding:8px var(--s-5);border:0;border-radius:0;background:none;text-align:left;white-space:normal}.inboxRow:hover{background:var(--surface-2)}.inboxIcon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);background:var(--paper-2);color:var(--ink-2)}.inboxIcon svg{width:16px;height:16px}.inboxTitle{display:grid;min-width:0;line-height:1.3}.inboxTitle b{font-size:var(--t-small);font-weight:560;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inboxTitle small{font-size:var(--t-caption)}.inboxChevron{color:var(--ink-4);transition:transform var(--d-base) var(--ease)}li.open .inboxChevron{transform:rotate(180deg)}.inboxDetail,li.open .inboxRow{background:var(--surface-2)}.inboxDetail{padding:var(--s-2) var(--s-5) var(--s-5) calc(var(--s-5) + 44px);animation:rise var(--d-base) var(--ease)}.inboxCols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:var(--s-6);gap:var(--s-6)}.inboxCols>div:only-child{grid-column:1/-1}.inboxText{margin:4px 0 var(--s-4);font-size:var(--t-small);color:var(--ink-2);white-space:pre-wrap}.inboxText.response{padding:12px 14px;border-left:2px solid var(--brand);background:var(--surface);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink);font-family:var(--font-serif);font-size:16px;line-height:26px}.reviewForm{display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.recordingBox{display:grid;grid-gap:8px;gap:8px;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.recordingBox b{display:block;font-size:var(--t-small)}.recordingBox small{font-size:var(--t-caption)}.recordingBox .secondary{justify-self:start}.ratings{margin:0;padding:0;border:0;display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.ratings legend{padding:0;margin-bottom:var(--s-2);font-size:var(--t-small);font-weight:600}.ratings legend small{display:block;font-weight:400;font-size:var(--t-caption)}.ratingGroup>span{display:block;margin-bottom:6px;font-size:var(--t-label);font-weight:550;color:var(--ink-2)}.ratingGroup>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.rating{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;min-height:58px;padding:8px 10px;white-space:normal;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);line-height:1.25}.rating b{font-size:var(--t-small);font-weight:600}.rating small{font-size:11px;color:var(--ink-3);font-weight:400}.rating:hover:not(:disabled){border-color:var(--line-strong)}.rating.on.r0{border-color:var(--ok);background:var(--ok-tint);box-shadow:0 0 0 1px var(--ok)}.rating.on.r1{border-color:var(--amber);background:var(--amber-tint);box-shadow:0 0 0 1px var(--amber)}.rating.on.r2{border-color:var(--bad);background:var(--bad-tint);box-shadow:0 0 0 1px var(--bad)}.typePicker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px}.typePicker button{flex-direction:column;gap:4px;min-height:60px;padding:8px 4px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:var(--t-caption);color:var(--ink-2)}.typePicker button svg{width:18px;height:18px}.typePicker button.on{border-color:var(--brand);background:var(--brand-tint-2);color:var(--brand-ink);box-shadow:0 0 0 1px var(--brand)}@media (max-width:1024px){.deskGrid,.inboxCols{grid-template-columns:1fr}.inboxCols{gap:var(--s-4)}}@media (max-width:720px){.attentionRow{grid-template-columns:auto 1fr}.attentionRow button,.attentionRow input{grid-column:1/-1}.nextJob{padding:var(--s-5)}.nextJob h2{font-size:23px;line-height:29px}.nextJob .heroActions button{width:100%}.nextJobCriterion{grid-template-columns:1fr;gap:4px}.teachPicker{grid-template-columns:1fr 1fr}.teachLesson{grid-column:1/-1}.teachActions button{flex:1 1 100%}.teachSpacer{display:none}.inboxRow{grid-template-columns:32px minmax(0,1fr) auto;padding:8px var(--s-4)}.inboxChevron,.inboxRow .code{display:none}.inboxDetail{padding:var(--s-2) var(--s-4) var(--s-4)}.ratingGroup>div{grid-template-columns:1fr}.rating{min-height:0}.typePicker{grid-template-columns:repeat(3,1fr)}.segmented{width:100%;overflow-x:auto}.ribbon .wk i{height:10px}.ribbonWeeks{font-size:8.5px}}.rating small:first-letter{text-transform:uppercase}.aiDraft{display:grid;grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid #d4e6e1;border-radius:var(--r-md);background:var(--brand-tint-2)}.aiDraft.loading,.aiDraft.unavailable,.aiDraft>header{display:flex;align-items:flex-start;gap:10px}.aiDraft.loading>div,.aiDraft.unavailable>div,.aiDraft>header>div{flex:1 1;display:grid;grid-gap:2px;gap:2px}.aiDraft svg{width:16px;height:16px;color:var(--brand);flex:none;margin-top:2px}.aiDraft b{font-size:var(--t-small)}.aiDraft small{font-size:var(--t-caption);color:var(--ink-3)}.aiDraft.unavailable{background:var(--surface);border-color:var(--line)}.aiChecklist{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.aiChecklist li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--s-3);gap:var(--s-3);align-items:center;padding:8px 10px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}.aiChecklist li>div:first-child{display:grid;grid-gap:2px;gap:2px;font-size:var(--t-small)}.aiChecklist q{font-family:var(--font-serif);font-size:14px;color:var(--ink-2)}.aiStatus{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden}.aiStatus button{min-height:30px;padding:0 10px;border:0;border-radius:0;background:var(--surface);font-size:var(--t-caption);color:var(--ink-3)}.aiStatus button+button{border-left:1px solid var(--line)}.aiStatus button.on.met{background:var(--ok-tint);color:var(--ok)}.aiStatus button.on.partly{background:var(--amber-tint);color:#7A4A05}.aiStatus button.on.missing{background:var(--bad-tint);color:var(--bad)}.aiNote{font-size:var(--t-caption);color:var(--ink-2)}.aiTag{margin-left:8px;font-style:normal;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.aiTag.you{color:var(--amber)}.approveRow{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-3);flex-wrap:wrap}.approveRow small{font-size:var(--t-caption);color:var(--ink-3)}@media (max-width:720px){.aiChecklist li{grid-template-columns:1fr}}.teacherFocusPicker{display:flex;gap:var(--s-4);align-items:end;flex-wrap:wrap;margin:0 0 var(--s-4)}.teacherFocusPicker>div{flex:1 1 210px}.teacherFocusPicker h2{margin-top:4px;font-size:21px}.teacherFocusPicker label{display:grid;grid-gap:5px;gap:5px;min-width:220px;flex:1 1 250px;font-size:var(--t-small);font-weight:550}.teacherFocusPicker select{width:100%;min-height:44px}.teacherFocusGrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);grid-gap:var(--s-4);gap:var(--s-4);align-items:stretch}.teacherReviewCard{display:flex;flex-direction:column;gap:var(--s-3)}.teacherReviewCard h2{font-family:var(--font-serif);font-size:24px;line-height:1.2;font-weight:500}.teacherReviewCard p{color:var(--ink-2);flex:1 1}.teacherReviewCard .linkButton{align-self:flex-start;text-align:left}.teacherReviewPanel{margin-top:var(--s-4)}.teacherResetRequests{margin-top:var(--s-5)}.teacherResetRequests summary{cursor:pointer;display:flex;gap:8px;align-items:center;font-weight:650}.teacherResetRequests summary svg{width:18px}.teacherResetRequests>p{margin:var(--s-3) 0}.teacherClassLayout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.55fr);grid-gap:var(--s-4);gap:var(--s-4);align-items:start}.teacherClassList{display:grid;grid-gap:8px;gap:8px;align-content:start}.teacherClassList h2{margin-bottom:var(--s-2);font-size:19px}.teacherClassList h2 small{font-size:var(--t-small);font-weight:400;color:var(--ink-3)}.teacherClassList>button{min-height:68px;display:flex;justify-content:space-between;text-align:left;gap:10px;padding:10px 12px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md)}.teacherClassList>button:hover{border-color:var(--brand)}.teacherClassList>button.selected{border-color:var(--brand);background:var(--brand-tint-2)}.teacherClassList>button span:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.teacherClassList>button b{white-space:normal;font-size:var(--t-small)}.teacherClassList>button small{font-size:var(--t-caption);color:var(--ink-3)}.teacherClassList>button .badge{flex:none}.teacherClassDetail>header{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding-bottom:var(--s-3);border-bottom:1px solid var(--line)}.teacherClassDetail>header h2{margin:5px 0;font-family:var(--font-serif);font-size:26px}.teacherClassDetail>header p{color:var(--ink-3);font-size:var(--t-small)}.teacherRoster{list-style:none;padding:0;margin:var(--s-3) 0;display:grid}.teacherRoster li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.teacherRoster li>div{min-width:0;display:grid;grid-gap:2px;gap:2px}.teacherRoster li b{font-size:var(--t-small)}.teacherRoster li small{color:var(--ink-3)}.teacherClassEmpty{display:grid;justify-items:start;grid-gap:8px;gap:8px;padding:var(--s-5) 0}.teacherClassEmpty svg{width:22px;color:var(--ink-3)}.teacherClassEmpty p{font-size:var(--t-small);color:var(--ink-3)}.teacherClassForm{display:grid;grid-gap:var(--s-3);gap:var(--s-3);margin:var(--s-3) 0;padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.teacherClassForm h3{font-size:17px}.teacherClassForm label,.teacherEnrollForm label{display:grid;grid-gap:5px;gap:5px;font-size:var(--t-small);font-weight:550}.teacherClassForm input,.teacherClassForm select,.teacherEnrollForm select{width:100%;min-height:42px}.teacherClassActions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.teacherEnrollForm{display:flex;gap:var(--s-3);align-items:end;padding-top:var(--s-3)}.teacherEnrollForm label{flex:1 1}.teacherClassDetail>.fieldHint{display:block;margin-top:8px}.classCreatePanel{margin-bottom:var(--s-4)}.classCreatePanel>h2{font-family:var(--font-serif);font-size:24px}.classCreatePanel>p{margin-top:6px;color:var(--ink-3)}@media (max-width:950px){.teacherClassLayout,.teacherFocusGrid{grid-template-columns:1fr}}@media (max-width:600px){.teacherClassDetail>header>button,.teacherEnrollForm>button,.teacherFocusPicker>button{width:100%}.teacherEnrollForm{flex-direction:column;align-items:stretch}.teacherEnrollForm label{width:100%}.teacherRoster li{align-items:flex-start}.teacherRoster li button{font-size:var(--t-caption)}}.simpleCourseWeek{display:flex;gap:var(--s-4);align-items:end;flex-wrap:wrap;margin-bottom:var(--s-4)}.simpleCourseWeek>div{flex:2 1 330px}.simpleCourseWeek h2{font-family:var(--font-serif);font-size:26px;margin:6px 0}.simpleCourseWeek p{color:var(--ink-2);font-size:var(--t-small)}.simpleCourseWeek>label{display:grid;grid-gap:5px;gap:5px;flex:1 1 225px;font-weight:600;font-size:var(--t-caption)}.simpleCourseWeek select{min-height:44px;width:100%}.simpleCourseGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:var(--s-4);gap:var(--s-4);align-items:start}.simpleCourseLessons h2{font-size:20px}.simpleCourseLessons>p{color:var(--ink-3);font-size:var(--t-small);margin:6px 0 var(--s-3)}.simpleCourseLessons ol{padding:0;margin:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.simpleCourseLessons li button{display:flex;width:100%;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:12px}.simpleCourseLessons li button:hover{border-color:var(--brand)}.simpleCourseLessons li button.active{border-color:var(--brand);background:var(--brand-tint-2)}.simpleCourseLessons li button>span:nth-child(2){display:grid;grid-gap:4px;gap:4px;min-width:0;flex:1 1}.simpleCourseLessons li button b{font-size:var(--t-small);line-height:1.35}.simpleCourseLessons li button small{color:var(--ink-3);font-size:var(--t-caption)}.simpleCourseLessons li button>.badge{font-size:var(--t-micro);flex:none}.simpleLessonNumber{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;flex:none;font-family:var(--font-mono);font-size:12px}.simpleSelectedLesson{display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.simpleSelectedLesson h2{font-family:var(--font-serif);font-size:28px;line-height:1.18}.simpleSelectedLesson>p{color:var(--ink-2)}.simpleLessonOutcome{padding:var(--s-3);background:var(--brand-tint-2);border-radius:var(--r-md)}.simpleLessonOutcome b{font-size:var(--t-caption);color:var(--brand)}.simpleLessonOutcome p{margin-top:5px;font-size:var(--t-small)}.simpleSelectedLesson .linkButton{justify-self:start}.simpleLessonNotes{border-top:1px solid var(--line);padding-top:var(--s-3);display:grid;grid-gap:8px;gap:8px}.simpleLessonNotes b{font-size:var(--t-small)}.simpleLessonNotes li,.simpleLessonNotes p{font-size:var(--t-small);color:var(--ink-2)}.simpleLessonNotes ol{padding-left:20px;display:grid;grid-gap:5px;gap:5px}@media(max-width:950px){.simpleCourseGrid{grid-template-columns:1fr}}@media(max-width:600px){.simpleCourseLessons li button>.badge{display:none}.simpleCourseWeek>button{width:100%}}.teacherClassLayout{grid-template-columns:minmax(0,.78fr) minmax(0,1.65fr)}.teacherClassDetail,.teacherClassList{min-width:0;max-width:100%}.teacherClassList{overflow:hidden}.teacherClassList>button{width:100%;box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-column-gap:8px;column-gap:8px}.teacherClassList>button,.teacherClassList>button .teacherClassName{max-width:100%;min-width:0;display:grid;overflow:hidden}.teacherClassList>button .teacherClassName b,.teacherClassList>button .teacherClassName small{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}.teacherClassList>button .teacherClassName small{white-space:normal}.teacherClassList>button .badge{white-space:nowrap;min-width:0;max-width:100%;font-size:10px}.teacherClassDetail>header>div:first-child{min-width:0;flex:1 1 250px}.teacherClassDetail>header h2{overflow-wrap:anywhere}.teacherClassDetail>header .teacherClassActions{justify-content:flex-end;flex:0 1 auto}.teacherClassDetail .teacherRoster button{white-space:nowrap}.teacherDeskClassPicker{display:flex;align-items:end;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-4)}.teacherDeskClassPicker>div{flex:1 1 180px;min-width:0}.teacherDeskClassPicker h2{font-size:19px;margin:5px 0 0}.teacherDeskClassPicker>label{display:grid;grid-gap:6px;gap:6px;flex:2 1 265px;min-width:0;font-size:var(--t-caption);font-weight:600}.teacherDeskClassPicker select{width:100%;min-height:44px}.teacherDeskCurriculum{flex:1 1 180px;min-width:0;font-size:var(--t-small);color:var(--ink-3);overflow-wrap:anywhere}.teacherClassDesk{display:grid;grid-template-columns:minmax(235px,.7fr) minmax(0,1.7fr);grid-gap:var(--s-4);gap:var(--s-4);align-items:start}.teacherDeskRoster{min-width:0;display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.teacherDeskRosterHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.teacherDeskRosterHead strong{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);font-family:var(--font-mono);font-size:12px}.teacherDeskStudentList{display:grid;grid-gap:6px;gap:6px}.teacherDeskStudentList>button{display:flex;align-items:center;gap:12px;min-width:0;width:100%;text-align:left;min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.teacherDeskStudentList>button.selected{border-color:var(--brand);background:var(--brand-tint-2)}.teacherDeskStudentList>button:hover{border-color:var(--brand)}.teacherDeskStudentList>button>span{flex:1 1;min-width:0;display:grid;grid-gap:3px;gap:3px}.teacherDeskStudentList>button b{font-size:var(--t-small);overflow-wrap:anywhere}.teacherDeskStudentList>button small{font-size:var(--t-caption);color:var(--ink-3)}.teacherDeskStudentList>button svg{width:17px;flex:none;color:var(--ink-3)}.teacherDeskLessonColumn{display:grid;grid-gap:var(--s-4);gap:var(--s-4);min-width:0}.teacherDeskLessonColumn .nextJob{min-width:0}.teacherDeskLessonColumn .nextJob h2{max-width:none}.teacherDeskLessonColumn .nextJob>p b{color:var(--ink)}.teacherDeskEvidence{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.teacherDeskEvidence>div:first-child{flex:1 1 260px}.teacherDeskEvidence h3{font-family:var(--font-serif);font-size:20px;margin:6px 0}.teacherDeskEvidence p{font-size:var(--t-small);color:var(--ink-3)}.teacherDeskEvidenceActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.teacherDeskNoLesson{display:grid;justify-items:start;grid-gap:12px;gap:12px}.teacherDeskNoLesson p{color:var(--ink-3)}@media(max-width:950px){.teacherClassDesk,.teacherClassLayout{grid-template-columns:1fr}.teacherDeskRoster{width:100%}.teacherDeskStudentList{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}@media(max-width:640px){.teacherDeskClassPicker>label,.teacherDeskCurriculum{flex:1 1 100%}.teacherClassDetail>header .teacherClassActions{width:100%}.teacherClassDetail>header .teacherClassActions button{flex:1 1}.teacherDeskEvidenceActions,.teacherDeskEvidenceActions button{width:100%}.teacherDeskStudentList{grid-template-columns:1fr}}.teacherCourseContext{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-4)}.teacherCourseContext>div{display:grid;grid-gap:3px;gap:3px;min-width:0;flex:1 1}.teacherCourseContext b{font-size:var(--t-body)}.teacherCourseContext small{font-size:var(--t-caption);color:var(--ink-3)}@media(max-width:600px){.teacherCourseContext>button{width:100%}}.teacherRoster .teacherRosterSelect{display:grid;flex:1 1;min-width:0;grid-gap:3px;gap:3px;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:8px 10px}.teacherRoster .teacherRosterSelect b{overflow-wrap:anywhere}.teacherRoster .teacherRosterSelect small{font-size:var(--t-caption);color:var(--ink-3)}.teacherRoster .teacherRosterSelect.selected{border-color:var(--brand);background:var(--brand-tint-2)}.teacherRoster .teacherRosterSelect:hover{border-color:var(--line-strong)}.teacherClassLessonPreview{display:grid;grid-gap:8px;gap:8px;padding:var(--s-4);margin-top:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.teacherClassLessonPreview h3{font-family:var(--font-serif);font-size:22px;line-height:1.25}.teacherClassLessonPreview>b{font-size:var(--t-body)}.teacherClassLessonPreview>p{color:var(--ink-2);font-size:var(--t-small)}.teacherClassLessonPreview>.primary{justify-self:start;margin-top:6px}@media(max-width:600px){.teacherClassLessonPreview>.primary{width:100%}}