/* Game-first layout: viewport-sized playfields with compact, accessible controls. */
.arcade-home .wrap { max-width:none; padding:0 16px 32px; }
.arcade-home header { padding:8px 0; min-height:56px; margin-bottom:8px; gap:14px; }
.arcade-home .brand { font-size:22px; }
.arcade-home .brand-mark { width:28px; height:28px; }
.arcade-home .game-tabs { display:flex; gap:6px; overflow-x:auto; padding:2px 0 6px; margin:0 0 8px; scrollbar-width:thin; }
.arcade-home .game-tab { min-height:48px; flex:1 0 125px; display:flex; flex-direction:row; align-items:center; gap:8px; padding:8px 12px; }
.arcade-home .game-tab .pixel-icon { width:24px; height:22px; }
.arcade-home .cartridge-number,.arcade-home .cartridge-copy small,.arcade-home .selected-light { display:none; }
.arcade-home .cartridge-copy > span,.arcade-home .cartridge-copy strong { font-size:12px; white-space:nowrap; }
.arcade-home .game-panel { grid-template-columns:minmax(0,1fr) 250px; gap:10px 16px; padding:12px; border-radius:12px; align-items:start; }
.player-bar { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; }
.arcade-home .player-bar h2 { display:block; font-size:20px; margin:0; }
.expand-player { white-space:nowrap; min-height:44px; font-size:12px; padding:8px 12px; }
.arcade-home .game-info { grid-column:2; grid-row:2; display:block; max-height:calc(100svh - 210px); overflow:auto; padding:0 4px; }
.arcade-home .game-info > .game-kicker,.arcade-home .game-info > .lede,.arcade-home .screen-label { display:none; }
.arcade-home .game-panel .game-play { grid-column:1; grid-row:2; display:flex; flex-direction:column; align-items:center; justify-content:center; height:max(280px,calc(100svh - 210px)); padding:0; width:100%; min-width:0; gap:0; }
.arcade-home .game-panel .stage,.arcade-home #game-gate .stage { max-width:none; flex:0 0 auto; padding:0; margin:0 auto; border:0; border-radius:4px; }
.arcade-home .game-panel canvas { width:100%; height:auto; max-width:none; }
.arcade-home .hud { margin:0 0 10px; gap:6px; }
.arcade-home .hud > span { padding:8px; min-width:0; }
.arcade-home .hud b { font-size:20px; }
.arcade-home .controls { gap:6px; }
.arcade-home .controls .btn { font-size:12px; padding:8px 10px; min-height:44px; }
.arcade-home .instructions { margin-top:12px; padding-top:12px; }
.arcade-home [data-role="status"] { margin:10px 0; padding:8px; font-size:12px; }
.arcade-home .action-controls,.arcade-home .lane-controls,.arcade-home .echo-keys { width:100%; max-width:650px; flex:0 0 auto; margin:8px 0 0; }
.arcade-home .echo-keys { grid-template-columns:repeat(9,minmax(0,1fr)); }
.arcade-home .echo-keys .btn { padding:4px 0; min-height:44px; }
.arcade-home .game-panel.bundled { grid-template-columns:minmax(0,1fr); }
.arcade-home .bundled .game-info { display:none; }
.arcade-home .bundled .game-play { height:max(320px,calc(100svh - 190px)); }
.arcade-home .stage--embed { width:100%; height:100%; min-height:0; }
.arcade-home .stage--embed iframe { width:100%; height:100%; min-height:0; border-radius:0; }
.arcade-home .hero { max-width:1200px; margin:28px auto 0; padding:24px 0; }
.arcade-home .hero h1 { font-size:32px; }
.arcade-home .hero-art { max-width:200px; }
.arcade-home .records { max-width:1200px; margin:24px auto 0; }
body.player-expanded { overflow:hidden; }
.arcade-home .game-panel.is-expanded { position:fixed; inset:0; z-index:1000; width:100%; height:100dvh; max-width:none; margin:0; padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); border:0; border-radius:0; background:#0b1320; grid-template-rows:44px minmax(0,1fr); overflow:hidden; }
.arcade-home .is-expanded .game-play { height:100%; min-height:0; }
.arcade-home .is-expanded .game-info { max-height:100%; }
.is-expanded::backdrop { background:#0b1320; }
@media(max-width:760px) and (orientation:portrait) {
 .arcade-home .wrap { padding:0 4px 24px; }
 .arcade-home header { flex-wrap:wrap; padding:6px 4px; gap:4px 10px; }
 .arcade-home header nav { display:none; }
 .arcade-home .brand-badge { display:none; }
 .arcade-home .brand { gap:6px; font-size:19px; }
 .arcade-home .language-picker > span { display:none; }
 .arcade-home .language-picker { margin-left:auto; }
 .arcade-home .language-picker select { max-width:150px; min-height:40px; }
 .arcade-home .game-tabs { margin-bottom:4px; }
 .arcade-home .game-tab { flex:0 0 auto; min-height:44px; padding:6px 10px; }
 .arcade-home .game-panel { display:flex; flex-direction:column; gap:6px; padding:4px; border:0; }
 .player-bar { order:0; padding:0 4px; }
 .arcade-home .player-bar h2 { font-size:17px; }
 .arcade-home .game-info { display:contents; }
 .arcade-home .game-info > .hud { order:1; width:100%; display:flex; margin:0; gap:4px; }
 .arcade-home .hud > span { flex:1 1 0; display:flex; align-items:center; justify-content:space-between; gap:4px; padding:4px 6px; font-size:10px; border-radius:3px; }
 .arcade-home .hud b { font-size:15px; margin:0; }
 .arcade-home .game-panel .game-play { order:2; height:max(230px,calc(100svh - 300px)); }
 .arcade-home .game-info > .controls { order:3; display:flex; flex-wrap:wrap; gap:4px; margin:0; width:100%; }
 .arcade-home .controls .btn { flex:1 1 auto; font-size:11px; padding:6px 8px; }
 .arcade-home .controls [data-role="save"] { flex-basis:auto; }
 .arcade-home .game-panel [data-role="status"] { order:4; width:100%; margin:0; padding:5px 8px; min-height:0; }
 .arcade-home .game-panel .aim { order:5; margin:0; width:100%; padding:6px 8px; }
 .arcade-home .game-info > .point-rule { order:6; margin:0; }
 .arcade-home .instructions { order:7; width:100%; }
 .arcade-home .pause-note { order:8; }
 .arcade-home .game-panel.bundled .game-play { height:max(320px,calc(100svh - 170px)); }
 .arcade-home .bundled .game-info { display:none; }
 .arcade-home .game-panel.is-expanded { display:flex; height:100dvh; }
 .arcade-home .is-expanded .game-play { flex:1 1 0; min-height:0; height:0; }
 .arcade-home .is-expanded .instructions,.arcade-home .is-expanded .point-rule,.arcade-home .is-expanded .pause-note { display:none; }
 .arcade-home .is-expanded .game-play ~ * { flex-shrink:0; }
 .arcade-home .hero,.arcade-home .records { margin-left:8px; margin-right:8px; }
}
@media(orientation:landscape) and (max-height:600px) {
 .arcade-home header { display:none; }
 .arcade-home .game-tabs { margin-bottom:4px; }
 .arcade-home .game-panel { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:4px 10px; padding:4px; }
 .arcade-home .game-panel.bundled { grid-template-columns:minmax(0,1fr); }
 .arcade-home .player-bar h2 { font-size:16px; }
 .arcade-home .game-info { display:block; max-height:calc(100svh - 120px); }
 .arcade-home .game-panel .game-play { height:calc(100svh - 120px); min-height:0; }
 .arcade-home .game-panel.is-expanded { grid-template-rows:44px minmax(0,1fr); }
 .arcade-home .is-expanded .game-play { height:100%; }
 .arcade-home .is-expanded .game-info { max-height:100%; }
 .arcade-home .instructions,.arcade-home .point-rule,.arcade-home .pause-note { display:none; }
}
