:root,.dark{--bg:320 4% 13%;--surface:320 4% 16%;--surface-2:340 3% 19%;--border:330 4% 22%;--text:33 31% 94%;--muted:27 9% 63%;--brand:46 67% 59%;--brand-bright:49 92% 52%;--brand-dark:47 39% 43%;--brand-foreground:320 4% 13%;--success:147 48% 58%;--success-foreground:320 4% 13%;--warning:48 72% 63%;--warning-foreground:320 4% 13%;--danger:16 64% 57%;--danger-foreground:320 4% 13%;--info:208 54% 65%;--info-foreground:320 4% 13%}.light{--bg:40 37% 97%;--surface:0 0% 100%;--surface-2:36 31% 94%;--border:32 16% 85%;--text:315 5% 15%;--muted:334 4% 39%;--brand:48 79% 26%;--brand-bright:48 85% 22%;--brand-dark:48 86% 19%;--brand-foreground:0 0% 100%;--success:148 57% 30%;--success-foreground:0 0% 100%;--warning:45 100% 24%;--warning-foreground:0 0% 100%;--danger:6 67% 38%;--danger-foreground:0 0% 100%;--info:208 48% 41%;--info-foreground:0 0% 100%}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-latin-wght-normal.l_AIctKy.woff2)format("woff2-variations")}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-latin-wght-normal.CWNzRldh.woff2)format("woff2-variations")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations")}*{box-sizing:border-box}body{background:hsl(var(--bg));color:hsl(var(--text));margin:0;font-family:Open Sans Variable,sans-serif;font-size:15px}a{color:hsl(var(--brand));text-decoration:none}button,select{font:inherit;color:inherit;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));cursor:pointer;border-radius:8px;padding:10px 14px}button:hover{border-color:hsl(var(--brand))}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid hsl(var(--brand));outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}header{border-bottom:1px solid hsl(var(--border));align-items:center;gap:28px;height:90px;padding:0 5vw;display:flex}header>a:last-child{margin-left:auto;font-size:13px}.wordmark{color:hsl(var(--text));font-family:Montserrat Variable,sans-serif;font-size:32px;font-weight:700}.wordmark span{letter-spacing:2px;color:hsl(var(--brand));margin-left:12px;font-size:10px}.tag{border:1px solid hsl(var(--border));color:hsl(var(--muted));border-radius:30px;padding:7px 12px;font-size:12px}main{max-width:1500px;margin:auto;padding:48px 5vw}.intro{justify-content:space-between;align-items:center;gap:40px;margin-bottom:40px;display:flex}.eyebrow{letter-spacing:2px;color:hsl(var(--brand));margin:0 0 14px;font-size:11px;font-weight:700}h1,h2{font-family:Montserrat Variable,sans-serif;font-weight:600}h1{letter-spacing:-1.5px;margin:0 0 22px;font-size:clamp(30px,3.5vw,50px);line-height:1.1}h2{margin:0 0 20px;font-size:22px}.lede{max-width:580px;color:hsl(var(--muted));line-height:1.7}.proof-note{border-left:2px solid hsl(var(--brand));padding:15px 25px;font-size:13px}.proof-note p{color:hsl(var(--muted));line-height:1.7}.status-dot{background:hsl(var(--success));border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:24px;display:grid}.player-card{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:16px;overflow:hidden}.toolbar{justify-content:space-between;align-items:center;gap:12px;padding:20px;display:flex}.toolbar small{color:hsl(var(--muted));margin-top:6px;font-size:11px;display:block}.segmented{gap:5px;display:flex}.segmented button{padding:8px 10px;font-size:12px}.segmented button[aria-pressed=true]{background:hsl(var(--brand));color:hsl(var(--brand-foreground))}.stage{background:hsl(var(--bg));justify-content:center;min-height:300px;display:flex}.stage svg{aspect-ratio:16/9;width:100%;display:block}.stage.portrait svg{aspect-ratio:9/16;width:min(100%,370px)}.caption{text-align:center;min-height:64px;color:hsl(var(--text));background:hsl(var(--bg));justify-content:center;align-items:center;padding:14px 25px;font-size:14px;display:flex}.controls{align-items:center;gap:12px;padding:20px;display:flex}.primary{background:hsl(var(--brand));color:hsl(var(--brand-foreground));font-weight:700}input[type=range]{accent-color:hsl(var(--brand));flex:1;min-width:60px}output{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.chapters{gap:8px;padding:0 20px 20px;display:flex}.chapters button{background:0 0;font-size:12px}.side-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:14px;margin-bottom:18px;padding:23px}.side-card h2{font-size:18px}.side-card label{color:hsl(var(--muted));margin-bottom:8px;font-size:11px;display:block}.side-card select{width:100%;font-size:12px}.hint,#clock-status{color:hsl(var(--muted));font-size:11px;line-height:1.65}.side-card>button{font-size:12px}#cues{flex-direction:column;gap:5px;display:flex}#cues button{text-align:left;color:hsl(var(--muted));background:0 0;border:0;padding:7px 8px;font-family:JetBrains Mono Variable,monospace;font-size:11px}#cues button.active{background:hsl(var(--brand));color:hsl(var(--brand-foreground))}.below{border-top:1px solid hsl(var(--border));grid-template-columns:1fr 1fr;gap:70px;margin-top:40px;padding-top:40px;display:grid}.below p{color:hsl(var(--muted));line-height:1.7}.below ol{padding-left:20px}.below li{color:hsl(var(--brand));padding:8px}.below li button{text-align:left;background:0 0;border:0;line-height:1.6}pre{white-space:pre-wrap;word-break:break-word;color:hsl(var(--muted));font-size:11px;line-height:1.6}details{margin:20px 0}footer{border-top:1px solid hsl(var(--border));color:hsl(var(--muted));margin-top:55px;padding-top:20px;font-size:11px}@media (width<=1050px){.workspace{grid-template-columns:1fr}.workspace aside{grid-template-columns:1fr 1fr;gap:18px;display:grid}.proof-note{display:none}}@media (width<=650px){header{padding:0 20px}.tag{display:none}main{padding:30px 18px}.toolbar{flex-wrap:wrap}.controls{gap:7px;padding:12px}.controls button{padding:8px;font-size:11px}output{font-size:9px}.below,.workspace aside{grid-template-columns:1fr;gap:20px}.stage{min-height:0}h1{letter-spacing:-.5px}.chapters{flex-wrap:wrap;padding:0 12px 15px}}#chapters button[aria-current=step]{outline:2px solid hsl(var(--brand));outline-offset:2px}.practice-card{border:1px solid hsl(var(--brand));border-radius:12px;margin-top:20px;padding:24px}.practice-card[hidden]{display:none}.practice-card fieldset{border:0;padding:0}.practice-card h2{font-size:22px}.controls{flex-wrap:wrap}.progress-card{border:1px solid hsl(var(--muted));border-radius:12px;margin:20px 0;padding:16px}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid hsl(var(--muted));padding:12px}.table-scroll{overflow:auto}.operation-card{border:1px solid hsl(var(--muted));border-radius:12px;margin:16px 0;padding:18px}.operation-card progress{width:100%}#filters{align-items:end;padding:20px 0}#filters label{min-width:0;color:hsl(var(--muted));flex:200px;gap:8px;font-size:13px;display:grid}#filters input{width:100%;min-width:0;font:inherit;color:hsl(var(--text));background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:8px;padding:10px 14px}.practice-card{background:hsl(var(--surface));box-sizing:border-box;border:0;border-radius:16px;min-height:360px;margin:0;padding:clamp(20px,4vw,52px)}.practice-card .practice-eyebrow{color:hsl(var(--brand));letter-spacing:.06em;text-transform:uppercase;font-size:16px;font-weight:700}.practice-card h2{max-width:1000px;margin:16px 0 20px;font-size:clamp(24px,3vw,36px);line-height:1.25}.practice-card .practice-choice{border:1px solid hsl(var(--muted));cursor:pointer;border-radius:12px;align-items:center;gap:14px;margin:12px 0;padding:18px;font-size:clamp(18px,2vw,24px);line-height:1.4;display:flex}.practice-choice:has(input:checked){border-color:hsl(var(--brand));background:hsl(var(--bg))}.practice-choice input{width:20px;height:20px;accent-color:hsl(var(--brand));flex:none}.practice-card button{margin-top:8px;margin-right:12px}.practice-card [role=status]{font-size:20px;line-height:1.5}.practice-card[data-outcome=correct]{background:linear-gradient(hsl(var(--success)/.12),hsl(var(--success)/.12)),hsl(var(--surface))}.practice-card[data-outcome=incorrect]{background:linear-gradient(hsl(var(--danger)/.12),hsl(var(--danger)/.12)),hsl(var(--surface))}.practice-choice[data-outcome=correct]{background:hsl(var(--success)/.24)!important;border:2px solid hsl(var(--success))!important}.practice-choice[data-outcome=incorrect]{background:hsl(var(--danger)/.24)!important;border:2px solid hsl(var(--danger))!important}.practice-effects{pointer-events:none;gap:16px;height:36px;display:flex;overflow:hidden}.practice-effects span{color:hsl(var(--success));animation:.7s ease-out both practice-pop;animation-delay:calc(var(--effect-index)*55ms);font-size:28px;display:inline-block}.practice-card[data-outcome=incorrect] .practice-effects span{animation-name:practice-shake}@keyframes practice-pop{0%{opacity:0;transform:translateY(18px)scale(.3)rotate(-25deg)}60%{opacity:1;transform:translateY(-4px)scale(1.2)rotate(10deg)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes practice-shake{0%{opacity:0;transform:translate(-7px)}30%,70%{opacity:1;transform:translate(5px)}50%{transform:translate(-5px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.practice-effects span{animation:none}}
