:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--error:#e57373;--dimmed:#c4c0ca;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{margin:0}#root{max-width:100%;min-height:100svh;margin:0 auto}.quote-display{max-width:700px;color:var(--text-h);letter-spacing:.3px;text-align:left;margin:0 auto;font-size:20px;line-height:180%}.quote-display .char{white-space:pre-wrap;position:relative}.quote-display .char.typed{color:var(--dimmed)}.quote-display .char.error{-webkit-text-decoration:underline wavy var(--error);text-decoration:underline wavy var(--error);text-underline-offset:4px}.quote-display .char.current:before{content:"";background:var(--text-h);width:2px;animation:1.06s step-end infinite blink;position:absolute;top:2px;bottom:2px;left:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.quote-display .char.current:before{animation:none}}.keyboard{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;display:flex}.keyboard-row{gap:6px;display:flex}.keyboard-row:nth-child(2){padding-left:22px}.keyboard-row:nth-child(3){padding-left:44px}.key{border:1px solid var(--border);width:44px;height:44px;font-family:var(--mono);color:var(--text);border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:transform .1s,background-color .1s;display:flex}.key.active{background:var(--code-bg);color:var(--text-h);transform:scale(.95)}.key.space{width:220px}@media (prefers-reduced-motion:reduce){.key{transition:none}}@media (width<=640px){.key{width:32px;height:32px;font-size:12px}.key.space{width:160px}.keyboard-row:nth-child(2){padding-left:16px}.keyboard-row:nth-child(3){padding-left:32px}}.stats{color:var(--text);opacity:0;flex-direction:column;align-items:center;gap:4px;font-size:14px;transition:opacity .4s;display:flex}.stats.visible{opacity:1}@media (prefers-reduced-motion:reduce){.stats{transition:none}}.stats-numbers{font-family:var(--mono);font-variant-numeric:tabular-nums}.stats-attribution{font-style:italic}.game{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:48px;min-height:100svh;padding:32px 20px;display:flex}
