:root{--bg:#0e1116;--panel:#161b22;--line:#2a313c;--text:#e6edf3;--muted:#8b949e;--accent:#7c5cff;--ok:#3fb950;--bad:#f85149;--ghost:#a5b4fc;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;display:flex}a{color:var(--ghost)}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:13px}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.logo{letter-spacing:-.02em;font-size:20px;font-weight:800}.logo span{color:var(--accent)}.badges{gap:8px;display:flex}.badge{font:12px var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 8px}.badge.live{color:var(--ok);border-color:var(--ok)}.badge.offline{color:#d29922;border-color:#d29922}main{flex:1;justify-content:center;align-items:center;padding:24px 16px;display:flex}.screen{text-align:center;width:100%;max-width:760px}h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(26px,5vw,40px)}.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;padding:12px 22px;font-weight:600}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.1)}kbd{font:11px var(--mono);background:#ffffff26;border-radius:4px;margin-left:6px;padding:1px 5px}#btn-start{margin:24px 0 12px}.hud{font-family:var(--mono);justify-content:center;gap:32px;margin-bottom:20px;display:flex}.hud span{font-size:28px;font-weight:700}.hud small{color:var(--muted);margin-left:4px}.ghost-track{gap:6px;max-width:520px;margin:0 auto 20px;display:grid}.lane{align-items:center;gap:10px;display:flex}.lane-label{text-align:right;width:60px;font:12px var(--mono);color:var(--muted)}.lane .bar{border-radius:4px;height:8px;transition:width .1s linear}.lane{background:0 0}.bar.you{background:var(--accent)}.bar.ghost{background:var(--ghost);opacity:.6}.passage{font:22px/1.7 var(--mono);text-align:left;background:var(--panel);border:1px solid var(--line);cursor:text;word-break:break-word;border-radius:12px;padding:24px}.passage .todo{color:var(--muted)}.passage .ok{color:var(--text)}.passage .bad{color:var(--bad);background:#f8514926;border-radius:2px}.passage .caret{box-shadow:-2px 0 0 var(--accent);animation:1s step-end infinite blink}@keyframes blink{50%{box-shadow:-2px 0 #0000}}.hidden-input{opacity:0;pointer-events:none;position:absolute;left:-9999px}.stats{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:20px;display:flex}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:150px;padding:18px}.stat span{font:700 40px var(--mono);display:block}.stat small{color:var(--muted)}.callout{border:1px solid var(--accent);background:#7c5cff1a;border-radius:12px;max-width:520px;margin:0 auto 20px;padding:14px 18px}.progress{background:var(--line);border-radius:4px;height:8px;margin-top:10px;overflow:hidden}#goal-fill{background:var(--accent);height:100%;transition:width .6s}.actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}footer{text-align:center;border-top:1px solid var(--line);padding:16px}@media (width<=520px){.passage{padding:16px;font-size:17px}.hud{gap:18px}.stat{min-width:100px;padding:12px}.stat span{font-size:30px}}.btn-badge{cursor:pointer;font:12px var(--mono);background:0 0}.btn-badge:hover{color:var(--text);border-color:var(--muted)}
