@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}:root{--sky: #1b1440;--dusk: #3d1d5c;--line: #5a2363;--ink: #fff4e6;--dim: #c3b2e0;--sun: #ff8a5b;--sodium: #ffd166;--neon: #3df5ff;--good: #6cff8f;--bad: #ff4d6d;--pixel: "Press Start 2P", "Courier New", monospace;--crt: "VT323", "Courier New", monospace;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--sky);color:var(--ink);font-family:var(--crt);font-size:20px;-webkit-font-smoothing:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body.touch{overflow:hidden}#app{display:flex;align-items:center;justify-content:center;min-height:100%;padding:16px}body.touch #app{padding:0;height:100%}#stage{position:relative;overflow:hidden;line-height:0;border:4px solid var(--line);box-shadow:0 0 0 4px var(--sky),0 0 48px #ff8a5b4d;touch-action:none;cursor:grab}#stage:active{cursor:grabbing}body.touch #stage{border:0;box-shadow:none}#game canvas{display:block;image-rendering:pixelated}body:not(.ready) .strip,body:not(.ready) .card{display:none}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:432px;max-width:calc(100vw - 40px);height:720px;max-height:calc(100vh - 40px);line-height:1;font-family:var(--pixel);font-size:10px;color:var(--dim)}body.touch .loading{width:100vw;max-width:none;height:100vh;max-height:none}.loading svg{width:96px;height:96px}.loading .bar{display:block;width:160px;height:10px;border:2px solid var(--line)}#load-bar{display:block;width:0;height:100%;background:var(--neon)}.loading:not(.counting) .bar{visibility:hidden}.loading.failed{color:var(--bad);cursor:pointer}.strip{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:8px;padding-top:max(8px,env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));line-height:1;font-family:var(--pixel);text-shadow:2px 2px 0 var(--sky)}.strip .score{flex:1;margin:0;font-size:16px;white-space:nowrap}.streak{margin-left:8px;font-size:12px;color:var(--neon)}.lives{display:flex;gap:4px;margin:0;color:var(--bad)}.lives svg{display:block;width:14px;height:12px;fill:currentColor}.lives .lost{color:#fff4e633}.lives .bonus{color:var(--sodium);animation:beat .9s ease-in-out infinite}@keyframes beat{50%{transform:scale(1.25)}}@media (prefers-reduced-motion: reduce){.lives .bonus{animation:none}}.key{display:grid;place-items:center;width:36px;height:36px;padding:0;font-family:var(--pixel);font-size:10px;color:var(--ink);background:#1b14408c;border:2px solid rgba(255,244,230,.3);cursor:pointer}.key svg{width:16px;height:16px;fill:currentColor}#sound[aria-pressed=true] .off,#sound[aria-pressed=false] .on{display:none}.card{position:absolute;left:8px;right:8px;bottom:max(10px,env(safe-area-inset-bottom));text-align:center;line-height:1.2;pointer-events:none}.card .name{margin:0;font-family:var(--pixel);font-size:14px;color:var(--sodium);text-shadow:2px 2px 0 #000}.card .meta{margin:4px 0 0;font-size:20px;letter-spacing:1px;color:var(--dim)}.verdict{position:absolute;left:0;right:0;opacity:0;line-height:1.4;text-align:center;font-family:var(--pixel);font-size:16px;text-shadow:2px 2px 0 var(--sky);pointer-events:none}.verdict small{display:block;font-size:10px;color:var(--ink)}.verdict.show{animation:pop 1.2s ease-out forwards}.verdict.perfect{color:var(--neon)}.verdict.clean{color:var(--good)}.verdict.trick{color:var(--sodium);text-shadow:2px 2px 0 var(--sun)}.verdict.under,.verdict.over{color:var(--bad)}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.7)}12%{opacity:1;transform:translateY(0) scale(1.15)}24%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;line-height:1.2;text-align:center;background:#1b1440d6;cursor:pointer}.overlay[hidden]{display:none}.overlay h2{margin:0;font-family:var(--pixel);font-size:20px;line-height:1.3;color:var(--sodium);text-shadow:3px 3px 0 var(--sun)}.overlay h2.logo{font-size:28px;color:var(--neon);text-shadow:3px 3px 0 #b03d5d}.overlay p{margin:0}.overlay .big{font-family:var(--pixel);font-size:24px;color:var(--neon)}.dim{color:var(--dim)}.blink{margin-top:8px!important;font-family:var(--pixel);font-size:11px;line-height:1.6;animation:blink 1.1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}@media (prefers-reduced-motion: reduce){.blink{animation:none}}body.embed #app{padding:0;height:100%}body.embed #stage{border:0;box-shadow:none}body.embed .strip{padding:6px}body.embed .strip .score{font-size:12px}body.embed .key{width:28px;height:28px}body.embed .card .name{font-size:11px}body.embed .card .meta{font-size:16px}body.embed .overlay{gap:8px;padding:12px;font-size:16px}body.embed .overlay h2.logo{font-size:22px}.overlay a.full{font-family:var(--pixel);font-size:10px;color:var(--neon)}body.embed{overflow:hidden}
