:root{--color-page:#102218;--color-page-2:#183421;--color-panel:#12231bd6;--color-panel-strong:#14261df0;--color-border:#e7f2d533;--color-text:#f3f8ea;--color-muted:#b7dcc4;--color-blue:#4bafd8;--color-blue-bright:#9fe7ff;--color-red:#ff4d5e;--color-red-warm:#ffb067;--color-gold:#f2c94c;--color-fire:#ff7a2f;--shadow-surface:0 0 0 1px #ffffff14, 0 12px 28px #05100a47;--shadow-surface-hover:0 0 0 1px #ffffff24, 0 14px 34px #05100a57;--shadow-panel:0 0 0 1px #ffffff1a, 0 18px 44px #05100a6b;--shadow-tooltip:0 0 0 1px #ffffff1a, 0 16px 42px #00000075, inset 0 1px 0 #ffffff14;--drz-vh:100vh;--drz-vw:100vw;color:var(--color-text);background:var(--color-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@supports (height:100dvh){:root{--drz-vh:100dvh}}@supports (width:100dvw){:root{--drz-vw:100dvw}}*{box-sizing:border-box}html,body,#app,#game-root{width:100%;max-width:var(--drz-vw);height:var(--drz-vh);min-height:var(--drz-vh);margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-text-size-adjust:100%;overflow:hidden}button{font:inherit;touch-action:manipulation}#game-root{background:linear-gradient(90deg,#08120d94,#0000 23% 77%,#08120d94),linear-gradient(135deg,#12281a 0%,#1c3524 48%,#14251d 100%);min-width:0;position:relative}#game-canvas{position:absolute;inset:0;overflow:hidden}#game-canvas canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.hud-root{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.hud-side{top:max(12px, env(safe-area-inset-top));pointer-events:auto;gap:10px;display:grid;position:absolute}.hud-side-left{left:max(12px, env(safe-area-inset-left));top:max(84px, calc(env(safe-area-inset-top) + 84px));width:clamp(360px,30vw,440px);max-height:calc(var(--drz-vh) - 288px);align-content:start;overflow:auto}.hud-side-right{right:max(12px, env(safe-area-inset-right));width:clamp(230px,21vw,288px);display:none}.hud-bottom{left:50%;bottom:max(8px, env(safe-area-inset-bottom));width:calc(var(--drz-vw) - clamp(16px, 2vw, 32px));pointer-events:none;gap:8px;display:grid;position:absolute;transform:translate(-50%)}.hud-center-readout,.structure-status,.mid-objective,.unit-pool-panel,.command-panel,.tactic-panel,.lane-pressure,.energy-panel,.next-card,.hud-cancel,.card-slot,.battle-card,.battle-deck,.debug-panel,.result-banner{border:1px solid var(--color-border);background:var(--color-panel);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hud-center-readout{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));text-align:left;pointer-events:auto;border-radius:10px;grid-template-columns:auto auto;grid-template-areas:"time pause""phase pause";align-items:center;column-gap:10px;min-width:128px;padding:8px 10px;display:grid;position:absolute}.hud-root.is-hidden,#debug-root.is-hidden{display:none}#debug-root.is-battlefield-focus{display:none!important}.hud-timer{color:#f8f2d2;font-variant-numeric:tabular-nums;grid-area:time;font-size:30px;font-weight:900;line-height:1}.hud-phase{color:var(--color-blue-bright);letter-spacing:0;text-transform:uppercase;grid-area:phase;margin-top:3px;font-size:13px;font-weight:800}.hud-pause{color:#102218;cursor:pointer;background:#f2c94ceb;border:1px solid #f8f2d247;border-radius:7px;grid-area:pause;min-width:64px;min-height:40px;margin-top:0;padding:5px 10px;font-size:13px;font-weight:900;transition-property:scale,background-color,border-color,box-shadow;transition-duration:.14s;transition-timing-function:ease-out}.hud-pause:hover,.hud-pause:focus-visible{box-shadow:var(--shadow-surface-hover);background:#f8f2d2;border-color:#f8f2d2b3}.hud-pause:active{scale:.96}.hud-center-readout.is-urgent{background:#3a1f15e0;border-color:#ff7a2f94}.hud-center-readout.is-urgent .hud-timer{color:var(--color-fire)}.battle-player-info{z-index:1;pointer-events:none;display:none;position:absolute;inset:0}.battle-player-info.is-visible{display:block}.battle-player-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c1912c2;border:1px solid #e7f2d533;border-radius:8px;gap:4px;min-width:196px;max-width:min(270px,50vw - 26px);padding:8px 10px;display:grid;position:absolute;box-shadow:0 10px 22px #05100a3d}.battle-player-card-blue{top:max(82px, calc(env(safe-area-inset-top) + 82px));left:max(12px, env(safe-area-inset-left));border-color:#9fe7ff57}.battle-player-card-red{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));border-color:#ffb06757;justify-items:end}.battle-player-side,.battle-player-id,.battle-player-rating,.battle-player-bot{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:850;line-height:1.2;overflow:hidden}.battle-player-side{color:var(--color-gold)}.battle-player-card strong{color:#f8f2d2;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:950;line-height:1.08;overflow:hidden}.battle-player-card-red .ladder-badge{justify-content:flex-end}.battle-player-rating{color:var(--color-blue-bright)}.battle-player-card-red .battle-player-rating{color:var(--color-red-warm)}.battle-player-bot{color:#102218;background:linear-gradient(90deg, var(--color-red-warm), var(--color-gold));border:1px solid #ffb06752;border-radius:999px;padding:4px 7px;font-size:11px}.hud-runtime-controls{top:max(13px, calc(env(safe-area-inset-top) + 13px));left:calc(max(12px, env(safe-area-inset-left)) + 178px);max-width:min(96vw,880px);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#101a14b3;border:1px solid #f8f2d238;border-radius:10px;align-items:center;gap:8px;padding:5px;display:flex;position:absolute}.hud-control-group{align-items:center;gap:4px;min-width:0;display:flex}.hud-control-label{color:var(--color-muted);white-space:nowrap;padding:0 5px;font-size:10px;font-weight:900;line-height:1}.hud-control-option{color:#f8f2d2;font-variant-numeric:tabular-nums;cursor:pointer;pointer-events:auto;background:#12231bbd;border:1px solid #f8f2d229;border-radius:6px;min-width:36px;height:24px;padding:0 7px;font-size:11px;font-weight:900;line-height:1;transition-property:scale,background-color,border-color,box-shadow,color;transition-duration:.14s;transition-timing-function:ease-out;position:relative}.hud-control-option:after{content:"";border-radius:8px;width:max(100%,40px);height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-scale-value{min-width:48px;height:24px;color:var(--color-blue-bright);font-variant-numeric:tabular-nums;white-space:nowrap;background:#07130c61;border:1px solid #9fe7ff2e;border-radius:6px;place-items:center;padding:0 8px;font-size:11px;font-weight:900;line-height:1;display:grid}.hud-scale-slider{width:clamp(118px,13vw,230px);min-width:86px;accent-color:var(--color-gold);pointer-events:auto}.hud-scale-step{min-width:28px;padding:0 6px;font-size:14px}.hud-control-option:hover,.hud-control-option:focus-visible{color:#fff;box-shadow:var(--shadow-surface-hover);border-color:#9fe7ff8f}.hud-control-option:active:not(:disabled){scale:.96}.hud-control-option.is-selected{color:#102218;background:linear-gradient(135deg,#f2c94cf5,#9fe7ffe6);border-color:#f2c94cb3}.hud-audio-control-group{border-left:1px solid #f8f2d21f;padding-left:4px}.hud-audio-mute{min-width:30px}.hud-audio-slider{width:86px;accent-color:var(--color-gold);cursor:pointer;pointer-events:auto}.hud-audio-slider:disabled{cursor:not-allowed;opacity:.46}.hud-control-option:disabled,.hud-control-option.is-disabled,.hud-control-option.is-disabled:hover,.hud-control-option.is-disabled:focus-visible{color:#f3f8ea6b;cursor:not-allowed;background:#19241ead;border-color:#e7f2d51f}.hud-control-option.is-selected.is-disabled{color:#f8f2d28f;background:#2f392fc7;border-color:#e7f2d533}.hud-root.is-battlefield-large .hud-side{opacity:1;gap:10px;transform:none}.hud-root.is-battlefield-large .hud-side-left{transform-origin:0 0}.hud-root.is-battlefield-large .hud-side-right{transform-origin:100% 0}.hud-root.is-battlefield-focus .hud-side{display:grid}.hud-root.is-battlefield-focus .hud-bottom{width:calc(var(--drz-vw) - clamp(12px, 1.6vw, 28px))}.hud-root.is-battlefield-large .command-panel,.hud-root.is-battlefield-large .tactic-panel,.hud-root.is-battlefield-large .lane-pressure,.hud-root.is-battlefield-large .mid-objective{gap:10px;padding:12px}.hud-root.is-battlefield-large .unit-tech-card,.hud-root.is-battlefield-large .tactic-card{gap:10px;padding:10px}.hud-root.is-battlefield-large .unit-tech-description,.hud-root.is-battlefield-large .tactic-description{display:block}.hud-root.is-battlefield-large .unit-tech-button,.hud-root.is-battlefield-large .tactic-button{min-height:42px;font-size:15px}#debug-root.is-battlefield-focus .debug-panel{display:none!important}#debug-root.is-battlefield-focus .debug-title{margin-bottom:5px;font-size:12px}#debug-root.is-battlefield-focus .debug-grid{gap:3px 8px;font-size:11px;line-height:1.2}#debug-root.is-battlefield-focus .debug-watch{gap:5px;margin-top:6px;padding-top:6px}#debug-root.is-battlefield-focus .debug-watch-title,#debug-root.is-battlefield-focus .debug-unit-row{font-size:10px}.structure-status{border-radius:8px;width:100%;min-width:0;padding:10px}.structure-title{color:#d9f4cf;margin-bottom:8px;font-size:15px;font-weight:900}.structure-node{margin-top:7px}.structure-row{color:var(--color-text);justify-content:space-between;gap:10px;font-size:13px;font-weight:750;line-height:1.25;display:flex}.structure-row span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.structure-value{color:var(--color-gold);font-variant-numeric:tabular-nums}.structure-node.is-critical .structure-value{color:var(--color-fire)}.structure-node.is-critical .structure-fill{background:linear-gradient(90deg, var(--color-red), var(--color-fire))}.structure-node.is-destroyed{opacity:.56}.structure-track{background:#050c08a6;border-radius:999px;height:7px;margin-top:5px;overflow:hidden}.structure-fill{border-radius:inherit;background:linear-gradient(90deg, #2f8cff, var(--color-blue-bright));width:100%;height:100%;display:block}.structure-status-enemy .structure-fill{background:linear-gradient(90deg, var(--color-red), var(--color-red-warm))}.structure-status-enemy .structure-node.is-critical .structure-fill{background:linear-gradient(90deg, var(--color-red), var(--color-fire))}.lane-pressure,.tactic-panel{border-radius:8px;gap:8px;padding:12px;display:grid}.unit-pool-panel{border-radius:8px;gap:8px;padding:10px;display:grid}.command-panel{border-radius:8px;gap:10px;padding:12px;display:grid}.unit-pool-heading,.command-heading,.unit-pool-card,.unit-tech-card{justify-content:space-between;align-items:center;gap:8px;display:flex}.unit-pool-heading span{color:var(--color-gold);font-size:14px;font-weight:900}.unit-pool-heading strong,.command-heading strong{color:var(--color-blue-bright);font-size:12px;font-weight:900}.command-heading span{color:var(--color-gold);font-size:14px;font-weight:900}.unit-pool-controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.unit-pool-toggle{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.unit-pool-toggle-button{min-width:0;min-height:26px;color:var(--color-muted);cursor:pointer;background:#050c0852;border:1px solid #e7f2d524;border-radius:7px;font-size:11px;font-weight:900}.unit-pool-toggle-button.is-active{color:#102218;background:var(--color-gold);border-color:#f2c94c8c}.unit-pool-list,.unit-tech-list{gap:10px;display:grid}.unit-pool-card,.unit-tech-card{background:#050c0842;border:1px solid #e7f2d524;border-radius:7px;min-width:0;padding:10px}.unit-pool-card.is-locked{opacity:.7}.unit-pool-card.is-selected{background:#3f4a2e7a;border-color:#f2c94c9e}.unit-tech-card.is-pending{background:#1d494a5c;border-color:#9fe7ff61}.unit-tech-card.is-researched{opacity:.72}.unit-pool-card-main,.unit-tech-card>div{min-width:0}.unit-pool-card-main strong,.unit-tech-name{color:var(--color-text);font-size:16px;font-weight:900;line-height:1.18}.unit-pool-card-main span,.unit-tech-description{color:var(--color-muted);margin-top:5px;font-size:14px;font-weight:750;line-height:1.26;display:block}.unit-pool-card-meta{flex:none;justify-items:end;gap:3px;display:grid}.unit-pool-card-meta span,.unit-tech-name span{color:var(--color-blue-bright);white-space:nowrap;font-size:13px;font-weight:900}.unit-tech-name{justify-content:space-between;gap:8px;display:flex}.unit-pool-deploy,.unit-tech-button{color:#102218;background:linear-gradient(90deg, var(--color-gold), var(--color-blue-bright));cursor:pointer;border:1px solid #f8f2d23d;border-radius:8px;min-width:74px;min-height:42px;font-size:15px;font-weight:900}.unit-pool-deploy:disabled,.unit-tech-button:disabled{color:#f3f8ea94;cursor:default;background:#1a3628c7}.tactic-heading,.tactic-card{justify-content:space-between;align-items:center;gap:10px;display:flex}.tactic-heading span{color:var(--color-gold);font-size:14px;font-weight:900}.tactic-heading strong{color:var(--color-blue-bright);font-size:12px;font-weight:900}.tactic-card{background:#050c0842;border:1px solid #e7f2d524;border-radius:7px;min-width:0;padding:7px}.tactic-card.is-active{background:#3f4a2e73;border-color:#f2c94c66}.tactic-card.is-pending{background:#1d494a5c;border-color:#9fe7ff61}.tactic-card.is-used{opacity:.68}.tactic-name{color:var(--color-text);justify-content:space-between;gap:8px;font-size:13px;font-weight:900;display:flex}.tactic-name span{color:var(--color-blue-bright);flex:none;font-size:11px}.tactic-description{color:var(--color-muted);margin-top:2px;font-size:11px;font-weight:750;line-height:1.2}.tactic-button{color:#102218;background:linear-gradient(90deg, var(--color-gold), var(--color-blue-bright));cursor:pointer;border:1px solid #f8f2d23d;border-radius:8px;flex:none;min-width:58px;min-height:34px;font-size:13px;font-weight:900}.tactic-button:disabled{color:#f3f8ea94;cursor:default;background:#1a3628c7}.tactic-card.is-active .tactic-button:disabled{color:#102218;background:linear-gradient(90deg, var(--color-gold), #9fe7ffd6)}.mid-objective{border-radius:8px;gap:8px;padding:12px;display:grid}.mid-objective-title{color:var(--color-gold);font-size:14px;font-weight:900}.tutorial-goal{border-bottom:1px solid #e7f2d524;gap:7px;padding-bottom:10px;display:grid}.tutorial-goal.is-complete{border-bottom-color:#9fe7ff4d}.tutorial-goal-heading,.tutorial-goal-step{justify-content:space-between;align-items:center;gap:8px;display:flex}.tutorial-goal-heading span{color:var(--color-gold);font-size:14px;font-weight:900}.tutorial-goal-heading strong{color:var(--color-blue-bright);font-size:12px;font-weight:900}.tutorial-goal.is-complete .tutorial-goal-heading strong{color:#f8f2d2}.tutorial-goal-description,.tutorial-goal-hint{color:#d9f4cf;font-size:12px;font-weight:750;line-height:1.32}.tutorial-goal-hint{color:var(--color-blue-bright)}.tutorial-goal-steps{gap:5px;display:grid}.tutorial-goal-step{color:var(--color-muted);background:#050c083d;border:1px solid #e7f2d51f;border-radius:6px;padding:5px 6px;font-size:12px;font-weight:850;line-height:1.2}.tutorial-goal-step.is-active{color:var(--color-text);background:#3f4a2e73;border-color:#f2c94c6b}.tutorial-goal-step.is-complete{color:#f8f2d2;background:#2f8cff29;border-color:#9fe7ff57}.tutorial-step-mark{min-width:34px;color:var(--color-gold);flex:none;font-size:11px;font-weight:900}.mid-objective-row{gap:5px;display:grid}.mid-objective-row.is-contested{border-left:3px solid var(--color-fire);padding-left:7px}.mid-objective-row.is-capturing{border-left:3px solid var(--color-gold);padding-left:7px}.mid-objective-heading,.mid-objective-note,.mid-objective-meta{color:var(--color-muted);justify-content:space-between;gap:10px;font-size:12px;font-weight:800;display:flex}.mid-objective-heading strong{color:var(--color-text);font-weight:900}.mid-objective-meta{color:var(--color-text);font-size:11px}.mid-objective-track{background:#050c08b8;border-radius:999px;height:8px;overflow:hidden}.mid-objective-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-blue), var(--color-blue-bright));height:100%;display:block}.mid-objective-fill.is-red{background:linear-gradient(90deg, var(--color-red-warm), var(--color-red))}.lane-pressure-title{color:var(--color-gold);font-size:14px;font-weight:900}.lane-pressure-row{gap:5px;display:grid}.lane-pressure-heading,.lane-pressure-count{color:var(--color-muted);justify-content:space-between;gap:10px;font-size:12px;font-weight:800;display:flex}.lane-pressure-heading strong{color:var(--color-text);font-weight:900}.lane-pressure-bar{background:#050c08b8;border-radius:999px;height:8px;position:relative;overflow:hidden}.lane-pressure-fill{max-width:100%;position:absolute;top:0;bottom:0}.lane-pressure-fill-blue{background:linear-gradient(90deg, var(--color-blue), var(--color-blue-bright));left:0}.lane-pressure-fill-red{background:linear-gradient(90deg, var(--color-red-warm), var(--color-red));right:0}.energy-stack{pointer-events:auto;grid-template-columns:max-content minmax(142px,178px) 76px;gap:8px;width:100%;display:grid}.energy-panel{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:max-content;min-width:136px;padding:8px 10px;display:flex}.next-card{color:#d9f4cf;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:7px 9px;font-size:14px;font-weight:900;overflow:hidden}.energy-value{color:#f8f2d2;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;font-weight:900}.energy-rate{color:var(--color-blue-bright);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:help;background:#07130c5c;border:1px solid #9fe7ff3d;border-radius:999px;padding:3px 6px;font-size:12px;font-weight:900;line-height:1}.energy-rate.is-negative{color:#ff9aa4;background:#48090d66;border-color:#ff4d5e70}.energy-rate.is-starved{box-shadow:0 0 0 2px #ff4d5e2e}.energy-rate-tooltip{z-index:90;color:#f8f2d2;pointer-events:none;background:#060e0af5;border:1px solid #f8f2d238;border-radius:8px;padding:10px;display:none;position:fixed;box-shadow:0 18px 50px #00000061}.energy-rate-tooltip.is-visible{gap:9px;display:grid}.energy-rate-tooltip-top,.energy-rate-tooltip-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.energy-rate-tooltip-top span,.energy-rate-tooltip-heading span{color:#f8f2d2a8;font-size:11px;font-weight:900}.energy-rate-tooltip-top strong{color:var(--color-blue-bright);font-variant-numeric:tabular-nums;font-size:18px;font-weight:950}.energy-rate-tooltip-heading strong,.energy-rate-tooltip-list strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:950}.energy-rate-tooltip .is-positive{color:#5ee6a8}.energy-rate-tooltip .is-negative{color:#ff9aa4}.energy-rate-tooltip-section{gap:5px;display:grid}.energy-rate-tooltip-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.energy-rate-tooltip-list li{background:#f8f2d20f;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:4px 6px;display:flex}.energy-rate-tooltip-list span{color:#f8f2d2d6;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:800;overflow:hidden}.energy-rate-tooltip-empty{color:#f8f2d28a;background:#f8f2d20a;border-radius:6px;padding:4px 6px;font-size:12px;font-weight:800}.energy-track{background:#080f0cc2;border-radius:999px;grid-area:track;height:12px;position:relative;overflow:hidden}.energy-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-blue), var(--color-gold));height:100%;transition:width 80ms linear;position:relative;overflow:hidden}.energy-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff6b,#0000);width:46%;animation:1.25s linear infinite energy-flow;position:absolute;inset:0}.energy-pips{grid-area:pips;grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.energy-pips span{background:#e9f5dd2e;border-radius:999px;height:6px}.energy-pips span.is-filled{background:var(--color-gold)}.energy-pips span.is-charging{background:#f2c94c6b;box-shadow:0 0 8px #f2c94c5c}.hud-cancel{color:#f6efe0;cursor:pointer;border-radius:8px;width:100%;min-height:38px;font-size:15px;font-weight:900}@keyframes energy-flow{0%{transform:translate(-110%)}to{transform:translate(250%)}}.card-hand{pointer-events:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.battle-deck{pointer-events:auto;background:linear-gradient(90deg,#f2c94c1a,#0000 38%,#9fe7ff14),#12231be6;border-color:#f8f2d247;border-radius:12px;gap:clamp(7px,.9vh,10px);padding:clamp(8px,.9vh,11px);transition-property:box-shadow;transition-duration:.16s;transition-timing-function:ease-out;display:grid;container-type:inline-size}.battle-deck-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.battle-deck-heading span{color:var(--color-gold);font-size:14px;font-weight:900}.battle-deck-heading strong{color:var(--color-blue-bright);font-size:12px;font-weight:900}.battle-deck-list{overscroll-behavior-x:contain;scrollbar-color:#f2c94cc7 #050c0875;scrollbar-gutter:stable;scrollbar-width:auto;touch-action:pan-x;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;grid-template-columns:minmax(clamp(420px,43vw,720px),1.85fr) minmax(clamp(250px,24vw,420px),1fr) minmax(clamp(112px,10vw,178px),.46fr) minmax(clamp(112px,10vw,178px),.46fr);align-items:stretch;gap:clamp(7px,.75vw,12px);padding-bottom:6px;display:grid;overflow-x:auto}.battle-deck-category{gap:5px;min-width:0;display:grid}.battle-deck-category-heading{color:#f8f2d2;background:#050c0861;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-height:18px;padding:4px 7px;font-size:clamp(11px,.72cqi + .18vw,15px);font-weight:900;line-height:1;display:flex;box-shadow:inset 3px 0 #f2c94c9e}.battle-deck-category-heading strong{color:#102218;background:var(--color-blue-bright);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:24px;padding:2px 6px;font-size:clamp(10px,.58cqi + .14vw,13px);font-weight:900}.battle-deck-category-grid{grid-template-rows:repeat(2,clamp(74px,8.1vh,86px));grid-auto-columns:minmax(clamp(78px,7.6vw,116px),1fr);grid-auto-flow:column;gap:clamp(5px,.55vw,8px);display:grid}.battle-deck-list.is-dragging{cursor:grabbing}.battle-deck-list::-webkit-scrollbar{height:12px}.battle-deck-list::-webkit-scrollbar-track{background:#050c0875;border-radius:999px}.battle-deck-list::-webkit-scrollbar-thumb{background:linear-gradient(90deg, var(--color-gold), var(--color-blue-bright));border:2px solid #050c0875;border-radius:999px}.card-slot,.battle-card{min-width:0;min-height:88px;color:var(--color-text);cursor:pointer;touch-action:pan-x;background:linear-gradient(135deg,#f8f2d214,#0000 48%),#0f2018e6;border-radius:8px;grid-template-rows:auto 1fr auto;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:5px;padding:8px;transition-property:scale,background-color,border-color,box-shadow,opacity,filter;transition-duration:.14s;transition-timing-function:ease-out;display:grid;position:relative}.card-slot:before,.battle-card:before{content:"";pointer-events:none;background:#9fe7ff61;border-radius:8px 0 0 8px;width:4px;position:absolute;inset:0 auto 0 0}.battle-deck .battle-card{border-radius:7px;grid-template-rows:minmax(20px,auto) minmax(0,1fr);grid-template-columns:clamp(34px,3.7vh,42px) minmax(0,1fr);align-items:start;gap:3px clamp(5px,.5vw,8px);min-height:clamp(74px,8.1vh,86px);max-height:clamp(74px,8.1vh,86px);padding:clamp(5px,.65vh,7px);overflow:hidden}.card-slot:hover,.card-slot:focus-visible,.battle-card:hover,.battle-card:focus-visible{box-shadow:var(--shadow-surface-hover);border-color:#9fe7ff80}.card-slot:active,.battle-card:active{scale:.96}.card-slot.is-selected,.battle-card.is-selected{border-color:var(--color-gold);background:linear-gradient(135deg,#f2c94c40,#9fe7ff1a),#3f4a2ef5;box-shadow:0 0 0 2px #f2c94c57,0 12px 28px #05100a57}.card-slot.is-selected:before,.battle-card.is-selected:before{background:var(--color-gold)}.card-slot.is-unaffordable,.battle-card.is-unaffordable{opacity:.62}.battle-card.is-locked{opacity:.72;filter:grayscale(.95)}.battle-card.is-locked:after{content:"";border-radius:inherit;pointer-events:none;background:#080e0a61;position:absolute;inset:0}.battle-card.is-locked.is-selected{border-color:#9fe7ff8a;box-shadow:0 0 0 2px #9fe7ff2e}.battle-card.is-cooling-down{border-color:#f2c94c6b}.battle-card.is-cooling-down:before{background:var(--color-fire)}.card-slot.is-unaffordable .card-cost,.battle-card.is-unaffordable .card-cost{background:#6f7d69}.card-economy-row{z-index:3;grid-area:1/1/auto/span 2;justify-self:start;align-items:flex-start;gap:3px;max-width:calc(100% - 42px);display:flex}.card-cost{width:28px;height:28px;color:var(--color-page);background:linear-gradient(180deg, #fff0a8, var(--color-gold));border-radius:50%;grid-area:1/1;place-items:center;font-size:16px;font-weight:900;display:grid;box-shadow:0 0 0 1px #050c0847,0 5px 12px #0000002e}.battle-deck .card-cost{font-variant-numeric:tabular-nums;z-index:2;border-radius:6px;place-self:start;width:max-content;min-width:34px;height:21px;padding:0 6px;font-size:clamp(10px,.5cqi + .18vw,13px);line-height:1}.card-supply-impact{color:#fff8df;font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;min-width:20px;height:21px;padding:0 5px;font-size:clamp(10px,.5cqi + .18vw,13px);font-weight:950;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #f8f2d238}.card-supply-impact.is-negative{background:#9b252b}.card-supply-impact.is-positive{color:#102218;background:#5ee6a8}.card-art{outline-offset:-1px;background:#07130c8a;border:1px solid #f8f2d23d;border-radius:8px;outline:1px solid #ffffff1a;grid-area:2/1/span 2;align-self:end;place-items:center;width:46px;height:46px;display:grid;overflow:hidden;box-shadow:0 8px 18px #00000029,inset 0 0 0 1px #07130c85}.battle-deck .card-art{z-index:1;border-radius:6px;grid-row:2;align-self:end;width:clamp(34px,3.7vh,42px);height:clamp(34px,3.7vh,42px)}.card-art-strip{background-position:0;background-repeat:no-repeat;background-size:auto 100%}.card-art-image{background:#07130c9e}.card-art img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.card-art-air{border-color:#9fe7ff57}.card-art-building{border-color:#f2c94c57}.card-art-support{border-color:#f8f2d261}.card-art-armor{border-color:#ffb0676b}.card-art-skill{border-color:#ffb06761}.card-name{overflow-wrap:anywhere;text-wrap:balance;grid-area:2/2;align-self:end;min-width:0;font-size:16px;font-weight:900;line-height:1.15}.battle-deck .card-name{-webkit-line-clamp:1;z-index:1;-webkit-box-orient:vertical;grid-row:1;align-self:start;padding-right:24px;font-size:clamp(11px,.72cqi + .28vw,17px);line-height:1.12;display:-webkit-box;overflow:hidden}.card-role{overflow-wrap:anywhere;min-width:0;color:var(--color-muted);text-wrap:pretty;grid-area:3/2;font-size:12px;font-weight:750;line-height:1.2}.battle-deck .card-role{-webkit-line-clamp:2;z-index:1;-webkit-box-orient:vertical;grid-row:2;align-self:start;font-size:clamp(9px,.52cqi + .18vw,13px);line-height:1.18;display:-webkit-box;overflow:hidden}.battle-card-type{color:var(--color-blue-bright);font-size:11px;font-weight:900;position:absolute;top:8px;right:8px}.battle-deck .battle-card-type{z-index:2;font-size:clamp(8px,.42cqi + .12vw,11px);top:5px;right:5px}.battle-card-cooldown{color:#102218;background:#f2c94ceb;border-radius:999px;padding:2px 5px;font-size:10px;font-weight:900;line-height:1;position:absolute;top:38px;right:8px}.battle-card-lock{z-index:3;color:#f8f2d2;background:#101a14e6;border-radius:999px;padding:2px 4px;font-size:8px;font-weight:900;line-height:1;position:absolute;bottom:5px;right:5px}.battle-card-tooltip{z-index:80;color:#f8f2d2;box-shadow:var(--shadow-tooltip);opacity:0;pointer-events:none;visibility:hidden;background:linear-gradient(90deg,#f2c94c14,#0000 42%,#9fe7ff14),linear-gradient(#1d3023fa,#09110dfa),#09110df5;border:1px solid #f8f2d22e;border-radius:12px;gap:10px;padding:14px 15px;transition-property:opacity,transform;transition-duration:.12s;transition-timing-function:ease-out;display:grid;position:fixed;top:0;left:0;transform:translateY(2px)}.battle-card-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.battle-card-tooltip-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.battle-card-tooltip-top span,.battle-card-tooltip-top strong{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900;line-height:1}.battle-card-tooltip-top span{color:var(--color-blue-bright);background:#9fe7ff1f}.battle-card-tooltip-top strong{color:#102218;background:var(--color-gold)}.battle-card-tooltip-name{overflow-wrap:anywhere;color:#fff7dd;text-wrap:balance;font-size:20px;font-weight:900;line-height:1.15}.battle-card-tooltip-role{color:#d9f4cf;text-wrap:pretty;font-size:15px;font-weight:750;line-height:1.34}.battle-card-tooltip-grid{border-top:1px solid #f8f2d21f;grid-template-columns:48px minmax(0,1fr);gap:6px 10px;padding-top:9px;font-size:13px;line-height:1.24;display:grid}.battle-card-tooltip-grid span{color:var(--color-muted);font-weight:850}.battle-card-tooltip-grid strong{color:#f8f2d2;font-variant-numeric:tabular-nums;font-weight:900}.battle-card-tooltip.is-locked .battle-card-tooltip-grid strong:first-of-type,.battle-card-tooltip.is-unaffordable .battle-card-tooltip-grid strong:first-of-type,.battle-card-tooltip.is-cooling-down .battle-card-tooltip-grid strong:first-of-type{color:var(--color-gold)}.battle-card-tooltip-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.battle-card-tooltip-stat{background:#07120c85;border:1px solid #9fe7ff2e;border-radius:7px;min-width:0;padding:7px}.battle-card-tooltip-stat span{color:var(--color-muted);font-size:11px;font-weight:850;line-height:1.1;display:block}.battle-card-tooltip-stat strong{color:#f8f2d2;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:15px;font-weight:950;line-height:1.05;display:block;overflow:hidden}.battle-card-tooltip-accuracy,.battle-card-tooltip-ai{border-top:1px solid #f8f2d21f;gap:7px;padding-top:8px;display:grid}.battle-card-tooltip-section-heading{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.battle-card-tooltip-section-heading span{color:var(--color-gold);font-size:13px;font-weight:950;line-height:1}.battle-card-tooltip-section-heading strong{min-width:0;color:var(--color-blue-bright);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;line-height:1;overflow:hidden}.accuracy-sparkline{width:100%;height:46px;display:block;overflow:visible}.accuracy-sparkline-grid{stroke:#f8f2d21f;stroke-width:1px}.accuracy-sparkline-disabled{fill:#ff4d5e21}.accuracy-sparkline-line{fill:none;stroke:var(--color-gold);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.accuracy-sparkline-dot{fill:#fff7dd;stroke:#07120cdb;stroke-width:1.25px}.accuracy-sparkline-labels{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.accuracy-sparkline-labels span{min-width:0;color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:850;line-height:1.1;overflow:hidden}.battle-card-tooltip-ai ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.battle-card-tooltip-ai li{color:#d9f4cf;text-wrap:pretty;font-size:13px;font-weight:760;line-height:1.34}.test-unit-glyph{color:#fff8df;text-shadow:0 2px #0a120db8;place-items:center;width:100%;height:100%;font-size:28px;font-weight:800;display:grid}.debug-panel{top:max(264px, calc(env(safe-area-inset-top) + 264px));right:max(12px, env(safe-area-inset-right));z-index:3;width:clamp(230px,21vw,288px);max-height:calc(var(--drz-vh) - 430px);pointer-events:none;border-radius:8px;min-height:150px;padding:12px;position:absolute;overflow:auto}.debug-title{color:var(--color-gold);margin-bottom:8px;font-size:14px;font-weight:900}.debug-grid{grid-template-columns:auto minmax(0,1fr);gap:5px 12px;font-size:13px;line-height:1.3;display:grid}.debug-grid span{color:#9fb8a5}.debug-grid strong{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.debug-watch{border-top:1px solid #e7f2d524;gap:8px;margin-top:10px;padding-top:10px;display:grid}.debug-watch-title{color:var(--color-gold);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.debug-unit-row{min-width:0;color:var(--color-muted);gap:3px;font-size:12px;line-height:1.25;display:grid}.debug-unit-row strong,.debug-unit-row span{text-overflow:ellipsis;overflow-wrap:anywhere;white-space:normal;min-width:0;overflow:hidden}.debug-unit-row strong{color:var(--color-text);font-size:13px}.result-banner{z-index:4;color:#f8f2d2;text-align:center;pointer-events:none;border-radius:8px;min-width:280px;padding:16px 20px;display:none;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.result-banner.is-visible{display:block}.result-title{font-size:34px;font-weight:900;line-height:1}.result-line{color:#d9f4cf;text-align:left;grid-template-columns:1fr auto 1fr auto;gap:8px;margin-top:10px;font-size:13px;font-weight:850;display:grid}.result-line strong{color:var(--color-gold);font-variant-numeric:tabular-nums}.shell-root{z-index:5;pointer-events:none;position:absolute;inset:0}.shell-root.is-menu{background:linear-gradient(90deg,#07120cd1,#07120c2e 46%,#07120cc7),linear-gradient(#0d22168a,#0d2216d6)}.account-gate,.main-menu,.pause-overlay,.battle-result-overlay,.profile-overlay,.leaderboard-overlay,.rules-overlay{max-height:var(--drz-vh);overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;display:none;position:absolute;inset:0;overflow-y:auto}.account-gate.is-visible,.main-menu.is-visible,.pause-overlay.is-visible,.battle-result-overlay.is-visible,.profile-overlay.is-visible,.leaderboard-overlay.is-visible,.rules-overlay.is-visible{display:grid}.account-gate{place-items:center;padding:clamp(18px,5vw,64px)}.main-menu{place-items:center start;padding:clamp(18px,5vw,64px)}.account-gate-panel,.main-menu-panel,.pause-panel,.battle-result-panel,.profile-panel,.leaderboard-panel,.difficulty-panel,.rules-panel{max-width:100%;max-height:calc(var(--drz-vh) - 32px);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#12231beb;border:1px solid #e7f2d53d;border-radius:12px;overflow:auto}.account-gate-panel{width:min(420px, calc(var(--drz-vw) - 32px));gap:12px;padding:clamp(20px,4vw,32px);display:grid}.account-gate-kicker,.profile-heading span{color:var(--color-gold);font-size:13px;font-weight:900}.account-gate-panel h1{color:#f8f2d2;letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(34px,5vw,52px);font-weight:950;line-height:.96}.account-gate-panel p{color:var(--color-muted);text-wrap:pretty;margin:0;font-size:14px;font-weight:800;line-height:1.35}.account-auth-tabs{background:#182d1fb8;border:1px solid #9fe7ff2e;border-radius:8px;align-items:center;gap:8px;margin-top:4px;padding:4px;display:flex}.account-status{color:#ffb067;min-height:18px;font-size:12px;font-weight:850}.main-menu-panel{width:min(420px, calc(var(--drz-vw) - 32px));padding:clamp(18px,4vw,30px)}.main-menu-kicker{color:var(--color-gold);font-size:13px;font-weight:900}.main-menu h1,.pause-panel h2,.rules-panel h2{color:#f8f2d2;letter-spacing:0;text-wrap:balance;margin:8px 0 0;font-weight:900}.main-menu h1{font-size:clamp(32px,5vw,52px);line-height:.96}.main-menu-version{color:#9fe7ff;font-variant-numeric:tabular-nums;background:#09160f8f;border:1px solid #9fe7ff42;border-radius:8px;width:fit-content;margin-top:8px;padding:3px 8px;font-size:12px;font-weight:900;line-height:1.2}.main-menu-account{background:linear-gradient(90deg,#f2c94c1f,#0000 55%),#09160fc2;border:1px solid #f2c94c57;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px;display:flex;box-shadow:0 0 0 1px #ffffff0f}.main-menu-account span,.main-menu-account-stats span{color:var(--color-muted);font-size:12px;font-weight:850}.main-menu-account strong{color:#f8f2d2;overflow-wrap:anywhere;margin-top:4px;font-size:21px;font-weight:950;line-height:1.05;display:block}.main-menu-account-stats{justify-items:end;gap:5px;display:grid}.main-menu-account-stats span{color:#102218;background:linear-gradient(90deg, var(--color-gold), var(--color-blue-bright));font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 7px}.main-menu-account-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.ladder-badge{color:#f8f2d2;vertical-align:middle;align-items:center;gap:6px;max-width:100%;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.ladder-badge-mark{background:linear-gradient(135deg,#667950f0,#17271df5);border:1px solid #f8f2d28a;border-radius:5px;flex:none;place-items:center;width:24px;height:24px;display:grid;position:relative;transform:rotate(45deg);box-shadow:inset 0 0 0 2px #050c0838}.ladder-badge-mark:before,.ladder-badge-mark:after{content:"";background:#f8f2d2a3;position:absolute}.ladder-badge-mark:before{width:11px;height:2px}.ladder-badge-mark:after{width:2px;height:11px}.ladder-badge-mark span{z-index:1;color:#102218;font-size:8px;font-weight:1000;line-height:1;position:relative;transform:rotate(-45deg)}.ladder-badge-copy{color:#f8f2d2;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ladder-badge-compact{gap:5px;font-size:11px}.ladder-badge-compact .ladder-badge-mark{width:20px;height:20px}.ladder-badge-compact .ladder-badge-mark span{font-size:7px}.ladder-badge-penalty .ladder-badge-mark{background:linear-gradient(135deg,#654f46f0,#221714f5)}.ladder-badge-civilian .ladder-badge-mark{background:linear-gradient(135deg,#708a55f5,#192e1ff5)}.ladder-badge-enlisted .ladder-badge-mark,.ladder-badge-nco .ladder-badge-mark{background:linear-gradient(135deg,#9fe7ffeb,#26535df5)}.ladder-badge-officer .ladder-badge-mark{background:linear-gradient(135deg,#f2c94cf5,#5c461cf5)}.ladder-badge-general .ladder-badge-mark,.ladder-badge-marshal .ladder-badge-mark{background:linear-gradient(135deg,#ffb067f5,#602b18f5)}.main-menu-account-stats .ladder-badge{justify-content:flex-end}.bot-difficulty-panel{gap:9px;margin-top:18px;display:grid}.difficulty-modal{z-index:2;max-height:var(--drz-vh);overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:#040c088a;place-items:center;padding:18px;display:grid;position:absolute;inset:0;overflow-y:auto}.difficulty-panel{width:min(560px, calc(var(--drz-vw) - 32px));gap:14px;padding:clamp(18px,3vw,24px);display:grid}.difficulty-heading,.difficulty-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.difficulty-heading span{color:var(--color-gold);font-size:13px;font-weight:900}.difficulty-heading strong{color:#f8f2d2;margin-top:4px;font-size:26px;font-weight:950;line-height:1;display:block}.difficulty-actions{justify-content:end}.bot-difficulty-heading{color:var(--color-muted);justify-content:space-between;gap:10px;font-size:12px;font-weight:850;display:flex}.bot-difficulty-heading span{color:#f8f2d2}.bot-difficulty-heading strong{color:var(--color-gold)}.bot-difficulty-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bot-difficulty-option{min-height:78px;color:var(--color-text);text-align:left;cursor:pointer;background:#0c1b13b3;border:1px solid #f8f2d22e;border-radius:8px;gap:4px;padding:9px;transition-property:scale,background-color,border-color,box-shadow;transition-duration:.14s;transition-timing-function:ease-out;display:grid}.bot-difficulty-option span{color:#f8f2d2;font-size:15px;font-weight:900}.bot-difficulty-option strong{color:var(--color-muted);font-size:11px;font-weight:750;line-height:1.3}.bot-difficulty-option:hover,.bot-difficulty-option:focus-visible,.bot-difficulty-option.is-selected{box-shadow:var(--shadow-surface-hover);background:#234836eb;border-color:#f2c94cb8}.bot-difficulty-option:active{scale:.96}.bot-difficulty-option.is-selected span{color:var(--color-gold)}.main-menu-actions,.pause-actions,.battle-result-actions{gap:10px;margin-top:22px;display:grid}.shell-button{min-height:44px;color:var(--color-text);cursor:pointer;text-wrap:balance;background:linear-gradient(#f8f2d214,#f8f2d200),#1a3628f5;border:1px solid #f8f2d238;border-radius:8px;padding:0 14px;font-size:16px;font-weight:900;transition-property:scale,background-color,border-color,box-shadow,color;transition-duration:.14s;transition-timing-function:ease-out}.shell-link-button{place-items:center;text-decoration:none;display:grid}.shell-button:hover,.shell-button:focus-visible{box-shadow:var(--shadow-surface-hover);background:#234836f5;border-color:#9fe7ffb8}.shell-button:focus-visible{outline-offset:2px;outline:2px solid #9fe7ff7a}.shell-button:active:not(:disabled){scale:.96}.shell-button:disabled{opacity:.56;cursor:not-allowed}.shell-button-primary{color:#102218;background:linear-gradient(90deg, #fff0a8, var(--color-gold) 44%, var(--color-blue-bright));box-shadow:0 0 0 1px #050c0838,0 10px 22px #00000038}.shell-button-primary:hover,.shell-button-primary:focus-visible{background:linear-gradient(90deg, #f8f2d2, var(--color-blue-bright))}.shell-button-subtle{color:#d9f4cf;background:#0b1811e0}.main-menu-status{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.main-menu-status span{color:#d9f4cf;background:#09160f9e;border:1px solid #9fe7ff47;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:850}.multiplayer-panel{z-index:7;pointer-events:none;justify-content:center;align-items:center;padding:28px;display:none;position:absolute;inset:0}.multiplayer-panel.is-visible{pointer-events:auto;display:flex}.multiplayer-shell{width:min(460px, calc(var(--drz-vw) - 32px));max-height:calc(var(--drz-vh) - 48px);background:#0e1611f0;border:1px solid #d8c28b5c;border-radius:8px;padding:18px;overflow:auto;box-shadow:0 20px 70px #0000006b}.multiplayer-shell-wide{width:min(1060px, calc(var(--drz-vw) - 32px))}.multiplayer-shell-ladder{overflow:hidden}.multiplayer-heading,.multiplayer-lobby-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.multiplayer-heading span,.multiplayer-seat-summary{color:var(--color-gold);font-size:12px;font-weight:850}.multiplayer-heading strong{color:#f8f2d2;margin-top:4px;font-size:22px;line-height:1.05;display:block}.multiplayer-heading strong .ladder-badge{margin-left:4px}.multiplayer-heading-actions,.multiplayer-seat-actions,.multiplayer-auth-tabs{align-items:center;gap:8px;display:flex}.multiplayer-auth-tabs{background:#182d1fb8;border:1px solid #9fe7ff2e;border-radius:8px;margin:18px 0 14px;padding:4px}.multiplayer-tab{color:#f8f2d2b8;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:9px 10px;font-weight:900}.multiplayer-tab.is-active{color:#f8f2d2;background:#9fe7ff29}.multiplayer-mode-tabs{background:#09140e9e;border:1px solid #9fe7ff2e;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;padding:4px;display:grid}.multiplayer-mode-tab{color:#f8f2d2bd;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:38px;font-weight:950}.multiplayer-mode-tab.is-active{color:#102218;background:linear-gradient(#f2c94c,#cda43a);box-shadow:inset 0 0 0 1px #f8f2d259}.multiplayer-auth-form{gap:12px;display:grid}.multiplayer-auth-form label{color:#f8f2d2d1;gap:6px;font-size:12px;font-weight:800;display:grid}.multiplayer-auth-form input{box-sizing:border-box;color:#f8f2d2;width:100%;font:inherit;background:#080f0be0;border:1px solid #d8c28b57;border-radius:6px;outline:none;padding:10px 11px}.multiplayer-auth-form input:focus{border-color:#9fe7ffcc;box-shadow:0 0 0 2px #9fe7ff1f}.multiplayer-lobby-toolbar{background:#13251cad;border:1px solid #9fe7ff29;border-radius:8px;margin:16px 0;padding:10px}.multiplayer-table-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.multiplayer-table{background:#141e17d1;border:1px solid #d8c28b3d;border-radius:8px;min-height:142px;padding:10px}.multiplayer-table-title{color:#f8f2d2d1;text-align:center;font-size:12px;font-weight:900}.multiplayer-table-stage{grid-template-columns:1fr 58px 1fr;align-items:center;gap:8px;margin-top:12px;display:grid}.multiplayer-table-surface{color:#f8f2d2;background:linear-gradient(135deg,#50412bf5,#222d22eb);border:2px solid #d8c28b8c;border-radius:50%;place-items:center;height:66px;font-weight:1000;display:grid}.multiplayer-seat{color:#f8f2d2;cursor:pointer;text-align:center;background:#080f0bb8;border:1px solid #9fe7ff42;border-radius:8px;align-content:center;gap:3px;min-width:0;height:86px;padding:7px;display:grid}.multiplayer-seat-right{border-color:#ffb06747}.multiplayer-seat span,.multiplayer-seat small,.multiplayer-seat em{overflow-wrap:anywhere;color:#f8f2d2a8;font-size:10px;font-style:normal}.multiplayer-seat small{color:var(--color-blue-bright);font-weight:850}.multiplayer-seat small .ladder-badge{justify-content:center;max-width:100%}.multiplayer-seat strong{overflow-wrap:anywhere;font-size:12px;line-height:1.15}.multiplayer-seat:not(:disabled):hover,.multiplayer-seat.is-mine{background:#344023e6;border-color:#f2c94ce0}.multiplayer-seat.is-occupied:not(.is-mine){cursor:not-allowed;opacity:.78}.multiplayer-status{color:#f8f2d2bd;min-height:20px;margin-top:12px;font-size:12px;font-weight:800}.multiplayer-status.is-warning{color:#ffb067}.multiplayer-status.is-muted{color:#f8f2d294}.multiplayer-ladder-queue{background:linear-gradient(135deg,#102218f5,#0d1211f0),#0c1611f0;border:1px solid #9fe7ff2e;border-radius:8px;gap:14px;padding:14px;display:grid}.multiplayer-shell-tournament{overflow:auto}.tournament-layout{gap:12px;display:grid}.tournament-panel{background:#0b1711c2;border:1px solid #9fe7ff29;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.tournament-gm-panel{background:linear-gradient(135deg,#30270e94,#0a1812c7);border-color:#f8d55c57}.tournament-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.tournament-panel-heading span,.tournament-summary-grid span,.tournament-participant span,.tournament-history-entry span{color:var(--color-gold);font-size:12px;font-weight:900}.tournament-panel-heading strong{overflow-wrap:anywhere;color:#f8f2d2;min-width:0;font-size:18px;line-height:1.08}.tournament-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tournament-summary-grid>div,.profile-tournament-badges>div{background:#07100c94;border:1px solid #f8f2d21f;border-radius:8px;min-width:0;padding:9px}.tournament-summary-grid strong,.profile-tournament-badges strong{color:#f8f2d2;overflow-wrap:anywhere;margin-top:4px;font-size:16px;font-weight:950;display:block}.tournament-actions,.tournament-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tournament-create-form{grid-template-columns:minmax(0,1.2fr) minmax(180px,1fr) minmax(180px,1fr) max-content;align-items:end;gap:8px;display:grid}.tournament-create-form label{color:#f8f2d2c2;gap:5px;min-width:0;font-size:12px;font-weight:850;display:grid}.tournament-create-form input{color:#f8f2d2;width:100%;min-width:0;font:inherit;background:#080f0be0;border:1px solid #d8c28b57;border-radius:6px;padding:9px 10px}.tournament-participants{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tournament-participant{background:#07100c85;border:1px solid #f8f2d21f;border-radius:8px;gap:4px;min-width:0;padding:8px;display:grid}.tournament-participant.is-self{border-color:#f2c94c85}.tournament-participant strong,.tournament-history-entry strong{overflow-wrap:anywhere;color:#f8f2d2;min-width:0;font-weight:950}.tournament-participant em{color:#f8f2d2ad;font-size:11px;font-style:normal;font-weight:850}.tournament-my-match{border-color:#f2c94c52}.tournament-scoreline{color:var(--color-blue-bright);font-size:28px;font-weight:1000;line-height:1}.tournament-game-line{color:#f8f2d2c2;grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);align-items:center;gap:10px;font-size:12px;font-weight:850;display:grid}.tournament-game-line strong{color:var(--color-gold)}.tournament-bracket{grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.tournament-round{align-content:start;gap:8px;min-width:0;display:grid}.tournament-round-title{color:var(--color-gold);font-size:12px;font-weight:950}.tournament-bracket-match{background:#07100c8f;border:1px solid #f8f2d21f;border-radius:8px;gap:7px;min-width:0;padding:9px;display:grid}.tournament-bracket-match.is-completed{border-color:#5ee6a83d}.tournament-bracket-top,.tournament-bracket-players{gap:5px;display:grid}.tournament-bracket-top{color:#f8f2d2ad;grid-template-columns:minmax(0,1fr) max-content;font-size:11px;font-weight:850}.tournament-bracket-top span,.tournament-bracket-players div{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tournament-bracket-top strong{color:#f8f2d2}.tournament-bracket-players div{color:#f8f2d2c2;background:#f8f2d20d;border-radius:6px;padding:5px 7px;font-size:12px;font-weight:900}.tournament-bracket-players .is-winner{color:#102218;background:#f2c94ce0}.tournament-games{flex-wrap:wrap;gap:5px;display:flex}.tournament-game-chip{color:#f8f2d2c7;background:#9fe7ff1a;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:900}.tournament-game-chip.is-completed{color:#102218;background:#5ee6a8db}.tournament-history-list,.profile-tournament-history{gap:7px;display:grid}.tournament-history-entry{background:#f8f2d20d;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.tournament-empty{color:#f8f2d29e;font-size:12px;font-weight:850}.ladder-queue-brief{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.ladder-queue-brief span,.ladder-queue-stats span,.ladder-loading-copy span,.ladder-combatant-copy span{color:var(--color-gold);font-size:12px;font-weight:900}.ladder-queue-brief strong{overflow-wrap:anywhere;color:#f8f2d2;min-width:0;margin-top:4px;font-size:22px;line-height:1.08;display:block}.ladder-queue-pulse{background:radial-gradient(circle,#9fe7ff42 0 24%,#0000 26%),conic-gradient(#f2c94ceb,#9fe7ff2e,#f2c94ceb);border:2px solid #9fe7ff6b;border-radius:50%;flex:none;width:48px;height:48px;animation:1.2s linear infinite ladder-pulse}.multiplayer-ladder-queue:not(.is-searching) .ladder-queue-pulse{opacity:.48;animation-play-state:paused}.ladder-queue-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ladder-queue-stats>div{background:#07100c9e;border:1px solid #f8f2d21f;border-radius:8px;min-width:0;padding:10px}.ladder-queue-stats strong{color:#f8f2d2;font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:1000;line-height:1;display:block}.ladder-queue-stats .ladder-badge{margin-top:4px}.ladder-queue-actions{justify-content:flex-end;gap:8px;display:flex}.multiplayer-ladder-loading{background:linear-gradient(90deg,#4bafd829,#0000 34% 66%,#ff4d5e26),#09100df5;border:1px solid #f2c94c47;border-radius:8px;padding:18px;position:relative;overflow:hidden;box-shadow:inset 0 0 36px #f2c94c14,0 20px 60px #0000006b}.multiplayer-ladder-loading:before{content:"";animation:ladder-sweep var(--ladder-loading-duration,3.8s) ease-in-out forwards;pointer-events:none;background:linear-gradient(90deg,#0000,#9fe7ff2e,#0000);position:absolute;inset:0}.ladder-loading-grid{z-index:1;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:center;gap:14px;display:grid;position:relative}.ladder-combatant{background:#0a1610db;border:1px solid #9fe7ff38;border-radius:8px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px;animation:.42s ease-out both ladder-slide-blue;display:grid}.ladder-combatant-red{border-color:#ffb06742;animation-name:ladder-slide-red}.ladder-combatant.is-local{box-shadow:inset 0 0 0 1px #f2c94c6b}.ladder-combatant-avatar{color:#102218;background:linear-gradient(#f2c94c,#9fe7ff);border:2px solid #f8f2d247;border-radius:50%;place-items:center;width:56px;height:56px;font-size:24px;font-weight:1000;display:grid}.ladder-combatant-copy,.ladder-combatant-stats{min-width:0}.ladder-combatant-copy strong{color:#f8f2d2;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:20px;font-weight:1000;line-height:1.05;display:block;overflow:hidden}.ladder-combatant-copy em,.ladder-combatant-stats>span{color:#f8f2d29e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-style:normal;font-weight:850;display:block;overflow:hidden}.ladder-combatant-stats{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;display:flex}.ladder-loading-center{border-inline:1px solid #f2c94c2e;place-items:center;min-height:156px;display:grid;position:relative}.ladder-loading-center strong{color:#f8f2d2;background:#09100dd6;border:2px solid #f2c94cb8;border-radius:50%;place-items:center;width:92px;height:92px;font-size:34px;font-weight:1000;line-height:1;animation:.82s ease-in-out infinite alternate ladder-vs-pulse;display:grid;box-shadow:0 0 24px #f2c94c2e}.ladder-loading-center span,.ladder-loading-center em{color:#f8f2d2c7;font-variant-numeric:tabular-nums;margin-top:8px;font-size:11px;font-style:normal;font-weight:900}.ladder-loading-center em{color:var(--color-gold);margin-top:2px}.ladder-loading-scan{background:#9fe7ffb8;width:2px;animation:.72s ease-in-out infinite alternate ladder-scan-line;position:absolute;inset:16px 50%;box-shadow:0 0 18px #9fe7ffb8}.ladder-loading-copy{z-index:1;border-top:1px solid #f8f2d21f;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex;position:relative}.ladder-loading-copy strong{color:#f8f2d2;font-size:14px;font-weight:950}@keyframes ladder-pulse{to{transform:rotate(360deg)}}@keyframes ladder-sweep{0%{transform:translate(-105%)}to{transform:translate(105%)}}@keyframes ladder-slide-blue{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes ladder-slide-red{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes ladder-vs-pulse{0%{transform:scale(.96)}to{transform:scale(1.04)}}@keyframes ladder-scan-line{0%{transform:translate(-22px)}to{transform:translate(22px)}}.shell-quick-actions{top:max(14px, env(safe-area-inset-top));pointer-events:auto;background:#0c1b13e6;border:1px solid #f8f2d23d;border-radius:8px;grid-template-columns:repeat(5,minmax(92px,auto));gap:8px;padding:8px;display:none;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #05100a61}.shell-quick-actions.is-visible{display:grid}.shell-quick-button{min-height:38px;color:var(--color-text);white-space:nowrap;cursor:pointer;background:#1a3628f5;border:1px solid #f8f2d238;border-radius:8px;place-items:center;padding:7px 12px;font-size:14px;font-weight:900;text-decoration:none;display:grid}.shell-quick-primary{color:#102218;background:linear-gradient(90deg, var(--color-gold), var(--color-blue-bright))}.pause-overlay{background:#06100a7a;place-items:center}.pause-panel{width:min(340px, calc(var(--drz-vw) - 32px));text-align:center;padding:22px}.pause-panel h2{font-size:34px;line-height:1}.battle-result-overlay{background:linear-gradient(#07120c33,#07120cc7),#06100a7a;place-items:center;padding:clamp(16px,4vw,48px)}.battle-result-panel{width:min(460px, calc(var(--drz-vw) - 32px));text-align:center;gap:12px;padding:clamp(22px,4vw,34px);display:grid}.battle-result-kicker{color:var(--color-gold);font-size:12px;font-weight:900}.battle-result-panel h2{color:#f8f2d2;letter-spacing:0;margin:0;font-size:clamp(34px,6vw,54px);font-weight:950;line-height:.96}.battle-result-panel p{color:var(--color-muted);margin:0;font-size:15px;font-weight:800;line-height:1.45}.battle-result-details{color:#d9f4cf;text-align:left;background:#09160f80;border:1px solid #f8f2d224;border-radius:8px;gap:7px;margin-top:4px;padding:12px;font-size:13px;font-weight:800;display:grid}.battle-result-ladder{text-align:left;background:#09160f8f;border:1px solid #f2c94c33;border-radius:8px;gap:8px;padding:12px;display:grid}.battle-result-ladder.is-unavailable{color:#ffb067;text-align:center;font-size:13px;font-weight:850}.battle-result-ladder-title{color:var(--color-gold);font-size:13px;font-weight:950}.battle-result-ladder-row{background:#050c0847;border:1px solid #e7f2d51f;border-radius:7px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;padding:9px;display:grid}.battle-result-ladder-row.is-local{background:#1d494a52;border-color:#9fe7ff6b}.battle-result-ladder-row span{color:var(--color-muted);font-size:11px;font-weight:850;line-height:1.25;display:block}.battle-result-ladder-row strong{color:#f8f2d2;overflow-wrap:anywhere;margin-top:3px;font-size:13px;font-weight:950;line-height:1.2;display:block}.battle-result-rank,.battle-result-rating-flow{gap:2px;min-width:0;display:grid}.battle-result-rating-flow{margin-top:8px}.battle-result-protection{color:#102218;background:#9fe7ffe6;border:1px solid #9fe7ff52;border-radius:6px;width:max-content;max-width:100%;margin-top:8px;padding:4px 7px;font-size:11px;font-weight:950;line-height:1.2}.battle-result-protection.is-consumed{background:#f2c94ceb;border-color:#f2c94c70}.battle-result-rank strong,.battle-result-rating-flow strong{flex-wrap:wrap;align-items:center;gap:5px;margin-top:0;display:flex}.battle-result-flow-arrow{min-width:1.25em;color:var(--color-gold);text-align:center;text-shadow:0 0 12px #f2c94c57;background:0 0;font-size:20px;font-weight:1000;line-height:1;display:inline-block;transform:translateY(-1px)}.battle-result-rating-flow .battle-result-flow-arrow{font-size:22px}.battle-result-rating-before{color:#f8f2d29e;font-variant-numeric:tabular-nums}.battle-result-rating-delta{color:#f8f2d2c7;font-variant-numeric:tabular-nums}.battle-result-rating-delta.is-positive{color:#9fe7ff}.battle-result-rating-delta.is-negative{color:#ffb067}.battle-result-rating-after{min-width:3.2ch;color:var(--color-gold);font-variant-numeric:tabular-nums;text-align:right;text-shadow:0 0 14px #f2c94c47;font-size:16px}.battle-result-rating-after.is-counting{animation:1.45s ease-out both ladder-rating-count}.battle-result-rating-after.is-finished{animation:.42s ease-out both ladder-rating-finish}.battle-result-rank.is-rank-up{background:#23554e3d;border:1px solid #9fe7ff42;border-radius:6px;padding:6px 7px;animation:1.1s ease-out both ladder-rank-up}.battle-result-rank.is-rank-down{background:#5c302138;border:1px solid #ffb0673d;border-radius:6px;padding:6px 7px}.battle-result-rank-badge{color:#102218;background:linear-gradient(#9fe7ff,#f2c94c);border:1px solid #9fe7ff57;border-radius:999px;place-items:center;min-height:20px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:1000;line-height:1;animation:.72s ease-out .13s both ladder-rank-badge;display:inline-grid}.battle-result-rank-badge.is-down{background:linear-gradient(#ffb067,#f2c94c);border-color:#ffb0675c}@keyframes ladder-rating-count{0%{opacity:.7;transform:translateY(4px)scale(.92)}60%{opacity:1;transform:translateY(-2px)scale(1.08)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ladder-rating-finish{0%{text-shadow:0 0 #f2c94c00}45%{text-shadow:0 0 22px #f2c94cad}to{text-shadow:0 0 14px #f2c94c47}}@keyframes ladder-rank-up{0%{transform:translateY(6px);box-shadow:inset 0 0 0 1px #9fe7ff00}45%{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #9fe7ff7a,0 0 22px #9fe7ff33}to{transform:translateY(0);box-shadow:inset 0 0 0 1px #9fe7ff2e}}@keyframes ladder-rank-badge{0%{opacity:0;transform:scale(.76)}65%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.battle-result-overlay.is-victory .battle-result-panel{border-color:#f2c94c8a}.battle-result-overlay.is-defeat .battle-result-panel{border-color:#ff4d5e80}.battle-result-overlay.is-defeat .battle-result-kicker{color:var(--color-red-warm)}.profile-overlay,.leaderboard-overlay{background:#040c089e;place-items:center;padding:18px}.profile-panel{width:min(760px, calc(var(--drz-vw) - 28px));max-height:min(680px, calc(var(--drz-vh) - 32px));gap:14px;padding:20px;display:grid;overflow:auto}.leaderboard-panel{width:min(860px, calc(var(--drz-vw) - 28px));max-height:min(690px, calc(var(--drz-vh) - 32px));gap:14px;padding:20px;display:grid;overflow:auto}.leaderboard-panel-login{width:min(460px, calc(var(--drz-vw) - 28px))}.profile-heading,.leaderboard-heading,.profile-history-heading,.profile-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-heading strong{color:#f8f2d2;overflow-wrap:anywhere;margin-top:4px;font-size:28px;font-weight:950;line-height:1;display:block}.leaderboard-heading span,.leaderboard-summary span,.leaderboard-self-card span,.leaderboard-footer span,.leaderboard-login-prompt{color:var(--color-muted);font-size:12px;font-weight:850;line-height:1.35}.leaderboard-heading strong{color:#f8f2d2;margin-top:4px;font-size:28px;font-weight:950;line-height:1;display:block}.profile-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.profile-stat-grid div{background:#07120c7a;border:1px solid #9fe7ff2e;border-radius:8px;min-width:0;padding:12px}.profile-stat-grid span,.profile-history-heading span{color:var(--color-muted);font-size:12px;font-weight:850}.profile-stat-grid strong{color:#f8f2d2;overflow-wrap:anywhere;margin-top:5px;font-size:24px;font-weight:950;line-height:1;display:block}.profile-stat-grid .ladder-badge{margin-top:7px}.leaderboard-summary{grid-template-columns:1.2fr .8fr 1.2fr;gap:10px;display:grid}.leaderboard-summary>div,.leaderboard-self-card{background:#07120c7a;border:1px solid #9fe7ff2e;border-radius:8px;min-width:0;padding:11px}.leaderboard-summary strong{color:#f8f2d2;overflow-wrap:anywhere;margin-top:5px;font-size:22px;font-weight:950;line-height:1;display:block}.leaderboard-summary .ladder-badge{margin-top:6px}.leaderboard-self-card{border-color:#f2c94c57;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.leaderboard-self-card strong{color:var(--color-gold);font-size:20px;font-weight:950}.leaderboard-self-card em{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;font-weight:850;overflow:hidden}.leaderboard-table-shell{gap:8px;display:grid}.leaderboard-table-heading,.leaderboard-entry{grid-template-columns:64px minmax(180px,1.2fr) minmax(150px,.9fr) 82px;align-items:center;gap:10px;display:grid}.leaderboard-table-heading{color:var(--color-gold);padding:0 10px;font-size:11px;font-weight:900}.leaderboard-list{gap:7px;max-height:360px;display:grid;overflow:auto}.leaderboard-entry{background:#050c0852;border:1px solid #e7f2d521;border-radius:8px;min-width:0;padding:9px 10px}.leaderboard-entry.is-self{background:#3f4a2e75;border-color:#f2c94c75}.leaderboard-rank,.leaderboard-rating{color:#f8f2d2;font-size:14px;font-weight:950}.leaderboard-user{min-width:0}.leaderboard-user span,.leaderboard-user em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.leaderboard-user span{color:#f8f2d2;font-size:13px;font-weight:900}.leaderboard-user em{color:var(--color-muted);margin-top:3px;font-size:10px;font-style:normal;font-weight:800}.leaderboard-tier{min-width:0}.leaderboard-empty{color:var(--color-muted);background:#050c0852;border:1px solid #e7f2d521;border-radius:8px;padding:18px;font-size:13px;font-weight:850}.leaderboard-footer,.leaderboard-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.leaderboard-login-prompt{color:#ffb067;background:#3a1f156b;border:1px solid #ffb06747;border-radius:8px;padding:12px}.profile-history,.profile-tournament{gap:10px;display:grid}.profile-tournament-badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-history-list{gap:8px;display:grid}.profile-tournament-history{gap:8px;max-height:min(180px,22vh);display:grid;overflow:auto}.profile-history-entry{background:#050c0852;border:1px solid #e7f2d521;border-radius:8px;gap:7px;padding:11px;display:grid}.profile-history-entry.is-win{border-color:#9fe7ff4d}.profile-history-entry.is-loss{border-color:#ffb06742}.profile-history-entry.is-tournament{border-color:#f2c94c3d}.profile-history-main,.profile-history-meta{justify-content:space-between;gap:10px;display:flex}.profile-history-main strong{color:#f8f2d2;font-size:14px}.profile-history-main span,.profile-history-meta span,.profile-history-id,.profile-history-empty{color:var(--color-muted);font-size:12px;font-weight:800;line-height:1.3}.profile-history-meta strong{color:var(--color-gold);font-size:14px}.profile-history-protection{width:max-content;max-width:100%;color:var(--color-blue-bright);background:#2f8cff1f;border:1px solid #9fe7ff47;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900}.profile-history-protection.is-consumed{color:var(--color-gold);background:#f2c94c1f;border-color:#f2c94c52}.profile-actions{justify-content:end}.rules-overlay{background:#040c089e;place-items:center;padding:18px}.rules-panel{width:min(820px, calc(var(--drz-vw) - 28px));max-height:min(620px, calc(var(--drz-vh) - 32px));padding:20px;overflow:auto}.rules-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.rules-heading h2{margin:0;font-size:28px}.shell-icon-button{color:#f8f2d2;cursor:pointer;background:#0b1811e0;border:1px solid #f8f2d23d;border-radius:50%;place-items:center;width:40px;height:40px;padding-bottom:2px;font-size:24px;font-weight:900;line-height:1;transition-property:scale,background-color,border-color,box-shadow;transition-duration:.14s;transition-timing-function:ease-out;display:grid}.shell-icon-button:hover,.shell-icon-button:focus-visible{box-shadow:var(--shadow-surface-hover);background:#182d1ff0;border-color:#9fe7ff94}.shell-icon-button:active{scale:.96}.rules-list{gap:12px;margin-top:14px;display:grid}.rules-intro{border-left:3px solid var(--color-gold);color:#f2f7da;text-wrap:pretty;background:#f2c94c14;margin:0;padding:10px 12px;font-size:15px;font-weight:850;line-height:1.45}.rules-section{background:linear-gradient(90deg,#9fe7ff14,#0000 62%),#07120c7a;border:1px solid #e7f2d52e;border-radius:8px;padding:12px;box-shadow:inset 3px 0 #9fe7ff47}.rules-section h3{color:var(--color-gold);text-wrap:balance;margin:0 0 8px;font-size:15px;font-weight:950;line-height:1.2}.rules-section ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.rules-section li{color:#d9f4cf;text-wrap:pretty;font-size:14px;font-weight:750;line-height:1.42}.rules-section strong{color:#f8f2d2;font-weight:950}.rules-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.rules-tab,.unit-codex-button{color:var(--color-text);cursor:pointer;background:#07120c7a;border:1px solid #e7f2d529;border-radius:8px;transition-property:scale,background-color,border-color,box-shadow,color;transition-duration:.14s;transition-timing-function:ease-out}.rules-tab{min-height:40px;font-size:13px;font-weight:900}.rules-tab.is-active,.unit-codex-button.is-active{color:#102218;background:linear-gradient(90deg, var(--color-gold), var(--color-blue-bright));box-shadow:var(--shadow-surface-hover);border-color:#f2c94c9e}.rules-tab:active,.unit-codex-button:active{scale:.96}.rules-view{display:none}.rules-view.is-active{display:block}.unit-codex{border-top:1px solid #e7f2d529;margin-top:18px;padding-top:14px}.unit-codex-shell{grid-template-columns:minmax(132px,.74fr) minmax(0,1.26fr);gap:10px;display:grid}.unit-codex-list{align-content:start;gap:6px;max-height:390px;padding-right:4px;display:grid;overflow:auto}.unit-codex-button{text-align:left;gap:2px;min-height:46px;padding:8px;display:grid}.unit-codex-button span{text-wrap:balance;font-size:13px;font-weight:900;line-height:1.12}.unit-codex-button strong{color:var(--color-muted);text-wrap:pretty;font-size:10px;font-weight:850;line-height:1.15}.unit-codex-button.is-active strong{color:#102218db}.unit-codex-detail-stack{min-width:0}.unit-codex-detail{background:#07120c70;border:1px solid #9fe7ff2e;border-radius:8px;min-width:0;padding:12px;display:none}.unit-codex-detail.is-active{display:block}.unit-codex-title,.unit-codex-meta{gap:8px;display:flex}.unit-codex-title{color:var(--color-text);justify-content:space-between;font-size:16px;font-weight:900}.unit-codex-title span{overflow-wrap:anywhere;text-wrap:balance;min-width:0}.unit-codex-title small{color:var(--color-muted);margin-top:3px;font-size:11px;font-weight:800;line-height:1.2;display:block}.unit-codex-title strong{text-align:right;overflow-wrap:anywhere;color:var(--color-gold);font-variant-numeric:tabular-nums;flex:0 55%}.unit-codex-meta{color:var(--color-muted);flex-wrap:wrap;margin-top:6px;font-size:11px;font-weight:800;line-height:1.2}.unit-codex-meta span{background:#9fe7ff14;border-radius:999px;padding:2px 5px}.unit-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.unit-stat-grid span{min-width:0;color:var(--color-muted);background:#050c0852;border-radius:7px;padding:6px;font-size:11px;font-weight:800;line-height:1.15}.unit-stat-grid strong{color:var(--color-text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px;display:block}.unit-codex-description,.unit-codex-special{color:#d9f4cf;text-wrap:pretty;margin:12px 0 0;font-size:13px;font-weight:750;line-height:1.42}.unit-codex-special{color:var(--color-blue-bright)}.shell-mode-chip{top:max(12px, env(safe-area-inset-top));max-width:min(440px, calc(var(--drz-vw) - 40px));color:#f8f2d2;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#101a14b8;border:1px solid #f2c94c57;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;display:none;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.shell-mode-chip.is-visible{display:block}@media (width<=900px){.hud-runtime-controls{display:none}.battle-player-info{display:none!important}.hud-side{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));gap:6px;width:auto}.hud-side-left{top:max(78px, calc(env(safe-area-inset-top) + 78px));right:auto;left:max(8px, env(safe-area-inset-left));width:min(380px, calc(var(--drz-vw) - 16px));max-height:calc(var(--drz-vh) - 230px);grid-template-columns:minmax(0,1fr);align-items:stretch}.hud-side-right,.structure-status-enemy{display:none}.structure-status{padding:6px 7px}.structure-title{display:none}.structure-node{margin-top:3px}.structure-title+.structure-node{margin-top:0}.structure-row{gap:6px;font-size:10px;line-height:1.05}.structure-track{height:4px;margin-top:2px}.hud-center-readout{min-width:0;top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));padding:6px 7px}.battle-player-card{gap:2px;min-width:132px;max-width:calc(50vw - 12px);padding:6px 7px}.battle-player-card-blue{top:max(58px, calc(env(safe-area-inset-top) + 58px));left:max(8px, env(safe-area-inset-left))}.battle-player-card-red{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right))}.battle-player-card strong{font-size:12px}.battle-player-id{display:none}.battle-player-side,.battle-player-rating,.battle-player-bot{font-size:9px}.hud-timer{font-size:22px}.hud-phase{font-size:10px}.hud-pause{min-width:48px;min-height:36px;padding:4px 8px;font-size:10px}.hud-runtime-controls{top:max(8px, env(safe-area-inset-top));left:calc(max(8px, env(safe-area-inset-left)) + 126px);max-width:calc(var(--drz-vw) - 142px);gap:5px;padding:4px}.hud-control-group{gap:2px}.hud-control-label{padding:0 3px;font-size:9px}.hud-control-option{min-width:30px;height:22px;padding:0 5px;font-size:10px}.hud-scale-value{min-width:42px;height:22px;padding:0 5px;font-size:10px}.hud-scale-slider{width:86px;min-width:68px}.hud-scale-step{min-width:24px;padding:0 4px;font-size:12px}.hud-audio-slider{width:62px}.energy-panel{gap:5px;min-width:118px;padding:7px}.energy-value{font-size:12px}.energy-rate{padding:2px 5px;font-size:10px}.next-card,.lane-pressure,.tactic-panel{display:none}.unit-pool-panel,.command-panel{width:calc(var(--drz-vw) - 16px);gap:8px;padding:9px}.unit-pool-heading strong,.command-heading strong,.unit-pool-card-main span,.unit-tech-description{display:none}.unit-pool-heading span,.command-heading span{font-size:14px}.unit-pool-controls{grid-template-columns:1fr 1fr;gap:4px}.unit-pool-toggle-button{min-height:22px;font-size:10px}.unit-pool-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.unit-pool-card,.unit-tech-card{align-items:stretch;padding:8px}.unit-pool-card{gap:3px;display:grid}.unit-pool-card-main strong,.unit-tech-name{font-size:14px}.unit-pool-card-meta{justify-items:stretch}.unit-pool-card-meta span,.unit-tech-name span{font-size:12px}.unit-pool-deploy,.unit-tech-button{min-width:0;min-height:34px;font-size:13px}.mid-objective{width:calc(var(--drz-vw) - 16px);padding:6px 7px}.tutorial-goal{gap:5px;padding-bottom:7px}.tutorial-goal-heading span,.mid-objective-title,.mid-objective-meta,.tutorial-goal-description{display:none}.tutorial-goal-heading{justify-content:flex-end}.tutorial-goal-step{padding:4px 5px;font-size:10px}.tutorial-goal-hint{font-size:9px;line-height:1.15}.mid-objective-heading{font-size:10px;line-height:1.05}.mid-objective-note{font-size:9px;line-height:1}.mid-objective-track{height:4px}.hud-cancel{min-height:44px;padding:6px 4px;font-size:12px}.hud-bottom{bottom:max(8px, env(safe-area-inset-bottom));width:calc(var(--drz-vw) - 12px);gap:6px}.energy-stack{grid-template-columns:minmax(0,1fr) 58px;gap:6px}.card-hand{gap:6px}.battle-deck{gap:6px;padding:7px}.battle-deck-heading strong{display:none}.battle-deck-heading span{font-size:12px}.battle-deck-list{grid-template-columns:minmax(300px,1.7fr) minmax(174px,1fr) minmax(62px,.36fr) minmax(62px,.36fr);gap:6px;padding-bottom:10px;overflow-x:auto}.battle-deck-category-grid{grid-template-rows:repeat(2,54px);grid-auto-columns:minmax(54px,1fr);gap:4px}.card-slot{grid-template-columns:38px minmax(0,1fr);gap:5px;min-height:78px;padding:7px}.battle-deck .battle-card{grid-template-rows:18px minmax(0,1fr);grid-template-columns:30px minmax(0,1fr);gap:2px 4px;min-height:54px;max-height:54px;padding:4px}.card-cost{width:24px;height:24px;font-size:14px}.battle-deck .card-cost{border-radius:5px;min-width:30px;height:18px;padding:0 5px;font-size:10px}.card-slot .card-art{width:38px;height:38px}.battle-deck .card-art{grid-row:2;width:24px;height:24px}.card-slot .card-name{font-size:13px}.battle-deck .card-name{font-size:9px;line-height:1.08}.card-slot .card-role{font-size:10px}.battle-deck .card-role{display:none}.battle-deck .battle-card-type{font-size:7px;top:4px;right:4px}.debug-panel{display:none!important}.result-banner{min-width:230px;padding:12px 14px;top:46%}.result-title{font-size:26px}.result-line{gap:6px;font-size:11px}.main-menu,.account-gate{padding:max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));align-items:start}.account-gate-panel,.main-menu-panel{width:100%;padding:18px}.difficulty-panel{width:100%;padding:16px}.main-menu h1,.account-gate-panel h1{font-size:34px}.main-menu-account{align-items:stretch}.main-menu-account-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.ladder-badge{min-width:0}.profile-panel,.leaderboard-panel{padding:16px}.profile-stat-grid,.leaderboard-summary,.leaderboard-self-card,.leaderboard-table-heading,.leaderboard-entry{grid-template-columns:minmax(0,1fr)}.leaderboard-table-heading{display:none}.leaderboard-list{max-height:330px}.multiplayer-panel{padding:max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));align-items:start}.multiplayer-shell{width:100%;max-height:calc(var(--drz-vh) - 28px);padding:14px}.multiplayer-heading,.multiplayer-lobby-toolbar,.ladder-queue-brief,.ladder-queue-actions,.ladder-loading-copy{justify-content:stretch;display:grid}.multiplayer-table-grid,.ladder-queue-stats,.ladder-loading-grid{grid-template-columns:minmax(0,1fr)}.ladder-loading-center{border:1px solid #f2c94c2e;border-inline:0;min-height:120px}.ladder-combatant-copy strong{font-size:17px}.ladder-combatant-avatar{width:48px;height:48px;font-size:20px}.leaderboard-entry{gap:6px}.profile-history-main,.profile-history-meta,.profile-actions,.leaderboard-footer,.leaderboard-actions{justify-content:stretch;display:grid}.battle-result-ladder-row{grid-template-columns:minmax(0,1fr)}.bot-difficulty-panel{margin-top:14px}.bot-difficulty-list{gap:7px}.bot-difficulty-option{min-height:70px;padding:8px}.bot-difficulty-option span{font-size:14px}.bot-difficulty-option strong{font-size:10px}.difficulty-actions{justify-content:stretch;display:grid}.main-menu-actions{margin-top:18px}.shell-button{min-height:42px;font-size:15px}.shell-quick-actions{top:auto;right:10px;bottom:calc(max(8px, env(safe-area-inset-bottom)) + 138px);grid-template-columns:repeat(5,minmax(0,1fr));left:10px;transform:none}.shell-quick-button{min-width:0;padding:6px 4px;font-size:11px}.pause-panel{padding:18px}.pause-panel h2{font-size:30px}.rules-panel{padding:16px}.rules-heading h2{font-size:24px}.rules-intro,.rules-section li{font-size:13px}.unit-codex-shell{grid-template-columns:minmax(0,1fr)}.unit-codex-list{grid-auto-columns:minmax(112px,38vw);grid-auto-flow:column;max-height:none;padding:0 0 6px;overflow:auto hidden}.unit-codex-title{font-size:12px}.unit-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-mode-chip{top:calc(max(8px, env(safe-area-inset-top)) + 58px);font-size:11px}}@media (width<=900px) and (orientation:landscape){.account-gate,.main-menu,.pause-overlay,.battle-result-overlay,.profile-overlay,.leaderboard-overlay,.rules-overlay{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));place-items:start stretch}.account-gate-panel,.main-menu-panel,.difficulty-panel,.pause-panel,.battle-result-panel,.profile-panel,.leaderboard-panel,.rules-panel{max-height:calc(var(--drz-vh) - 16px)}.account-gate-panel,.main-menu-panel{width:100%;padding:12px}.account-gate-panel{gap:8px}.account-gate-panel h1,.main-menu h1{margin-top:0;font-size:clamp(24px,5.1vh,32px);line-height:.98}.account-gate-panel p,.account-status{font-size:11px;line-height:1.2}.account-auth-tabs,.multiplayer-auth-tabs{gap:5px;margin:4px 0;padding:3px}.multiplayer-tab{min-height:34px;padding:6px 8px;font-size:13px}.multiplayer-auth-form{gap:7px}.multiplayer-auth-form label{gap:3px;font-size:11px}.multiplayer-auth-form input{min-height:36px;padding:7px 9px;font-size:14px}.main-menu-panel{grid-template-columns:minmax(220px,.92fr) minmax(290px,1.08fr);grid-template-areas:"title account""version account""actions accountActions";align-items:start;gap:10px 12px;display:grid}.main-menu-panel h1{grid-area:title}.main-menu-version{grid-area:version;margin-top:0}.main-menu-account{grid-area:account;margin-top:0;padding:9px}.main-menu-account strong{font-size:17px}.main-menu-account-actions{grid-area:accountActions;margin-top:0}.main-menu-actions{grid-area:actions;gap:7px;margin-top:0}.main-menu-actions,.main-menu-account-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-button{min-height:40px;padding:6px 8px;font-size:14px;line-height:1.1}.difficulty-modal{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));place-items:start center}.difficulty-panel{gap:9px;width:min(100%,760px);padding:12px}.difficulty-heading strong{font-size:20px}.bot-difficulty-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bot-difficulty-option{min-height:74px;padding:7px}.bot-difficulty-option span{font-size:13px}.difficulty-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pause-panel{width:min(420px, calc(var(--drz-vw) - 20px));padding:14px}.pause-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.pause-panel h2{margin-top:0;font-size:26px}.rules-panel{width:min(100%,820px);padding:12px}.rules-heading h2{font-size:21px}.hud-side-left{top:max(58px, calc(env(safe-area-inset-top) + 58px));right:auto;left:max(8px, env(safe-area-inset-left));width:clamp(286px,36vw,328px);max-height:calc(var(--drz-vh) - 132px)}.hud-side-right,.structure-status-friendly{display:none}.hud-center-readout{top:max(6px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));padding:5px 6px}.battle-player-card{min-width:112px;max-width:132px;padding:5px 6px}.battle-player-card-blue{top:max(48px, calc(env(safe-area-inset-top) + 48px))}.battle-player-card strong{font-size:11px}.battle-player-card .ladder-badge-copy{max-width:82px}.hud-timer{font-size:20px}.hud-phase,.hud-pause{font-size:9px}.mid-objective,.unit-pool-panel,.tactic-panel,.lane-pressure{display:none}.command-panel{gap:8px;max-height:154px;padding:9px;display:none;overflow:auto}.command-heading strong,.unit-tech-description,.unit-tech-name span{display:none}.unit-tech-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.unit-tech-card{gap:6px;padding:8px;display:grid}.unit-tech-name{font-size:14px;line-height:1.15}.unit-tech-button{min-width:0;min-height:34px;font-size:13px}.debug-panel{display:none!important}.debug-title{margin-bottom:4px;font-size:10px}.debug-grid{gap:2px 5px;font-size:9px;line-height:1.12}.debug-watch{display:none}.hud-bottom{bottom:max(4px, env(safe-area-inset-bottom));width:calc(var(--drz-vw) - 18px);grid-template-columns:128px minmax(0,1fr);align-items:end;gap:4px}.energy-stack{grid-template-columns:minmax(0,1fr);gap:4px;min-width:0}.energy-panel{min-width:112px;padding:5px 6px}.hud-cancel{min-height:42px;padding:4px;font-size:11px}.battle-deck{gap:4px;min-width:0;padding:4px 5px}.battle-deck-heading{display:none}.battle-deck-list{grid-template-columns:minmax(390px,1.7fr) minmax(248px,1fr) minmax(136px,.35fr) minmax(136px,.35fr);gap:4px;padding-bottom:8px}.battle-deck-category{gap:3px}.battle-deck-category-heading{display:none}.battle-deck-category-grid{grid-template-rows:repeat(2,46px);grid-auto-columns:minmax(64px,1fr);gap:3px}.card-slot{grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr);gap:3px 4px;min-height:50px;padding:4px}.battle-deck .battle-card{grid-template-rows:16px minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:2px 3px;min-height:46px;max-height:46px;padding:3px}.battle-deck .card-economy-row{grid-column:1;max-width:calc(100% - 4px)}.card-cost{width:22px;height:22px;font-size:12px}.battle-deck .card-cost{border-radius:5px;min-width:28px;height:16px;padding:0 4px;font-size:9px}.card-slot .card-art{grid-row:2;align-self:center;width:24px;height:24px}.battle-deck .card-art{grid-row:auto;width:22px;height:22px;position:absolute;bottom:4px;left:4px}.card-slot .card-name{grid-row:1/span 2;align-self:center;font-size:10px;line-height:1.05}.battle-deck .card-name{-webkit-line-clamp:2;grid-area:2/1;align-self:center;padding:0 0 0 27px;font-size:10px;line-height:1.05}.battle-deck .card-role,.battle-deck .battle-card-type,.battle-deck .battle-card-cooldown{display:none}.card-slot .card-name{font-size:11px}.card-slot .card-role{font-size:9px}.shell-mode-chip{top:max(7px, env(safe-area-inset-top));max-width:min(230px, calc(var(--drz-vw) - 260px));padding:6px 10px;font-size:12px;left:50%;transform:translate(-50%)}}@media (width<=680px) and (orientation:portrait){.hud-root:before{content:"横屏游玩视野更完整";top:calc(max(8px, env(safe-area-inset-top)) + 64px);z-index:3;max-width:calc(var(--drz-vw) - 32px);color:#f8f2d2;pointer-events:none;background:#101a14c7;border:1px solid #f2c94c61;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;line-height:1;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #05100a38}.shell-mode-chip{top:calc(max(8px, env(safe-area-inset-top)) + 94px);max-width:calc(var(--drz-vw) - 48px)}.hud-bottom{bottom:max(6px, env(safe-area-inset-bottom))}}@media (hover:none){.battle-card-tooltip{display:none}}@media (prefers-reduced-motion:reduce){.energy-fill{transition:none}.energy-fill:after,.ladder-queue-pulse,.multiplayer-ladder-loading:before,.ladder-combatant,.ladder-loading-center strong,.ladder-loading-scan,.battle-result-rating-after,.battle-result-rank.is-rank-up,.battle-result-rank-badge{animation:none}}
