/* Shared arcade surfaces; game geometry remains owned by each game. */
:root{color-scheme:dark;--dark-bg:#0a0e27;--darker-bg:#060818;--cyan:#00d4ff;--purple:#b537ff;--pink:#ff007a;--orange:#ffaa00;--text-gray:#b3bfd2;--card-border:#ffffff24;--card-bg:#10142e}
body{background:radial-gradient(ellipse at 20% 0,#12163b 0,transparent 55%),#060818;font-family:Inter,ui-sans-serif,system-ui,sans-serif;}
body:not([data-game="poly-track"]){padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));min-height:100svh}
h1{background:linear-gradient(135deg,var(--cyan),#0099ff,var(--purple));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#f3f7fc;font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:-.055em;font-weight:850}
.game-container{background:linear-gradient(155deg,#171b38,#0a0e27);border-color:#ffffff20;border-radius:22px;box-shadow:0 24px 70px #0005;backdrop-filter:none}
.header-bar{gap:10px;flex-wrap:wrap}
.score-box,.stat-box{background:#060818;border-color:#ffffff16;border-radius:12px}
.score-val,.stat-value{font-variant-numeric:tabular-nums;text-shadow:none}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button,.back-btn,.btn-ui{min-height:44px}
button{font-family:inherit}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible{outline:3px solid #ffaa00!important;outline-offset:4px}
.back-btn,.sound-btn,.btn-ui{background:#10142e;backdrop-filter:none}
.overlay-btn,.action-btn{background:linear-gradient(135deg,var(--cyan),var(--purple));color:#fff;box-shadow:0 5px 0 #154d80;border-radius:12px;font-weight:800}
.overlay-title{text-shadow:none}
.game-overlay{background:#060818ef;backdrop-filter:blur(6px)}
.dpad-btn,.touch-btn,.touch-pad-btn,.touch-ctrl{background:#202445;border-color:#ffffff29;box-shadow:0 3px 0 #050a13;touch-action:none}
.dpad-btn:active,.touch-btn:active,.touch-pad-btn:active,.touch-ctrl:active{transform:translateY(2px);background:#303866;box-shadow:none}
.controls-info,.instructions{color:#b3bfd2;line-height:1.65}
canvas:not(#confettiCanvas){max-width:100%;}
.arcade-tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 auto 12px;position:relative;z-index:20}
.arcade-tools button{padding:8px 16px;border:1px solid #ffffff25;border-radius:10px;background:#151a38;color:#e8f2ff;font-size:.85rem;cursor:pointer}
body[data-game="poly-track"] .arcade-tools{position:fixed;top:78px;right:12px}
.arcade-pause{position:fixed;inset:0;z-index:1100;margin:auto;max-width:min(380px,90vw);border:1px solid #00d4ff60;border-radius:22px;padding:32px;background:#10132e;color:#f4f7fc;text-align:center;box-shadow:0 30px 100px #0008}
.arcade-pause::backdrop{background:#060818d9;backdrop-filter:blur(8px)}
.arcade-pause h2{font-size:2rem;margin-bottom:10px}.arcade-pause p{color:#bac7d9;margin-bottom:24px;line-height:1.6}
.arcade-pause button{display:block;width:100%;padding:12px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--cyan),var(--purple));color:#fff;font-weight:800;cursor:pointer}
@media(max-width:480px){.game-container{padding:12px;border-radius:16px}.header-bar{margin-bottom:10px}.score-board{gap:6px;margin-bottom:10px}.score-box{padding:8px 6px}.score-label{font-size:.65rem}.dpad-btn{min-width:54px;min-height:48px}.cookie-banner{padding:10px}.cookie-content{gap:8px}.cookie-btn{min-height:44px}.arcade-tools{margin-bottom:8px}.arcade-tools button{padding:6px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

button.memory-card{border:0;padding:0;color:inherit}
body[data-game="minesweeper"] .board-wrapper{overflow-x:auto;justify-content:flex-start}
body[data-game="minesweeper"] #board{min-width:280px;margin-inline:auto}
body[data-game="poly-track"] .arcade-tools{top:env(safe-area-inset-top,0px);right:12px;transform:translateY(80px)}
