@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-Light.woff2?v=0.5.1) format("woff2");font-weight:300;font-style:normal;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-Regular.woff2?v=0.5.1) format("woff2");font-weight:400;font-style:normal;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-Medium.woff2?v=0.5.1) format("woff2");font-weight:500;font-style:normal;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-SemiBold.woff2?v=0.5.1) format("woff2");font-weight:600;font-style:normal;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-Bold.woff2?v=0.5.1) format("woff2");font-weight:700;font-style:normal;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-ExtraBold.woff2?v=0.5.1) format("woff2");font-weight:800;font-style:normal;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-Black.woff2?v=0.5.1) format("woff2");font-weight:900;font-style:normal;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-LightItalic.woff2?v=0.5.1) format("woff2");font-weight:300;font-style:italic;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-Italic.woff2?v=0.5.1) format("woff2");font-weight:400;font-style:italic;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-MediumItalic.woff2?v=0.5.1) format("woff2");font-weight:500;font-style:italic;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-SemiBoldItalic.woff2?v=0.5.1) format("woff2");font-weight:600;font-style:italic;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-BoldItalic.woff2?v=0.5.1) format("woff2");font-weight:700;font-style:italic;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-ExtraBoldItalic.woff2?v=0.5.1) format("woff2");font-weight:800;font-style:italic;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans;src:url(/fonts/TorchletteSans-BlackItalic.woff2?v=0.5.1) format("woff2");font-weight:900;font-style:italic;font-display:swap;font-feature-settings:"onum"}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans");font-weight:300;size-adjust:101.4%;ascent-override:99.11%;descent-override:24.65%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans");font-weight:400;size-adjust:103%;ascent-override:97.57%;descent-override:24.27%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans");font-weight:500;size-adjust:103.9%;ascent-override:96.73%;descent-override:24.06%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold");font-weight:600;size-adjust:97.6%;ascent-override:102.97%;descent-override:25.61%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold");font-weight:700;size-adjust:99.9%;ascent-override:100.6%;descent-override:25.03%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold");font-weight:800;size-adjust:101.6%;ascent-override:98.92%;descent-override:24.61%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Black"),local("Arial-Black");font-weight:900;size-adjust:89.5%;ascent-override:112.29%;descent-override:27.93%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Italic"),local("Arial-ItalicMT"),local("Liberation Sans Italic"),local("LiberationSans-Italic");font-weight:300;font-style:italic;size-adjust:101.4%;ascent-override:99.11%;descent-override:24.65%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Italic"),local("Arial-ItalicMT"),local("Liberation Sans Italic"),local("LiberationSans-Italic");font-weight:400;font-style:italic;size-adjust:103%;ascent-override:97.57%;descent-override:24.27%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Italic"),local("Arial-ItalicMT"),local("Liberation Sans Italic"),local("LiberationSans-Italic");font-weight:500;font-style:italic;size-adjust:103.9%;ascent-override:96.73%;descent-override:24.06%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Bold Italic"),local("Arial-BoldItalicMT"),local("Liberation Sans Bold Italic"),local("LiberationSans-BoldItalic");font-weight:600;font-style:italic;size-adjust:97.6%;ascent-override:102.97%;descent-override:25.61%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Bold Italic"),local("Arial-BoldItalicMT"),local("Liberation Sans Bold Italic"),local("LiberationSans-BoldItalic");font-weight:700;font-style:italic;size-adjust:99.9%;ascent-override:100.6%;descent-override:25.03%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback;src:local("Arial Bold Italic"),local("Arial-BoldItalicMT"),local("Liberation Sans Bold Italic"),local("LiberationSans-BoldItalic");font-weight:800;font-style:italic;size-adjust:101.6%;ascent-override:98.92%;descent-override:24.61%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans"),local("DejaVuSans");font-weight:300;size-adjust:88.8%;ascent-override:113.18%;descent-override:28.15%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans"),local("DejaVuSans");font-weight:400;size-adjust:90.1%;ascent-override:111.54%;descent-override:27.75%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans"),local("DejaVuSans");font-weight:500;size-adjust:91%;ascent-override:110.44%;descent-override:27.47%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold"),local("DejaVuSans-Bold");font-weight:600;size-adjust:81.4%;ascent-override:123.46%;descent-override:30.71%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold"),local("DejaVuSans-Bold");font-weight:700;size-adjust:83.3%;ascent-override:120.65%;descent-override:30.01%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold"),local("DejaVuSans-Bold");font-weight:800;size-adjust:84.8%;ascent-override:118.51%;descent-override:29.48%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold"),local("DejaVuSans-Bold");font-weight:900;size-adjust:86.3%;ascent-override:116.45%;descent-override:28.97%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Oblique"),local("DejaVuSans-Oblique");font-weight:300;font-style:italic;size-adjust:88.8%;ascent-override:113.18%;descent-override:28.15%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Oblique"),local("DejaVuSans-Oblique");font-weight:400;font-style:italic;size-adjust:90.1%;ascent-override:111.54%;descent-override:27.75%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Oblique"),local("DejaVuSans-Oblique");font-weight:500;font-style:italic;size-adjust:91%;ascent-override:110.44%;descent-override:27.47%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold Oblique"),local("DejaVuSans-BoldOblique");font-weight:600;font-style:italic;size-adjust:81.4%;ascent-override:123.46%;descent-override:30.71%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold Oblique"),local("DejaVuSans-BoldOblique");font-weight:700;font-style:italic;size-adjust:83.3%;ascent-override:120.65%;descent-override:30.01%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold Oblique"),local("DejaVuSans-BoldOblique");font-weight:800;font-style:italic;size-adjust:84.8%;ascent-override:118.51%;descent-override:29.48%;line-gap-override:0%}@font-face{font-family:Torchlette Sans Fallback DejaVu;src:local("DejaVu Sans Bold Oblique"),local("DejaVuSans-BoldOblique");font-weight:900;font-style:italic;size-adjust:86.3%;ascent-override:116.45%;descent-override:28.97%;line-gap-override:0%}:root{--bg: #ffffff;--bg-panel: #ffffff;--bg-soft: #f5f3ed;--bg-code: #1d1f21;--fg: #33241b;--fg-muted: #aea8a5;--fg-meta: #6e645d;--border: #eeeeee;--link: #00aaff00;--link-color: #eebb66;--link-hover: #dba049;--accent-red: #aa0000;--accent-yellow: #eebb66;--accent-yellow-hover: #dba049;--success: #006600;--success-bg: #effaef;--success-border: #b8dcb8;--serif: "Cormorant", ui-serif, Georgia, serif;--sans: "Torchlette Sans", "Torchlette Sans Fallback", "Torchlette Sans Fallback DejaVu", AvenirLTStd-Book, Avenir, "Avenir Next", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;--mono: Monaco, ui-monospace, "JetBrains Mono", "SF Mono", "Courier New", monospace}*{box-sizing:border-box}html{margin:0;background:#eb6;color:var(--fg);font-family:var(--sans);font-size:18px;height:100%}#root{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:1rem;line-height:1.5;font-variant-numeric:oldstyle-nums proportional-nums;font-feature-settings:"ss01","ss02","ss16";min-height:100%;border-bottom:2px solid #eb6}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.005em}h1{font-size:2.25rem;margin:0 0 .75rem}h1 em{font-style:italic}strong{font-weight:inherit;font-style:inherit}.task strong{font-style:italic}.task strong code,.task strong .katex{font-style:normal}h2{font-size:1.5rem;margin:1.5rem 0 .5rem}h3{font-size:1.15rem;margin:1rem 0 .5rem}a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}a:visited{color:var(--link-color)}main{max-width:42em;margin:0 auto;padding:2.5rem 1.5rem 5rem}code,pre{font-family:var(--mono)}code,pre,kbd,samp,textarea,.cm-editor,.cm-tooltip,.replay-host,.live-code,.output-panel,.demo__stdout,.chapter-token-copy,.explain__mono,.explain__readout,.explain__num,.span-select__token,.katex,h1,h2,h3{font-variant-numeric:normal;font-feature-settings:normal}.progress-title,.coach h3{font-variant-numeric:oldstyle-nums}table,svg text,input,output,select,progress,meter,.explain__panel-title,.mastery,.skill-key{font-variant-numeric:tabular-nums oldstyle-nums;font-feature-settings:"ss01","ss02"}.onboarding p{color:var(--fg-meta);max-width:38em}.onboarding form{display:flex;flex-direction:column;gap:.5rem;max-width:28.75rem;margin-top:1.5rem}.onboarding label{font-size:.85rem;color:var(--fg-meta)}.onboarding input{padding:.65rem .8rem;font-family:var(--mono);font-size:.9rem;border:1px solid var(--border);border-radius:3px;background:var(--bg-panel);color:var(--fg)}.onboarding input:focus{outline:none;border-color:var(--link-color)}.onboarding .error{color:var(--accent-red);font-size:.85rem}.progress-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem}.progress-title{font-family:var(--sans);font-feature-settings:"ss16";font-variant-numeric:oldstyle-nums;letter-spacing:0;transform:translate(-4px)}.btn.btn-continue,.btn.btn-continue:visited{background:var(--fg);border-color:var(--fg);color:var(--bg);font-weight:500}.btn.btn-continue:hover,.btn.btn-continue:active:not(:disabled){background:var(--bg);border-color:var(--fg);color:var(--fg)}.btn.btn-continue:active:not(:disabled){box-shadow:inset 0 1px 2px #0000002e}.btn.btn-continue:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent-yellow)}.level-list{list-style:none;padding:0;margin:0}.level-row{margin:0;padding:0}.chapter-header{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;font-family:var(--mono);text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;color:var(--fg-muted);margin:2rem 0 .5rem}.chapter-header:first-of-type{margin-top:0}.chapter-title{position:relative;margin:0;font:inherit;letter-spacing:inherit;color:var(--fg);font-weight:700}.chapter-check{position:absolute;right:100%;margin-right:.45rem;color:var(--success);font-size:1.05rem;line-height:1;top:50%;transform:translateY(-50%)}.chapter-number{color:var(--fg-muted);font-weight:400;margin-right:.15rem}.chapter-counter{color:var(--fg-muted);font-weight:400}.chapter-counts{position:absolute;left:0;bottom:calc(100% + 2px);line-height:1.2;white-space:nowrap;visibility:hidden}.chapter-header:hover .chapter-counts{visibility:visible}.chapter-token-copy{background:var(--bg-soft);border:none;padding:.1em .45em;margin:0;font:inherit;font-family:var(--mono);font-size:.85em;color:var(--fg);text-transform:none;letter-spacing:0;border-radius:3px;cursor:pointer;min-width:15ch;text-align:center;display:inline-block;transform:translateY(-1px)}.chapter-token-linked{font-family:var(--sans, inherit);font-size:.9em}.chapter-token-copy:has(.chapter-token-problems){max-width:100%;white-space:normal;overflow-wrap:anywhere}.chapter-token-problems{-webkit-user-select:text;user-select:text}.chapter-token-show{text-transform:none;letter-spacing:0}.chapter-token-full{flex-basis:100%;font-family:var(--mono);text-transform:none;letter-spacing:0;color:var(--fg);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.chapter-token-copy:hover,.chapter-token-copy:focus{background:var(--accent-yellow);color:var(--fg);outline:none}.level-row-body{display:flex;align-items:center;gap:.75rem;padding:.15rem .6rem;border-radius:3px}.level-row-body:hover{background:var(--bg-soft)}.status-icon{display:inline-block;width:1.5rem;font-family:var(--mono);text-align:center;font-size:.9rem;color:var(--fg-muted)}.level-done .status-icon{color:var(--success);font-size:1.05rem}.check-mark{color:var(--success)}.level-pending .status-icon{color:var(--fg-muted);font-size:1.6rem;line-height:.9rem}.level-pending .level-title,.level-pending .level-title:visited{color:var(--fg-meta)}.level-pending .level-title:hover{color:var(--fg)}.level-title,.level-title:visited,.level-title:hover{font-family:var(--mono);font-size:.9rem;color:var(--fg);text-decoration:none}.level-title.locked{color:var(--fg-muted);cursor:not-allowed}.level-done .level-title,.level-done .level-title:visited{color:var(--fg-meta);text-decoration:line-through}.level-nav{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.95rem;color:var(--fg-meta);margin-bottom:1rem}.level-nav a{font-weight:500;display:inline-flex;align-items:center;gap:.3rem}.level-nav a:hover{text-decoration:none}.level-nav .nav-arrow{font-size:1.5em;line-height:1;font-weight:400;transform:translateY(-.18em)}.level-nav .nav-arrow--mirrored{display:inline-block;transform:translateY(-.18em) scaleX(-1)}.task{margin-top:3.5rem;font-size:1.0625rem}.task>*:first-child{margin-top:0}.task h1{font-size:1.6rem}.task p,.task ul,.task ol{color:var(--fg)}@keyframes level-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.level-enter{animation:level-enter .32s ease-out both}.level-enter-delay{animation-delay:60ms}@media (prefers-reduced-motion: reduce){.level-enter,.level-enter-delay{animation:none}}.katex math{font-family:Torchlette Sans,math;font-size:inherit;font-variant-numeric:lining-nums proportional-nums}.katex math mn{font-variant-numeric:lining-nums proportional-nums}.katex math :is(msup,msubsup)>:not(:first-child){font-feature-settings:"ssty","ss14"}.katex math{font-feature-settings:"ss14"}.katex math .math-bold{font-weight:600}.katex math .math-bold{font-weight:700}.katex math [data-sl="1"]{font-weight:500}.katex math [data-sl="2"]{font-weight:600}.katex math [data-sl="3"]{font-weight:700}.katex math [data-sl] .math-bold,.katex math .math-bold[data-sl]{font-weight:700}.katex math .math-monospace{font-family:var(--mono)}.katex math .math-text-italic{font-style:italic}.katex math mfrac:not([linethickness="0px"]){padding-inline:.12em}.katex math menclose[notation~=box]{padding:.3em;border:.04em solid}.task .katex{font-size:1.05em}.task .katex-display>.katex,.task .katex:has(>math[display=block]){font-size:1em}.katex:has(>math[display=block]){display:block;max-width:100%;overflow-x:auto;padding-block:.5em;margin:.5em 0}.katex>math[display=block]{width:max-content;min-width:100%;margin:0}.task .katex-display{margin:.5em 0}.task p:has(>.katex-display),.task p:has(>.katex>math[display=block]){margin-block:0}.task p:has(+.katex-display),.task p:has(+p>.katex-display),.task p:has(+.katex>math[display=block]),.task p:has(+p>.katex>math[display=block]){margin-bottom:0}.task .katex-display+p,.task p:has(>.katex-display)+p,.task .katex:has(>math[display=block])+p,.task p:has(>.katex>math[display=block])+p{margin-top:0}.katex .math-digit{font-family:"Torchlette Sans",var(--sans);font-style:normal;font-variant-numeric:lining-nums proportional-nums;font-feature-settings:normal}.task .your-turn{margin:1.6rem 0 0 .1rem;padding-left:1rem;border-left:3px solid var(--accent-yellow)}.task .your-turn>*:last-child{margin-bottom:0}.task .your-turn-label+*{margin-top:.55rem}.task .your-turn-label{margin:0;line-height:1;font-family:var(--sans);font-size:1rem;font-weight:600;font-variant:small-caps;text-transform:lowercase;letter-spacing:.08em;color:var(--fg)}.task details.read-up{margin-top:1rem}.task details.read-up summary{cursor:pointer;list-style:none;outline:none;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:.35rem;font-family:var(--sans);font-size:.95rem;color:var(--fg)}.task details.read-up summary::-webkit-details-marker{display:none}.task details.read-up summary:before{content:"▸";display:inline-block;font-size:2rem;line-height:1;color:var(--fg);position:relative;top:-.05em;transition:transform .12s ease}.task details.read-up[open]>summary:before,.task details.read-up details[open]>summary:before{transform:rotate(90deg)}.task details.read-up .read-up-body{margin-top:.55rem;margin-left:.35rem;padding-left:1.5rem;border-left:1px solid var(--fg-muted)}.task details.read-up .read-up-body>*:first-child{margin-top:0}.task details.read-up .read-up-body>*:last-child{margin-bottom:0}.task .term{cursor:help;--term-line: var(--fg-muted);background-image:linear-gradient(to right,var(--term-line) 50%,transparent 50%);background-size:2px 1px;background-repeat:repeat-x;background-position:0 100%;position:relative;outline:none}.task .term:hover,.task .term:focus{--term-line: var(--fg)}.task .term:after{content:attr(data-def);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(calc(-50% + var(--tip-shift, 0px)));background:repeating-linear-gradient(45deg,#fdfcfbfb,#fdfcfbfb 5px,#faf9f7fb 5px,#faf9f7fb 10px);color:var(--fg);font-family:var(--sans);font-size:.92rem;font-weight:400;line-height:1.38;padding:.65rem .85rem;box-sizing:border-box;border:1px solid rgba(0,0,0,.08);border-radius:8px;width:max-content;max-width:min(22rem,calc(100vw - 2rem));white-space:normal;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease,transform .12s ease;box-shadow:0 8px 24px #0000002e;backdrop-filter:blur(45px) saturate(160%);-webkit-backdrop-filter:blur(45px) saturate(160%);z-index:10}.task .term:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;width:16px;height:8px;transform:translate(-50%);background:#fbfaf8fb;backdrop-filter:blur(45px) saturate(160%);-webkit-backdrop-filter:blur(45px) saturate(160%);clip-path:polygon(50% 100%,0 0,100% 0);filter:drop-shadow(1px 1px 0 rgba(0,0,0,.18)) drop-shadow(-1px 1px 0 rgba(0,0,0,.18));pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;z-index:10}.task .term:hover:after,.task .term:focus:after,.task .term:hover:before,.task .term:focus:before{opacity:1;visibility:visible}.task code{font-family:var(--mono);background:var(--bg-soft);padding:.05em .35em;border-radius:3px;font-size:.825em;color:var(--fg)}.task pre{background:var(--bg-code);color:#c5c8c6;padding:.9rem 1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;line-height:1.45}.task pre code{background:none;color:inherit;padding:0}.cm-host{border:1px solid var(--border);border-radius:6px;overflow:hidden;font-size:.9rem}.cm-host .cm-editor{padding:.25rem 0}.cm-host .cm-scroller{font-family:var(--mono)}.cm-host .cm-cursor,.cm-host .cm-dropCursor{border-left-width:3px!important;border-left-color:var(--accent-yellow)!important;margin-left:-1.5px!important}.level-loading{margin-top:2.5rem;color:var(--fg-muted);font-family:var(--mono);font-size:.85rem;font-style:italic;padding:1rem 0}.workspace{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.actions{display:flex;justify-content:flex-end}.editor-frame{position:relative}.editor-expand-btn{position:absolute;top:.4rem;right:.5rem;z-index:2;background:#1d1f218c;color:#f5f3edb3;border:1px solid rgba(245,243,237,.15);border-radius:4px;padding:.05rem .4rem;font-family:var(--mono);font-size:.95rem;line-height:1.1;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.editor-expand-btn:hover,.editor-expand-btn:focus{color:#f5f3ed;border-color:#f5f3ed66;background:#1d1f21cc;outline:none}.workspace.workspace--expanded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;margin-top:0;padding:1.5rem;background:var(--bg);gap:.75rem}.workspace.workspace--expanded .editor-frame{flex:1;min-height:0}.workspace.workspace--expanded .cm-host,.workspace.workspace--expanded .cm-host .cm-editor{height:100%}.btn{font-family:var(--sans);font-size:.9rem;padding:0 1.2rem;background:transparent;color:var(--fg);border:1.5px solid var(--fg);border-radius:999px;cursor:pointer;min-width:6rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;line-height:1;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.btn:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn:active:not(:disabled){background:var(--fg);border-color:var(--fg);color:var(--bg);box-shadow:inset 0 1px 2px #ffffff2e;transform:none}.btn:disabled{opacity:.5;cursor:not-allowed}a.btn{color:var(--fg);text-decoration:none;box-sizing:border-box}.actions .btn+a.btn{margin-left:.5rem}a.btn:hover{color:var(--bg)}.btn:focus{outline:none}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-yellow)}.btn-play{color:currentColor;font-size:1em;line-height:1;display:inline-block;transform:translate(-3px,1px)}.btn-label{font-size:1.1em;line-height:1;letter-spacing:.04em}.btn-ghost{background:transparent;color:var(--fg-meta);border-color:var(--border)}.btn-ghost:hover,.btn-ghost:focus,.btn-ghost:active:not(:disabled){background:transparent;color:var(--fg);border-color:var(--fg);box-shadow:none}.btn-small{font-size:.8rem;padding:.25rem .6rem}a.btn,a.btn:visited{display:inline-flex;cursor:pointer}.btn-primary{background:var(--accent-yellow);border-color:var(--accent-yellow);color:var(--fg);align-self:flex-start;font-weight:500;cursor:pointer;text-decoration:none}.btn-primary:hover,.btn-primary:focus,a.btn-primary:hover,a.btn-primary:visited:hover{background:var(--accent-yellow-hover);border-color:var(--accent-yellow-hover);color:var(--fg);cursor:pointer;text-decoration:none}.output-panel{background:var(--bg-soft);color:var(--fg);border:1px solid var(--border);padding:.75rem 1rem;border-radius:6px;font-family:var(--mono);font-size:.85rem;min-height:4rem;white-space:pre-wrap;overflow-x:auto}.output-end-sentinel{display:block;height:0;scroll-margin-bottom:40vh}.output-empty{color:var(--fg-muted);font-style:italic}.output-stderr{color:var(--accent-red)}.output-error{color:var(--accent-red);display:block;margin-top:.5rem}.output-error-note{color:var(--fg);display:block;margin-top:.75rem}.output-success-header{color:var(--success);display:inline-block;margin-top:.5rem;font-weight:500;white-space:pre-wrap;transform-origin:left center;animation:success-arrive .28s ease-out both}@keyframes success-arrive{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.output-success-header{animation:none}}.output-transition{color:var(--fg);display:block;white-space:pre-wrap}.output-caret{display:inline-block;margin-left:.1rem;color:var(--fg);animation:outputCaret 1s steps(2,end) infinite}@keyframes outputCaret{0%,49%{opacity:1}50%,to{opacity:0}}.btn-running{cursor:progress;background:transparent;border-color:var(--fg);color:var(--fg);opacity:.65}.btn-running:hover,.btn-running:focus,.btn-running:active:not(:disabled){background:transparent;border-color:var(--fg);color:var(--fg);box-shadow:none}.btn-running-dots{display:inline-flex;align-items:center;gap:.4rem}.btn-running-dots .dot{width:6px;height:6px;background:currentColor;border-radius:50%;opacity:.25;transform:scale(.85);animation:dot-wave 1.4s ease-in-out infinite}.btn-running-dots .dot:nth-child(2){animation-delay:.16s}.btn-running-dots .dot:nth-child(3){animation-delay:.32s}@keyframes dot-wave{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.actions .btn+.btn-stop{margin-left:.5rem}.scratch-workspace{margin-top:0}.scratch-workspace .cm-content,.scratch-workspace .cm-gutter{min-height:18rem}.scratch-log{max-height:22rem;overflow-y:auto}.scratch-log .scratch-run{display:block}.scratch-log .scratch-run+.scratch-run{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--rule, #e5e5e5)}.scratch-log .scratch-run-mark{color:var(--fg-meta, #8a8580)}.actions .scratch-reset{margin-right:1rem;align-self:center}.btn-stop-icon{font-size:.8em;line-height:1;display:inline-block}.btn-pass,.btn-pass:visited{background:var(--success-bg);border-color:var(--success-border);color:var(--success);font-weight:500;display:inline-flex;align-items:center;gap:.85rem;padding-left:.85rem;padding-right:1.1rem;text-decoration:none;cursor:pointer;animation:btn-pass-pop .36s cubic-bezier(.18,.89,.32,1.28)}.btn-pass .btn-pass-label{display:inline-block;margin-left:.35rem}.btn-pass:hover,.btn-pass:focus{background:#dff0df;border-color:var(--success);color:var(--success);text-decoration:none}.btn-pass .check{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--success);color:#fff;font-size:.8rem;font-weight:700;line-height:1;animation:btn-check-pop .32s 90ms backwards cubic-bezier(.2,1.4,.4,1)}@keyframes btn-pass-pop{0%{transform:scale(.94);opacity:0}55%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}@keyframes btn-check-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141473;display:flex;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:modalBackdropIn .16s ease}.modal{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1.5rem 1.6rem;max-width:28.75rem;width:90%;box-shadow:0 18px 50px #0000002e;animation:modalIn .2s cubic-bezier(.2,1,.3,1)}.modal h2{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin:0 0 .4rem}.modal p{color:var(--fg-meta);font-size:.9rem;margin:0 0 1rem}.modal form{display:flex;flex-direction:column;gap:.4rem}.modal label{font-size:.85rem;color:var(--fg-meta)}.modal input{padding:.6rem .75rem;font-family:var(--mono);font-size:.9rem;border:1px solid var(--border);border-radius:3px;background:var(--bg-panel);color:var(--fg)}.modal input:focus{outline:none;border-color:var(--link-color)}.modal .error{color:var(--accent-red);font-size:.85rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.8rem}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.anti-cheat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080808e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f5f3ed;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;cursor:pointer;animation:antiCheatFadeIn .18s ease-out}.anti-cheat-message{max-width:36em;font-family:var(--sans);font-size:1.05rem;line-height:1.55;text-align:left}.anti-cheat-message p{margin:0 0 1rem}.anti-cheat-message p:last-child{margin-bottom:0}.anti-cheat-heading{font-family:var(--serif);font-size:1.5rem;font-style:italic;margin-bottom:1.25rem!important}.anti-cheat-dismiss{margin-top:1.5rem!important;font-family:var(--mono);font-size:.85rem;color:#f5f3ed8c}@keyframes antiCheatFadeIn{0%{opacity:0}to{opacity:1}}.workspace--widget{align-items:stretch}.widget{display:flex;flex-direction:column;gap:.9rem}.widget--error{color:var(--accent-red);font-family:var(--mono);font-size:.9rem}.widget--loading{color:var(--fg-meta);font-family:var(--mono);font-size:.9rem;font-style:italic}.widget--image-label{gap:2rem}.image-label__viewer{display:flex;flex-direction:column;align-items:center;gap:.75rem}.image-label__placeholder{width:112px;height:112px;background:var(--bg-code);border-radius:4px}.image-label__progress{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.image-label__dot{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--fg-muted);background:var(--bg);padding:0;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.image-label__dot--done{background:var(--fg);border-color:var(--fg)}.image-label__dot--here{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--fg)}.image-label__buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem;justify-content:center;width:100%;max-width:24rem;align-self:center}.image-label__btn{padding:0 1.4rem;min-width:0;height:2.2rem;font-family:var(--mono);font-size:1rem}.image-label__btn--selected,.image-label__btn--selected:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.freehand__canvas-wrap{display:flex;justify-content:center}.freehand__canvas{background:var(--bg-code);border:1px solid rgba(0,0,0,.15);border-radius:4px;touch-action:none;cursor:crosshair}.freehand__hint{text-align:center;font-size:.9rem;color:var(--fg-meta)}.freehand__actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.btn-secondary{font-family:var(--sans);font-size:.85rem;padding:.4rem 1.1rem;background:transparent;color:var(--fg);border:1.5px solid var(--fg-muted);border-radius:999px;cursor:pointer}.btn-secondary:hover:not(:disabled){border-color:var(--fg)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.freehand__prediction{background:var(--bg);border:1px solid rgba(0,0,0,.12);border-left:3px solid var(--fg);border-radius:4px;padding:.65rem .85rem;font-family:var(--mono);font-size:.9rem;color:var(--fg)}.preference__progress{display:flex;gap:8px;justify-content:center}.preference__dot{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--fg-muted);background:var(--bg);padding:0;cursor:pointer}.preference__dot--done{background:var(--fg);border-color:var(--fg)}.preference__dot--here{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--fg)}.preference__prompt{background:var(--bg);border:1px solid rgba(0,0,0,.08);border-left:3px solid var(--fg);padding:.65rem .85rem;font-family:var(--mono);font-size:.9rem;color:var(--fg)}.preference__prompt-label{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-meta);margin-right:.5rem}.preference__pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.preference__option{background:var(--bg);border:1.5px solid rgba(0,0,0,.12);border-radius:6px;padding:.9rem;text-align:left;cursor:pointer;font-family:var(--mono);font-size:.9rem;color:var(--fg);display:flex;gap:.6rem}.preference__option:hover:not(:disabled){border-color:var(--fg-meta)}.preference__option--selected{background:var(--fg);border-color:var(--fg);color:var(--bg)}.preference__option-letter{font-weight:700;color:var(--fg-meta);width:1.2rem;flex-shrink:0}.preference__option--selected .preference__option-letter{color:var(--bg)}.preference__option-text{white-space:pre-wrap}.preference__counter{font-family:var(--mono);font-size:.9rem;color:var(--fg-meta);text-align:center}.preference__submit{display:flex;justify-content:flex-end}.span-select__prompt{font-family:var(--mono);font-size:.9rem;color:var(--fg)}.span-select__sentences{display:flex;flex-direction:column;gap:.7rem}.span-select__sentence{display:flex;gap:.5rem;align-items:flex-start;line-height:1.8}.span-select__index{font-family:var(--mono);color:var(--fg-meta);font-size:.9rem;min-width:1.5rem;padding-top:.2rem}.span-select__tokens{display:inline}.span-select__token{display:inline;background:transparent;border:1.5px solid transparent;border-radius:3px;padding:.1rem .35rem;margin:0 1px;font-family:var(--sans);font-size:.95rem;color:var(--fg);cursor:pointer}.span-select__token:hover:not(:disabled){background:#0000000d}.span-select__token--selected{background:var(--fg);border-color:var(--fg);color:var(--bg)}.span-select__hint{font-size:.85rem;color:var(--fg-meta);font-style:italic}.span-select__submit{display:flex;justify-content:flex-end}.widget--region-select{align-items:center}.region-select__hint{font-size:.9rem;color:var(--fg-meta)}.region-select__canvas{background:var(--bg-code);border:1px solid rgba(0,0,0,.15);border-radius:4px;touch-action:none;cursor:crosshair}.region-select__readout{font-family:var(--mono);font-size:.9rem;color:var(--fg)}.region-select__submit{display:flex;gap:.6rem}.app-footer{max-width:72rem;margin:0 auto;padding:1.25rem 1.5rem;color:var(--fg-muted);font-size:.85rem}#root:has(>.app-footer){display:flex;flex-direction:column;min-height:calc(100vh - 2px);min-height:calc(100dvh - 2px)}#root:has(>.app-footer)>main{width:100%}#root>.app-footer{width:100%;margin-top:auto}.app-footer__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.app-footer__id-slot{justify-self:start}@media (max-width: 600px){.app-footer__inner{grid-template-columns:auto auto;justify-content:space-between;row-gap:.75rem}.app-footer__id-slot{white-space:nowrap}.app-footer__credit{grid-row:2;grid-column:1 / -1}.app-footer__inner:has(.app-footer__enter-code){grid-template-columns:auto;justify-content:center}.app-footer__inner:has(.app-footer__enter-code)>*{justify-self:center}.app-footer__inner:has(.app-footer__enter-code) .app-footer__credit{grid-row:3}}.app-footer__id-label{color:var(--fg-muted);margin-right:.25rem}.app-footer__id{font-family:var(--mono);font-size:.9em;color:var(--fg);background:var(--bg-soft);padding:.1em .45em;border-radius:3px;-webkit-user-select:all;user-select:all}.app-footer__credit{justify-self:center;font-size:1rem;color:var(--fg);display:inline-flex;align-items:center;gap:.3rem}.app-footer__heart-btn{background:transparent;border:0;padding:0;margin:0;font:inherit;line-height:0;cursor:pointer;display:inline-flex;align-items:center;transform-origin:center center}.app-footer__heart-btn:focus-visible{outline:2px solid var(--accent-yellow);outline-offset:2px;border-radius:2px}.app-footer__heart-btn.is-spinning{animation:footer-heart-spin .7s cubic-bezier(.45,0,.55,1)}@keyframes footer-heart-spin{0%{transform:rotate(0)}to{transform:rotate(1440deg)}}.app-footer__heart{display:inline-block;vertical-align:-3px}.app-footer__reset-slot{justify-self:end;display:inline-flex;align-items:baseline;gap:.8em}.app-footer__export{font:inherit;font-size:.9em;color:var(--fg-muted);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;cursor:pointer}.app-footer__export:hover,.app-footer__export:focus-visible{color:var(--fg)}.app-footer__enter-code,.app-footer__reset{font:inherit;white-space:nowrap;color:var(--fg-muted);background:transparent;border:1px solid var(--bg-soft);border-radius:3px;padding:.15em .55em;cursor:pointer}.app-footer__enter-code:hover,.app-footer__enter-code:focus,.app-footer__reset:hover,.app-footer__reset:focus{background:var(--bg-soft);color:var(--fg);outline:none}.demo-panel{margin-top:1.5rem}.demo{border:1px solid var(--border);border-radius:6px;padding:1rem 1.1rem;background:var(--bg-soft);display:flex;flex-direction:column;gap:.8rem}.demo__header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem}.demo__title{font-family:var(--sans);font-size:1.05rem;font-weight:600}.demo__hint{color:var(--fg-meta);font-size:.85rem}.demo__body{display:flex;flex-direction:column;gap:.8rem;min-width:0}.demo__stdout,.demo__error{margin:0;font-family:var(--mono);font-size:.8rem;white-space:pre-wrap;max-height:10rem;overflow:auto}.demo__stdout{color:var(--fg-meta)}.demo__error{color:var(--accent-red)}.demo-row{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-start}.demo-col{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.demo-col--grow{flex:1 1 240px;min-width:0}.demo-canvas{width:min(280px,100%);aspect-ratio:1;touch-action:none;cursor:crosshair;border-radius:4px;background:#000}.demo-canvas:focus{outline:none}.demo-canvas:focus-visible{box-shadow:0 0 0 2px var(--accent-yellow)}.demo-draw__sample{font-size:.85rem;color:var(--fg-meta)}.demo-draw__sample select{font:inherit}.demo-image{image-rendering:pixelated;border-radius:3px;background:#000}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.demo-big{font-family:var(--serif);font-size:4rem;line-height:1;font-weight:600}.demo-bars{display:flex;flex-direction:column;gap:3px;width:100%}.demo-bars__row{display:grid;grid-template-columns:minmax(1.5rem,max-content) 1fr 3.5rem;gap:.5rem;align-items:center;font-family:var(--mono);font-size:.8rem}.demo-bars__track{height:.7rem;background:var(--border);border-radius:2px;overflow:hidden}.demo-bars__fill{display:block;height:100%;background:var(--fg-muted)}.demo-bars__row--on .demo-bars__fill{background:var(--accent-yellow)}.demo-bars__row--on{font-weight:700}.demo-bars__value{text-align:right;color:var(--fg-meta)}.demo-bars__head{display:flex;gap:.5rem;font-family:var(--sans);color:var(--fg-meta)}.demo-bars__head [data-axis=x]{flex:1;text-align:center}.demo-line{margin:0;width:100%}.demo-line svg{width:100%;height:auto;display:block}.demo-line__axis{stroke:var(--fg-muted);stroke-width:1}.demo-line__tick{fill:var(--fg-meta);font-family:var(--mono);font-size:10px}.demo-line__path{fill:none;stroke-width:1.8}.demo-line__path--0{stroke:var(--fg)}.demo-line__path--1{stroke:var(--accent-yellow-hover)}.demo-line__path--2{stroke:var(--fg-muted)}.demo-line__path--3{stroke:var(--accent-red)}.demo-line__legend{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.8rem;color:var(--fg-meta)}.demo-line__key{display:inline-flex;align-items:center;gap:.35rem}.track-divider{margin:3.5rem 0 .5rem;border-top:1px solid var(--border);padding-top:1.5rem}.track-divider h2{font-family:var(--serif);font-size:1.6rem;margin:0 0 .25rem}.track-divider p{margin:0;color:var(--fg-meta);font-size:.9rem}.chapter-toggle{background:none;border:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;text-align:left;cursor:pointer}.chapter-toggle:hover{color:var(--link-hover)}.chapter-toggle:focus{outline:none}.chapter-toggle:focus-visible{outline:none;border-radius:2px;box-shadow:0 0 0 2px var(--accent-yellow)}.btn.btn-secondary{border-color:var(--fg-muted);color:var(--fg-meta);min-width:4.5rem;height:2.1rem;font-size:.85rem}.btn.btn-secondary:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.demo-line__key{white-space:nowrap}.workspace,.editor-frame,.cm-host{min-width:0;max-width:100%}.task{min-width:0;overflow-wrap:anywhere}.task code{overflow-wrap:anywhere}.task pre,.task .katex-display{max-width:100%;overflow-x:auto}.task .katex-display{overflow-y:hidden;padding-block:.5em}.task table{display:block;max-width:100%;overflow-x:auto}.task img{max-width:100%;height:auto}#root{overflow-x:clip}.explore-slot{margin:1.4rem 0}.explore-slot:empty{margin:0;min-height:0}.explore-loading{min-height:12rem;margin:0;color:var(--fg-meta)}.lesson-concept:empty{display:none}.confusion-scroll{overflow-x:auto;max-width:100%}.confusion-matrix{border-collapse:collapse;font-size:.75rem;width:100%}.confusion-matrix caption{text-align:left;margin-bottom:.7rem}.confusion-matrix th{font-weight:500;padding:.2rem}.confusion-matrix td{padding:1px}.confusion-matrix button{color:inherit;border:1px solid transparent;min-width:2rem;min-height:2rem;padding:.15rem;font:inherit;width:100%;cursor:pointer}.confusion-matrix button[aria-pressed=true]{border-color:var(--accent-yellow);outline:1px solid var(--accent-yellow)}.confusion-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1rem 0}.confusion-example p{font-size:.8rem;margin:.3rem 0}.confusion-example label{font-size:.75rem;display:block}.confusion-example select{display:block;width:100%;font:inherit}.digit-stages{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.digit-stage{margin:0;font-size:.75rem}.digit-stage figcaption{margin-top:.3rem}.digit-options{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.85rem}.digit-options label{display:inline-flex;gap:.3rem;align-items:center}.digit-transform{margin-top:.7rem;max-width:280px;font-size:.8rem}.digit-transform label,.digit-transform input{display:block;width:100%}@media (max-width: 600px){.digit-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.coach{margin:.9rem 0 0;font-family:var(--sans);font-size:.9rem}.coach-line{margin:.35rem 0}.coach-line--quiet{color:var(--fg-muted)}.coach h3{margin:0 0 .5rem;font:600 .95rem var(--sans)}.coach--worked{margin:1.6rem 0 0 .1rem;padding-left:1rem;border-left:3px solid var(--accent-yellow)}.coach--worked>*:last-child{margin-bottom:0}.coach .coach-label{margin:0;line-height:1;font:600 1rem var(--sans);font-variant:small-caps;text-transform:lowercase;letter-spacing:.08em;color:var(--fg)}.coach .coach-label+*{margin-top:.55rem}.coach-text p{margin:.4rem 0;line-height:1.5}.link-button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.link-button:disabled{cursor:default;opacity:.6}.caps{font-variant-caps:all-small-caps}
