.pixel-controls{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:5;display:flex;gap:7px;pointer-events:auto}
.pixel-controls button{width:38px;height:34px;display:grid;place-items:center;color:#ffeac3;background:#242948;border:2px solid #676c92;padding:0;cursor:pointer;box-shadow:3px 3px #10132d;clip-path:none}
.pixel-controls button[hidden]{display:none}
.pixel-controls button:hover,.pixel-controls button:focus-visible,.pixel-controls button[aria-pressed=true]{border-color:#ffeac3}
.pixel-controls svg{width:21px;height:21px;fill:currentColor;shape-rendering:crispEdges}
.pixel-controls .mute{display:none}.pixel-controls [aria-pressed=true] .mute{display:block}

.embedded-game .pixel-controls,.embedded-game .camera-panel{display:none}

/* Matched 32px cursors with one shared pixel grid and palette. */
:root{--pixel-arrow:url('cursors/arrow.png') 2 2,auto;--pixel-hand:url('cursors/hand.png') 9 2,pointer}
html,body,canvas,.camera-panel{cursor:var(--pixel-arrow)}
html:not(.pixel-home),html:not(.pixel-home) *{cursor:var(--pixel-hand)}
a[href],button:not(:disabled),.pixel-controls button,.camera-panel button,.play{cursor:var(--pixel-hand)}
.pixel-home .screen,.pixel-home .screen *{cursor:var(--pixel-hand)}
.pixel-dissolve{position:absolute!important;inset:0;width:100%;height:100%;display:block;z-index:20;image-rendering:pixelated;pointer-events:none}
.pixel-dissolve-page{position:fixed!important;z-index:40;pointer-events:auto}
@font-face{font-family:ResultPixel;src:url('air-beats/fonts/fusion-pixel-12px-proportional-zh_hans.ttf.woff2') format('woff2');font-display:swap}
.pixel-result-actions[hidden]{display:none!important}
.pixel-result-actions{position:fixed;z-index:4;top:63%;left:50%;transform:translate(-50%,-50%);display:flex;gap:10px;align-items:center}
.pixel-result-actions button{display:flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;background:#292d4b;color:#ffebc4;border:2px solid #80779a;box-shadow:3px 3px #11152b;white-space:nowrap;font:14px/1 ResultPixel,monospace}
.pixel-result-actions button:hover,.pixel-result-actions button:focus-visible{border-color:#ffebc4}
.pixel-result-actions svg{width:16px;height:16px;fill:currentColor;shape-rendering:crispEdges}
.buttons .pixel-result-actions{position:static;transform:none}
@media(max-width:320px){.pixel-controls{gap:4px}.pixel-controls button{width:32px}}

/* Screen-space sizing is independent of each game's canvas resolution. */
.pixel-hud{position:fixed!important;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));width:180px!important;height:70px!important;z-index:4;pointer-events:none;image-rendering:pixelated;transform:none!important}
.pixel-hud[hidden]{display:none!important}
.embedded-game .pixel-hud{top:10px;left:10px;width:126px!important;height:49px!important}
.pixel-shared-score header .kicker,.pixel-shared-score #score{display:none}
.pixel-shared-score #combo{position:fixed;left:16px;top:52px;font-size:12px}
@media(max-width:480px){.pixel-controls{gap:5px}.pixel-controls button{width:32px;height:32px}.pixel-hud{top:56px}}
