@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-opsz-normal-C5tfwALZ.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-opsz-normal-DgmypKXX.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-opsz-normal-DGm64vGR.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-opsz-normal-DFglUmAd.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-opsz-normal-Gqw5JQlq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-opsz-normal-STiTPs0F.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-opsz-normal-BHZsWIlc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-opsz-italic-5yUt4G_9.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-opsz-italic-Bj0ndbyp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-opsz-italic-DFpO5j-Z.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-opsz-italic-CHERNRFq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-opsz-italic-BdcrZMcO.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-opsz-italic-4y8iAqqs.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-opsz-italic-CJ93D38p.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#efe9d8;--sheet:#f8f4e8;--ink:#14231a;--ink-soft:#4f5e52;--rule:#cfc6ad;--grid:#1f3f8f;--grid-wash:#e2e6f3;--gold:#9c7a12;--gold-bright:#b98d17;--contour:#9c7a12;--alert:#b3101f;--ui:"Archivo Variable", system-ui, sans-serif;--reading:"Literata Variable", Georgia, serif;--measure:38rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#0f1b13;--sheet:#17261c;--ink:#ece6d2;--ink-soft:#a5ae9c;--rule:#2b3d31;--grid:#8fb0ff;--grid-wash:#1a2a4a;--gold:#e2b638;--gold-bright:#fedf6b;--contour:#e2b638;--alert:#ff6b6b}}*,:before,:after{box-sizing:border-box}a{color:var(--gold)}body{background:var(--paper);color:var(--ink);font:400 1rem/1.5 var(--ui);-webkit-text-size-adjust:100%;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.visually-hidden{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-soft)}.error{color:var(--alert);border-left:3px solid var(--alert);padding-left:.75rem}.shell{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.masthead{border-bottom:1px solid var(--rule);padding:.75rem 1rem}.wordmark{color:inherit;align-items:center;gap:.625rem;text-decoration:none;display:flex}.badge{width:auto;height:2.25rem}.wordmark-unit{letter-spacing:.03em;text-transform:uppercase;color:var(--gold);font-size:1.25rem;font-weight:800;font-stretch:65%;line-height:1;display:block}.wordmark-app{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem;font-weight:600;font-stretch:80%;display:block}.whoami{color:var(--ink-soft);align-items:baseline;gap:.75rem;margin-left:auto;font-size:.875rem;display:flex}.masthead nav a{letter-spacing:.06em;text-transform:uppercase;padding:.375rem 0 .25rem;font-size:.9375rem;font-stretch:75%;line-height:1}.masthead a[aria-current]{border-color:var(--gold)}.prompt-heading,.source-title,.lesson h1,.review h1,.exam h1,.tile-title{text-transform:uppercase;letter-spacing:.02em;color:var(--gold)}.lesson-section h2,.module h2{text-transform:uppercase;letter-spacing:.04em}.tile-bar span{background:var(--gold)}progress::-webkit-progress-value{background:var(--gold)}progress::-moz-progress-bar{background:var(--gold)}.masthead{border-bottom:2px solid var(--gold)}.signin{max-width:24rem}.signin-form{gap:1rem;margin-top:1.5rem;display:grid}.signin-form label{gap:.375rem;font-size:.9375rem;font-weight:600;display:grid}.signin-form input{background:var(--sheet);border:1.5px solid var(--ink);border-radius:3px;padding:.75rem .875rem}.workspace{min-width:0;padding:1.5rem 1rem 4rem}.ask{max-width:var(--measure)}.prompt-heading{letter-spacing:-.01em;text-wrap:balance;margin:2.5rem 0 1.5rem;font-size:clamp(2.25rem,9vw,3.75rem);font-weight:750;font-stretch:70%;line-height:1}.ask-form{gap:.5rem;display:flex}.ask-form input{background:var(--sheet);border:1.5px solid var(--ink);border-radius:3px;flex:1;min-width:0;padding:.75rem .875rem}.ask-form input::placeholder{color:var(--ink-soft)}.ask-form button{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);white-space:nowrap;border-radius:3px;padding:.75rem 1rem;font-weight:600}.starters{margin:1.5rem 0 0;padding:0;list-style:none}.starters button{text-align:left;border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--ink);background:0 0;padding:.75rem 2rem .75rem 0;font-weight:600;position:relative}.starters button:after{content:"›";color:var(--ink-soft);font-size:1.5rem;line-height:1;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.starters button:hover{color:var(--gold)}.answer{font:400 1.0625rem/1.65 var(--reading);margin-top:1.75rem}.answer p,.answer ol,.answer ul{margin:0 0 1em}.answer ol,.answer ul{padding-left:1.5rem}.answer li+li{margin-top:.35em}.cite{font:500 .8125rem/1 var(--ui);font-variant-numeric:tabular-nums;background:var(--grid-wash);color:var(--grid);border:1px solid var(--grid);vertical-align:.1em;white-space:nowrap;border-radius:2px;margin:0 .1rem;padding:.2rem .4rem .2rem 0}.cite b{border-right:1px solid var(--grid);margin-right:.35rem;padding:0 .35rem;font-weight:700;display:inline-block}.authority{border-left:3px solid var(--contour);color:var(--ink-soft);margin:1.25rem 0 0;padding-left:.75rem;font-size:.875rem}.sources-heading{margin:2.25rem 0 0;font-size:.9375rem;font-weight:700;font-stretch:85%}.sources{counter-reset:source;border-top:1px solid var(--rule);margin:.5rem 0 0;padding:0;list-style:none}.sources li{counter-increment:source;border-bottom:1px solid var(--rule)}.sources button{text-align:left;background:0 0;border:0;grid-template-columns:1.75rem 1fr;width:100%;padding:.75rem 0;display:grid}.sources button:before{content:counter(source);font-variant-numeric:tabular-nums;color:var(--grid);grid-row:1/span 3;font-weight:700}.source-ref{color:var(--grid);font-variant-numeric:tabular-nums;font-weight:600}.source-trail{color:var(--ink-soft);font-size:.875rem}.source-text{font:400 .9375rem/1.5 var(--reading);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;display:-webkit-box;overflow:hidden}.page-pane{z-index:10;background:var(--paper);grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0;overflow-y:auto}.page-bar{background:var(--paper);border-bottom:1px solid var(--rule);align-items:center;gap:.25rem;padding:.5rem .5rem .5rem 1rem;display:flex;position:sticky;top:0}.page-title{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-weight:600;overflow:hidden}.page-bar button{border:1px solid var(--rule);background:0 0;border-radius:3px;min-width:2.75rem;min-height:2.75rem;padding:0 .75rem;font-size:1.25rem;line-height:1}.page-bar .page-close{font-size:.9375rem;font-weight:600}.page-image{background:#fff;width:100%;max-width:52rem;height:auto;margin:0 auto;display:block}@media (width>=60rem){.workspace{padding:2rem 2.5rem 4rem}.masthead{padding:.75rem 2.5rem}.shell.with-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shell.with-page .masthead{grid-column:1}.page-pane{border-left:1px solid var(--rule);grid-area:1/2/span 2;height:100dvh;position:sticky;top:0}}@media (prefers-reduced-motion:no-preference){.page-pane{animation:.16s ease-out sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(.5rem)}}}.masthead{align-items:center;gap:1.75rem;display:flex}.masthead nav{gap:1rem;display:flex}.masthead a{color:var(--ink-soft);border-bottom:2px solid #0000;padding-bottom:.125rem;font-weight:600;text-decoration:none}.masthead a[aria-current]{color:var(--ink);border-color:var(--contour)}.course{max-width:var(--measure)}.source-title{margin:.5rem 0 1.5rem;font-size:2rem;font-weight:750;font-stretch:70%;line-height:1.05}.module h2{margin:2rem 0 .25rem;font-size:1rem;font-weight:700;font-stretch:85%}.lesson-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.lesson-list a{border-bottom:1px solid var(--rule);color:inherit;padding:.875rem 2rem .875rem 0;text-decoration:none;display:block;position:relative}.lesson-list a:after,.row-link:after{content:"›";color:var(--ink-soft);font-size:1.5rem;line-height:1;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.row-link{color:var(--ink);font-weight:600;text-decoration:none;display:block;position:relative}.lesson-list a:hover .lesson-name,.row-link:hover{color:var(--gold)}.lesson-name{color:var(--ink);font-weight:600;display:block}.draft{color:var(--contour);font-weight:500}.next-up{background:var(--gold);color:var(--sheet);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:.25rem;margin-left:.5rem;padding:.05rem .4rem;font-size:.6875rem;font-weight:700;display:inline-block}.phase-blurb{margin:0;padding:.75rem 1rem .5rem;font-size:.9375rem}.step-tag{border:1px solid var(--rule);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:.25rem;margin-left:.5rem;padding:.02rem .35rem;font-size:.625rem;font-weight:600;display:inline-block}.phase-add{margin:0;padding:.25rem 1rem .75rem}.guidance-banner{border-left:3px solid var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);border-radius:.25rem;margin:.75rem 0 1rem;padding:.625rem .875rem;font-size:.9375rem}.guidance-section{margin:1.25rem 0}.guidance-section h2{margin-bottom:.375rem}.guidance-checklist{padding-left:0;list-style:none}.guidance-checklist li{margin:.25rem 0;padding-left:1.5rem;position:relative}.guidance-checklist li:before{content:"☐";color:var(--gold);position:absolute;left:0}.guidance-editor .field{margin:.75rem 0;display:block}.guidance-editor .field span{margin-bottom:.25rem;font-size:.875rem;font-weight:600;display:block}.guidance-editor input,.guidance-editor textarea,.guidance-editor select{border:1px solid var(--rule);background:var(--sheet);width:100%;max-width:40rem;color:var(--ink);font:inherit;border-radius:.25rem;padding:.5rem .625rem}.guidance-editor .editor-block{border:1px solid var(--rule);border-radius:.375rem;max-width:40rem;margin:.75rem 0;padding:.75rem}.guidance-editor .editor-heading{margin-bottom:.5rem;font-weight:600}.guidance-editor .editor-row{align-items:center;gap:.5rem;max-width:40rem;margin:.375rem 0;display:flex}.guidance-editor .editor-row input{flex:1}.lesson-summary{color:var(--ink-soft);font-size:.9375rem;display:block}.lesson-progress{color:var(--ink-soft);font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;margin-top:.375rem;font-size:.8125rem;display:flex}progress{appearance:none;background:var(--rule);border:0;width:5rem;height:.375rem}progress::-webkit-progress-bar{background:var(--rule)}progress::-webkit-progress-value{background:var(--grid)}progress::-moz-progress-bar{background:var(--grid)}.lesson{max-width:var(--measure)}.lesson a{color:var(--gold)}.lesson h1{text-wrap:balance;margin:.25rem 0 .75rem;font-size:clamp(2rem,8vw,3rem);font-weight:750;font-stretch:70%;line-height:1.02}.lesson-lede{font:400 1.125rem/1.5 var(--reading);color:var(--ink-soft);margin:0 0 1rem}.lesson-section{margin-top:2.5rem}.lesson-section h2{margin:0 0 .5rem;font-size:1.375rem;font-weight:700;font-stretch:80%}.lesson-section h3{margin:0 0 .375rem;font-size:.9375rem;font-weight:700;font-stretch:85%}.prose{font:400 1.0625rem/1.65 var(--reading)}.prose p,.prose ol,.prose ul{margin:0 0 1em}.prose ol,.prose ul{padding-left:1.5rem}.table-scroll{-webkit-overflow-scrolling:touch;margin:1rem 0;overflow-x:auto}.table-scroll table{border-collapse:collapse;border:1px solid var(--rule);width:100%;font-size:.92em}.table-scroll th,.table-scroll td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:.5rem .65rem}.table-scroll th{background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--ink);font-family:var(--ui);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.table-scroll tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--ink) 5%, transparent)}.prose li+li{margin-top:.4em}.lesson figure,.guidance-section figure{margin:1.25rem 0}.lesson figure img,.guidance-section figure img{border:1px solid var(--rule);background:#fff;width:100%;height:auto;display:block}.lesson figcaption,.guidance-section figcaption{color:var(--ink-soft);margin-top:.375rem;font-size:.875rem}.key-points{background:var(--grid-wash);border-left:3px solid var(--grid);margin:1.25rem 0;padding:.875rem 1rem}.key-points ul{margin:0;padding-left:1.25rem}.key-points li+li{margin-top:.25rem}.section-source{color:var(--ink-soft);margin:.75rem 0 0;font-size:.875rem}.checkpoint{border:1.5px solid var(--ink);border-radius:3px;margin-top:1.5rem;padding:1rem}.recall{border:1px solid var(--rule);border-radius:3px;margin:.75rem 0;padding:.75rem 1rem}.recall summary{cursor:pointer;font-weight:600}.recall ul{margin:.25rem 0 0;padding-left:1.25rem}.quiz-actions{align-items:center;gap:1.25rem;margin:2.5rem 0 0;display:flex}button.primary{white-space:nowrap;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:3px;padding:.75rem 1.125rem;font-weight:600}.question-prompt{margin:0 0 .75rem;font-size:1.0625rem;font-weight:600}.options,.pool,.placed{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.options button,.pool button,.placed button{text-align:left;background:var(--sheet);border:1px solid var(--rule);border-radius:3px;width:100%;min-height:2.75rem;padding:.625rem .875rem}.placed{counter-reset:step}.placed li{counter-increment:step;grid-template-columns:1.5rem 1fr;align-items:center;gap:.25rem;display:grid}.placed li:before{content:counter(step);font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:700}.placed+p{margin:1rem 0 .5rem}.sequence>button{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:3px;margin-top:.75rem;padding:.625rem 1rem;font-weight:600}button.right,input.right{border-color:var(--grid);background:var(--grid-wash)}button.wrong,input.wrong{border-color:var(--alert);color:var(--alert)}button.right:disabled,button.wrong:disabled{opacity:1}.correct-order{margin:0;padding-left:1.5rem}.cloze p{font:400 1.0625rem/2 var(--reading);margin:0}.blank{white-space:nowrap}.cloze input{background:var(--sheet);border:0;border-bottom:1.5px solid var(--ink);font:inherit;padding:.125rem .375rem;line-height:1.4}.correction{color:var(--grid);margin-left:.25rem;font-weight:600}.verdict{border-left:3px solid var(--grid);background:var(--grid-wash);margin-top:1rem;padding:.75rem 1rem}.verdict.wrong{border-color:var(--alert);background:0 0}.verdict-source{color:var(--ink-soft)}.verdict .cite{padding:.2rem .4rem}.today{border-bottom:2px solid var(--ink);margin-bottom:1rem;padding-bottom:1.5rem}.today-link{background:var(--ink);color:var(--paper);border-radius:3px;padding:.625rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.weakest{margin:0;padding-left:1.25rem}.weakest a{color:var(--ink);font-weight:600;text-decoration:none}.weakest a:hover{color:var(--gold)}.review{max-width:var(--measure)}.review h1{font-size:2rem;font-weight:750;font-stretch:70%;line-height:1.05}.review a{color:var(--gold)}.review-card{background:var(--sheet);border:1.5px solid var(--ink);border-radius:3px;margin-top:.5rem;padding:1.25rem 1.25rem 1.5rem}.review-figure{background:#fff;max-width:100%;max-height:40vh;margin:0 auto 1rem;display:block}.review-prompt{font:500 1.25rem/1.4 var(--reading);margin:0 0 1rem}.review-back{border-top:1px solid var(--rule);font:400 1.0625rem/1.6 var(--reading);padding-top:1rem}.review-back p{margin:0 0 .5rem}.review-card textarea{background:var(--paper);border:1px solid var(--rule);width:100%;font:400 1.0625rem/1.5 var(--reading);color:inherit;resize:vertical;border-radius:3px;padding:.75rem}.review-card .quiz-actions{margin-top:.75rem}.review-card .quiz-actions button:not(.primary){color:var(--grid);background:0 0;border:0;font-weight:600}.grade-feedback{font-weight:500}.key-check{margin:0 0 .75rem;padding-left:1.5rem}.key-check .hit{color:var(--grid)}.key-check .hit::marker{content:"✓ "}.key-check .miss{color:var(--alert)}.key-check .miss::marker{content:"✗ "}.ratings{margin-top:1.25rem}.ratings p{margin:0 0 .5rem}.rating-buttons{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.rating-buttons button{background:var(--paper);border:1px solid var(--rule);border-radius:3px;gap:.125rem;min-height:3.5rem;padding:.625rem .25rem;display:grid}.rating-buttons button:first-child{border-color:var(--alert)}.rating-buttons span{color:var(--ink-soft);font-size:.75rem}.tutor,.exam{max-width:var(--measure)}.exam h1{font-size:2.5rem;font-weight:750;font-stretch:70%;line-height:1}.exam a{color:var(--grid)}.exam>.primary{margin-top:1rem}.turns{margin:0 0 1rem;padding:0;list-style:none}.turns li{border-bottom:1px solid var(--rule);padding:.75rem 0}.turns .user p{color:var(--grid);margin:0;font-weight:600}.turns .assistant{font:400 1.0625rem/1.6 var(--reading)}.turns .assistant p{margin:0 0 .5em}.turns .assistant ol,.turns .assistant ul{margin:0 0 .5em;padding-left:1.5rem}.tutor-form{background:var(--paper);padding:.75rem 0;position:sticky;bottom:0}@media (width<=40rem){.masthead{flex-wrap:wrap;gap:.5rem 1rem}.masthead nav{gap:.875rem;width:100%;overflow-x:auto}}.tiles{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.tiles li{display:grid}.tile{background:var(--sheet);border:1.5px solid var(--ink);color:inherit;border-radius:3px;grid-template-rows:auto auto auto 1fr;gap:.5rem;padding:1.125rem 1.25rem 1.25rem;text-decoration:none;display:grid}.tile-title{min-height:2.2em;font-size:1.375rem;font-weight:750;font-stretch:75%;line-height:1.1}.tile-meta{color:var(--ink-soft);font-size:.875rem}.tile-bar{background:var(--rule);border-radius:2px;height:.5rem;display:block;overflow:hidden}.tile-bar span{background:var(--grid);height:100%;display:block}.tile-stats{color:var(--ink-soft);font-variant-numeric:tabular-nums;align-self:end;gap:.125rem;font-size:.875rem;display:grid}.tile-stats b{color:var(--ink)}.tile-due b{color:var(--contour)}.source-standing{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:-.75rem 0 1rem}.source-actions{flex-wrap:wrap;gap:.75rem;margin:0 0 1rem;display:flex}.today-link.secondary{color:var(--ink);border:1.5px solid var(--ink);background:0 0}.cloze-actions{align-items:center;gap:1rem;margin:.75rem 0 0;display:flex}.cloze-actions>button[type=submit]{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:3px;padding:.625rem 1rem;font-weight:600}button.link{color:var(--gold);background:0 0;border:0;padding:0;font-weight:600}.word-bank{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.word-bank button{background:var(--sheet);border:1px solid var(--rule);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;padding:.375rem .75rem;font-size:.9375rem}.word-bank button:disabled{opacity:.35}.word-bank-wrap{border:1px dashed var(--rule);border-radius:3px;margin:.75rem 0 0;padding:.5rem}.word-bank-wrap.over{border-color:var(--gold);background:var(--sheet)}.word-bank-wrap .word-bank{margin-top:.375rem}.cloze p.word-bank-hint{font:400 .8125rem/1.4 var(--ui);margin:0}.cloze .slot{background:var(--sheet);border:0;border-bottom:2px solid var(--rule);font:inherit;color:var(--ink-soft);text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;padding:.125rem .375rem;font-weight:600;line-height:1.4;display:inline-block}.cloze .slot.filled{color:var(--ink);border-bottom-color:var(--ink)}.cloze .slot.chosen{border-bottom:3px solid var(--gold)}.cloze .slot.over{background:var(--grid-wash);border-bottom:3px solid var(--gold)}.cloze.dragging{cursor:grabbing}.drag-ghost{z-index:50;background:var(--gold);color:var(--paper);pointer-events:none;border-radius:999px;padding:.375rem .75rem;font-weight:600;position:fixed;transform:translate(-50%,-120%);box-shadow:0 4px 12px #00000040}.working{border:1px dashed var(--rule);color:var(--ink-soft);border-radius:3px;align-items:center;gap:.625rem;margin:1.75rem 0 0;padding:.75rem 1rem;display:flex}.pulse{background:var(--contour);border-radius:50%;flex:none;width:.625rem;height:.625rem}@media (prefers-reduced-motion:no-preference){.pulse{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}}.listen{gap:.375rem;margin:0 0 1rem;font-size:.875rem;display:grid}.listen audio{width:100%;max-width:28rem}.podcast{margin:-.25rem 0 1rem;font-size:.875rem}.podcast a{color:var(--grid);word-break:break-all}.people{max-width:60rem}.people .roster th,.people .roster td.unit{white-space:nowrap}.add-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.add-row input{background:var(--sheet);border:1.5px solid var(--ink);border-radius:3px;flex:10rem;min-width:0;padding:.625rem .75rem}.password-cell{flex:12rem;align-items:center;gap:.25rem;display:flex}.password-cell input{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:.9375rem}.check{white-space:nowrap;align-items:center;gap:.375rem;font-size:.9375rem;display:flex}.roster{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9375rem}.roster th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--gold);padding:.5rem .5rem .5rem 0;font-size:.8125rem;font-weight:700;font-stretch:85%}.roster td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:.75rem .5rem .75rem 0}.roster td:first-child{font-weight:600}.roster .num{font-variant-numeric:tabular-nums}.roster tr.pending td{background:var(--grid-wash)}.tag{border:1px solid var(--rule);color:var(--ink-soft);vertical-align:.1em;border-radius:999px;margin-left:.5rem;padding:.1rem .4rem;font-size:.75rem;font-weight:500}.row-actions{text-align:right;white-space:nowrap}.row-actions .link{margin-left:1rem}.row-actions .link:first-child{margin-left:0}.confirm{white-space:normal;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:inline-flex}.confirm code,.copy-field code{background:var(--paper);border:1px solid var(--rule);border-radius:3px;padding:.15rem .4rem;font-size:.9375rem}button.primary.small{padding:.4rem .75rem;font-size:.875rem}button.link.danger{color:var(--alert)}.copy-field{align-items:center;gap:.5rem;display:inline-flex}.notice{border-left:3px solid var(--gold);background:var(--sheet);color:var(--ink);margin:.75rem 0;padding:.625rem .875rem}.own-password{border-top:1px solid var(--rule);margin-top:3rem;padding-top:1.5rem}.own-password h2{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:1rem;font-weight:700;font-stretch:85%}.own-password .add-row input{max-width:18rem}.whoami a{color:inherit;font-weight:600;text-decoration:none}@media (width<=40rem){.roster thead{display:none}.roster tr{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;padding:.75rem 0;display:grid}.roster td{border:0;padding:.1rem 0}.roster td:first-child{grid-column:1/-1}.roster .row-actions{text-align:left;grid-column:1/-1;margin-top:.375rem}}.prose .term-panel,.prose .steps-panel{border:1.5px solid var(--gold);background:var(--sheet);counter-reset:step;border-radius:3px;margin:1.25rem 0;padding:0;list-style:none}.prose ul.nested{margin:.5rem 0 0;padding-left:1.25rem;list-style:outside}.term-row,.step-row{border-top:1px solid var(--rule);gap:.25rem 1rem;padding:.75rem 1rem;display:grid}.term-row:first-child,.step-row:first-child{border-top:0}.prose .term-panel .term-row+.term-row,.prose .steps-panel .step-row+.step-row,.prose .steps-panel .term-row+.term-row{margin-top:0}.term-row{grid-template-columns:minmax(7rem,11rem) 1fr;align-items:baseline}.term-row.plain{grid-template-columns:1fr}.term-name{font:700 .9375rem/1.25 var(--ui);letter-spacing:.05em;text-transform:uppercase;color:var(--gold);font-stretch:75%}.term-desc{min-width:0}.steps-panel .step-row,.steps-panel .term-row{counter-increment:step;grid-template-columns:2.25rem 1fr}.steps-panel.with-terms .term-row{grid-template-columns:2.25rem minmax(7rem,10rem) 1fr}.step-body,.term-row.plain .term-desc{grid-column:2/-1;min-width:0}.term-row.plain:not(.steps-panel *) .term-desc{grid-column:1/-1}.steps-panel .step-row:before,.steps-panel .term-row:before{content:counter(step);font:800 1.5rem/1 var(--ui);color:var(--gold);font-variant-numeric:tabular-nums;font-stretch:65%}.key-points{border:1.5px solid var(--gold);background:var(--sheet);border-left-width:1.5px;padding:0;overflow:hidden}.key-points h3{background:var(--gold);color:#14231a;letter-spacing:.08em;text-transform:uppercase;margin:0;padding:.4rem 1rem;font-size:.9375rem;font-weight:800;font-stretch:70%}.key-points ul{padding:.75rem 1rem .875rem 2.25rem}@media (width<=40rem){.term-row{grid-template-columns:1fr}.steps-panel.with-terms .term-row{grid-template-columns:2.25rem 1fr}.steps-panel.with-terms .term-desc{grid-column:2}}.listen-box .listen-body{border-top:1px solid var(--rule);padding:0 1rem 1rem}.listen-box .listen-body>p:first-child{margin-top:1rem}.listen-box.module{border-color:var(--gold);margin:0 0 1.5rem}.listen-box .module-title{color:var(--gold)}.listen-box p{margin:.5rem 0 0;font-size:.9375rem}.listen-box a{color:var(--grid);word-break:break-all}.listen-box a.today-link{word-break:normal}.listen a{color:var(--grid)}.module{border:1px solid var(--rule);background:var(--sheet);border-radius:3px;margin-top:.75rem}.module summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:.25rem 1rem;padding:.75rem 1rem;list-style:none;display:grid}.module summary::-webkit-details-marker{display:none}.module summary:before{content:"";border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);grid-area:1/2/span 2;width:.5rem;height:.5rem;transition:transform .12s;transform:rotate(-45deg)}.module[open] summary:before{transform:rotate(45deg)}.module h2,.module-title{text-transform:uppercase;letter-spacing:.04em;grid-column:1;margin:0;font-size:1rem;font-weight:700;font-stretch:85%}.module-status{color:var(--ink-soft);grid-column:1;font-size:.8125rem}.module.complete .module-status{color:var(--gold);font-weight:600}.module-bar{grid-column:1/-1;height:.3rem;margin-top:.25rem}.module .lesson-list{border-top:1px solid var(--rule);padding:0 1rem}.module .lesson-list li:last-child a{border-bottom:0}.lesson-list li.done .lesson-progress{color:var(--gold)}.crumb{color:var(--ink-soft);flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .75rem;font-size:.9375rem;display:flex}.crumb a,.crumb button.link{color:var(--ink-soft);font-weight:600;font-size:inherit;text-decoration:none}.crumb a:hover,.crumb button.link:hover{color:var(--gold)}.session-status{grid-template-columns:auto 1fr;align-items:baseline;gap:.35rem 1rem;margin:0 0 1rem;font-size:.9375rem;display:grid}.session-status>span:first-child{letter-spacing:.04em;text-transform:uppercase;color:var(--gold);font-weight:700;font-stretch:85%}.session-lesson{color:var(--ink-soft);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-bar{background:var(--rule);border-radius:2px;grid-column:1/-1;height:.3rem;display:block;overflow:hidden}.session-bar span{background:var(--gold);height:100%;display:block}.podcast-apps{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;display:flex}.today-link.small{padding:.5rem .75rem;font-size:.875rem}button.today-link{font:inherit;cursor:pointer;font-size:.875rem;font-weight:600}.listen{min-width:0}.listen audio{width:100%;min-width:0;max-width:28rem;display:block}.lesson,.workspace{min-width:0;overflow-x:clip}html,body{max-width:100%;overflow-x:clip}.shell{grid-template-columns:minmax(0,1fr);width:100%;max-width:100vw}.shell>*{min-width:0;max-width:100%}.tabbar{display:none}@media (width<=40rem){.masthead{padding:.5rem 1rem;padding-top:max(.5rem, env(safe-area-inset-top));align-items:center;gap:.75rem;display:flex}.masthead nav{display:none}.badge{height:1.9rem}.wordmark-unit{font-size:1.1rem}.wordmark-app{display:none}.whoami{white-space:nowrap;gap:.625rem;margin-left:auto;font-size:.8125rem}.workspace{padding:1rem 1rem calc(4.5rem + env(safe-area-inset-bottom))}.tabbar{z-index:20;padding:.25rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:var(--sheet);border-top:1px solid var(--rule);justify-content:space-between;display:flex;position:fixed;inset:auto 0 0}.tabbar a{text-align:center;min-height:2.75rem;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid #0000;padding:.75rem 0 .25rem;font-size:.75rem;font-weight:700;font-stretch:75%;text-decoration:none;display:block}.tabbar a[aria-current]{color:var(--gold);border-bottom-color:var(--gold)}.prompt-heading,.source-title,.lesson h1{font-size:clamp(1.75rem,8vw,2.25rem)}.source-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.source-actions .today-link{text-align:center}.listen-box{padding:.875rem 1rem}.podcast-apps .today-link{text-align:center;flex:40%}.page-pane{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}.tutor-form{bottom:calc(3.75rem + env(safe-area-inset-bottom))}.rating-buttons{grid-template-columns:repeat(2,1fr)}.ask-form{flex-wrap:wrap}.ask-form button{flex:1}.cloze input{max-width:100%}.roster .row-actions{white-space:normal}}.score-strip{flex-wrap:wrap;gap:.375rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.score-strip li{border:1px solid var(--rule);width:1.75rem;height:1.75rem;color:var(--ink-soft);border-radius:999px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.score-strip li.correct{border-color:var(--gold);color:var(--gold)}.score-strip li.partly{border-color:var(--gold);border-style:dashed}.score-strip li.wrong{border-color:var(--alert);color:var(--alert)}.verdict-card{border-left:3px solid var(--gold);background:var(--sheet);margin:0 0 1.25rem;padding:.875rem 1rem}.verdict-card.wrong{border-left-color:var(--alert)}.verdict-card p{margin:0 0 .375rem}.verdict-label{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:800;font-stretch:75%}.verdict-card.wrong .verdict-label{color:var(--alert)}.verdict-card summary{cursor:pointer;font-weight:600}.prose.small{margin-top:.5rem;font-size:.9375rem}.question-card{background:var(--sheet);border:1.5px solid var(--gold);border-radius:3px;padding:1.25rem 1.25rem 1.5rem}.question-number{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 .375rem;font-size:.8125rem;font-weight:800;font-stretch:70%}.question-card textarea{background:var(--paper);border:1px solid var(--rule);width:100%;font:400 1.0625rem/1.5 var(--reading);color:inherit;resize:vertical;border-radius:3px;padding:.75rem}.question-card .quiz-actions{margin-top:.75rem}.working-card{border:1px dashed var(--rule);color:var(--ink-soft);border-radius:3px;align-items:center;gap:1rem;padding:1.25rem;display:flex}.radar{border:1.5px solid var(--gold);background:radial-gradient(circle, var(--gold) 0 2px, transparent 2.5px), repeating-radial-gradient(circle, transparent 0 8px, color-mix(in srgb, var(--gold) 35%, transparent) 8px 9px);border-radius:50%;flex:none;width:3rem;height:3rem;position:relative;overflow:hidden}.radar-sweep{background:conic-gradient(from 0deg, color-mix(in srgb, var(--gold) 55%, transparent) 0deg, transparent 80deg);border-radius:50%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.radar-sweep{animation:2s linear infinite sweep}@keyframes sweep{to{transform:rotate(360deg)}}}.verdict-card .asked,.verdict-card .given{gap:.125rem;margin:0 0 .75rem;display:grid}.verdict-card .asked{font:500 1.0625rem/1.4 var(--reading)}.verdict-card .given{color:var(--ink);border:1px solid var(--rule);background:var(--paper);border-radius:3px;padding:.5rem .75rem}.verdict-card .question-number{color:var(--ink-soft);margin:0}.verdict-card .verdict-label{margin-top:.25rem}.insights{margin-top:3rem}.insights h2{text-transform:uppercase;letter-spacing:.04em;margin:1.5rem 0 .25rem;font-size:1rem;font-weight:700;font-stretch:85%}.insights .roster td:first-child{font-weight:500}.insights .roster a{color:var(--grid);text-decoration:none}.insights .lesson-summary{font-size:.8125rem;display:block}.insights p a{color:var(--grid)}.verdict-folded{border:1px solid var(--rule);border-left:4px solid var(--ink-soft);background:var(--sheet);border-radius:3px;margin:0 0 1rem}.verdict-folded.correct{border-left-color:var(--gold)}.verdict-folded.wrong{border-left-color:var(--alert)}.verdict-folded summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding:.625rem .875rem;font-size:.9375rem;list-style:none;display:flex}.verdict-folded summary::-webkit-details-marker{display:none}.verdict-folded .question-number{margin:0}.folded-verdict{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;font-stretch:85%}.verdict-folded.correct .folded-verdict{color:var(--gold)}.verdict-folded.wrong .folded-verdict{color:var(--alert)}.folded-q{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:100%;overflow:hidden}.verdict-folded[open] .folded-q{white-space:normal}.verdict-folded>:not(summary){margin:0 .875rem .75rem}.ask-fab{z-index:25;border:1.5px solid var(--gold);background:var(--ink);color:var(--paper);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem .5rem .6rem;font-weight:700;font-stretch:85%;display:inline-flex;position:fixed;bottom:1.25rem;right:1rem;box-shadow:0 6px 20px #00000059}.ask-fab img{-o-object-fit:contain;object-fit:contain;width:1.5rem;height:1.5rem}.ask-fab.with-selection{text-transform:none;letter-spacing:0;max-width:18rem}.ask-fab.with-selection span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ask-sheet-backdrop{z-index:30;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.ask-sheet{background:var(--paper);border:1px solid var(--rule);border-bottom:0;border-radius:14px 14px 0 0;flex-direction:column;width:min(100%,44rem);max-height:85vh;animation:.18s ease-out sheet-up;display:flex;box-shadow:0 -10px 40px #0006}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.ask-sheet{animation:none}}.ask-sheet header{border-bottom:1px solid var(--rule);align-items:baseline;gap:.75rem;padding:.875rem 1.25rem .75rem;font-size:.875rem;display:flex}.ask-sheet header .muted{flex:1;min-width:0}.ask-sheet-title{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:800;font-stretch:85%}.ask-sheet-body{flex:1;min-height:8rem;padding:1rem 1.25rem;overflow-y:auto}.ask-sheet .exchange+.exchange{border-top:1px solid var(--rule);margin-top:1.25rem;padding-top:1rem}.ask-sheet .asked-q{margin:0 0 .5rem;font-weight:700}.ask-sheet .answer{margin:0}.ask-sheet-form{padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--sheet);margin:0}@media (width<=40rem){.ask-fab{bottom:calc(4.25rem + env(safe-area-inset-bottom))}.ask-sheet{max-height:92vh}.ask-sheet header .muted{display:none}}.person-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.person-head .source-title{margin-bottom:.25rem}.person-unit{color:var(--ink-soft);margin:0;font-weight:600}.person-unit .muted{font-weight:400}.person-flags{margin:.5rem 0 0}.person-flags .flag{margin-left:0;margin-right:.5rem}.button-link{border:1.5px solid var(--ink);color:var(--ink);white-space:nowrap;border-radius:3px;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.stat-strip{border:1px solid var(--rule);background:var(--sheet);grid-template-columns:repeat(7,1fr);gap:0;margin:1.25rem 0 1.5rem;padding:0;display:grid}.stat-strip>div{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.75rem 1rem}.stat-strip dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.6875rem;font-weight:700;font-stretch:85%}.stat-strip dd{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:1.375rem;font-weight:700}.stat-strip dd small{color:var(--ink-soft);font-size:.875rem;font-weight:500}.stat-strip dd.attention{color:var(--gold)}@media (width<=40rem){.stat-strip{grid-template-columns:repeat(3,1fr)}.stat-strip>div:last-child{grid-column:span 3}}.watch{margin:1rem 0 1.5rem}.watch video{aspect-ratio:16/9;border:1px solid var(--rule);background:#000;width:100%;display:block}.watch p{margin:.5rem 0 0;font-size:.9375rem}.transcript{margin-top:.5rem;font-size:.9375rem}.transcript summary{cursor:pointer;color:var(--ink-soft);font-weight:600}.transcript p{font-family:var(--reading);color:var(--ink-soft)}.team{max-width:56rem}.team h2{margin-top:2rem}.team-controls{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.team-controls select,.team-controls input{flex:10rem;min-width:0}.chip{border:1.5px solid var(--rule);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.875rem;font-weight:600}.chip.on{border-color:var(--gold);color:var(--ink)}.flag{letter-spacing:.02em;border-radius:999px;margin:0 .25rem .25rem .5rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.flag.bad{background:var(--alert);color:#fff}.flag.good{background:var(--gold);color:var(--paper)}.flag.quiet{border:1px solid var(--rule);color:var(--ink-soft)}.attention{border:1px solid var(--rule);border-left:4px solid var(--gold);background:var(--sheet);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:1rem 0;padding:1rem;display:grid}.attention h2{margin:0 0 .5rem;font-size:1rem}.attention ul{margin:0;padding:0;list-style:none}.attention li{padding:.25rem 0}.attention a{font-weight:600}.unit-group h2 .muted{margin-left:.5rem;font-size:.875rem;font-weight:400}.team-roster th{white-space:nowrap}.roster td a,.attention a,.lesson-standing a{color:var(--ink);font-weight:600;text-decoration:none}.roster td a:hover,.attention a:hover,.lesson-standing a:hover{color:var(--gold)}.doc-bars{gap:.5rem;display:flex}.doc-bar{flex:4rem;max-width:6rem}.doc-bar small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-size:.6875rem;display:block;overflow:hidden}.person-docs{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1rem 0;display:grid}.person-doc{border:1px solid var(--rule);background:var(--sheet);padding:.75rem 1rem}.person-doc b{text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-stretch:85%;display:block}.person-doc small{color:var(--ink-soft);margin-top:.4rem;display:block}.weakest,.lesson-standing{margin:0;padding:0;list-style:none}.weakest li{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.625rem 1.75rem .625rem 0;display:flex;position:relative}.weakest li:after{content:"›";color:var(--ink-soft);font-size:1.5rem;line-height:1;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.lesson-standing{border-top:1px solid var(--rule);padding:.5rem 1rem}.lesson-standing li{grid-template-columns:1fr 6rem 3rem;align-items:center;gap:1rem;padding:.4rem 0;display:grid}.lesson-standing small{text-align:right;font-variant-numeric:tabular-nums}.lesson-standing .good{color:var(--gold);font-weight:700}.lesson-standing .bad{color:var(--alert);font-weight:700}.timeline{margin:0;padding:0;list-style:none}.entry{border-left:3px solid var(--rule);margin-bottom:.5rem;padding:.75rem 0 .75rem 1rem}.entry.kind-quiz{border-left-color:var(--grid)}.entry.kind-ask{border-left-color:var(--ink-soft)}.entry.kind-drill,.entry.kind-tutor{border-left-color:var(--gold)}.entry-head{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.entry-head .tag{margin-left:0}.tag.good{border-color:var(--gold);color:var(--gold);font-weight:700}.tag.bad{border-color:var(--alert);color:var(--alert);font-weight:700}.tag.trial{border-style:dashed;border-color:var(--grid);color:var(--grid);font-weight:600}.entry-q{margin:.4rem 0 .2rem;font-weight:600}.entry-a{font-family:var(--reading);margin:0}.entry-a:before{content:"“";color:var(--ink-soft)}.entry-a:after{content:"”";color:var(--ink-soft)}.entry-a.muted:before,.entry-a.muted:after{content:none}.entry-fb{margin:.3rem 0 0;font-size:.875rem}.units{margin-top:2.5rem}.unit-list{margin:.5rem 0;padding:0;list-style:none}.unit-list li{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.5rem 0;display:flex}.confirm.assign{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem 1.25rem;padding:.5rem 0;font-weight:400;display:flex}.confirm.assign select{min-width:12rem}.instructs{border:1px solid var(--rule);flex-basis:100%;gap:.2rem;padding:.5rem .75rem;font-weight:400;display:grid}@media (width<=40rem){.team-roster tr{grid-template-columns:1fr 1fr}.team-roster td.progress-cell{grid-column:1/-1;margin:.25rem 0}.doc-bars{flex-wrap:wrap}.doc-bar{flex:40%;max-width:none}.team-roster td[data-label]:before{content:attr(data-label) " ";color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.lesson-standing li{grid-template-columns:1fr 4rem 3rem;gap:.5rem}}.try-it{margin:1.25rem 0}.back-to{margin:.5rem 0 0;font-size:.9375rem;font-weight:600}.parts-bar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.parts-modes{border:1.5px solid var(--ink);border-radius:3px;display:inline-flex;overflow:hidden}.parts-modes button{background:0 0;border:0;padding:.4rem .8rem;font-size:.875rem;font-weight:600}.parts-modes button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.parts-stage{position:relative}.parts-stage.testing{cursor:crosshair}.parts-stage img{filter:saturate(.85)}.hotspot{background:var(--alert);color:#fff;text-align:center;border:2px solid #fff;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;padding:0;font-size:.6875rem;font-weight:700;line-height:18px;position:absolute;box-shadow:0 1px 3px #00000080}@media (width<=480px){.hotspot{width:20px;height:20px;margin:-10px 0 0 -10px;font-size:.625rem;line-height:16px}}.hotspot.seen{background:#5d6b60}.hotspot.active,.hotspot.right{z-index:1;background:#1d7a3a;transform:scale(1.35)}.hotspot.target{z-index:1;background:#1d7a3a;animation:1s ease-in-out 3 hotspot-pulse;transform:scale(1.35)}.hotspot.wrong{background:#222}.find-miss{pointer-events:none;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute}.find-miss:before,.find-miss:after{content:"";background:#fff;width:14px;height:2px;position:absolute;top:6px;left:0;transform:rotate(45deg);box-shadow:0 0 2px #000c}.find-miss:after{transform:rotate(-45deg)}@keyframes hotspot-pulse{50%{box-shadow:0 0 0 8px #1d7a3a59}}@media (prefers-reduced-motion:reduce){.hotspot.target{animation:none}}.parts-banner{z-index:5;border:2px solid var(--gold);background:var(--sheet);border-left-width:6px;border-radius:4px;min-height:3.25rem;margin-top:.5rem;padding:.75rem 1rem;position:sticky;bottom:.5rem;box-shadow:0 6px 18px #00000040}@media (width<=40rem){.parts-banner{bottom:calc(4.5rem + env(safe-area-inset-bottom))}}.parts-label{grid-template-columns:auto 1fr;align-items:start;gap:.75rem;display:grid}.parts-num{color:#fff;width:2rem;height:2rem;font-family:var(--ui);box-shadow:0 0 0 2px var(--gold);background:#1d7a3a;border:2px solid #fff;border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.parts-name{font-size:1.15rem;line-height:1.3;display:block}.parts-note{margin-top:.15rem;display:block}@media (prefers-reduced-motion:no-preference){.parts-label{animation:.6s ease-out parts-flash}@keyframes parts-flash{0%{background:color-mix(in srgb, var(--gold) 30%, transparent)}to{background:0 0}}}.parts-banner p{margin:0}.parts-count{color:var(--ink-soft);align-items:center;gap:.75rem;font-size:.8125rem;display:flex;margin-top:.25rem!important}.parts-right{font-weight:600}.harbour{border:1.5px solid var(--ink);border-radius:3px;margin-top:1.5rem;padding:1rem}.harbour h3{margin:0 0 .25rem}.harbour>.muted{margin:0 0 .75rem}.harbour svg{background:var(--sheet);border:1px solid var(--rule);width:100%;max-width:26rem;font-family:var(--ui);border-radius:3px;margin:0 auto .75rem;display:block}.hl-triangle{fill:none;stroke:var(--gold);stroke-width:3px;stroke-linejoin:round}.hl-clock{fill:var(--gold);font-size:12px;font-weight:700}.hl-label{fill:var(--ink);font-size:11px;font-weight:600}.hl-gunner{fill:var(--ink)}.hl-sentry{fill:var(--sheet);stroke:var(--ink);stroke-width:2px}.hl-route{fill:none;stroke:var(--grid);stroke-width:2px;stroke-dasharray:5 3}.hl-route-head{fill:var(--grid)}.hl-target{cursor:pointer;outline:none}.hl-target:focus-visible circle{stroke-width:3.5px}.hl-entry{stroke:var(--ink);stroke-width:2.5px}.hl-entry-head{fill:var(--ink)}.harbour .hl-legend{margin:-.25rem 0 .75rem;font-size:.8125rem}.hl-target circle{fill:color-mix(in srgb, var(--gold) 18%, transparent);stroke:var(--gold);stroke-width:2px;stroke-dasharray:4 3}.hl-target.right circle{fill:color-mix(in srgb, var(--grid) 30%, transparent);stroke:var(--grid);stroke-dasharray:none}.hl-target.wrong circle{fill:color-mix(in srgb, var(--alert) 25%, transparent);stroke:var(--alert);stroke-dasharray:none}.hl-target.idle{display:none}.harbour .verdict p{margin:0 0 .75rem}.vp-entry{border:1.5px solid var(--gold);background:var(--sheet);color:var(--ink);border-radius:3px;gap:.25rem;margin:1.25rem 0 0;padding:.875rem 1rem;text-decoration:none;display:grid}.vp-entry-title{font-weight:700}.vp-entry-text,.vp-summary{color:var(--ink-soft);font-size:.9375rem;font-weight:400}.vp-scenarios button{border-bottom:0;gap:.125rem;padding-bottom:.25rem;display:grid}.vp-scenarios li{border-bottom:1px solid var(--rule);padding-bottom:.75rem}.vp-lesson-link{font-size:.8125rem;font-weight:600}.vp-module h2{text-transform:uppercase;letter-spacing:.04em;margin:2rem 0 0;font-size:1.125rem;font-weight:700;font-stretch:80%}.vp-module .starters{margin-top:.25rem}.radio-tests{margin:2.5rem 0 0}.radio-tests h2{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:1.375rem;font-weight:700;font-stretch:80%}.radio-tests .vp-entry{margin-top:.75rem}.vp-next .quiz-actions{flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.25rem}.vp-best{color:var(--gold);font-size:.8125rem;font-weight:500}.vp-brief{background:var(--sheet);border:1px solid var(--rule);border-radius:3px;padding:1rem}.vp-brief .question-number{margin-top:.75rem}.vp-brief .question-number:first-child{margin-top:0}.vp-net{gap:.25rem;margin:0 0 .75rem;display:grid}.vp-net div{grid-template-columns:4rem 1fr;gap:.75rem;display:grid}.vp-net dt{font-variant-numeric:tabular-nums;font-weight:700}.vp-net dd{color:var(--ink-soft);margin:0}.vp-net .you dt,.vp-net .you dd{color:var(--gold)}.radio-page .small{font-size:.875rem}.vp-note{border-left:3px solid var(--grid);background:var(--grid-wash);margin:.75rem 0 0;padding:.5rem .75rem;font-size:.9375rem}.radio-set{background:var(--sheet);border:1px solid var(--rule);border-radius:6px;gap:.75rem;margin:0 0 1.25rem;padding:.875rem;display:grid}.radio-display{color:#d6e4c6;letter-spacing:.08em;background:#0c140f;border-radius:3px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;font:700 .9375rem/1.2 ui-monospace,SF Mono,Menlo,monospace;display:flex}.radio-mode{border:1px solid;border-radius:2px;padding:.125rem .5rem}.radio-mode.tx{background:var(--alert);border-color:var(--alert);color:#fff}.radio-mode.rx{color:#fedf6b}.radio-cue{font:500 1.0625rem/1.4 var(--reading);gap:.125rem;margin:0;display:grid}.radio-cue .question-number{margin:0}.pressel{background:var(--paper);width:100%;min-height:7.5rem;color:var(--ink);border:2px solid var(--gold);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;border-radius:10px;align-content:center;place-items:center;gap:.125rem;padding:1rem;font-size:1.125rem;font-weight:800;display:grid}.pressel.keyed{background:var(--alert);border-color:var(--alert);color:#fff}.pressel:disabled{opacity:.6}.pressel-hint{color:inherit;opacity:.75;font-size:.8125rem;font-weight:500}@media (prefers-reduced-motion:no-preference){.pressel.keyed{animation:1.2s ease-in-out infinite keyed}@keyframes keyed{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--alert) 30%, transparent)}}}.mic-meter{background:var(--rule);border-radius:3px;height:6px;display:block;overflow:hidden}.mic-meter span{background:var(--gold);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.vp-typed{gap:.5rem;display:grid}.vp-typed textarea{background:var(--paper);border:1px solid var(--rule);width:100%;font:400 1rem/1.45 var(--reading);color:inherit;resize:vertical;border-radius:3px;padding:.625rem .75rem}.vp-typed .primary{justify-self:end}.vp-faults{margin:.25rem 0 .5rem;padding-left:1.125rem}.vp-faults li{margin:.25rem 0}button.link.cite{white-space:nowrap;text-underline-offset:2px;font-size:.875rem;text-decoration:underline}.vp-model{background:var(--paper);border-left:3px solid var(--gold);font:400 1rem/1.45 var(--reading);margin:.375rem 0;padding:.5rem .75rem}.vp-review{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.875rem;padding-top:.75rem;display:flex}.vp-review p{flex-basis:100%;margin:0}.vp-review button:not(.primary),.vp-next button:not(.primary){border:1.5px solid var(--ink);background:0 0;border-radius:3px;padding:.75rem 1.125rem;font-weight:600}.vp-feedback details{margin-top:.5rem}.vp-debrief{background:var(--sheet);border:1.5px solid var(--gold);border-radius:3px;margin:0 0 1.25rem;padding:1rem}.vp-score{margin:0 0 .75rem;font-size:2rem;font-weight:800;font-stretch:80%}.vp-score .muted{font-size:.9375rem;font-weight:500;font-stretch:100%}.vp-debrief-list{margin:0 0 .75rem;padding-left:1.25rem}.vp-debrief-list li{margin:0 0 .75rem}.vp-debrief-list .tag{margin-left:0}.vp-debrief-list p{overflow-wrap:anywhere;margin:.25rem 0}.vp-log-heading{margin:1.5rem 0 .5rem;font-size:1rem}.net-log{margin:0;padding:0;font-size:.9375rem;list-style:none}.net-log li{-moz-column-gap:.625rem;border-bottom:1px solid var(--rule);border-left:3px solid #0000;grid-template-columns:auto auto 1fr;align-items:baseline;column-gap:.625rem;padding:.4rem 0 .4rem .5rem;display:grid}.net-log .net-time{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.8125rem}.net-log .net-by{font-weight:700}.net-log .net-text{overflow-wrap:anywhere;min-width:0}.net-log .tag{grid-column:3;justify-self:start;margin:.25rem 0 0}.net-log li.note .net-text{color:var(--ink-soft);grid-column:2/4;font-style:italic}.net-log li.you{border-left-color:var(--gold)}.net-log li.rx.difficult .net-text,.net-log li.rx.unworkable .net-text{color:var(--ink-soft)}.vp-brief-live{margin-bottom:1rem}.vp-brief-live>summary{cursor:pointer;list-style-position:inside}.vp-held-note{margin-top:.35rem;display:block}.drill-rules{font:400 1rem/1.5 var(--reading);margin:.25rem 0 .5rem}.drill-levels{border:0;gap:.5rem;margin:1.25rem 0 0;padding:0;display:grid}.drill-levels label{background:var(--sheet);border:1.5px solid var(--rule);cursor:pointer;border-radius:3px;align-items:center;gap:.625rem;padding:.75rem .875rem;display:flex}.drill-levels label.chosen{border-color:var(--gold);font-weight:600}.drill-levels input{accent-color:var(--gold)}.drill-show{letter-spacing:.04em;overflow-wrap:anywhere;font:800 1.75rem/1.2 ui-monospace,SF Mono,Menlo,monospace}.drill-hear{margin:.5rem 0 0}.vp-feedback+.radio-set{margin-top:1rem}.icon{-o-object-fit:contain;object-fit:contain;flex:none;display:block}.icon-mini{width:1.75rem;height:1.75rem}.icon-row{width:2.75rem;height:2.75rem}.icon-tile{width:3.5rem;height:3.5rem}.icon-head{width:4.5rem;height:4.5rem}.lesson-list.with-icons a{-moz-column-gap:.875rem;grid-template-columns:4rem 1fr;align-items:center;column-gap:.875rem;padding-right:1.5rem;display:grid}.lesson-list.with-icons a>.icon{grid-area:1/1/span 3;width:4rem;height:4rem}.lesson-list.with-icons a>:not(.icon){grid-column:2}.icon-grid{-moz-column-gap:.875rem;grid-template-columns:3.5rem 1fr;align-items:center;column-gap:.875rem;display:grid}.icon-grid>.icon{grid-area:1/1/span 3;width:3.5rem;height:3.5rem}.icon-grid>:not(.icon){grid-column:2}.lesson-list .lesson-name .next-up,.lesson-list .lesson-name .step-tag{margin-left:0}.module.with-icon summary{min-height:5.5rem;padding-left:6rem;position:relative}.module.with-icon .summary-icon{width:4.25rem;height:4.25rem;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.module.with-icon .lesson-list{padding:0 .75rem}.icon-left{min-height:3.5rem;position:relative;padding-left:3.75rem!important}.icon-left>.icon{position:absolute;top:.75rem;left:.5rem}.starters .icon-left>.icon{left:0}.starters .icon-left{padding-left:3.5rem!important}.tile-head{align-items:center;gap:.75rem;display:flex}.tile-head .tile-title{min-height:0}.title-with-icon{align-items:center;gap:.875rem;margin:.5rem 0 1.25rem;display:flex}.title-with-icon>h1{min-width:0;margin:0}.radio-page .title-with-icon{margin:2rem 0 1.5rem}.weakest.with-mini-icons a{align-items:center;gap:.5rem;display:inline-flex}@media (width<=40rem){.icon-head{width:3.5rem;height:3.5rem}}.practice-crumb{margin-bottom:.5rem}.chip-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0;display:flex}.challenge-list .challenge-thumb{-o-object-fit:cover;object-fit:cover;border-radius:6px}.challenge-images{gap:.75rem;margin:1rem 0;display:grid}.challenge-images figure{margin:0}.challenge-images img{border:1px solid var(--rule);border-radius:4px;width:100%;height:auto;display:block}.challenge-parts,.challenge-answers,.challenge-steps{padding-left:1.25rem}.challenge-parts>li{margin:1.25rem 0;padding-left:.25rem}.challenge-parts>li.right .question-number{color:var(--gold)}.challenge-options{flex-wrap:wrap;gap:.5rem;display:flex}.challenge-options .chip{padding:.5rem 1rem;font-size:1rem}.challenge-number{align-items:center;gap:.5rem;display:inline-flex}.challenge-number input,.challenge-name{font:inherit;border:1.5px solid var(--rule);background:var(--sheet);color:var(--ink);border-radius:4px;padding:.5rem .75rem}.challenge-number input{width:7rem}.challenge-name{width:100%;max-width:24rem}.verdict-label.good{color:var(--gold)}.verdict-label.bad{color:var(--contour)}.point-frame{border:1px solid var(--rule);-webkit-overflow-scrolling:touch;border-radius:4px;max-height:75vh;overflow:auto}.point-canvas{position:relative}.point-canvas img{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.point-pin{pointer-events:none;background:#e0108a40;border:3px solid #e0108a;border-radius:50%;width:1.25rem;height:1.25rem;margin:-.625rem 0 0 -.625rem;position:absolute}.point-box{pointer-events:none;border:3px solid #e0108a;border-radius:4px;position:absolute}.challenge-walkthrough{border-top:1.5px solid var(--rule);margin-top:2rem}.challenge-steps>li{margin:.75rem 0}.challenge-steps .link{font-size:.875rem}.practical .chip{border:1.5px solid var(--rule);color:var(--ink-soft);border-radius:999px;padding:.3rem .75rem;font-weight:600}.practical .chip.on{border-color:var(--gold);color:var(--ink)}.practical .challenge-options .chip{padding:.5rem 1rem}.challenges .page-title{white-space:normal}.practical .challenge-walkthrough h2{text-transform:uppercase;color:var(--gold);margin:1.5rem 0 .5rem;font-size:1.5rem;font-weight:750}.practical .challenge-walkthrough h3{text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .5rem;font-size:1rem;font-weight:700}.practical .challenge-parts,.practical .challenge-answers,.practical .challenge-steps{list-style:decimal}.lesson-list li.step-hidden{opacity:.55}.phase-add{flex-wrap:wrap;gap:.5rem;display:flex}.layout-editor{padding:0 1rem 1rem}.layout-list{margin:.5rem 0;padding-left:1.5rem;list-style:decimal}.layout-list li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.layout-list li.off .layout-name{color:var(--ink-soft);text-decoration:line-through}.layout-name{font-weight:600}.layout-buttons{flex:none;gap:.25rem;display:flex}.layout-buttons button{border:1.5px solid var(--rule);min-width:2.5rem;min-height:2.5rem;color:var(--ink);font:inherit;background:0 0;border-radius:4px}.layout-buttons button:disabled{opacity:.35}.layout-toggle{min-width:3.75rem!important;font-size:.85rem!important;font-weight:600!important}.troop-tip{border:1.5px solid var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);border-radius:8px;align-items:flex-start;gap:.75rem;margin:1rem 0;padding:.85rem 1rem;display:flex}.troop-tip .icon{flex:none;width:2.75rem;height:2.75rem}.troop-tip p{margin:0}.tip-label{font-family:var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-size:.75rem;font-weight:800}.tip-text{font-weight:600;line-height:1.45;margin-top:.2rem!important}.tip-by{color:var(--ink-soft);font-size:.85rem;font-style:italic;margin-top:.35rem!important}.tip-edit{border:1.5px dashed var(--gold);border-radius:8px;gap:.4rem;margin:.75rem 0;padding:.75rem;display:grid}.phase-edit{align-items:center;gap:.75rem;margin:0 1rem .75rem;display:flex}.doc-rest{white-space:nowrap;align-self:center}
