:root { --bg:#151e28; --muted:#98a4af; --gold:#d2b673; }
#screen-title.screen { gap:12px; padding-top:max(66px,env(safe-area-inset-top)); padding-bottom:max(24px,env(safe-area-inset-bottom)); }
.gw-eyebrow { color:#6dcede; font-size:10px; font-weight:750; letter-spacing:.24em; margin:0; }
.gw-logo { margin:0; font-size:clamp(43px,12vw,66px); font-weight:950; letter-spacing:-.065em; line-height:1; color:#ecede7; font-style:italic; text-shadow:0 3px 0 #111923; }
.gw-logo span,.gw-hud-brand span { color:#d2b673; }
.gw-logo-art { width:min(240px,70vw);height:clamp(76px,15dvh,112px);overflow:hidden;border-radius:8px; }
.gw-logo-art img { display:block;width:100%;height:100%;object-fit:cover;object-position:center 12%; }
.gw-tagline { font-size:13px; color:#b2c3cf; margin:0; }
#gw-preview { width:100%; height:clamp(160px,29dvh,280px); position:relative; overflow:hidden; background:#151e28; border-block:1px solid #65717b; }
#gw-preview canvas { width:100%;height:100%; }
.gw-model-label { position:absolute;bottom:10px;left:14px;text-align:left;font-size:8px;letter-spacing:.16em;color:#708b9d;pointer-events:none; }
.gw-model-label b { display:block;color:#9bb8c9;font-size:9px;margin-top:4px; }
.gw-training { font-size:10px;letter-spacing:.13em;color:#b6cedd; }
.gw-training span { display:inline-block;width:6px;height:6px;border-radius:50%;background:#58dfb3;margin-right:5px; }
.gw-training small { display:block;letter-spacing:0;color:#8da5b5;font-size:11px;margin-top:5px; }
#screen-title #btn-start { width:100%;max-width:300px;min-height:54px;font-size:16px;letter-spacing:.06em; }
#screen-title.screen #btn-start,#screen-result.screen #btn-again {background:linear-gradient(#d8bd7c,#b89a59);border:1px solid #e3cf9b;color:#20282e;border-radius:5px;text-shadow:none;box-shadow:0 3px 0 #695732;}
#screen-title.screen .game-help-link {color:#c0cbd1;text-decoration-color:#84929c;}
#gw-loading { font-size:11px;max-width:300px;color:#ffcd79;margin:0; }
#gamepad-status {font-size:10px;margin:0;color:#7995a7;}
#screen-play { width:min(100vw,56.25dvh); max-width:none; height:100dvh;min-height:0; box-shadow:0 0 90px #0008; }
.game-frame { height:100%;background:#151e28;--phase:#80c5d2; }
.game-frame[data-phase="fire"] {--phase:#e4b16e;}
#game {touch-action:none;}
.gw-hud { position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top,0px)) 8px 8px;background:linear-gradient(#19222bf5,#19222bd9);border-bottom:1px solid #637079;pointer-events:none; }
.gw-hud-brand {font-style:italic;font-weight:950;font-size:14px;letter-spacing:-.6px;text-align:left;margin-right:auto;line-height:1;}
.gw-hud-brand small {display:block;font-style:normal;font-size:7px;font-weight:500;letter-spacing:.3px;color:#8ba4b5;margin-top:6px;}
.gw-stat {display:flex;flex-direction:column;gap:3px;text-align:right;font-variant-numeric:tabular-nums;}
.gw-stat small {font-size:8px;color:#9fb7c6;letter-spacing:1px;}
.gw-stat b {font-size:16px;line-height:1;}
.gw-fuel {position:relative;flex:0 0 48px;width:48px;height:48px;border:2px solid #8adccc;border-radius:50%;overflow:hidden;background:#0b182b;color:#f0fffa;box-shadow:inset 0 0 10px #0008,0 0 10px #62e5b21a;}
.gw-fuel-track {position:absolute;inset:0;overflow:hidden;border-radius:50%;}
.gw-fuel-track i {position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,#197c72,#62e5b2aa);border-top:1px solid #a8ffde;transition:height .2s ease;}
.gw-fuel svg {position:absolute;top:4px;left:12px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #082421);}
.gw-fuel b {position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:10px;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000;}
.gw-fuel.low {border-color:#ff9477;color:#fff0dc;}
.gw-fuel.low .gw-fuel-track i {background:linear-gradient(0deg,#a33b28,#ff795e);}
.gw-sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.gw-proximity {position:absolute;top:calc(86px + env(safe-area-inset-top,0px));left:18px;display:flex;align-items:center;gap:7px;color:#93b5c6;font-size:9px;text-shadow:0 2px 4px #000;pointer-events:none;}
#gw-radar {font-size:14px;color:#71e4ec;}
#screen-play .game-controls {top:calc(72px + env(safe-area-inset-top,0px));right:12px;left:auto;bottom:auto;transform:none;gap:4px;padding:4px;}
.gw-bottom {position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) auto 84px;column-gap:8px;row-gap:3px;align-items:center;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,#19222bdf 65%);pointer-events:none;text-align:left;}
.gw-mode {display:flex;flex-direction:column;gap:3px;min-width:0;margin:0;grid-column:1;grid-row:1;}
.gw-action {grid-column:3;grid-row:1 / 3;justify-self:center;}
#gw-charges {grid-column:2;grid-row:1;align-self:start;}
.gw-aim-track {grid-column:1 / 3;grid-row:2;align-self:start;}
.gw-mode small {font-size:10px;letter-spacing:.06em;color:var(--phase);}
.gw-mode b {font-size:10px;line-height:1.3;font-weight:500;color:#c6d7e1;}
.gw-action {pointer-events:auto;touch-action:none;width:84px;height:84px;border-radius:50%;border:2px solid var(--phase);background:linear-gradient(#465662,#26333e);box-shadow:0 4px 0 #111923,inset 0 1px 0 #84929b;color:var(--phase);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;transition:transform .1s,background .15s; }
.gw-action:active {transform:scale(.95);}
.gw-action:focus-visible {outline:3px solid white;outline-offset:3px;}
.gw-action-icon {font-size:30px;line-height:1.1;font-weight:800;}
.gw-action-text {font-size:10px;letter-spacing:.02em;}
.gw-action[aria-pressed="true"] {background:#435d69;transform:scale(.96);}
.gw-action[data-mode="fire"] {background:linear-gradient(#5a5145,#38342e);}
#gw-charges {font-size:11px;letter-spacing:0;color:var(--phase);white-space:nowrap;}
.game-frame[data-phase="move"] #gw-charges {display:none;}
.game-frame[data-phase="move"] .gw-mode {grid-column:1 / 3;}
.gw-aim-track {width:100%;height:3px;margin-top:2px;background:#7d98a333;overflow:hidden;border-radius:5px;}
.gw-aim-track i {display:block;height:100%;background:var(--phase);transform-origin:left;}
#gw-cycle-label {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.gw-input-hint {display:none;}
.gw-offline-note {color:#94a9bb;font-size:11px;}
.gw-menu-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;width:100%;max-width:330px;}
#screen-title .gw-menu-actions #btn-start,#screen-title .gw-menu-actions .gw-play-online {box-sizing:border-box;width:100%;min-width:0;max-width:none;min-height:54px;padding:14px 12px;line-height:1.3;white-space:nowrap;text-transform:uppercase;}
#screen-title .gw-menu-actions #btn-start {grid-column:1;grid-row:1;}
#screen-title .gw-menu-actions .gw-play-online {grid-column:2;grid-row:1;}
#screen-title .gw-menu-actions .game-help-link {grid-column:1 / -1;grid-row:2;justify-self:center;min-width:0;margin:0;white-space:nowrap;}
.gw-play-online {display:flex;align-items:center;justify-content:center;min-height:54px;background:linear-gradient(#d8bd7c,#b89a59);border:1px solid #e3cf9b;border-radius:5px;color:#20282e;text-decoration:none;font-size:16px;font-weight:800;letter-spacing:.06em;box-shadow:0 3px 0 #695732;}
#screen-title.screen .gw-menu-actions #btn-start {background:#2d3c48;color:#dae3e9;border-color:#70818e;box-shadow:0 3px 0 #111923;}
.gw-play-online:focus {outline:3px solid #80c5d2;outline-offset:4px;}
#gw-online-status {position:absolute;z-index:3;top:calc(145px + env(safe-area-inset-top,0px));left:16px;right:16px;margin:0;padding:6px 9px;border-radius:5px;background:#19222bd9;color:#dbe6ec;font-size:11px;pointer-events:none;}
#gw-lobby-return {position:absolute;z-index:3;top:calc(185px + env(safe-area-inset-top,0px));left:16px;color:#e4c887;font-size:11px;text-underline-offset:3px;}
.game-guest-notice {display:none;}
#screen-result {background:var(--result-veil);}
#gw-result-title {font-size:26px;}
@media (max-aspect-ratio:9/16) { #screen-play {width:100vw;} }
@media (max-height:660px) { #screen-title.screen{gap:8px;} }

.gw-zoom { position:relative;pointer-events:auto;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #71879580;border-radius:10px;background:#19222be6;color:#dbe6ec; }
.gw-zoom button { width:32px;height:44px;padding:0;border:0;border-radius:7px;background:#324450;color:#edf2f5;font:700 22px system-ui;cursor:pointer;touch-action:manipulation; }
.gw-zoom button:disabled { opacity:.35;cursor:default; }
.gw-zoom button:focus-visible { outline:2px solid #80c5d2;outline-offset:2px; }
.gw-zoom output { min-width:26px;text-align:center;font:600 11px system-ui; }
#screen-play .music-fine-volume { padding:4px 4px 14px; }
.music-fine-volume::after { content:attr(data-music-volume);position:absolute;bottom:2px;left:0;right:0;text-align:center;font:700 9px system-ui; }

@media (max-width:360px) { .gw-hud {gap:5px;} .gw-hud-brand {font-size:12px;} .gw-stat small {font-size:7px;letter-spacing:0;} }

/* Compact action console between mirrored thumb controls. */
.gw-bottom {grid-template-columns:84px minmax(0,1fr) 84px;gap:8px;align-items:center;}
.gw-bottom .gw-action {grid-row:1;grid-column:3;}
.gw-bottom #gw-action-left {grid-column:1;}
.gw-action-panel {grid-column:2;grid-row:1;min-width:0;padding:7px 8px;border:1px solid #80c5d255;border-radius:14px;background:#15232ee8;text-align:center;box-shadow:inset 0 1px 0 #ffffff12;}
.gw-action-panel .gw-mode {gap:2px;}
.gw-action-panel .gw-mode small {font-size:10px;font-weight:800;letter-spacing:.08em;}
.gw-action-panel .gw-mode b {font-size:9px;line-height:1.25;}
.gw-action-panel #gw-charges {font-size:11px;margin:3px 0;}
.gw-action-panel .gw-aim-track {margin-top:5px;height:3px;}
#gw-boost {margin-top:5px;color:#afff6b;font-size:9px;font-weight:700;}
.gw-boost-track {height:3px;margin-top:3px;border-radius:4px;overflow:hidden;background:#afff6b22;}
#gw-boost-fill {display:block;height:100%;background:#afff6b;transform-origin:left;}
.gw-action[data-ready="true"] {border-color:#fff0a0;box-shadow:0 0 14px #ffcc6677,inset 0 0 12px #ffcc6633;}
