:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--ink: #f1ebdc;--muted: #c4bda9;--panel: rgba(23, 25, 23, .82);--panel-strong: rgba(12, 14, 13, .92);--line: rgba(241, 235, 220, .18);--accent: #e4bb68;--green: #5c9b58;--red: #be4740}*{box-sizing:border-box}html,body,#game-root,#phaser-root,#ui-root{width:100%;height:100%;min-height:100dvh;margin:0;overflow:hidden}html,body{overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0;background:#101419;color:var(--ink);touch-action:none}#game-root{position:relative}#phaser-root,#ui-root{position:absolute;top:0;right:0;bottom:0;left:0}#phaser-root{z-index:0}#phaser-root canvas{touch-action:none}#ui-root{pointer-events:none;z-index:10;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button{border:1px solid var(--line);color:var(--ink);background:#1c1f1de6;font:inherit;min-height:44px;border-radius:8px;cursor:pointer;pointer-events:auto;touch-action:manipulation}button:disabled{cursor:not-allowed;color:#f1ebdc73}.menu-shell{width:100%;height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));pointer-events:auto}.menu-panel{width:min(460px,92vw);padding:24px;border:1px solid var(--line);border-radius:8px;background:#121413db;box-shadow:0 18px 50px #00000052}.kicker{margin:0 0 6px;color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:0}h1,h2,p{margin-top:0}h1{margin-bottom:18px;font-size:clamp(2.2rem,8vw,4.6rem);line-height:.95}.primary-action{width:100%;background:#d9a84e;color:#20170c;border-color:#20170c59;font-weight:800}.secondary-action{width:100%;margin-top:10px;background:#161b1ae6;color:var(--accent);font-weight:800}.locked-grid{display:grid;gap:9px;margin-top:16px}.locked-grid button{display:flex;justify-content:space-between;align-items:center;padding:0 14px;background:#0f1211b8}.locked-grid span{color:var(--muted);font-size:.78rem}.hud-top{position:absolute;z-index:18;top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));right:calc(84px + env(safe-area-inset-right));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;pointer-events:none}.hud-chip{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:clamp(.68rem,1.8vw,.82rem);line-height:1.2}.hud-chip b{display:block;margin-top:2px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-chip.strong b{color:var(--accent)}.beachhead-chip.danger b{color:var(--red)}.objective-chip span{display:block;height:5px;margin-top:6px;overflow:hidden;border-radius:999px;background:#f1ebdc24}.objective-chip i{display:block;height:100%;border-radius:inherit;background:#d94a43}.power-panel{position:absolute;z-index:30;top:calc(72px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));display:grid;gap:8px;width:76px;pointer-events:auto}.pause-button{position:absolute;z-index:30;top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:66px;min-height:54px;border-color:#e4bb6857;background:#121412e0;color:var(--accent);font-size:.72rem;font-weight:900;pointer-events:auto}.power-button{display:grid;align-content:center;gap:3px;min-height:58px;padding:6px;border-color:#e4bb6861;background:linear-gradient(180deg,#2c281ff0,#151715f0);font-size:.72rem;font-weight:800;box-shadow:inset 0 1px #ffffff0f,0 8px 20px #0000002e}.power-button small{color:#f1ebdc94;font-size:.62rem;font-weight:700}.power-button.active{color:#1b1408;background:var(--accent);outline:3px solid rgba(255,255,255,.34)}.power-button.active small{color:#1b1408b8}.power-button:disabled{background:#212320c7;border-color:#f1ebdc1f;color:#f1ebdc6b;box-shadow:none}.tray-panel{position:absolute;z-index:30;left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#232621f5,#090d0ef5),var(--panel-strong);box-shadow:inset 0 1px #ffffff14,0 -12px 34px #0000003d;pointer-events:auto}.tray-status{grid-column:1 / -1;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.82rem;line-height:1.25}.tray-status b{color:var(--ink)}.tray-status span{text-align:right}.tray-row{display:grid;grid-template-columns:repeat(3,minmax(112px,1fr));gap:8px;min-width:0}.lane-row{display:grid;grid-template-columns:repeat(5,minmax(42px,1fr));gap:7px;min-width:0}.lane-button{min-height:38px;border-color:#e4bb683d;background:#22241ee0;color:#f1ebdcb8;font-weight:900}.lane-button span{display:grid;place-items:center;width:24px;height:24px;margin:0 auto;border-radius:999px;background:#f1ebdc1a}.lane-button.active{color:#1f170b;background:#e4bb68;border-color:#1f170b6b;outline:2px solid rgba(255,255,255,.28)}.unit-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto auto;align-items:center;gap:3px;min-height:64px;padding:6px 7px;border-color:#8fc46f52;background:radial-gradient(circle at 50% 14px,rgba(154,208,124,.28),transparent 22px),linear-gradient(180deg,#304c2cf2,#182319f2);box-shadow:inset 0 1px #ffffff14;touch-action:none}.unit-card.dragging{opacity:.55;outline:2px dashed rgba(228,187,104,.8)}.unit-card.unavailable{opacity:.35;border-color:#f1ebdc29;color:#f1ebdc7a;background:radial-gradient(circle at 50% 14px,rgba(180,180,170,.16),transparent 22px),linear-gradient(180deg,#363834e0,#1c1e1ce6)}.unit-card.unavailable .unit-card-icon{filter:grayscale(1)}.unit-card.unavailable .unit-card-name,.unit-card.unavailable .unit-card-level,.unit-card-cost.unavailable{color:#f1ebdc75}.unit-card-drag-ghost{position:fixed;z-index:50;left:0;top:0;max-width:132px;padding:8px 10px;border:1px solid rgba(228,187,104,.62);border-radius:8px;background:#182018eb;color:#f1ebdc;font-size:.72rem;font-weight:900;pointer-events:none;box-shadow:0 10px 28px #00000052}.unit-card-drag-ghost.unavailable{border-color:#be4740e6;background:#2f1a19f0;box-shadow:0 0 0 2px #be474038,0 10px 28px #00000052}.unit-card-name{align-self:end;grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;text-align:left}.unit-card-level{align-self:start;grid-column:2;color:#dff6da;font-size:.92rem;text-align:left}.unit-card-hint{grid-column:2;margin-top:-2px;color:#e7f5c1b8;font-size:.58rem;font-weight:900;text-align:left;text-transform:uppercase}.unit-card-cost{grid-column:2;justify-self:start;min-width:24px;margin-top:-2px;padding:1px 5px;border:1px solid rgba(228,187,104,.28);border-radius:999px;color:var(--accent);background:#1114118a;font-size:.58rem;font-weight:900;line-height:1.25}.unit-card.selected{outline:3px solid var(--accent);background:linear-gradient(180deg,#487641fa,#223322fa)}.unit-card-empty{border-style:dashed;border-color:#f1ebdc29;color:#f1ebdc6b;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 5px,transparent 5px 10px),#181b19ad;box-shadow:inset 0 1px #ffffff0a;opacity:.72}.unit-card-empty .unit-card-name,.unit-card-empty .unit-card-level{color:#f1ebdc75}.unit-card-icon{position:relative;grid-row:1 / 4;display:block;width:34px;height:42px;margin-right:4px}.unit-card-icon i,.unit-card-icon em,.unit-card-icon strong{position:absolute;display:block;box-sizing:border-box}.empty-slot-icon:before{content:"";position:absolute;left:6px;top:9px;width:22px;height:22px;border:2px dashed rgba(241,235,220,.28);border-radius:5px}.icon-soldier{left:8px;top:6px;width:18px;height:28px;border:2px solid #17361f;border-radius:50% 50% 42% 42%;background:#3b8e55}.icon-soldier em{left:3px;top:-8px;width:12px;height:12px;border-radius:999px;background:#223f28}.icon-soldier strong{right:-10px;top:4px;width:16px;height:4px;border-radius:999px;transform:rotate(-48deg);background:#203120}.icon-medic{background:#67b66a}.icon-medic:after{content:"";position:absolute;left:4px;top:8px;width:10px;height:10px;background:linear-gradient(#2f8d4c,#2f8d4c) center / 3px 10px no-repeat,linear-gradient(#2f8d4c,#2f8d4c) center / 10px 3px no-repeat,#f4f8ef;border-radius:2px}.icon-vehicle{left:5px;top:5px;width:24px;height:32px;border:2px solid #172d1b;border-radius:5px;background:#4f7f3a}.icon-vehicle:before,.icon-vehicle:after{content:"";position:absolute;top:5px;width:5px;height:22px;border-radius:4px;background:#101510}.icon-vehicle:before{left:-6px}.icon-vehicle:after{right:-6px}.icon-vehicle em{left:5px;top:6px;width:10px;height:7px;border-radius:2px;background:#1d2a1f}.icon-vehicle strong{left:8px;top:-7px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:9px solid #d9f0a3}.icon-tank{width:27px;height:36px;background:#45653d;border-color:#111f13}.icon-tank em{left:7px;top:10px;width:10px;height:10px;border-radius:999px;background:#5a7c4b}.icon-tank strong{left:11px;top:-8px;width:5px;height:20px;border-radius:999px;background:#1b2a1d}.icon-crate{left:7px;top:9px;width:22px;height:22px;border:2px solid #394012;border-radius:4px;background:#9bb14c}.icon-crate:before,.icon-crate:after{content:"";position:absolute;left:2px;right:2px;top:9px;height:3px;background:#5b6227}.icon-crate:after{top:2px;left:9px;right:auto;width:3px;height:16px}.deploy-button{width:clamp(86px,14vw,130px);min-height:64px;color:#11170f;background:#7fbd61;border-color:#11170f73;font-weight:900}.deploy-button.unavailable{opacity:.35;filter:grayscale(1);color:#ffffff75;background:#5f635cb3;border-color:#f1ebdc29}.debug-fab{position:absolute;z-index:30;top:calc(264px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:76px;min-height:42px;color:#d9f5ff;background:#14262de0;border-color:#80d9ff52;font-size:.72rem;font-weight:900;pointer-events:auto}.debug-fab.active,.debug-panel button.active{color:#071a20;background:#8bdcff}.debug-panel{position:absolute;z-index:30;top:calc(312px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));display:grid;gap:6px;width:148px;padding:10px;border:1px solid rgba(139,220,255,.28);border-radius:8px;background:#0a1216eb;pointer-events:auto}.debug-title{color:#8bdcff;font-size:.76rem;font-weight:900}.debug-panel button{min-height:34px;padding:4px 7px;border-color:#8bdcff2e;background:#1b262af0;font-size:.68rem;font-weight:800}.deploy-button:disabled{background:#5f635cb3;color:#ffffff75}.result-overlay{position:absolute;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#00000057;pointer-events:auto}.pause-overlay,.breather-overlay{position:absolute;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#00000042;pointer-events:auto}.power-target-layer{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;cursor:crosshair;pointer-events:auto;touch-action:none}.power-target-hint{position:absolute;top:calc(78px + env(safe-area-inset-top));left:calc(50% + (env(safe-area-inset-left) - env(safe-area-inset-right))/2);max-width:min(360px,calc(100vw - 148px - env(safe-area-inset-left) - env(safe-area-inset-right)));transform:translate(-50%);padding:7px 11px;border:1px solid rgba(228,187,104,.34);border-radius:999px;background:#121412d1;color:var(--accent);font-size:.76rem;font-weight:900;text-align:center;pointer-events:none}.pause-panel,.breather-panel{display:grid;gap:10px;width:min(360px,88vw);padding:22px;border:1px solid var(--line);border-radius:8px;background:#111210f5;box-shadow:0 18px 50px #00000052;text-align:center}.pause-panel h2,.breather-panel h2{margin-bottom:4px}.breather-panel{width:min(560px,92vw)}.breather-panel p{color:var(--muted)}.muster-header{display:grid;gap:5px;padding:8px 10px;border:1px solid rgba(228,187,104,.22);border-radius:8px;background:#181b19ad;color:var(--muted);font-size:.78rem;text-align:left}.muster-header b{color:var(--accent)}.merge-token-count.token-changed{animation:token-flash .42s ease-out}.merge-hint,.merge-preview{min-height:1em}.merge-preview{color:#f1ebdc;font-weight:900}.muster-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px}.muster-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;align-items:center;gap:2px 6px;min-height:74px;padding:7px;position:relative;border:1px solid rgba(241,235,220,.18);background:#1f281ee6;text-align:left;opacity:1;transition:opacity .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease;touch-action:none}.muster-card .unit-card-icon{grid-row:1 / 4;width:30px;height:38px;transform:scale(.86);transform-origin:center}.muster-name{overflow:hidden;color:var(--ink);font-size:.68rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.muster-card b{color:#dff6da;font-size:.82rem}.muster-card small{color:var(--muted);font-size:.62rem;font-weight:800}.muster-card.mergeable{border:2px solid var(--match-color);box-shadow:inset 0 1px #ffffff14}.muster-card.mergeable:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--match-color);box-shadow:0 0 10px var(--match-color)}.muster-card.match-0{--match-color: #e7be6c}.muster-card.match-1{--match-color: #6ec3e0}.muster-card.match-2{--match-color: #b48ce0}.muster-card.match-3{--match-color: #9eea6a}.muster-card.dimmed{opacity:.55;border-color:#f1ebdc24;filter:grayscale(.45)}.muster-card.selected{z-index:1;transform:scale(1.04);outline:3px solid var(--match-color);outline-offset:2px;background:#30342dfa;box-shadow:0 0 0 4px color-mix(in srgb,var(--match-color) 26%,transparent),0 0 22px color-mix(in srgb,var(--match-color) 32%,transparent)}.muster-card.merge-partner{opacity:1;border-color:var(--match-color);animation:merge-target-pulse .9s ease-in-out infinite}.muster-card.merge-other{opacity:.25;filter:grayscale(.65)}.muster-card.dragging{opacity:.55;outline:2px dashed var(--match-color)}.merge-target-label{position:absolute;right:5px;bottom:5px;display:none;padding:3px 5px;border-radius:4px;background:color-mix(in srgb,var(--match-color) 88%,#111 12%);color:#10140f;font-size:.48rem;font-weight:900;letter-spacing:0;pointer-events:none}.muster-card.merge-partner .merge-target-label{display:block}.muster-card.merged-pop{animation:merged-pop .35s ease-out}.muster-drag-ghost{border-width:2px;background:#121412f5;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 22%,transparent),0 10px 28px #00000052}.breather-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reward-button{display:grid;gap:6px;min-height:106px;padding:12px;border-color:#e4bb686b;background:#2c281ff0;text-align:left}.reward-button b{color:var(--accent)}.reward-button span{color:var(--muted);font-size:.78rem;line-height:1.25}@keyframes merge-target-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,var(--match-color) 16%,transparent),0 0 12px color-mix(in srgb,var(--match-color) 18%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--match-color) 36%,transparent),0 0 24px color-mix(in srgb,var(--match-color) 34%,transparent)}}@keyframes merged-pop{0%,to{transform:scale(1)}52%{transform:scale(1.15)}}@keyframes token-flash{0%{color:#10140f;text-shadow:0 0 16px var(--accent)}to{color:var(--accent);text-shadow:none}}@media(prefers-reduced-motion:reduce){.merge-token-count.token-changed,.muster-card.merge-partner,.muster-card.merged-pop{animation:none}.muster-card{transition:none}}.result-panel{width:min(380px,90vw);padding:22px;border:1px solid var(--line);border-radius:8px;background:#111210f2;text-align:center}.result-panel h2{margin-bottom:8px}.result-panel p{color:var(--muted)}@media(max-width:720px){.hud-top{right:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.breather-rewards{grid-template-columns:1fr}.power-panel{top:calc(112px + env(safe-area-inset-top));width:68px}.debug-fab{top:calc(304px + env(safe-area-inset-top));width:68px}.debug-panel{top:calc(352px + env(safe-area-inset-top))}.tray-row{grid-template-columns:repeat(3,minmax(84px,1fr))}.tray-status{display:grid}.tray-status span{text-align:left}}@media(max-width:520px){.hud-top{gap:5px}.hud-chip{padding:5px 6px;font-size:.62rem}.power-panel{width:58px;gap:5px}.power-button{min-height:48px;padding:4px;font-size:.62rem}.power-button small{font-size:.55rem}.tray-panel{grid-template-columns:1fr 72px;gap:7px;padding:7px}.tray-status{gap:4px;font-size:.68rem}.tray-row{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(72px,1fr));gap:5px}.unit-card{min-height:56px;padding:4px 5px}.unit-card-icon{width:28px;height:36px;margin-right:2px;transform:scale(.84);transform-origin:center}.unit-card-name{font-size:.6rem}.unit-card-level{font-size:.76rem}.unit-card-hint{font-size:.5rem}.lane-row{grid-column:1;grid-template-columns:repeat(5,minmax(28px,1fr));gap:5px}.lane-button{min-height:34px}.lane-button span{width:20px;height:20px}.deploy-button{grid-column:2;grid-row:3;width:72px;min-height:56px;font-size:.72rem}.breather-panel{padding:14px}}@media(max-width:540px){.hud-top{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(60px + env(safe-area-inset-right));grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(34px,auto);gap:4px;max-height:calc(82px + env(safe-area-inset-top));overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.hud-top::-webkit-scrollbar{display:none}.hud-chip{padding:5px 6px;font-size:10px;line-height:1.1}.hud-chip b{margin-top:1px;font-size:.7rem}.objective-chip span{height:4px;margin-top:4px}.pause-button{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));width:48px;min-height:44px;padding:0 4px;font-size:.62rem}.power-panel{top:calc(50dvh - 96px);right:calc(8px + env(safe-area-inset-right));width:48px;gap:8px}.power-button{min-height:52px;padding:5px 3px;font-size:.66rem;line-height:1.05}.power-button small{font-size:.56rem}.power-target-hint{top:calc(94px + env(safe-area-inset-top));max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:7px 10px;font-size:12px;line-height:1.15}.tray-panel{left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:7px;padding:8px;max-height:calc(47dvh - env(safe-area-inset-bottom))}.tray-status{display:grid;grid-template-columns:1fr;gap:3px;font-size:.68rem}.tray-status span{text-align:left}.tray-row{grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%}.unit-card{min-width:0;min-height:64px;padding:5px}.unit-card-icon{width:26px;height:34px;margin-right:1px;transform:scale(.78);transform-origin:center}.unit-card-name{font-size:11px;line-height:1.05}.unit-card-level{font-size:.78rem}.unit-card-hint,.unit-card-cost{font-size:.52rem}.lane-row{grid-column:1;grid-template-columns:repeat(5,minmax(40px,1fr));gap:5px}.lane-button{min-height:40px;padding:4px}.lane-button span{width:24px;height:24px}.deploy-button{grid-column:1;grid-row:auto;width:100%;min-height:48px;font-size:.8rem}.debug-fab{top:calc(50dvh + 104px);right:calc(8px + env(safe-area-inset-right));width:48px;min-height:44px;padding:4px;font-size:.58rem}.debug-panel{top:auto;right:calc(8px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));left:calc(8px + env(safe-area-inset-left));width:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.pause-overlay,.breather-overlay,.result-overlay{align-items:start;padding-top:max(16px,env(safe-area-inset-top))}.pause-panel,.result-panel,.breather-panel{width:min(100%,420px);max-height:85dvh;overflow-y:auto;padding:16px}.pause-panel button,.result-panel button{min-height:48px}.breather-panel{gap:8px}.breather-panel h2{font-size:1.1rem}.muster-header{font-size:.72rem}.muster-row{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px}.muster-card{min-height:72px;padding:6px}.muster-name{font-size:.64rem}.breather-rewards{grid-template-columns:1fr;gap:8px}.reward-button{width:100%;min-height:56px;padding:10px 12px}}
