/* MOVISSION game layer. Scoped so navigation, GPS and administration retain their design. */
#gameOverlay{background:radial-gradient(ellipse at 50% 0,rgba(27,109,255,.09),transparent 62%),#061322}
#gameOverlay .game-top{height:64px;padding:8px 14px;grid-template-columns:44px minmax(0,1fr) auto}
#gameOverlay .game-title .kicker{font-size:10px;letter-spacing:.08em}
#gameOverlay .game-title b{font-size:17px}#gameOverlay .attempt-pill{font-size:10px}
#gameOverlay .game-body{top:64px;padding:14px 16px max(16px,env(safe-area-inset-bottom));overflow:auto}
#gameOverlay .game-stage{height:auto;min-height:100%;display:flex;flex-direction:column;gap:12px;max-width:680px}
#gameOverlay .game-intro{background:transparent;border:0;box-shadow:none;padding:4px 2px 8px;flex:none}
#gameOverlay .game-intro h2{font-size:26px;letter-spacing:-.025em}
#gameOverlay .game-intro p{font-size:14px;line-height:1.5;max-width:58ch}
#gameOverlay .method{font-size:11px;margin-top:10px}
#gameOverlay[data-phase=playing] .game-intro{display:none}
#gameOverlay .play-panel{flex:1 0 auto;min-height:310px;padding:20px;gap:12px;overflow:visible;background:radial-gradient(ellipse at 50% 30%,rgba(19,213,207,.035),transparent 75%),#091c30;border:1px solid #20374f;border-radius:24px;box-shadow:0 18px 48px #0002}
#gameOverlay .play-hud{position:static;padding:0 0 14px;flex:none;gap:12px;border-bottom:1px solid #ffffff10;margin-bottom:auto;min-height:45px}
#gameOverlay .hud-chip{font-size:12px;font-weight:750;letter-spacing:.035em;padding:7px 10px;border-radius:8px;font-variant-numeric:tabular-nums;white-space:normal}
#gameOverlay .hud-chip:last-child{color:#e5f4ff;text-align:right;background:transparent;border-color:transparent}
#gameOverlay .sub-prompt{font-size:13px;line-height:1.5;margin-top:0;max-width:54ch}
#gameOverlay .big-prompt{font-size:clamp(28px,7vw,44px);line-height:1.12;overflow-wrap:anywhere}
#gameOverlay :is(.option-grid,.color-grid,.timeline-list,.timeline-controls,.order-list,.fact-grid,.clue-box,.one-match-wrap,.reaction-sides){width:100%;max-width:540px;margin-top:0;gap:9px}
#gameOverlay :is(.option,.answer-side,.timeline-item,.fact-btn,.order-pick,.clue-next){min-height:52px;padding:12px 14px;font-size:15px;line-height:1.35;font-weight:650;background:#102a44;border:1px solid #2b4864;border-radius:14px;color:#eff7ff;overflow-wrap:anywhere;position:relative;transition:background .12s,border-color .12s,box-shadow .12s}
#gameOverlay .option{text-wrap:pretty}
#gameOverlay button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#gameOverlay button:disabled{cursor:default}
@media(hover:hover){#gameOverlay :is(.option,.timeline-item,.fact-btn,.order-pick,.clue-next):not(:disabled):hover{background:#153650;border-color:#4486a1}}
#gameOverlay :is(.option,.answer-side,.fact-btn,.order-pick):not(:disabled):active{transform:translateY(1px)}
#gameOverlay :is(.tap-good,.correct){background:#254731!important;border-color:#bbef54!important;color:#f3ffd8!important;box-shadow:inset 4px 0 #c8ff19!important}
#gameOverlay :is(.tap-bad,.wrong){background:#432838!important;border-color:#e796ab!important;color:#ffe5ed!important;box-shadow:inset 4px 0 #f1a1b7!important}
#gameOverlay .tap-press{box-shadow:inset 0 0 0 2px #13d5cf!important}
#gameOverlay .game-feedback{align-self:center;min-height:22px;font-size:12px;color:#c8ff19;letter-spacing:.06em;font-weight:700;margin:0;text-align:center}
#gameOverlay .game-feedback[data-tone=wrong]{color:#f1a1b7}
#gameOverlay .game-actions:empty{display:none}
#gameOverlay .game-actions .btn{font-size:14px;min-height:52px;border-radius:14px}
#gameOverlay #startGameBtn{background:#c8ff19;color:#061322;border:0;font-weight:800}
#gameOverlay .ready-mark{width:86px;aspect-ratio:1;display:grid;place-items:center;border:1px solid #13d5cf55;border-radius:50%;box-shadow:0 0 0 14px #13d5cf05;margin:20px auto;color:#13d5cf;font-size:30px}
#gameOverlay :is(.memory-grid,.odd-grid,.seq-grid,.puzzle-grid){width:min(100%,360px);flex:none;margin:0;gap:8px}
#gameOverlay :is(.memory-cell,.odd-cell,.seq-pad,.puzzle-tile){border-radius:14px;min-height:44px}
#gameOverlay .memory-cell{font-size:clamp(24px,7vw,38px);background:#102a44}
#gameOverlay .seq-pad{background:#102b46;box-shadow:inset 0 1px #ffffff09}
#gameOverlay .seq-pad.flash{background:#c8ff19;box-shadow:0 0 20px #c8ff1940}
#gameOverlay .puzzle-tile{background:linear-gradient(150deg,#155caf,#123757);box-shadow:inset 0 1px #ffffff20;font-variant-numeric:tabular-nums}
#gameOverlay .puzzle-tile.empty{background:#061322;box-shadow:inset 0 0 0 1px #24425b}
#gameOverlay .reaction-pad{width:100%;max-width:420px;min-height:180px;height:clamp(180px,32vh,280px);background:#122d49;border:1px solid #31526f;color:#eaf5ff;font-size:30px;border-radius:24px;cursor:pointer}
#gameOverlay .reaction-pad.go{background:#c8ff19;color:#102008;border-color:#d7ff60}
#gameOverlay .clock-target{font-size:14px;letter-spacing:.05em}#gameOverlay .clock-face{font-size:clamp(60px,16vw,90px);font-weight:750;color:#edf7ff}
#gameOverlay .clock-stop{width:min(100%,360px);height:68px;margin:0;border-radius:16px}
#gameOverlay :is(.fixed-round-note,.partial-score){font-size:12px;line-height:1.4;margin-top:0;color:#a4b7cb;text-align:center}
#gameOverlay .flag-img{width:min(100%,300px);height:160px;padding:8px;box-shadow:none;border-radius:10px}
#gameOverlay .music-keys{width:min(100%,480px);gap:8px}#gameOverlay .music-key{font-size:20px;min-width:0;box-shadow:inset 0 -5px #06132260}
#gameOverlay .music-key.active{background:#13d5cf;box-shadow:0 0 16px #13d5cf30}
#gameOverlay .stroop-word{font-size:clamp(38px,10vw,72px);max-width:100%;overflow-wrap:anywhere}
#gameOverlay .color-btn{min-height:58px;height:auto;padding:14px;font-size:14px;text-shadow:0 1px 3px #0008}
#gameOverlay .timeline-num{width:28px;min-height:28px;font-size:13px}
#gameOverlay .think-tag{font-size:13px;padding:10px;border-radius:10px}
#gameOverlay .clue-row{font-size:14px;padding:9px 12px;line-height:1.4}#gameOverlay .clue-kind{font-size:10px;letter-spacing:.08em;color:#99b4ca}
#gameOverlay .clue-value{display:block;margin-top:3px}#gameOverlay .clue-next{font-size:12px;min-height:44px;padding:10px}
#gameOverlay .order-slot{min-height:46px;font-size:12px;display:grid;place-items:center;border-radius:10px}
#gameOverlay .fact-symbol{font-size:30px}#gameOverlay .fact-title{font-size:20px;line-height:1.25;text-align:center}
#gameOverlay .fact-btn{text-align:left;font-size:14px;display:flex;gap:12px;align-items:center}
#gameOverlay .fact-btn strong{color:#13d5cf;flex:none;font-size:12px}
#gameOverlay .map-shape-wrap{width:min(100%,240px);height:180px;padding:14px;background:radial-gradient(ellipse,#13d5cf09,transparent);border:0;box-shadow:none}
#gameOverlay .map-shape-wrap svg{width:100%;height:100%;filter:drop-shadow(0 5px 16px #13d5cf18)}
#gameOverlay .one-board-title{font-size:11px;letter-spacing:.09em;color:#a4b7cb}
#gameOverlay .one-match-wrap{gap:12px}#gameOverlay .match-tile{min-width:0;min-height:44px}
#gameOverlay .penalty-flash{font-size:13px;min-height:20px;color:#f1a1b7}
@media(max-width:380px){#gameOverlay .game-body{padding:10px}#gameOverlay .play-panel{padding:14px;border-radius:18px;gap:10px}#gameOverlay .game-title .kicker{font-size:9px}#gameOverlay .attempt-pill{font-size:9px;padding:7px}#gameOverlay .hud-chip{font-size:11px;padding:6px}#gameOverlay .option{font-size:14px;padding:10px}#gameOverlay .one-match-wrap{gap:8px}}
@media(prefers-reduced-motion:reduce){#gameOverlay *{transition:none!important;animation:none!important}}

#gameOverlay :is(.clue-next,.think-tags,.order-slots,.timeline-submit){width:100%;max-width:540px}
#gameOverlay .odd-grid{width:min(100%,360px)!important}
#gameOverlay .one-match-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#gameOverlay .one-board{padding:5px;min-width:0;border-radius:14px}
#gameOverlay .one-grid{gap:4px}
#gameOverlay .match-tile{font-size:clamp(18px,5vw,30px);min-height:44px}
#gameOverlay .clue-row[data-locked=true]{min-height:30px;padding:5px 10px;opacity:.72}
#gameOverlay .clue-row[data-locked=true]>span{display:flex;gap:8px;align-items:center;justify-content:space-between;width:100%}
#gameOverlay .clue-row[data-locked=true] .clue-kind{margin:0;font-size:10px}
#gameOverlay .clue-row[data-locked=true] .clue-value{font-size:12px;margin:0}
@media(max-width:380px){#gameOverlay[data-game=onematch] .play-panel{padding:8px;gap:10px}#gameOverlay[data-game=onematch] .game-body{padding:8px 4px}#gameOverlay .one-match-wrap{gap:6px}#gameOverlay .one-board{padding:3px}#gameOverlay .one-grid{gap:2px}#gameOverlay .match-tile{border-radius:7px}#gameOverlay .order-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
#gameOverlay[data-phase=playing] .play-panel{justify-content:flex-start}
#gameOverlay .play-hud{margin-bottom:12px}
