:root{--bg:#0f0e0c;--surface:#17150f;--surface-raised:#1f1c15;--border:#2e2a21;--text:#ebe5d6;--muted:#9c9584;--accent:#ffb000;--accent-soft:#ffb00024;--good:#9ad48f;--on-accent:#1a1300;--radius:6px;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:15px/1.6 var(--font-mono);margin:0}main{max-width:1040px;margin:0 auto;padding:0 16px 64px}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}kbd{font:inherit;border:1px solid var(--border);background:var(--surface-raised);border-bottom-width:2px;border-radius:4px;padding:0 4px}pre{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px 14px;overflow-x:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--on-accent);padding:4px 8px;position:absolute;top:-40px;left:16px}.skip-link:focus{top:8px}.button{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:8px 16px;text-decoration:none;display:inline-block}.button:hover{border-color:var(--muted)}.button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.aside{color:var(--muted);font-size:.9rem}code{color:var(--accent)}pre code{color:inherit}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:32px;padding:72px 0 32px;display:grid}@media (width<=860px){.hero{grid-template-columns:minmax(0,1fr);padding-top:40px}}.hero-logo{margin-bottom:16px;display:block}.cta{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.hero-demo-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;overflow:hidden}.hero-demo-frame:before{content:"● ● ●";border-bottom:1px solid var(--border);color:var(--border);letter-spacing:.2em;padding:6px 12px;font-size:.7rem;display:block}.hero-demo{min-height:170px;padding:12px 16px 16px}.hero-demo-title{color:var(--muted);margin:0 0 8px;font-size:.85rem}.hero-demo-line{background:var(--bg);white-space:pre;margin:0;padding:10px 12px}.hero-cursor{background:var(--accent);color:var(--on-accent)}.hero-demo-keys{gap:6px;min-height:1.9em;margin:12px 0 4px;display:flex}.hero-demo-status{color:var(--muted);margin:0;font-size:.85rem}.hero-demo-status.is-solved{color:var(--accent)}.prompt{color:var(--muted);margin:0}.cursor:after{content:"";vertical-align:text-bottom;background:var(--accent);width:.6em;height:1.1em;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor:after{animation:none}}h1{color:var(--accent);letter-spacing:-.02em;margin:8px 0 4px;font-size:clamp(2.4rem,7vw,4rem);line-height:1.1}.tagline{max-width:44ch;color:var(--muted);margin:0;font-size:1.1rem}.section{padding:32px 0}h2{text-transform:lowercase;color:var(--muted);font-size:1.1rem}h2:before{content:":";color:var(--accent)}.emulation-banner{border-left:3px solid var(--accent);background:var(--accent-soft);margin:0 0 16px;padding:8px 12px;font-size:.9rem}.demo-grid{grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:16px;display:grid}@media (width<=760px){.demo-grid{grid-template-columns:minmax(0,1fr)}}.sidebar,.stage{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.sidebar{padding:12px}.level-list,.level-list ol{margin:0;padding:0;list-style:none}.pack-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0 4px;font-size:.8rem}.level-button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;gap:10px;padding:4px 8px;display:flex}.level-button:hover,.level-button[aria-current=true]{background:var(--accent-soft)}.level-button[aria-current=true]{color:var(--accent)}.level-button:disabled{color:var(--muted);cursor:not-allowed}.stars,.results-stars{color:var(--accent);letter-spacing:.05em}.progress-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px 16px;margin-top:16px;padding-top:12px;display:flex}.link-button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.link-button:hover{color:var(--text)}#import-progress:focus-visible+.link-button{outline:2px solid var(--accent)}.progress-actions:has(#import-progress:focus-visible) label{outline:2px solid var(--accent)}.stage{min-height:360px;padding:16px 20px;position:relative}.stage-empty{color:var(--muted)}.level-title{color:var(--accent);margin:0;font-size:1.2rem}.level-description{margin:4px 0 12px}.goal p{margin:0}.goal-target{background:var(--accent);color:var(--on-accent);padding:0 2px}.goal-text{border-color:var(--good);color:var(--good);margin:6px 0 0}.par{color:var(--good);margin:8px 0}.editor{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.editor .cm-editor{background:var(--bg);color:var(--text);font-family:var(--font-mono)}.editor .cm-scroller{font-family:var(--font-mono);line-height:1.6}.editor .cm-gutters{background:var(--bg);border-right:1px solid var(--border);color:var(--muted)}.editor .cm-activeLine,.editor .cm-activeLineGutter{background:#ffffff08}.editor .cm-fat-cursor{background:var(--accent)!important;color:var(--on-accent)!important}.editor .cm-editor:not(.cm-focused) .cm-fat-cursor{outline:1px solid var(--accent);background:0 0!important}.editor .cm-cursor{border-left-color:var(--accent)}.editor .cm-vimdojo-target{border-bottom:2px solid var(--accent);background:#ffb00059}.editor .cm-selectionBackground,.editor .cm-focused .cm-selectionBackground{background:#ffb00040!important}.statusline{background:var(--surface-raised);color:var(--muted);white-space:pre-wrap;margin:0;padding:2px 8px;font-size:.85rem}.hint,.controls{color:var(--muted);margin:8px 0 0;font-size:.85rem}.hint strong{color:var(--accent)}.results{border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface-raised);max-width:360px;margin-top:16px;padding:16px 20px;box-shadow:0 12px 40px #00000080}.results-stars{margin:0;font-size:1.8rem}.results-points{margin:0 0 8px}.results-stats{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}.results-stats dt{color:var(--muted)}.results-stats dd{margin:0}.results-note{color:var(--muted);font-size:.85rem}.results-actions{gap:8px;margin-top:12px;display:flex}.results-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:4px;padding:6px 12px}.results-actions .primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.demo-message:empty{display:none}.demo-message{color:var(--muted);font-size:.85rem}.touch-note{color:var(--muted);display:none}@media (pointer:coarse){.touch-note{display:block}}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (width<=760px){.steps{grid-template-columns:minmax(0,1fr)}}.steps li,.pack{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px}.steps h3,.install-grid h3{margin:0 0 6px;font-size:1rem}.steps p,.pack p{color:var(--muted);margin:0}.step-number,.pack-number{color:var(--accent);margin-right:4px}.install-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.snippet{position:relative}pre[data-copy]{margin:0;padding-right:72px}.copy-button{border:1px solid var(--border);background:var(--surface-raised);color:var(--muted);font:inherit;cursor:pointer;border-radius:4px;padding:2px 8px;font-size:.8rem;position:absolute;top:6px;right:6px}.copy-button:hover{color:var(--text)}.packs{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.pack .pack-keys{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pack-keys kbd{color:var(--text)}.pack .pack-count{margin-top:8px;font-size:.85rem}.footer{border-top:1px solid var(--border);max-width:1040px;color:var(--muted);margin:0 auto;padding:24px 16px 48px;font-size:.85rem}.footer a{color:var(--text)}.track+.track{margin-top:32px}.track-title{color:var(--accent);flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0 0 4px;font-size:1.15rem;display:flex}.track-count{color:var(--muted);font-size:.85rem;font-weight:400}.track-blurb{max-width:70ch;color:var(--muted);margin:0 0 12px}.badge{border:1px solid var(--border);color:var(--text);letter-spacing:.02em;border-radius:999px;padding:0 8px;font-size:.75rem;font-weight:400}.pack h4{margin:0 0 6px;font-size:1rem}
