/* Visual shell shared by every modern game. Boards keep their own mechanics. */
:root{color-scheme:light;--ink:#20352f;--muted:#65766f;--paper:#f7f3eb;--card:#fffdf8;--line:#20352f;--accent:#6c3bff;--accent-dark:#4c25c7;--sage:#e8f5ef;--control-surface:rgba(255,253,248,.84);--panel-surface:rgba(255,253,248,.72);--game-pop:#ff4fa3;--game-spark:#ffd84d;--game-sky:#27b4ff;--game-glow:rgba(104,202,179,.28);--game-shadow:rgba(55,72,65,.14);--brand-start:#a50050;--brand-end:#4c25c7}
.game-battle-tanks{--battle-sky-top:#9ccdd4;--battle-sky-bottom:#eef0cf;--battle-sky-glow:#fff4c4;--battle-ridge-far:#89ac9b;--battle-ridge-near:#65816a;--battle-terrain:#79935c;--battle-terrain-shade:#4d633d;--battle-terrain-edge:#405638;--battle-terrain-detail:#d5d89a;--battle-barrier:#786c61;--battle-barrier-line:#4d443d;--battle-barrier-highlight:#b7aa99;--battle-ink:#182720;--battle-active:#fff;--battle-aim:#173f35;--battle-pickup-health:#ff655f;--battle-pickup-health-edge:#742724;--battle-pickup-shield:#49d8f2;--battle-pickup-shield-edge:#164d62;--battle-pickup-invisibility:#ad80ff;--battle-pickup-invisibility-edge:#38215f;--battle-pickup-heavy-shell:#ff9e3d;--battle-pickup-heavy-shell-edge:#653212;--battle-pickup-homing:#ff7652;--battle-pickup-homing-edge:#642619;--battle-pickup-laser:#ffdf4d;--battle-pickup-laser-edge:#65520d;--battle-pickup-wide-blast:#ffc447;--battle-pickup-wide-blast-edge:#674214;--battle-pickup-damage:#ff6d30;--battle-pickup-damage-edge:#6d2814;--battle-pickup-blast:#c4e94f;--battle-pickup-blast-edge:#405315}
.game-tetris{--tetris-board:#18322c;--tetris-grid:#ffffff18;--tetris-border:#20352f;--tetris-empty:#10251f;--tetris-ghost:#ffffff12;--tetris-ghost-line:#b8c9c2;--tetris-ink:#20352f;--tetris-panel:#fffdf8dd;--tetris-overlay:#fffdf8;--tetris-shadow:#20352f;--tetris-piece-edge:#20352f;--tetris-magic:#fff16a;--tetris-i:#27b4ff;--tetris-j:#596cff;--tetris-l:#ff8a3d;--tetris-o:#ffd84d;--tetris-s:#70c94b;--tetris-t:#a96bdb;--tetris-z:#ff5b63}
:root[data-theme="dark"]{color-scheme:dark;--ink:#f7f8fc;--muted:#aab4c5;--paper:#0d1420;--card:#182335;--line:#f7f8fc;--accent:#a98cff;--accent-dark:#c7b6ff;--sage:#25364a;--control-surface:rgba(24,35,53,.82);--panel-surface:rgba(24,35,53,.72);--game-pop:#ff70b7;--game-spark:#ffdb59;--game-sky:#53c3ff;--game-glow:rgba(46,101,120,.45);--game-shadow:rgba(0,0,0,.22)}
:root[data-theme="dark"] .game-battle-tanks{--battle-sky-top:#102933;--battle-sky-bottom:#2d4941;--battle-sky-glow:#ffe6a3;--battle-ridge-far:#203b3e;--battle-ridge-near:#304a40;--battle-terrain:#425b38;--battle-terrain-shade:#263624;--battle-terrain-edge:#a6bf82;--battle-terrain-detail:#91ad72;--battle-barrier:#746d68;--battle-barrier-line:#d2c3b7;--battle-barrier-highlight:#ded2c8;--battle-ink:#f5fbf7;--battle-active:#fff4a8;--battle-aim:#fff4a8;--battle-pickup-health:#ff8580;--battle-pickup-shield:#6ee6ff;--battle-pickup-invisibility:#c4a1ff;--battle-pickup-heavy-shell:#ffb35f;--battle-pickup-homing:#ff9477;--battle-pickup-laser:#ffe873;--battle-pickup-wide-blast:#ffd066;--battle-pickup-damage:#ff8957;--battle-pickup-blast:#d5f675}
:root[data-theme="dark"] .game-tetris{--tetris-board:#0b121d;--tetris-grid:#ffffff14;--tetris-border:#f7f8fc;--tetris-empty:#131e2e;--tetris-ghost:#ffffff0d;--tetris-ghost-line:#aab4c5;--tetris-ink:#f7f8fc;--tetris-panel:#182335dd;--tetris-overlay:#182335;--tetris-shadow:#000;--tetris-piece-edge:#0d1420;--tetris-magic:#fff47c;--tetris-i:#53c3ff;--tetris-j:#7991ff;--tetris-l:#ff9363;--tetris-o:#ffdb59;--tetris-s:#8dde60;--tetris-t:#c58aff;--tetris-z:#ff7280}
.modern-game{background:radial-gradient(circle at 8% 0,var(--game-glow),transparent 34rem),radial-gradient(circle at 96% 92%,rgba(153,78,196,.16),transparent 36rem),var(--paper);font-family:ui-rounded,"Arial Rounded MT Bold",Inter,ui-sans-serif,system-ui,sans-serif}
.modern-game::after{position:fixed;z-index:-1;inset:0;opacity:.18;background-image:radial-gradient(var(--accent) 1.4px,transparent 1.4px);background-size:24px 24px;content:"";mask-image:linear-gradient(to bottom,black,transparent 72%);pointer-events:none}
.modern-game .topbar{border-bottom:0}.modern-game .brand{gap:13px;font-weight:900;letter-spacing:-.035em}.modern-game .brand-mark{width:42px;height:42px;color:#fff;background:linear-gradient(135deg,var(--brand-start),var(--brand-end));border:3px solid var(--ink);border-radius:13px;box-shadow:4px 4px 0 var(--ink);font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:15px;font-weight:900}
.modern-game .version-link,.modern-game .classic-link{padding:9px 14px;color:#251500;background:var(--game-spark);border:2px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink);font-size:11px;font-weight:900;text-decoration:none;transform:rotate(2deg)}
.modern-game .eyebrow{display:inline-block;margin-bottom:14px;padding:7px 12px;color:#251500;background:var(--game-spark);border:2px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink);font-size:11px;font-weight:900}
.modern-game h1,.modern-game h2,.modern-game .score strong,.modern-game .stats strong{font-family:inherit;font-weight:950}.modern-game h1{letter-spacing:-.065em}.modern-game .intro>div:first-child{position:relative}.modern-game .intro>div:first-child::after{position:absolute;top:2px;right:-54px;color:var(--game-pop);content:"✦";font-size:42px;transform:rotate(14deg)}
.modern-game .scoreboard,.modern-game .stats,.modern-game .game-card,.modern-game .controls>:where(.online-panel,.power-guide),.modern-game .modal-card{background:var(--panel-surface);border:3px solid var(--ink);border-radius:22px;box-shadow:7px 7px 0 var(--ink),0 22px 60px var(--game-shadow);backdrop-filter:blur(14px)}.modern-game .stats{padding:18px 22px}
.modern-game .arena-wrap:not(:fullscreen):not(.is-fullscreen),.modern-game .board-wrap,.modern-game .board:not(.arena-wrap .board){border:3px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 var(--ink),0 22px 55px var(--game-shadow)}
.modern-game :where(.primary-button,.secondary-button,.tool,.number,.flag-toggle,.icon-button,select,.mode-switch,.player-color,.touch-controls button){border-radius:12px}.modern-game .primary-button{color:#fff;background:var(--accent);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font-weight:900}.modern-game .primary-button:hover{background:var(--game-pop);box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.modern-game .secondary-button,.modern-game .tool,.modern-game .flag-toggle,.modern-game select{border:2px solid var(--ink);background:var(--card);font-weight:800}.modern-game .mode-switch{padding:5px;border:2px solid var(--ink)}.modern-game .mode-switch button[aria-pressed="true"]{color:#251500;background:var(--game-spark);box-shadow:2px 2px 0 var(--ink)}.modern-game :where(button,a,select):focus-visible{outline:4px solid var(--game-sky);outline-offset:3px}
.modern-game .arena-share.primary-button:hover{transform:translate(-50%,2px)}
@media(max-width:700px){.modern-game .brand-mark{width:36px;height:36px;border-radius:11px}.modern-game .intro>div:first-child::after{display:none}.modern-game .stats{box-shadow:4px 4px 0 var(--ink)}}
@media(prefers-reduced-motion:reduce){.modern-game *,.modern-game *::before,.modern-game *::after{animation:none!important;transition:none!important}}

/* Experience themes adjust both tokens and shell layout; game mechanics retain their DOM order. */
:root[data-arcade-theme="cabinet"]{--ink:#fff4d0;--muted:#bbb8cc;--paper:#090b13;--card:#171a2b;--line:#ffcf4a;--accent:#ff3ea5;--accent-dark:#ff7bc3;--sage:#202944;--control-surface:#111526;--panel-surface:#15192b;--game-pop:#16e0bd;--game-spark:#ffcf4a;--game-sky:#54a6ff;--game-glow:#ff3ea526;--game-shadow:#0008;--brand-start:#ff3ea5;--brand-end:#6f52ff}
:root[data-arcade-theme="cabinet"] .game-battle-tanks{--battle-sky-top:#0b1028;--battle-sky-bottom:#30205c;--battle-sky-glow:#ffcf4a;--battle-ridge-far:#171b3e;--battle-ridge-near:#2c2852;--battle-terrain:#242d4d;--battle-terrain-shade:#12182d;--battle-terrain-edge:#16e0bd;--battle-terrain-detail:#16e0bd;--battle-barrier:#663a68;--battle-barrier-line:#ffcf4a;--battle-barrier-highlight:#ffd978;--battle-ink:#fff4d0;--battle-active:#ffcf4a;--battle-aim:#16e0bd}
:root[data-arcade-theme="cabinet"] .game-tetris{--tetris-board:#070914;--tetris-grid:#6f52ff44;--tetris-border:#ffcf4a;--tetris-empty:#111526;--tetris-ghost:#16e0bd18;--tetris-ghost-line:#16e0bd;--tetris-ink:#fff4d0;--tetris-panel:#15192b;--tetris-overlay:#171a2b;--tetris-shadow:#ffcf4a;--tetris-piece-edge:#070914;--tetris-magic:#fff36a;--tetris-i:#54a6ff;--tetris-j:#6f52ff;--tetris-l:#ff764d;--tetris-o:#ffcf4a;--tetris-s:#16e0bd;--tetris-t:#d765ff;--tetris-z:#ff3ea5}
:root[data-arcade-theme="cabinet"][data-color-mode="light"]{--ink:#382c42;--muted:#6a5c6d;--paper:#f2dfb6;--card:#fff3d6;--line:#382c42;--control-surface:#ead8b1;--panel-surface:#fff3d6;--game-shadow:#382c4230}
:root[data-arcade-theme="cabinet"][data-color-mode="light"] .game-battle-tanks{--battle-sky-top:#ead8b1;--battle-sky-bottom:#f8c98c;--battle-sky-glow:#fff3d6;--battle-ridge-far:#bba77f;--battle-ridge-near:#9b896d;--battle-terrain:#7e8262;--battle-terrain-shade:#555940;--battle-terrain-edge:#382c42;--battle-terrain-detail:#d8c688;--battle-barrier:#8c6277;--battle-barrier-line:#382c42;--battle-barrier-highlight:#c597a9;--battle-ink:#382c42;--battle-active:#fff3d6;--battle-aim:#9b175d}
:root[data-arcade-theme="cabinet"][data-color-mode="light"] .game-tetris{--tetris-board:#382c42;--tetris-grid:#fff3d622;--tetris-border:#382c42;--tetris-empty:#493b53;--tetris-ghost:#fff3d61a;--tetris-ghost-line:#fff3d6;--tetris-ink:#382c42;--tetris-panel:#fff3d6;--tetris-overlay:#fff3d6;--tetris-shadow:#382c42;--tetris-piece-edge:#382c42}
:root[data-arcade-theme="calm"]{--ink:#223a33;--muted:#61746d;--paper:#eef4f1;--card:#f8fbf9;--line:#527068;--accent:#356f61;--accent-dark:#28564b;--sage:#dce9e4;--control-surface:#e5eeea;--panel-surface:#f8fbf9;--game-pop:#b26454;--game-spark:#d9b968;--game-sky:#668e9b;--game-glow:#789d9020;--game-shadow:#263c3420;--brand-start:#356f61;--brand-end:#668e9b}
:root[data-arcade-theme="calm"] .game-battle-tanks{--battle-sky-top:#d1e4df;--battle-sky-bottom:#eef4f1;--battle-sky-glow:#fffdf0;--battle-ridge-far:#aac4bc;--battle-ridge-near:#8aada2;--battle-terrain:#789d90;--battle-terrain-shade:#4e7065;--battle-terrain-edge:#405f55;--battle-terrain-detail:#c4d8cf;--battle-barrier:#8a8177;--battle-barrier-line:#527068;--battle-barrier-highlight:#b8afa5;--battle-ink:#223a33;--battle-active:#f8fbf9;--battle-aim:#356f61}
:root[data-arcade-theme="calm"] .game-tetris{--tetris-board:#dce9e4;--tetris-grid:#5270682a;--tetris-border:#527068;--tetris-empty:#eef4f1;--tetris-ghost:#356f6112;--tetris-ghost-line:#527068;--tetris-ink:#223a33;--tetris-panel:#f8fbf9;--tetris-overlay:#f8fbf9;--tetris-shadow:#527068;--tetris-piece-edge:#405f55;--tetris-magic:#f2c75c;--tetris-i:#668e9b;--tetris-j:#657a9a;--tetris-l:#b77a55;--tetris-o:#d9b968;--tetris-s:#789d90;--tetris-t:#96728e;--tetris-z:#b26454}
:root[data-arcade-theme="calm"][data-color-mode="dark"]{--ink:#e5efeb;--muted:#9fb0a9;--paper:#111917;--card:#18231f;--line:#789087;--accent:#79b6a5;--accent-dark:#a1d1c3;--sage:#22332d;--control-surface:#18231f;--panel-surface:#18231f;--game-glow:#79b6a518;--game-shadow:#0004}
:root[data-arcade-theme="calm"][data-color-mode="dark"] .game-battle-tanks{--battle-sky-top:#111e1a;--battle-sky-bottom:#2b423a;--battle-sky-glow:#d9b968;--battle-ridge-far:#20322c;--battle-ridge-near:#304940;--battle-terrain:#425b50;--battle-terrain-shade:#293b35;--battle-terrain-edge:#9bb5ab;--battle-terrain-detail:#789087;--battle-barrier:#665f58;--battle-barrier-line:#b8c4bf;--battle-barrier-highlight:#d1d9d5;--battle-ink:#e5efeb;--battle-active:#d9b968;--battle-aim:#a1d1c3}
:root[data-arcade-theme="calm"][data-color-mode="dark"] .game-tetris{--tetris-board:#111917;--tetris-grid:#ffffff12;--tetris-border:#789087;--tetris-empty:#18231f;--tetris-ghost:#ffffff0b;--tetris-ghost-line:#9fb0a9;--tetris-ink:#e5efeb;--tetris-panel:#18231f;--tetris-overlay:#18231f;--tetris-shadow:#000;--tetris-piece-edge:#111917;--tetris-i:#79aeb6;--tetris-j:#7989b6;--tetris-l:#c28760;--tetris-o:#d9b968;--tetris-s:#79a88f;--tetris-t:#ad86a4;--tetris-z:#c57565}
:root[data-arcade-theme="cabinet"] .game-battle-tanks{--battle-pickup-health:#ff3ea5;--battle-pickup-shield:#54a6ff;--battle-pickup-invisibility:#b87aff;--battle-pickup-heavy-shell:#ff764d;--battle-pickup-homing:#ff5f83;--battle-pickup-laser:#fff36a;--battle-pickup-wide-blast:#ffcf4a;--battle-pickup-damage:#ff7bc3;--battle-pickup-blast:#16e0bd}
:root[data-arcade-theme="calm"] .game-battle-tanks{--battle-pickup-health:#b26454;--battle-pickup-shield:#79aeb6;--battle-pickup-invisibility:#96728e;--battle-pickup-heavy-shell:#b77a55;--battle-pickup-homing:#c57565;--battle-pickup-laser:#e0c975;--battle-pickup-wide-blast:#d9b968;--battle-pickup-damage:#c28760;--battle-pickup-blast:#89aa78}
[data-arcade-theme="cabinet"] .modern-game{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;background:linear-gradient(#ffffff08 1px,transparent 1px),var(--paper);background-size:100% 4px}
[data-arcade-theme="cabinet"] .modern-game .app-shell{width:min(1280px,calc(100% - 28px))}[data-arcade-theme="cabinet"] .modern-game .game-layout{gap:14px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}[data-arcade-theme="cabinet"] .modern-game :where(.scoreboard,.stats,.game-card,.controls>:where(.online-panel,.power-guide),.modal-card){border-radius:3px;box-shadow:4px 4px 0 var(--game-spark)}
[data-arcade-theme="calm"] .modern-game{font-family:Georgia,"Times New Roman",serif;background:var(--paper)}[data-arcade-theme="calm"] .modern-game::after,[data-arcade-theme="calm"] .modern-game .intro>div:first-child::after{display:none}[data-arcade-theme="calm"] .modern-game .app-shell{width:min(1040px,calc(100% - 48px))}[data-arcade-theme="calm"] .modern-game .game-layout{gap:40px}[data-arcade-theme="calm"] .modern-game :where(.scoreboard,.stats,.game-card,.controls>:where(.online-panel,.power-guide),.modal-card){border-width:1px;border-radius:2px;box-shadow:none;backdrop-filter:none}
@media(max-width:850px){[data-arcade-theme] .modern-game .game-layout{grid-template-columns:1fr}[data-arcade-theme="calm"] .modern-game .app-shell{width:min(100% - 28px,1040px)}}
.game-tetris{--tetris-piece-shade:#0003;--tetris-dim:#0008}

/* Pixel is the default modern identity; Cabinet is its darker coin-op sibling. */
:root{--pixel-cream:#fff4d6;--pixel-navy:#0a1020;--pixel-blue:#56a8ff;--pixel-cyan:#6ef2d0;--pixel-pink:#ff4fa3;--pixel-yellow:#ffd84d;--pixel-orange:#ff7a3d;--pixel-purple:#765cff;--pixel-grid:#192541;--pixel-frame:var(--ink);--pong-field:#122c2b;--pong-field-deep:#071b1b;--pong-line:#fff4d655;--pong-ball:#fff4d6;--pong-decoy:#ff70b7;--pong-trail:#6ef2d0;--pong-glow:#6ef2d055}
:root[data-theme="dark"]{--pixel-grid:#27345d;--pong-field:#071a1c;--pong-field-deep:#020d10}
:root[data-arcade-theme="cabinet"]{--pong-field:#071615;--pong-field-deep:#030909;--pong-line:#16e0bd55;--pong-ball:#fff4d0;--pong-decoy:#ff3ea5;--pong-trail:#16e0bd;--pong-glow:#16e0bd55}
:root[data-arcade-theme="cabinet"][data-color-mode="light"]{--pong-field:#382c42;--pong-field-deep:#241b2d;--pong-line:#fff3d644;--pong-ball:#fff3d6;--pong-decoy:#9b175d;--pong-trail:#167f70;--pong-glow:#167f7055}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game{--ink:#fff4d6;--muted:#b7c2dc;--paper:#0a1020;--card:#151f3d;--line:#6ef2d0;--accent:#765cff;--accent-dark:#513bd0;--sage:#182b38;--control-surface:#111b35;--panel-surface:#111a33;--game-pop:#ff4fa3;--game-spark:#ffd84d;--game-sky:#56a8ff;--game-glow:#765cff24;--game-shadow:#0009;--brand-start:#ff4fa3;--brand-end:#765cff;color-scheme:dark;font-family:var(--pixel-body);background:linear-gradient(90deg,#ffffff06 1px,transparent 1px),linear-gradient(#ffffff06 1px,transparent 1px),radial-gradient(circle at 15% 18%,#765cff20,transparent 32rem),var(--paper);background-size:32px 32px,32px 32px,auto,auto}
:root[data-arcade-theme="playful"][data-color-mode="light"] .modern-game{--ink:#192541;--muted:#58647a;--paper:#fff4d6;--card:#fff9e8;--line:#192541;--accent:#5e43d7;--accent-dark:#4730ad;--sage:#dff2d4;--control-surface:#f1dfa9;--panel-surface:#fff9e8;--game-pop:#e82f88;--game-spark:#f2c12e;--game-sky:#167dcc;--game-glow:#6c5cff1c;--game-shadow:#19254135;color-scheme:light}
:root[data-arcade-theme="cabinet"][data-color-mode="light"] .modern-game{--ink:#382c42;--muted:#6a5c6d;--paper:#f2dfb6;--card:#fff3d6;--line:#382c42;--sage:#ead8b1;--control-surface:#ead8b1;--panel-surface:#fff3d6;--game-pop:#16e0bd;--game-spark:#ffcf4a;--game-sky:#1677b8;--game-glow:#ff3ea51c;--game-shadow:#382c4230;color-scheme:light}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game::after{opacity:.16;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#fff 3px 4px);background-size:auto;mask-image:linear-gradient(to bottom,black,transparent 68%)}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game :is(h1,h2,.score strong,.stats strong,.brand,.eyebrow,.primary-button,.secondary-button,.tool,.mode-switch button,.modal-card strong){font-family:var(--pixel-font);letter-spacing:-.055em}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game h1{font-size:clamp(36px,5.6vw,68px);line-height:1.08;letter-spacing:-.075em;text-shadow:4px 4px 0 color-mix(in srgb,var(--game-pop) 68%,transparent)}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game .eyebrow{border-radius:0;box-shadow:4px 4px 0 var(--ink);clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 4px,4px 4px)}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game .intro>div:first-child::after{content:"+";font-family:var(--pixel-font);animation:pixel-float 1.4s steps(2,end) infinite alternate}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game :is(.scoreboard,.stats,.game-card,.controls>:where(.online-panel,.power-guide),.modal-card,.arena-wrap:not(:fullscreen):not(.is-fullscreen),.board-wrap,.board:not(.arena-wrap .board)){border-radius:0;box-shadow:6px 6px 0 var(--game-spark),10px 10px 0 var(--ink);backdrop-filter:none}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game :is(.primary-button,.secondary-button,.tool,.number,.flag-toggle,.icon-button,select,.mode-switch,.player-color,.touch-controls button){border-radius:0}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game :is(.primary-button,.secondary-button,.tool,.flag-toggle,.touch-controls button){box-shadow:4px 4px 0 var(--ink);transition:transform 120ms steps(2,end),box-shadow 120ms steps(2,end),background-color 120ms linear}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game :is(.primary-button,.secondary-button,.tool,.flag-toggle,.touch-controls button):active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game .brand-mark{border-radius:0;box-shadow:4px 4px 0 var(--game-spark)}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .game-sudoku{--game-pop:#ff4fa3;--game-spark:#ffd84d}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .game-minesweeper{--game-pop:#56a8ff;--game-spark:#6ef2d0}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .game-pong{--game-pop:#6ef2d0;--game-spark:#ffd84d}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .game-tictactoe{--game-pop:#ff7a3d;--game-spark:#ff4fa3}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .game-battle-tanks{--game-pop:#ffd84d;--game-spark:#ff7a3d}
:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .game-tetris{--game-pop:#765cff;--game-spark:#56a8ff}
@keyframes pixel-float{to{transform:translateY(-8px) rotate(14deg)}}
@media(max-width:700px){:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game h1{font-size:clamp(30px,10vw,46px)}:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game :is(.scoreboard,.stats,.game-card,.modal-card){box-shadow:4px 4px 0 var(--game-spark),7px 7px 0 var(--ink)}}
@media(prefers-reduced-motion:reduce){:is([data-arcade-theme="playful"],[data-arcade-theme="cabinet"]) .modern-game .intro>div:first-child::after{animation:none}}

/* Modern game pages must never inherit a clipped shell. Short and tablet
   viewports prioritize the playable surface over the decorative introduction. */
.modern-game .app-shell{height:auto;overflow:visible}
@media (min-width:701px) and (max-width:850px), (min-width:701px) and (max-height:900px){
    .modern-game>.arcade-topbar{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:6px}
    .modern-game>.arcade-topbar .arcade-topbar-inner{min-height:40px}
    .modern-game .topbar{height:48px}
    .modern-game .intro{display:none}
    .modern-game .game-layout{height:auto}
}
@media (min-width:701px) and (max-width:850px){
    :root[data-arcade-theme] .modern-game .game-layout{grid-template-columns:minmax(0,7fr) minmax(220px,3fr);gap:14px;align-items:start}
    :root[data-arcade-theme] .game-battle-tanks .game-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:12px}
}
@media (min-width:851px) and (max-height:900px){:root[data-arcade-theme] .game-battle-tanks .game-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:16px}}
