/* Tactical v2: original art, readable maps, touch-first command surfaces. */
.wave-customize summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted);font-size:12px}.wave-customize summary:before{content:'+';margin-right:8px;color:var(--mint)}.wave-customize[open] summary:before{content:'−'}
:root { --mint:#99f3d5; --line:#304650; --raised:#1c3540; }
.game-art{display:block;width:100%;height:100%;overflow:visible}
.home-shell{max-width:1060px;padding-top:36px}
.hero{margin-bottom:28px}.hero h1{font-size:clamp(36px,5.2vw,66px);max-width:none;white-space:normal;line-height:1.08;margin-bottom:12px}.hero .lead{max-width:none;margin-bottom:0}
.game-illustration{background:none;height:180px;margin:0 0 12px;letter-spacing:normal}.game-illustration.orbital{background:none}
.game-card{background:radial-gradient(ellipse at 30% 5%,#27504855,transparent 65%),#11212b;border-color:#304c50}
.game-card[data-kind=orbital]{background:radial-gradient(ellipse at 65% 10%,#59507555,transparent 65%),#111e2d}
.game-card h2{font-size:28px}.game-card p{max-width:none;min-height:48px}.game-card[aria-pressed=true]{box-shadow:0 0 0 1px #99f3d5,0 15px 40px #0003}
.create-panel{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:20px 24px;border-radius:20px;margin-top:20px;background:#132a31}.create-panel>.field{flex:1;min-width:180px}.create-panel>.primary{flex:1;min-width:210px;min-height:52px}
.nickname-options{flex-basis:100%;font-size:13px;color:var(--muted)}.nickname-options summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.nickname-options .field{margin:10px 0;max-width:400px}
.lobby-shell{position:relative;overflow:hidden}.lobby-art{position:absolute;right:16px;top:16px;width:220px;height:120px;opacity:.65;pointer-events:none}.lobby-shell>.eyebrow,.lobby-shell>h1,.lobby-shell>.lead{position:relative;max-width:70%}
.share-panel>[data-action=send-to-chat]{display:block;width:100%;margin-bottom:14px;min-height:50px}
.quick-guide{padding:0;margin:20px 0;list-style:none;display:grid;gap:16px}.quick-guide li{display:flex;align-items:flex-start;gap:12px}.quick-guide li>span{flex:0 0 28px;height:28px;display:grid;place-items:center;border:1px solid #6ecbb477;border-radius:9px;color:var(--mint);font:600 12px system-ui;background:#21453e}.quick-guide strong{display:block;color:var(--ink);font-size:14px;margin:0 0 3px}.quick-guide small{font-size:13px}
.invite-shell>.game-art{max-height:140px;max-width:320px;margin:0 auto}.player-avatar{border:1px solid #84d4be3d}
.match-shell{max-width:1220px}.match-header h1{font-size:25px}.match-clock{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#0b1e27}
.board-heading{margin:12px 2px 7px}.health-meter{display:block;width:100%;height:5px;border:0;border-radius:9px;overflow:hidden;background:#273e44;appearance:none;margin:0 0 10px}.health-meter::-webkit-progress-bar{background:#273e44}.health-meter::-webkit-progress-value{background:#99f3d5;transition:width .2s}.health-meter::-moz-progress-bar{background:#99f3d5}.health-meter.enemy::-webkit-progress-value{background:#ffc07d}.health-meter.enemy::-moz-progress-bar{background:#ffc07d}
.enemy-preview{height:104px;background:#111f26}.enemy-preview canvas{width:60%;opacity:.82}.enemy-preview>div{top:25px;right:16px;width:36%}.enemy-preview .health-meter{margin-top:8px;height:4px}.enemy-preview b{font-size:21px}
.fortress-board{border-color:#3c615f;box-shadow:inset 0 0 30px #0004,0 10px 35px #0002}.tower-site{width:48px;height:48px;min-height:48px;background:#153b40d9;border-color:#a2dbca88;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center}.tower-site>small{font-size:10px;line-height:11px}.tower-site>span{font-size:24px;line-height:24px}.tower-site.built{background:#0d262b80;border-color:#8bd6c633}.tower-site>svg{width:46px;height:46px;overflow:visible;flex:none}.tower-site>.tower-level{position:absolute;right:-4px;bottom:-3px;padding:2px 5px;background:#183a37;color:#c6ffe9;border:1px solid #609c8b;border-radius:6px;font-size:10px}.tower-site[aria-pressed=true]{outline-width:2px;outline-offset:3px}
.choice>svg{width:44px;height:44px;display:block;margin:auto}.choice{border-radius:12px}.choice[aria-pressed=true]{background:#22483e;border-color:#a5f3d5;color:#d0ffed}
.cost-hint{min-height:19px;margin:10px 0 0;color:#d7c08e;font-size:12px}.wave-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:15px}.wave-preset{padding:10px 4px;background:#0d202b;border:1px solid var(--line);min-height:62px}.wave-preset strong{display:block;font-size:11px}.wave-preset small{font-size:10px}.wave-preset[aria-pressed=true]{border-color:var(--mint);background:#214339}.wave-row{margin:13px 0}.stepper{width:44px}.action-feedback{font-size:12px;color:var(--mint);line-height:1.4;margin:0;padding:0 6px;min-height:0}.action-feedback:empty{display:none}
.orbital-board{background:#0a1623;border-color:#344964;box-shadow:0 14px 40px #0003}.planet{width:50px;height:50px;min-height:50px;isolation:isolate;box-shadow:inset -9px -6px 13px #0007,inset 3px 3px 8px #e2efff22,0 4px 12px #0009;border-width:1px;text-shadow:0 1px 3px #000}
.planet:before{content:'';position:absolute;inset:3px;border-radius:50%;border-top:1px solid #ffffff35;transform:rotate(-30deg);pointer-events:none;z-index:-1}.planet strong{font-size:16px;line-height:19px}.planet small{font-size:9px;line-height:12px;letter-spacing:.02em;color:#d5e3e8}.planet[data-owner=self]{background:radial-gradient(at 25% 15%,#508c81,#214e50 55%,#122c3b)}.planet[data-owner=enemy]{background:radial-gradient(at 25% 15%,#b18658,#825340 55%,#3d3343)}.planet[aria-pressed=true]{outline-width:2px;outline-offset:4px}.planet.target{outline-color:#fff4d9}.planet.target:after{content:'⌖';position:absolute;right:-7px;top:-9px;font-size:19px;color:#ffe2a4;text-shadow:0 1px 4px #000}
.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.map-instruction{font-size:12px;color:var(--mint);line-height:1.4}.map-tool{font-size:11px;background:#152a34;border:1px solid var(--line);padding:8px 10px;white-space:nowrap}.map-tool[aria-pressed=true]{background:#285443;color:#d1ffe9;border-color:var(--mint)}
.tactical-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tactical-preview small{font-size:8px;letter-spacing:.08em;white-space:nowrap}.tactical-preview b{display:block;font-size:19px;margin-top:3px;font-variant-numeric:tabular-nums;color:var(--ink)}.tactical-preview>div:first-child b{color:var(--mint)}.flight-preview{min-height:0;font-size:12px;line-height:1.6}.upgrades .cost-hint{margin-bottom:12px}.upgrade-choice{min-height:65px}.selection-actions .quiet{min-height:44px}.game-controls>.resources{border-color:#41635a;background:linear-gradient(110deg,#1c3a35,#14252e)}
.result-symbol{filter:drop-shadow(0 0 16px #99f3d544)}.result-panel{border-color:#6da997}.notice{bottom:max(18px,env(safe-area-inset-bottom))}
@media(min-width:701px){.game-controls{position:sticky;top:18px}.game-controls .action-feedback{padding:8px 10px}.orbital-layout{grid-template-columns:minmax(0,1fr) 300px}.orbital-board{min-height:460px}.in-chat .home-shell{padding-top:20px}.in-chat .hero h1{font-size:40px}.in-chat .game-illustration{height:140px}}
@media(max-width:700px){
  .site-header{padding:9px 14px}.home-shell{padding:24px 14px}.hero{margin-bottom:21px}.hero h1{font-size:37px}.hero .lead{font-size:14px}.hero .eyebrow{font-size:9px;margin-bottom:14px}.game-grid{gap:10px}.game-card{padding:13px 12px}.game-illustration{height:100px;margin-bottom:12px}.game-card h2{font-size:21px;line-height:1.12;margin:9px 0}.game-card p{font-size:12px;line-height:1.5;min-height:72px;margin-bottom:10px}.card-kicker{font-size:7px;letter-spacing:.04em}.game-duration{font-size:10px;line-height:1.5;display:block}.game-card[aria-pressed=true]:after{top:8px;right:8px;width:19px;height:19px;line-height:19px}
  .create-panel{padding:14px;gap:10px;margin-top:16px}.create-panel>.primary,.create-panel>.field{width:100%;min-width:0}.create-panel>.primary{flex:none;min-height:50px}.nickname-options{font-size:12px;width:100%}.nickname-options summary{min-height:44px}.privacy-note{font-size:11px;margin-top:18px;line-height:1.7}
  .lobby-shell,.invite-shell{margin:14px 12px;padding:21px}.lobby-art{width:150px;height:78px;opacity:.5;right:5px;top:16px}.lobby-shell>.eyebrow{font-size:8px}.lobby-shell>h1{font-size:29px;max-width:75%}.lobby-shell>.lead{font-size:14px;max-width:100%}.players{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.player{padding:10px;gap:8px}.player-avatar{flex-basis:30px;height:34px;font-size:20px;border-radius:10px}.player strong{font-size:12px}.player small{font-size:10px}.share-panel{padding:13px;margin:14px 0}.share-panel h2{font-size:16px}.share-panel .actions{gap:6px}.share-panel button{font-size:12px;padding:10px 6px}.share-panel input{min-height:44px}.lobby-shell .actions{margin-top:14px}.howto{margin:10px 0}.quick-guide{gap:12px}.quick-guide small{font-size:12px}
  .match-shell{padding:12px 10px 146px}.match-header{margin-bottom:10px;gap:8px;flex-wrap:nowrap}.match-header h1{font-size:19px;margin-bottom:4px}.match-header>div{min-width:0}.match-header p{font-size:10px}.match-clock{padding:7px 8px;font-size:10px}.match-header .quiet{font-size:11px;min-height:44px}
  .enemy-preview{height:66px;max-width:440px}.enemy-preview>div{top:12px;right:12px;width:38%}.enemy-preview small{font-size:8px}.enemy-preview b{font-size:17px;margin-top:1px}.enemy-preview .health-meter{height:3px;margin-top:5px}.board-heading{font-size:11px;margin:8px 2px 6px}.battle-column>.health-meter{max-width:440px;margin:0 auto 8px}.fortress-board{min-width:0;max-width:min(100%,440px);max-height:none;width:100%}.tower-site{width:44px;height:44px;min-height:44px}.tower-site>svg{width:43px;height:43px}.board-caption{font-size:11px;padding:9px 3px}
  .game-controls{padding:9px 12px max(10px,env(safe-area-inset-bottom));gap:5px;max-height:68dvh;border-color:#3a555a}.game-controls>.resources{padding:2px 5px 6px}.game-controls .resources b{font-size:22px}.game-controls .tabs .tab{min-height:44px}.game-controls.controls-open .sheet-close{position:sticky;top:-9px;z-index:2;background:#10212c;min-height:44px;font-size:12px;width:100%;text-align:right;padding:8px 6px}.game-controls .control-section{padding:14px;border-radius:15px}.game-controls .control-section h3{font-size:16px;margin-bottom:12px}.game-controls.controls-open{box-shadow:0 -15px 55px #0008}.game-controls .economy-panel{padding:10px 12px}.game-controls .economy-panel button{font-size:12px}.action-feedback{font-size:11px;padding:2px 6px}
  .wave-row{margin:12px 0}.wave-row strong{font-size:13px}.wave-row small{font-size:10px}.wave-preset strong{font-size:10px}.wave-preset{min-height:54px}.cost-hint{font-size:11px}.choice>svg{width:36px;height:36px}.choice strong{font-size:12px}.choice small{font-size:11px}.choice{padding:9px 6px}
  .orbital-board{min-height:440px;aspect-ratio:.82;width:100%;max-width:440px}.planet{width:46px;height:46px;min-height:46px}.planet strong{font-size:15px}.planet small{font-size:8px}.map-toolbar{margin-bottom:8px}.map-instruction{font-size:11px}.map-tool{font-size:10px;min-height:44px}.legend{font-size:10px;margin-bottom:5px;gap:12px}.tactical-preview small{font-size:9px}.tactical-preview b{font-size:20px}.flight-preview{font-size:12px;min-height:0}.selection-actions .quiet{font-size:11px}
  .notice{bottom:140px}.match-overlay{inset:64px 8px 8px}.in-chat .hero h1{font-size:32px}.in-chat .home-shell{padding-top:18px}.in-chat .game-card p{min-height:0}.in-chat .game-illustration{height:80px}.in-chat .site-header{padding:6px 12px}.in-chat .brand small{display:none}.in-chat .privacy-note{font-size:10px}
}
@media(max-width:359px){.game-card h2{font-size:19px}.game-card p{font-size:11px}.game-illustration{height:86px}.planet{width:44px;height:44px;min-height:44px}.planet strong{font-size:14px}.hero h1{font-size:33px}.game-duration{font-size:9px}.player-avatar{display:none}.match-header h1{font-size:17px}.match-clock{padding:6px;font-size:9px}.match-header .quiet{padding:6px}.game-controls{padding-left:9px;padding-right:9px}.tactical-preview small{font-size:8px}}
