/* V80 mobile arcade shell. Keep the full 16:9 canvas visible, with controls outside it. */
html{overscroll-behavior-y:none}.center-stage,.cabinet,.cabinet-marquee,.player{min-width:0}.player{width:100%;min-height:0;overflow:hidden}.player iframe{min-width:0}
.play-shell{position:relative}.play-toolbar,.touch-dpad,.touch-actions,.play-hint{display:none}
.play-display{display:block;min-width:0;min-height:0}.play-arena{min-width:0;min-height:0}
body.immersive{overflow:hidden;overscroll-behavior:none}
body.immersive .play-shell,.play-shell:fullscreen{position:fixed;z-index:1000;inset:0;width:100%;height:var(--play-height,100dvh);margin:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:#0c0915;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;color:var(--cream);isolation:isolate}
.play-shell:fullscreen{height:100%}
body.immersive .play-toolbar,.play-shell:fullscreen .play-toolbar{display:flex;align-items:center;gap:6px;padding:5px 8px;min-width:0;background:#241b35;border-bottom:2px solid #675075}
.play-toolbar strong{font-size:11px;line-height:1.5;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gold)}
.play-toolbar button{font-size:11px;min-width:44px;min-height:44px;border:2px solid #786087;background:#342440;padding:6px;color:var(--cream);line-height:1.2;touch-action:none}
.play-toolbar button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}
body.immersive .play-arena,.play-shell:fullscreen .play-arena{display:grid;grid-template-columns:96px minmax(0,1fr) 112px;gap:4px;align-items:center;overflow:hidden}
body.immersive .play-display,.play-shell:fullscreen .play-display{grid-column:2;grid-row:1;align-self:stretch;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0;min-height:0;position:relative}
body.immersive .player,.play-shell:fullscreen .player{border:0;aspect-ratio:auto;flex:none;background:#000}
.player iframe{touch-action:none}
body.immersive .touch-dpad,.play-shell:fullscreen .touch-dpad{display:grid;grid-column:1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-content:center;padding:4px}
body.immersive .touch-actions,.play-shell:fullscreen .touch-actions{display:grid;grid-column:3;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-content:center;padding:4px;max-height:100%;overflow:auto;overscroll-behavior:contain}
.touch-dpad button,.touch-actions button{height:46px;min-width:44px;min-height:44px;width:100%;max-width:100%;padding:3px;border:2px solid #755889;background:#30223f;box-shadow:0 3px #050409;font-size:9px;line-height:1.2;overflow-wrap:anywhere;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.touch-dpad button{font-size:21px}.touch-dpad .up,.touch-dpad .down{grid-column:1/-1;justify-self:center;width:44px}
.touch-actions .primary{background:var(--gold);color:#30213b;border-color:#fff1a1;grid-column:1/-1;font-size:11px}
.touch-dpad button.down-state,.touch-actions button.down-state{background:var(--mint);border-color:#fff;color:#15281e;transform:translateY(2px);box-shadow:none}
body.immersive .play-hint,.play-shell:fullscreen .play-hint{display:block;margin:0;padding:4px 10px;font-size:9px;line-height:1.6;text-align:center;color:var(--muted);background:#20182d;border-top:1px solid #584567}
body.immersive .play-shell.pad-hidden .play-arena,.play-shell.pad-hidden:fullscreen .play-arena{grid-template-columns:1fr}
body.immersive .play-shell.pad-hidden .play-display,.play-shell.pad-hidden:fullscreen .play-display{grid-column:1;grid-row:1}
.play-shell.pad-hidden .touch-dpad,.play-shell.pad-hidden .touch-actions{display:none!important}
.play-help{position:absolute;z-index:5;inset:60px 12px 12px;padding:16px;background:#21172ff5;border:3px solid var(--gold);overflow:auto;overscroll-behavior:contain;font-size:13px;line-height:1.8}.play-help h2{font-size:18px;color:var(--gold);margin:0}.play-help button{min-height:44px;background:#3b284b;border:2px solid var(--gold);padding:8px 15px}.play-help label{font-size:12px}.play-help select{min-height:44px;font-size:16px}.play-help p{white-space:pre-line}
@media(max-width:760px){main{padding-inline:14px}.room-header{gap:10px}.home{min-height:44px}.room-header nav a{display:inline-grid;place-items:center;min-width:44px;min-height:44px}.welcome{padding:24px 0}.welcome .coin-button{width:100%;min-height:52px}.cabinet-marquee strong{white-space:normal;overflow-wrap:anywhere}.cabinet-controls>*{flex:1;min-width:100px;min-height:44px!important}.game-card .play-label{font-size:10px;line-height:1.5}.feedback-panel .coin-button{width:100%}.score-rail #champions{gap:0 12px}.champion .who{flex-wrap:wrap}.form-row{grid-template-columns:1fr}.comment header{flex-wrap:wrap}.game-text strong{overflow-wrap:anywhere}.room-divider{margin-bottom:20px}
body.immersive .play-arena,.play-shell:fullscreen .play-arena{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto;gap:6px;align-items:start}
body.immersive .play-display,.play-shell:fullscreen .play-display{grid-column:1/-1;grid-row:1}
body.immersive .touch-dpad,.play-shell:fullscreen .touch-dpad{grid-column:1;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 8px;gap:5px}
.touch-dpad .up,.touch-dpad .down{grid-column:2;justify-self:stretch;width:auto}.touch-dpad .left{grid-column:1;grid-row:2}.touch-dpad .right{grid-column:3;grid-row:2}
body.immersive .touch-actions,.play-shell:fullscreen .touch-actions{grid-column:2;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 8px;gap:5px;max-height:160px}
.touch-dpad button,.touch-actions button{height:44px}.touch-actions .primary{grid-column:1/-1}.play-toolbar strong{font-size:10px}.play-toolbar button{font-size:10px}.play-help{font-size:12px}
body.immersive .play-shell.pad-hidden .play-arena,.play-shell.pad-hidden:fullscreen .play-arena{grid-template-rows:minmax(0,1fr)}
}
@media(orientation:landscape) and (max-height:600px){body.immersive .play-arena,.play-shell:fullscreen .play-arena{grid-template-columns:96px minmax(0,1fr) 112px;grid-template-rows:1fr;gap:4px;align-items:center}body.immersive .play-display,.play-shell:fullscreen .play-display{grid-column:2;grid-row:1}body.immersive .touch-dpad,.play-shell:fullscreen .touch-dpad{grid-column:1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;gap:4px}.touch-dpad .up,.touch-dpad .down{grid-column:1/-1;grid-row:auto;justify-self:center;width:44px}.touch-dpad .left,.touch-dpad .right{grid-column:auto;grid-row:auto}body.immersive .touch-actions,.play-shell:fullscreen .touch-actions{grid-column:3;grid-row:1;padding:4px;gap:4px;max-height:100%}.play-toolbar button{min-height:44px;min-width:44px}.play-hint{font-size:8px!important;padding:2px 8px!important}.play-toolbar{padding-block:2px!important}.touch-dpad button,.touch-actions button{height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.portrait-tip{display:none;position:absolute;top:16px;left:12px;right:12px;align-items:center;justify-content:center;gap:12px;color:var(--gold);pointer-events:none;font-size:11px;line-height:1.9;text-align:left}.portrait-tip>span{font-size:38px}.portrait-tip p{margin:0}body.immersive .portrait-tip:not([hidden]),.play-shell:fullscreen .portrait-tip:not([hidden]){display:flex}@media(max-width:360px){.play-toolbar strong{display:none}.play-toolbar{justify-content:space-between}.portrait-tip{font-size:10px}}

#shelfPlay{font-size:9px;padding-inline:3px}

/* V89: six actions remain visible in portrait without scrolling the pad. */
@media(max-width:760px) and (orientation:portrait){.touch-actions .primary{grid-column:auto;font-size:10px}}

/* Keep early taps out of the automatic game-selection sequence. */
.play-display{position:relative}#gameLoading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:#171122;color:#ffdb41;text-align:center;font-size:16px;line-height:1.8;pointer-events:auto;padding:20px}#playShell[data-engine-ready] #gameLoading,#playShell[data-engine-failed] #gameLoading{display:none}#playShell:not([data-engine-ready]) button[data-key]{opacity:.45;cursor:wait}

.game-name-entry:not([hidden]){position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#120c20eb;padding:12px;overflow:auto}.game-name-entry[hidden]{display:none}.game-name-form{width:min(100%,420px);background:#2c1f38;border:3px solid #ffdb41;box-shadow:6px 6px #080610;padding:18px;color:#fff5df}.game-name-form h2{font-size:clamp(20px,5vw,28px);color:#ffdb41;margin:6px 0}.game-name-form small{font-size:10px;color:#a9f2ce}.game-name-form label{font-size:12px;display:block}.game-name-form input{width:100%;min-height:50px;font-family:inherit;font-size:24px;background:#16101e;border:2px solid #ffdb41;color:#fff5df;padding:8px;text-align:center;box-sizing:border-box}.game-name-form p{margin:6px 0;line-height:1.5}#gameNameScore{font-size:22px;color:#ffdb41}#gameNameError{font-size:12px;min-height:18px;color:#ff9fbf}.game-name-buttons{display:flex;gap:8px}.game-name-form button{min-height:44px;border:2px solid #b59a74;padding:8px;background:#4b3c5c;color:#fff5df;font:inherit;cursor:pointer}.game-name-buttons button{flex:1}#saveGameName{background:#ffdb41;color:#251a34;font-weight:bold}#pixelGameName{width:100%;margin-top:8px;font-size:11px}@media(orientation:landscape) and (max-height:450px){.game-name-form{padding:10px 16px}.game-name-form h2{font-size:20px;margin:2px 0}.game-name-form input{min-height:44px}.game-name-form p{margin:2px 0}.game-name-form small{display:none}#pixelGameName{margin-top:5px}}
