.game{--bar:38px;text-transform:uppercase;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(60% 50%,#5f4b8b38,#0000 70%),#000;flex-direction:column;font-family:ui-monospace,Menlo,Consolas,monospace;display:flex;position:absolute;inset:0}.game .bar{height:var(--bar);flex:none;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.game .arena{flex:1;place-items:center;min-height:0;display:grid}.game .stage{width:min(100vw,calc((100dvh - var(--bar))*var(--ar)));aspect-ratio:var(--ar);touch-action:none;outline:1px solid #2c1a5c;position:relative;overflow:hidden;box-shadow:0 0 40px #5f4b8b59;container-type:inline-size}.game .canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.game .scanlines{pointer-events:none;background:repeating-linear-gradient(#00000047 0 1px,#0000 0 3px),radial-gradient(#0000 55%,#0000008c);position:absolute;inset:0}.game .stage.hit .canvas{animation:.22s steps(4,end) game-jitter}@keyframes game-jitter{0%{transform:translate(0)}25%{transform:translate(-2px,1px)skew(-1deg)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px)skew(1deg)}to{transform:translate(0)}}.game .hud{letter-spacing:.2em;color:#00d2ff;pointer-events:none;text-shadow:0 0 6px #00d2ff80;justify-content:space-between;align-items:center;font-size:clamp(.65rem,1.8vw,.95rem);display:flex;position:absolute;top:8px;left:8px;right:8px}.game .hp{gap:6px;display:flex}.game .hp i{background:0 0;border:1px solid #ff3ea5;width:clamp(14px,2.4vw,22px);height:clamp(14px,2.4vw,22px)}.game .hp i.on{background:#ff3ea5;box-shadow:0 0 6px #ff3ea599}.game .panel{text-align:center;background:#05020dc7;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0;overflow-y:auto}.game .kicker{letter-spacing:.4em;color:#8b6fd0;margin:0;font-size:.7rem}.game .title{letter-spacing:.1em;color:#fff;text-shadow:0 0 18px #4063e6b3;margin:0;font-size:clamp(1.8rem,9vw,3.4rem)}.game .title span{color:#ff3ea5}.game .title.small{font-size:clamp(1.4rem,6vw,2.4rem)}.game .copy{letter-spacing:.12em;color:#afafaf;max-width:34ch;margin:0;font-size:.75rem;line-height:1.7}.game .keys{letter-spacing:.15em;color:#666;margin:0;font-size:.6rem}.game .btn{color:#00d2ff;font:inherit;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;background:0 0;border:2px solid #00d2ff;margin-top:6px;padding:12px 26px;font-size:.85rem;text-decoration:none;transition:background .15s,color .15s}.game .btn:focus-visible,.game .btn:hover{color:#05020d;background:#00d2ff;outline:none}.game .btn.ghost{color:#d8ccff;border-color:#5f4b8b;padding:9px 16px;font-size:.7rem}.game .btn.ghost:focus-visible,.game .btn.ghost:hover{color:#fff;background:#5f4b8b}.game .music{top:calc(var(--bar) + 2px);z-index:5;background:#05020deb;border:1px solid #2c1a5c;width:min(360px,100vw - 20px);padding:10px;position:absolute;right:10px}.game .music.closed{visibility:hidden;pointer-events:none}.game .music-pick{letter-spacing:.2em;color:#8b6fd0;flex-direction:column;gap:6px;margin-bottom:8px;font-size:.6rem;display:flex}.game .music-pick select{color:#fff;font:inherit;letter-spacing:.1em;text-transform:uppercase;background:#05020d;border:1px solid #5f4b8b;padding:8px;font-size:.75rem}.game .music-video{aspect-ratio:16/9;background:#000;border:0;width:100%;min-height:200px;display:block}.game .music-ctl{gap:6px;margin-top:8px;display:flex}.game .music-ctl .chip{flex:1;padding:10px;font-size:.7rem}.game .musicbox{letter-spacing:.15em;color:#8b6fd0;cursor:pointer;align-items:center;gap:8px;font-size:.6rem;display:flex}.game .musicbox input{accent-color:#00d2ff}.game .music-note{letter-spacing:.12em;color:#a99ccc;margin:8px 0 0;font-size:.55rem}.game .chip{color:#d8ccff;font:inherit;letter-spacing:.2em;white-space:nowrap;cursor:pointer;background:#05020db3;border:1px solid #5f4b8b;padding:6px 10px;font-size:.7rem;text-decoration:none}.game .chip:focus-visible,.game .chip:hover{color:#fff;border-color:#00d2ff;outline:none}.game .chip:disabled{opacity:.35;cursor:default;color:#d8ccff;border-color:#5f4b8b}.game .chips{gap:6px;display:flex}@media (width<=30em){.game .bar{padding:0 6px}.game .chips{gap:4px}.game .chip{letter-spacing:.08em;padding:6px 7px;font-size:.6rem}}@media (prefers-reduced-motion:reduce){.game .stage.hit .canvas{animation:none}}
