:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#101418;color:#f4f7fb;--theme-accent: #ff8f6b;--theme-accent-soft: rgba(255, 143, 107, .18);--theme-accent-strong: rgba(255, 143, 107, .38);--theme-accent-alt: #7de0a6;--theme-accent-alt-soft: rgba(125, 224, 166, .18);--theme-glow-a: rgba(255, 143, 107, .22);--theme-glow-b: rgba(125, 224, 166, .16);--theme-surface-top: #221a1d;--theme-surface-bottom: #11171d;--theme-panel-top: #191d20;--theme-panel-bottom: #12171c;--theme-topbar-sheen: rgba(255, 143, 107, .09);--theme-border: #31404c;--theme-banner-image: url(/art/backgrounds/board-bg-gpt.png)}html{height:100%;height:100dvh}*{box-sizing:border-box}body{margin:0;height:100%;height:100dvh;min-width:320px;overflow:hidden;overscroll-behavior:contain;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:contain}button,select,input{font:inherit;font-size:16px;touch-action:manipulation}button{min-width:44px;min-height:44px;height:auto;touch-action:manipulation;border:1px solid var(--theme-border);border-radius:6px;background:#182027f5;color:#f4f7fb;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}button:hover{background:#1f2b34fa;border-color:var(--theme-accent-strong);box-shadow:0 0 0 1px var(--theme-accent-soft)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.52}#app{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 16% 12%,var(--theme-glow-a),transparent 30%),radial-gradient(circle at 84% 4%,var(--theme-glow-b),transparent 22%),linear-gradient(140deg,#1a252ff5,#101418f5),#101418}.topbar{min-height:64px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--theme-border);background:linear-gradient(90deg,var(--theme-topbar-sheen),transparent 45%),linear-gradient(180deg,rgba(255,255,255,.02),transparent)}.brand{display:grid;gap:3px;min-width:0}.brand strong{font-size:18px}.brand span{color:#9db0c0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar{display:flex;gap:8px;flex:0 0 auto}.game-layout{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 272px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"hud      side" "board    side" "actions  side"}.play-hud{grid-area:hud;display:flex;flex-wrap:nowrap;gap:8px;padding:6px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left));align-items:center;min-height:0;overflow-x:auto}.hud-pill{display:flex;flex-direction:column;gap:1px;padding:4px 12px;border-radius:12px;border:1px solid var(--theme-border);background:linear-gradient(160deg,#1f2b34d9,#10161cd9);min-width:64px;text-align:center;flex:0 0 auto}.hud-pill .hud-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-muted, #9db0c0);line-height:1}.hud-pill strong{font-size:16px;font-variant-numeric:tabular-nums;color:#f4f7fb;line-height:1.15}.hud-goals{flex:1 1 auto;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;min-height:0;overflow-x:auto}.play-actions{grid-area:actions;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.play-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:12px;border:1px solid var(--theme-border);background:linear-gradient(180deg,#2e404ceb,#161f26f2);color:#f4f7fb;min-height:48px;cursor:pointer;font-size:12px;white-space:nowrap}.play-action-btn:disabled{opacity:.46;cursor:not-allowed}.play-action-btn .play-action-icon{font-size:18px;line-height:1}.play-action-btn .play-action-label{font-size:12px;white-space:nowrap}.playfield{grid-area:board}.playfield{min-height:0;min-width:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 24% 16%,var(--theme-glow-a),transparent 32%),radial-gradient(circle at 82% 12%,var(--theme-glow-b),transparent 24%),linear-gradient(180deg,var(--theme-surface-top) 0%,var(--theme-surface-bottom) 100%)}#game-canvas{width:100%;height:100%;min-width:0;overflow:hidden}#game-canvas canvas{display:block;width:100%!important;height:100%!important;max-width:100%;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.side-panel{grid-area:side;min-width:0;min-height:0;padding:18px max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:grid;align-content:start;gap:14px;overflow:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;border-left:1px solid var(--theme-border);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),linear-gradient(180deg,var(--theme-panel-top),var(--theme-panel-bottom))}.stage-hero{display:grid;align-content:end;gap:10px;min-height:118px;padding:16px 14px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,#070a0d2e,#070a0dad),linear-gradient(120deg,var(--theme-accent-soft),transparent 56%),linear-gradient(220deg,var(--theme-accent-alt-soft),transparent 48%),var(--theme-banner-image) center / cover no-repeat}.stage-chip-row{display:flex;flex-wrap:wrap;gap:8px}.stage-chip{min-height:28px;padding:0 10px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#080c0f8a;color:#f4f7fb;font-size:12px;font-weight:700;letter-spacing:0}.stage-chip-goal{border-color:var(--theme-accent-strong);color:var(--theme-accent)}.stage-chip-metric{border-color:#ffffff2e;color:var(--theme-accent-alt)}.stage-strategy-tip{max-width:100%;margin:0;padding:9px 10px;border-left:3px solid var(--theme-accent);border-radius:6px;background:#080c0f94;color:#dce8f2;font-size:13px;font-weight:600;line-height:1.35}.metric{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--theme-border)}.metric span,.stage-picker span,.auto-speed span{color:#9db0c0;font-size:13px}.metric strong{font-size:26px;color:var(--theme-accent-alt)}.campaign-panel{display:grid;gap:10px;padding:2px 0 12px;border-bottom:1px solid var(--theme-border)}.campaign-route-panel{display:grid;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--theme-border)}.campaign-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.campaign-heading strong{font-size:14px}.campaign-heading span,.campaign-stage-detail{color:#9db0c0;font-size:12px}.campaign-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.campaign-stat{min-height:52px;display:grid;align-content:center;gap:2px;padding:8px;border:1px solid var(--theme-border);border-radius:6px;background:#18232cc7}.campaign-stat span{color:#9db0c0;font-size:11px}.campaign-stat strong{color:#f4f7fb;font-size:18px}.campaign-meter{height:8px;border-radius:999px;overflow:hidden;background:#ffffff14}.campaign-meter-fill{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--theme-accent),var(--theme-accent-alt));box-shadow:0 0 14px var(--theme-accent-soft)}.campaign-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.campaign-node{min-width:0;min-height:72px;height:auto;padding:8px 7px;display:grid;align-content:center;justify-items:start;gap:3px;text-align:left;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 42%),#182027f5}.campaign-node-index{font-size:18px;color:#f4f7fb}.campaign-node-status,.campaign-node-meta{display:block;width:100%;font-size:11px;color:#9db0c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-node.is-current{border-color:var(--theme-accent-strong);box-shadow:0 0 0 1px var(--theme-accent-soft),inset 0 0 0 1px #ffffff0a}.campaign-node.is-cleared .campaign-node-status{color:var(--theme-accent-alt)}.campaign-node.is-locked{opacity:.56}.result-panel{display:grid;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--theme-border)}.result-panel[hidden]{display:none}.result-title{font-size:18px;font-weight:700;color:#f4f7fb}.result-summary,.result-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.result-spend-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-spend-actions[hidden]{display:none}.result-spend-actions button{font-size:12px;padding:6px 8px;border-radius:8px;border:1px solid var(--theme-border);background:#ffffff0a;color:#f4f7fb;cursor:pointer}.result-spend-actions button:disabled{opacity:.45;cursor:not-allowed}.result-rewards{font-size:12px;color:#cdd5dc;min-height:14px;padding:4px 8px;border-radius:6px;border:1px solid transparent;transition:background .32s ease-out,border-color .32s ease-out}#result-mission-claim{width:100%;padding:6px 10px;border-radius:8px;border:1px solid rgba(125,224,166,.55);background:#7de0a62e;color:#f1fbf3;cursor:pointer;font-size:12px}#result-mission-claim[hidden]{display:none}.result-rewards:empty{display:none}.result-rewards.is-pulsing{background:#7de0a629;border-color:#7de0a673;color:#f1fbf3;animation:reward-pulse .72s ease-out 1}@keyframes reward-pulse{0%{transform:scale(.92);opacity:.45}55%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1}}.result-failure{display:grid;gap:6px;padding:8px 10px;border-radius:10px;background:#e849491f;border:1px solid rgba(232,73,73,.32);color:#f4d2d2;font-size:12px}.result-failure[hidden]{display:none}.result-failure-headline{font-weight:600;color:#fbe5e5}.result-failure-detail{list-style:disc;margin:0;padding-left:18px;display:grid;gap:2px}.result-panel[data-result-status=lost] #result-restart{background:#e8494952;border-color:#e849498c;color:#fff5f5;font-weight:700}.result-panel[data-result-status=won] #result-next{background:#7de0a647;border-color:#7de0a68c;color:#f1fbf3;font-weight:700}.goals{display:grid;gap:10px}.goal-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--theme-border);color:#d7e1ea}.goal-dot{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff73}.goal-copy{min-width:0;display:grid;gap:6px}.goal-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-meter{height:6px;border-radius:999px;overflow:hidden;background:#ffffff14}.goal-fill{display:block;width:0;height:100%;border-radius:999px;background:var(--theme-accent);box-shadow:0 0 12px var(--theme-accent-soft)}.goal-row.is-complete .goal-fill{background:var(--theme-accent-alt);box-shadow:0 0 14px var(--theme-accent-alt-soft)}.goal-row strong{font-size:13px}.stage-picker{display:grid;gap:8px}.auto-player{display:grid;gap:10px;padding:10px 0 12px;border-bottom:1px solid var(--theme-border)}.auto-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.auto-controls button{width:100%}.auto-controls button[aria-pressed=true]{border-color:var(--theme-accent-strong);background:var(--theme-accent-soft);color:#f4fffb}#hint-button{background:#fff36a29;border:1px solid rgba(255,243,106,.45);color:#fff7c2}#hint-button:disabled{opacity:.45;cursor:not-allowed}#hint-button[aria-pressed=true]{background:#fff36a52;border-color:#fff36ab3;color:#fffce4}#bomb-shuffle-button{background:#ff5c5c29;border:1px solid rgba(255,92,92,.5);color:#ffd0cb}#bomb-shuffle-button:disabled{opacity:.45;cursor:not-allowed}#stars-pass-button{margin-top:6px;width:100%;padding:6px 10px;background:#7de0a62e;border:1px solid rgba(125,224,166,.45);color:#f1fbf3;border-radius:8px;cursor:pointer;font-size:12px}#stars-pass-button:disabled{opacity:.45;cursor:not-allowed}.campaign-star-gate-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#cdd5dc;margin-top:6px}.campaign-star-gate-row strong{color:#f4f7fb}.campaign-meter-stars .campaign-meter-fill{background:#ffd560c7}#ad-reward-button{margin-top:6px;width:100%;padding:6px 10px;background:#6ad3ff29;border:1px solid rgba(106,211,255,.45);color:#d8f4ff;border-radius:8px;cursor:pointer;font-size:12px}#ad-reward-button:disabled{opacity:.5;cursor:not-allowed}.ad-reward-status{font-size:11px;color:#cdd5dc;margin-top:4px;min-height:14px}.ad-reward-status:empty{display:none}.weekly-challenge-panel{display:grid;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid rgba(243,199,106,.34);background:#f3c76a14}#weekly-challenge-jump{width:100%;padding:6px 10px;background:#f3c76a2e;border:1px solid rgba(243,199,106,.5);color:#fff7d8;border-radius:8px;cursor:pointer;font-size:12px}#weekly-challenge-jump:disabled{opacity:.45;cursor:not-allowed}#locale-toggle,#mute-toggle,#contrast-toggle{margin-left:8px;padding:4px 10px;border-radius:6px;border:1px solid var(--theme-border);background:#ffffff0a;color:#f4f7fb;cursor:pointer;font-size:12px}#mute-toggle[aria-pressed=true],#contrast-toggle[aria-pressed=true]{background:#7de0a62e;border-color:#7de0a68c;color:#f1fbf3}body.high-contrast{--tile-red: #ff2a2a;--tile-yellow: #ffe600;--tile-green: #00d24c;--tile-blue: #1a7bff;--tile-pink: #ff45b1;--tile-orange: #ff8400;--tile-white: #f8f8f8;--tile-brown: #6b3a1a}.performance-overlay{position:fixed;bottom:12px;right:12px;padding:4px 10px;border-radius:6px;background:#080c12b3;border:1px solid rgba(125,224,166,.4);color:#f1fbf3;font-size:11px;z-index:70;font-family:monospace}.performance-overlay[hidden]{display:none}.contextual-tip{position:fixed;top:14px;left:50%;transform:translate(-50%);padding:8px 14px;border-radius:999px;background:#080c12d9;border:1px solid rgba(125,224,166,.5);color:#f1fbf3;font-size:13px;z-index:60;box-shadow:0 12px 32px #0006}.contextual-tip[hidden]{display:none}.leaderboard-panel,.pvp-panel,.cloud-save-panel{display:grid;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--theme-border);background:#6ad3ff0f}.pvp-panel{background:#db5ca814}.cloud-save-panel{background:#7de0a614}.cloud-save-input{display:grid;gap:4px;font-size:12px;color:#cdd5dc}.cloud-save-input input{padding:4px 8px;border-radius:6px;border:1px solid var(--theme-border);background:#ffffff0a;color:#f4f7fb;font-size:12px}.cloud-save-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cloud-save-actions button{padding:6px 8px;border-radius:8px;border:1px solid var(--theme-border);background:#ffffff0a;color:#f4f7fb;cursor:pointer;font-size:12px}#analytics-opt-in-toggle{grid-column:1 / -1}#daily-checkin-claim,#pvp-find{width:100%;padding:6px 10px;border-radius:8px;border:1px solid var(--theme-border);background:#ffffff0a;color:#f4f7fb;cursor:pointer;font-size:12px}#daily-checkin-claim:disabled,#pvp-find:disabled{opacity:.45;cursor:not-allowed}#daily-checkin-panel{background:#f3c76a14}#daily-missions-panel,#achievements-panel,#stage-best-panel,#lifetime-stats-panel,#replay-panel,#favorites-panel{background:#9fdd6814}.achievement-row{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto!important;align-items:center;gap:8px!important}.achievement-bar{position:relative;width:100%;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.achievement-bar-fill{display:block;height:100%;background:#7de0a6c7;transition:width .22s ease-out}.daily-mission-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:4px 6px;border-radius:6px;background:#ffffff0a;font-size:12px}.daily-mission-row.is-claimed{opacity:.45}.daily-mission-row button{padding:2px 8px;border-radius:6px;border:1px solid var(--theme-border);background:#7de0a62e;color:#f1fbf3;cursor:pointer;font-size:11px}.daily-mission-row button:disabled{opacity:.45;cursor:not-allowed}#settings-modal[hidden]{display:none}.settings-body{display:grid;gap:8px}.settings-body .settings-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:6px;background:#ffffff0a;font-size:13px}.settings-body button{padding:4px 10px;border-radius:6px;border:1px solid var(--theme-border);background:#ffffff0f;color:#f4f7fb;cursor:pointer;font-size:12px}#settings-open,#copy-replay-link,#install-app{margin-left:6px;padding:4px 10px;border-radius:6px;border:1px solid var(--theme-border);background:#ffffff0a;color:#f4f7fb;cursor:pointer;font-size:12px}:focus-visible{outline:2px solid rgba(125,224,166,.85);outline-offset:2px}@media(prefers-reduced-motion:reduce){.reward-pulse,.result-rewards.is-pulsing,.tutorial-spotlight,.contextual-tip,.result-rewards{animation:none!important;transition:none!important}}body.reduced-motion .result-rewards.is-pulsing,body.reduced-motion .tutorial-spotlight,body.reduced-motion .contextual-tip,body.reduced-motion .result-rewards{animation:none!important;transition:none!important}#analytics-opt-in-toggle[aria-pressed=false]{background:#e849492e;border-color:#e8494980;color:#ffd0cb}.leaderboard-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:12px;color:#d7e1ea}.leaderboard-list li{display:grid;grid-template-columns:28px 1fr auto;gap:6px;align-items:baseline;padding:2px 6px;border-radius:6px}.leaderboard-list li.is-player{background:#7de0a629;color:#f1fbf3}.tutorial-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#080c12c7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50}.tutorial-spotlight{position:fixed;border-radius:14px;border:2px solid rgba(125,224,166,.92);box-shadow:0 0 0 9999px #080c12c7,0 0 32px #7de0a673;pointer-events:none;transition:all .22s ease-out}.tutorial-spotlight[hidden],.tutorial-overlay[hidden]{display:none}.tutorial-card{max-width:min(420px,88vw);display:grid;gap:12px;padding:22px 24px;border-radius:14px;border:1px solid var(--theme-border);background:linear-gradient(160deg,var(--theme-panel-top),var(--theme-panel-bottom));color:#f4f7fb;box-shadow:0 24px 48px #00000080}.tutorial-title{font-size:18px;margin:0}.tutorial-body{font-size:13px;line-height:1.5;margin:0;color:#d7e1ea}.tutorial-actions{display:flex;justify-content:flex-end;gap:8px}.tutorial-actions button{padding:6px 14px;border-radius:8px;border:1px solid var(--theme-border);background:#ffffff0d;color:#f4f7fb;cursor:pointer;font-size:12px}.tutorial-actions button:first-child{background:transparent;color:#cdd5dc}.auto-speed{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.auto-speed input{width:100%;accent-color:var(--theme-accent)}.auto-speed strong{min-width:56px;color:#d7e1ea;font-size:12px;text-align:right}.auto-status{min-height:20px;color:var(--theme-accent);font-size:13px;font-weight:700}.stage-picker select{width:100%;min-height:42px;border:1px solid var(--theme-border);border-radius:6px;background:#182027f5;color:#f4f7fb;padding:0 10px}.qa-dashboard{display:grid;gap:10px;padding:2px 0 12px;border-bottom:1px solid var(--theme-border)}.qa-dashboard[hidden]{display:none}.qa-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.qa-heading strong{font-size:14px}.qa-heading span{color:#9db0c0;font-size:12px;text-align:right}.qa-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qa-stat{min-height:52px;display:grid;align-content:center;gap:2px;padding:8px;border:1px solid var(--theme-border);border-radius:6px;background:#18232cc7}.qa-stat span{color:#9db0c0;font-size:11px}.qa-stat strong{color:#f4f7fb;font-size:18px}.qa-controls{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:8px;align-items:stretch}.qa-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.qa-filter{min-width:0;height:32px;padding:0 4px;font-size:11px}.qa-filter[aria-pressed=true]{border-color:var(--theme-accent-strong);background:var(--theme-accent-soft)}#qa-sort{min-width:0;min-height:32px;border:1px solid var(--theme-border);border-radius:6px;background:#182027f5;color:#f4f7fb;padding:0 6px;font-size:12px}.qa-stage-list{display:grid;gap:6px}.qa-stage-row{min-height:42px;width:100%;height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border-color:var(--theme-border);background:#17212ae0;text-align:left}.qa-stage-row:hover{background:#20303bf0}.qa-stage-row strong,.qa-stage-row span{min-width:0}.qa-stage-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.qa-stage-row span{color:#9db0c0;font-size:11px;text-align:right}.qa-stage-row.is-fast{border-color:#8c6a2d}.qa-stage-row.is-heavy{border-color:#5e7ea0}.qa-stage-row.is-failed{border-color:#a95757}.status-banner{min-height:24px;color:var(--theme-accent-alt);font-weight:700}@media(max-width:760px){body{overflow:auto}.topbar{min-height:58px}.game-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"hud" "board" "actions";width:100%;overflow-x:hidden}.side-panel{border-left:0;border-top:1px solid var(--theme-border);grid-template-columns:1fr 1fr;width:100%}.stage-hero,.campaign-panel,.campaign-route-panel,.leaderboard-panel,.pvp-panel,.cloud-save-panel,#daily-checkin-panel,#daily-missions-panel,#achievements-panel,#stage-best-panel,#lifetime-stats-panel,#replay-panel,#favorites-panel,.weekly-challenge-panel,.result-panel,.result-spend-actions,.result-failure,.goals,.auto-player,.qa-dashboard,.stage-picker,.status-banner{grid-column:1 / -1}.campaign-route{grid-template-columns:repeat(2,minmax(0,1fr))}.result-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.topbar{gap:8px;min-height:56px}.brand strong{font-size:16px}.brand span{font-size:12px}.toolbar{flex-wrap:wrap;gap:6px}.toolbar button{min-width:44px;flex:0 0 auto}.game-layout{grid-template-rows:auto minmax(0,1fr) auto}.side-panel{grid-template-columns:1fr;padding:14px max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:10px}.campaign-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-route{grid-template-columns:1fr}.tutorial-overlay{place-items:end stretch;background:linear-gradient(180deg,#080c128c,#080c12c7 35%,#080c12eb)}.tutorial-card{margin:0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));max-width:100%;width:100%;border-radius:18px 18px 0 0;border-bottom:0}.tutorial-card:before{content:"";display:block;width:44px;height:4px;margin:0 auto 10px;border-radius:999px;background:#ffffff38}.tutorial-actions button{padding:12px 16px;font-size:14px}}@media(orientation:landscape)and (max-height:520px){.topbar{min-height:48px;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:6px}.game-layout{grid-template-columns:minmax(0,1.4fr) minmax(220px,.9fr);grid-template-rows:1fr}.side-panel{border-left:1px solid var(--theme-border);border-top:0;grid-template-columns:1fr}}@supports (height: 100dvh){body,#app{height:100dvh}}body[data-view=play] [data-view-only=admin],body[data-view=admin] [data-view-only=play]{display:none!important}body[data-view=play] .toolbar{gap:6px}@media(max-width:480px){.play-hud{padding:8px 12px 4px;gap:6px}.hud-pill{padding:6px 10px;min-width:72px}.hud-pill strong{font-size:18px}.play-actions{gap:6px;padding:8px 12px max(12px,env(safe-area-inset-bottom))}.play-action-btn{padding:8px 6px;min-height:56px;font-size:12px}}.view-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:0 12px;min-height:44px;border:1px solid var(--theme-border);border-radius:999px;background:#1f2b34b3;color:var(--theme-accent-strong);text-decoration:none;white-space:nowrap}.view-link:hover{background:#2e404cd9}body[data-admin-access=granted] #admin-auth-gate{display:none!important}body:not([data-admin-access=granted]) #view-link-admin{display:none!important}body[data-view=admin]:not([data-admin-access=granted]) [data-view-only=admin]:not(#admin-auth-gate){display:none!important}body[data-view=admin]:not([data-admin-access=granted]) .topbar,body[data-view=admin]:not([data-admin-access=granted]) .game-layout,body[data-view=admin]:not([data-admin-access=granted]) #performance-overlay,body[data-view=admin]:not([data-admin-access=granted]) #contextual-tip{visibility:hidden!important;pointer-events:none!important}body[data-view=admin]:not([data-admin-access=granted]) #admin-auth-gate{visibility:visible!important;pointer-events:auto!important;position:fixed;inset:0;display:grid!important;align-content:center;justify-items:center;gap:18px;padding:max(48px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 12%,rgba(125,224,166,.12),transparent 60%),linear-gradient(180deg,#080c12f5,#080c12fa);z-index:100}body[data-view=admin]:not([data-admin-access=granted]) #admin-auth-gate>*{max-width:min(420px,92vw);width:100%;text-align:center}body[data-view=admin]:not([data-admin-access=granted]) #admin-auth-gate .campaign-heading{flex-direction:column;align-items:center;gap:6px}body[data-view=admin]:not([data-admin-access=granted]) #admin-auth-gate .cloud-save-actions{flex-direction:column;gap:10px;align-items:stretch}body[data-view=admin]:not([data-admin-access=granted]) #admin-auth-gate .cloud-save-actions button,body[data-view=admin]:not([data-admin-access=granted]) #admin-auth-gate .cloud-save-actions .view-link{width:100%;justify-content:center}body[data-view=admin][data-admin-access=granted] .side-panel{grid-template-columns:1fr;align-content:start}body[data-view=admin][data-admin-access=granted] [data-admin-chip]{display:inline-flex!important}body:not([data-admin-access=granted]) [data-admin-chip]{display:none!important}body[data-view=play] .game-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"hud" "board" "actions"}@media(max-width:760px){body[data-view=admin][data-admin-access=granted] .game-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(280px,1fr) auto minmax(0,40vh);grid-template-areas:"hud" "board" "actions" "side"}body[data-view=admin][data-admin-access=granted] .side-panel{overflow-y:auto;border-left:0;border-top:1px solid var(--theme-border)}}
