html,body,#root{-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#05060f;height:100%;margin:0;padding:0;overflow:hidden}:root{--bg:#05060f;--ink:#eef2ff;--neon:#6ee7ff;--hot:#ff4d8d;--violet:#a78bfa}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;padding:0;font-family:Geist,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#canvas{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:fixed;inset:0}.frame{pointer-events:none;z-index:6;position:fixed;inset:0}.frame__corner{letter-spacing:.19em;text-transform:uppercase;color:#eef2ff47;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;position:absolute}.frame__corner--tl{top:max(14px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left))}.frame__corner--tr{top:max(14px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right))}.frame__corner--bl{bottom:max(14px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));pointer-events:auto}.frame__corner--bl a{color:inherit;text-decoration:none;transition:color .18s}.frame__corner--bl a:hover{color:var(--neon)}.frame__corner--bl a:focus-visible{outline:2px solid var(--neon);outline-offset:3px}.hint{left:50%;bottom:max(12px, env(safe-area-inset-bottom));letter-spacing:.14em;text-transform:uppercase;color:#eef2ff42;pointer-events:none;z-index:6;text-align:center;white-space:nowrap;margin:0;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;transition:opacity .4s;position:fixed;transform:translate(-50%)}.hint.is-gone{opacity:0}.hud{top:max(12px, env(safe-area-inset-top));z-index:5;pointer-events:none;justify-content:center;align-items:flex-start;gap:26px;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;position:fixed;left:50%;transform:translate(-50%)}.hud__cell{flex-direction:column;align-items:center;gap:2px;display:flex}.hud__k{letter-spacing:.18em;text-transform:uppercase;color:#eef2ff66;font-size:8.5px}.hud__cell span:last-child{font-variant-numeric:tabular-nums;font-size:19px;font-weight:800;line-height:1.05}.hud__score{color:var(--ink);text-shadow:0 0 18px #6ee7ff66}.hud__lives{color:var(--neon);letter-spacing:.12em}.hud__lvl{color:#eef2ffb8}.hud__best{color:#eef2ff80;font-size:15px!important}.hud__score.is-bump{animation:.22s bump}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.16)}to{transform:scale(1)}}.sound-btn{top:max(12px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:7;color:#eef2ffd1;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e1ebd;border:1px solid #6ee7ff4d;border-radius:50%;place-items:center;width:34px;height:34px;font-size:14px;transition:color .18s,border-color .18s;display:grid;position:fixed}.sound-btn:hover{color:var(--neon);border-color:var(--neon)}.sound-btn:focus-visible{outline:2px solid var(--neon);outline-offset:3px}.sound-btn[aria-pressed=false]{color:#eef2ff4d}.overlay{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(120% 100% at 50% 32%,#2e1a58b8 0%,#04050cf5 74%);place-items:center;padding:20px;animation:.35s both ovIn;display:grid;position:fixed;inset:0}.overlay[hidden]{display:none}@keyframes ovIn{0%{opacity:0}to{opacity:1}}.panel{text-align:center;width:min(460px,100%);max-height:100%;color:var(--ink);background:linear-gradient(170deg,#221a42f2 0%,#070814f7 100%);border:1px solid #6ee7ff3d;border-radius:18px;padding:26px 26px 24px;overflow-y:auto;box-shadow:0 24px 64px #000000a8,inset 0 1px #aac8ff21}.panel__eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--neon);margin:0 0 8px;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px}.panel__title{letter-spacing:-.02em;color:var(--ink);text-shadow:0 0 40px #6ee7ff61;margin:0 0 12px;font-size:clamp(32px,7.4vw,46px);font-weight:800;line-height:1}.panel__text{color:#eef2ffc2;margin:0 0 20px;font-size:14.5px;line-height:1.6}.panel__text b{color:var(--ink);font-weight:700}.panel__keys{letter-spacing:.1em;text-transform:uppercase;color:#eef2ff5c;margin:14px 0 0;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;line-height:1.9}.play-btn{color:#04121c;cursor:pointer;background:linear-gradient(#c2f6ff 0%,#6ee7ff 56%,#1fa5cf 100%);border:none;border-radius:999px;padding:13px 34px;font-family:inherit;font-size:14.5px;font-weight:800;transition:transform .14s,box-shadow .18s,filter .18s;display:inline-block;box-shadow:0 10px 28px #1fa5cf70,inset 0 1px #ffffff80}.play-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 14px 34px #1fa5cf8f}.play-btn:active{transform:translateY(1px)}.play-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (width<=560px){.panel{border-radius:15px;padding:22px 18px 20px}.hud{gap:17px}.hud__cell span:last-child{font-size:17px}}@media (height<=520px){.panel{padding:16px 18px}.panel__title{margin-bottom:6px;font-size:clamp(22px,5vh,30px)}.panel__text{margin-bottom:12px;font-size:12.5px}.panel__keys{display:none}}@media (prefers-reduced-motion:reduce){.overlay,.hud__score.is-bump{animation:none}.play-btn,.sound-btn,.hint,.frame__corner--tl,.frame__corner--tr{transition:none}}.panel__rule{letter-spacing:.1em;text-transform:uppercase;color:#6ee7ffb8;margin:-6px 0 18px;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.grid{letter-spacing:.02em;flex-direction:column;align-items:center;margin:4px 0 18px;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(11px,3.1vw,15px);line-height:1.16;display:flex;overflow-x:auto}.grid__row{white-space:pre}.countdown{letter-spacing:.14em;text-transform:uppercase;color:#eef2ff80;margin:14px 0 0;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.countdown b{color:var(--neon);font-variant-numeric:tabular-nums}.linkbtn{font:inherit;color:#eef2ff8c;cursor:pointer;text-underline-offset:3px;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:12px auto 0;padding:4px 6px;font-size:12.5px;text-decoration:underline;display:block}.linkbtn:hover{color:var(--ink)}.linkbtn:focus-visible{outline:2px solid var(--neon);outline-offset:3px;border-radius:4px}.stats{border-top:1px solid #6ee7ff29;grid-template-columns:repeat(3,1fr);gap:12px 6px;margin:16px 0 4px;padding:14px 6px 4px;display:grid}.stats div{flex-direction:column;gap:2px;display:flex}.stats dt{letter-spacing:.16em;text-transform:uppercase;color:#eef2ff6b;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8.5px}.stats dd{font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:19px;font-weight:800}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.capture{border-top:1px solid #6ee7ff29;margin:18px 0 0;padding:16px 14px 10px}.capture__pitch{color:#eef2ffbd;margin:0 0 10px;font-size:13.5px}.capture__row{gap:8px;display:flex}.capture input[type=email]{min-width:0;font:inherit;color:var(--ink);background:#080a16b3;border:1px solid #6ee7ff42;border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.capture input[type=email]::placeholder{color:#eef2ff52}.capture input[type=email]:focus-visible{outline:2px solid var(--neon);outline-offset:1px}.capture button[type=submit]{font:inherit;color:#04121c;cursor:pointer;background:linear-gradient(#c2f6ff 0%,#6ee7ff 56%,#1fa5cf 100%);border:0;border-radius:10px;padding:10px 16px;font-size:13.5px;font-weight:800}.capture button[type=submit]:disabled{opacity:.6;cursor:default}.capture__err{color:#ff8fb0;margin:8px 0 0;font-size:12.5px}.capture--done p{color:#eef2ffd1;margin:0;font-size:13.5px}.mg{text-align:left;border-top:1px solid #6ee7ff29;margin:20px 0 0;padding:16px 0 0}.mg__k{letter-spacing:.18em;text-transform:uppercase;color:#eef2ff66;text-align:center;margin:0 0 10px;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8.5px}.mg__list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.mg__list a{color:inherit;background:#ffffff09;border:1px solid #ffffff17;border-radius:12px;align-items:center;gap:11px;padding:9px 11px;text-decoration:none;transition:border-color .16s,background .16s;display:flex}.mg__list a:hover{background:#6ee7ff12;border-color:#6ee7ff66}.mg__list a:focus-visible{outline:2px solid var(--neon);outline-offset:2px}.mg__icon{object-fit:cover;border-radius:8px;flex:none;width:30px;height:30px;display:block}.mg__icon--letter{color:var(--neon);background:#6ee7ff29;place-items:center;font-size:14px;font-weight:800;display:grid}.mg__text{flex-direction:column;gap:1px;min-width:0;display:flex}.mg__text b{color:var(--ink);font-size:13.5px;font-weight:700}.mg__text em{color:#eef2ff80;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-style:normal;overflow:hidden}.mg__out{fill:none;stroke:#eef2ff57;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:13px;height:13px;margin-left:auto}.shareRow{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;display:flex}.ghost-btn{font:inherit;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:1px solid #6ee7ff4d;border-radius:999px;padding:12px 20px;font-size:13.5px;font-weight:700;transition:border-color .16s,background .16s}.ghost-btn:hover{border-color:var(--neon);background:#6ee7ff1a}.ghost-btn:focus-visible{outline:2px solid var(--neon);outline-offset:3px}.dist{text-align:left;margin:14px 0 2px}.dist__k{letter-spacing:.16em;text-transform:uppercase;color:#eef2ff6b;text-align:center;margin:0 0 8px;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8.5px}.dist__row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.dist__label{color:#eef2ff80;text-align:right;flex:none;width:42px;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.dist__bar{color:#eef2ffbf;background:#ffffff1f;border-radius:4px;justify-content:flex-end;align-items:center;min-width:22px;padding:3px 7px;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:700;display:inline-flex}.dist__bar.is-today{color:#04121c;background:linear-gradient(90deg,#1fa5cf,#6ee7ff)}
