/* Shared visual finish: preserve semantic colours, board coordinates and timing. */
#gameShell{border-radius:22px;box-shadow:0 16px 44px #24265d26}
#stage h2{font-size:clamp(23px,3.2vw,34px);line-height:1.25;text-wrap:balance}
#stage .choice{border-radius:16px;box-shadow:0 4px 0 #24265d25,0 8px 16px #24265d12;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
#stage .choice:focus-visible{outline:3px solid #32b9c5;outline-offset:3px}
#stage .choice:active:not(:disabled){box-shadow:0 1px 0 #24265d25}
#stage .puzzle-question{padding:16px;border-radius:16px;background:#f6f7fc;color:#24265d;line-height:1.6}
#stage .sequence-display{border-radius:18px;padding:12px;background:#ffffff12}
#stage .sequence-display>span{border-radius:12px;box-shadow:0 3px 8px #24265d15}
@media(prefers-reduced-motion:reduce){#stage .choice{transition:none!important}}
/* Calm perimeter scenes; the actual task board retains its semantic colours. */
#gameShell[data-scene]{--scene-accent:#32b9c5;--scene-glow:#dff6f5;background:linear-gradient(145deg,var(--scene-glow),#f6f7fc 45%,#ede9fb);padding:clamp(10px,2vw,24px)}
#gameShell[data-scene="memory"]{--scene-accent:#7659de;--scene-glow:#eae3ff}
#gameShell[data-scene="logic"]{--scene-accent:#cb8620;--scene-glow:#fff1cf}
#gameShell[data-scene="language"]{--scene-accent:#31865c;--scene-glow:#dff3e6}
#gameShell[data-scene="sound"]{--scene-accent:#b44b83;--scene-glow:#fce3ef}
#gameShell[data-scene]>.topbar{background:#fff;border:1px solid #e1e5ef;border-top:5px solid var(--scene-accent);border-radius:18px;padding:12px;box-shadow:0 5px 16px #24265d0d}
#gameShell[data-scene] #gameTitle{color:#24265d;font-size:clamp(18px,2.4vw,25px)}
#gameShell[data-scene]>.stats{gap:8px;margin-block:12px}
#gameShell[data-scene] .stat{border:1px solid #e3e5f0;border-radius:14px;background:#fff;box-shadow:0 3px 0 #24265d12}
#gameShell[data-scene] .stat>b{color:#24265d;font-variant-numeric:tabular-nums}
#gameShell[data-scene] #restartBtn,#gameShell[data-scene] #backBtn{min-height:44px;border-radius:12px}
@media(max-width:480px){#gameShell[data-scene]{padding:8px}#gameShell[data-scene]>.topbar{padding:9px}#gameShell[data-scene]>.stats{gap:4px}#gameShell[data-scene] .stat{padding:6px 3px}}
