:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{background:#07060f;margin:0}button,select,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid var(--k-sys-ink);outline-offset:3px}[hidden]{display:none!important}svg{display:block}a{color:inherit;text-decoration:none}#battlefield{--bg:#07060f;--surface:#110d22;--raised:#1d1738;--card:#120f26;--ink:#f6f3ff;--muted:#aea4d6;--line:#3b3170;--rim:#07060f;--cyan:#19f0ff;--pink:#ff2e88;--green:#39ffb0;--yellow:#ffd51f;--violet:#a77bff;--orange:#ff9a1a;--sky:#5fd4ff;--map:#090818;--grid-line:#19f0ff14;--road:#141133;--team-a:#39ffb0;--team-b:#ff5c8f;--team-a-ink:var(--team-a);--team-b-ink:var(--team-b);--team:var(--team-a);--enemy:var(--team-b);--team-ink:var(--team-a-ink);--enemy-ink:var(--team-b-ink);--hurt:#ffc21a;--critical:#f0506e;--alert:#f0506e;--k-sys:#19f0ff;--k-cmd:#9a63ff;--k-fire:#ff2b4e;--k-aim:#ff7389;--k-attack:#ff2e88;--k-advance:#ff8a1f;--k-fallin:#a8ff3e;--k-flag:#f6f3ff;--k-id:var(--k-cmd);--k-go:#39ffb0;--k-sys-ink:var(--k-sys);--k-cmd-ink:#b48cff;--k-fire-ink:var(--k-fire);--k-id-ink:var(--k-cmd-ink);--k-cmd-base:color-mix(in srgb, var(--k-cmd) 50%, var(--rim));--rail:clamp(118px, 17vw, 168px);--sl:env(safe-area-inset-left,0px);--sr:env(safe-area-inset-right,0px);--rl:calc(var(--rail) + var(--sl));--rr:calc(var(--rail) + var(--sr));--spring:cubic-bezier(.34, 1.7, .5, 1);background:var(--bg);min-height:100dvh;color:var(--ink)}#battlefield[data-theme=light]{--bg:#eef0fb;--surface:#fff;--raised:#e6e4f8;--card:#fff;--ink:#1b1636;--muted:#5d5684;--line:#b9b2e3;--cyan:#00a9d6;--pink:#e8177a;--green:#00b878;--yellow:#ffcb05;--violet:#6f45e6;--map:#e4e6f7;--grid-line:#3b317014;--road:#d4d3f0;--team-a-ink:#00a36d;--team-b-ink:#e0245e;--k-sys-ink:#0088b3;--k-cmd-ink:#6a3ae6;--k-fire-ink:#d4143a;--k-id-ink:var(--k-cmd-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#battlefield[data-side="1"]{--team:var(--team-b);--enemy:var(--team-a);--team-ink:var(--team-b-ink);--enemy-ink:var(--team-a-ink)}button{--px:0px;--py:3px;--hx:0px;--hy:1px;--edge:var(--line);--edge-hover:var(--k-sys);--border-hover:var(--k-sys);--glow:0 0 0 transparent;--glow-hover:var(--glow);--glow-press:var(--glow);color:var(--ink);background:var(--surface);border:2px solid var(--line);min-height:40px;box-shadow:var(--px) var(--py) 0 var(--edge), var(--glow);border-radius:6px;padding:8px 13px;transition:transform .12s ease-out,box-shadow .12s ease-out,background-color .14s,border-color .14s;transform:none}button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.bf-arcade,.bf-dpad button,.bf-fire{--c:var(--k-sys);--py:4px;--hy:2px;--edge:color-mix(in srgb, var(--c) 45%, var(--rim));--edge-hover:var(--edge);--border-hover:var(--rim);--glow:0 0 14px color-mix(in srgb, var(--c) 40%, transparent);--glow-hover:0 0 18px color-mix(in srgb, var(--c) 55%, transparent);--glow-press:0 0 22px color-mix(in srgb, var(--c) 70%, transparent);color:var(--rim);background:var(--c);border:2px solid var(--rim);border-radius:10px;place-items:center;gap:2px;font-weight:700;display:inline-grid}[data-theme=light] :is(.bf-arcade,.bf-dpad button,.bf-fire){--glow:0 0 0 transparent;--glow-hover:0 0 0 transparent}@media (hover:hover) and (pointer:fine){button:not(:disabled,[aria-pressed=true],[aria-expanded=true],.active):hover{border-color:var(--border-hover);transform:translateY(calc(-1 * var(--hy)));box-shadow:0 calc(var(--py) + var(--hy)) 0 var(--edge-hover), var(--glow-hover)}}button:not(:disabled):active,button.down,button[aria-pressed=true],button[aria-expanded=true],button.active{transform:translateY(var(--py));box-shadow:0 0 0 var(--edge), var(--glow-press)}button:not(:disabled):active,button.down{transition-duration:50ms}.bf-arcade:is([aria-pressed=true],.active){--glow-press:0 0 18px color-mix(in srgb, var(--lock,var(--c)) 60%, transparent);background:var(--lock,var(--c));animation:1.8s ease-in-out infinite bf-locked}@keyframes bf-locked{50%{box-shadow:0 0 0 transparent, 0 0 0 calc(3px + .15em) color-mix(in srgb, var(--lock,var(--c)) 35%, transparent), 0 0 26px color-mix(in srgb, var(--lock,var(--c)) 80%, transparent)}}.bf-call{isolation:isolate;position:relative}.bf-call:after{content:"";z-index:-1;border-radius:inherit;translate:0 var(--py);border:2px solid var(--c,var(--k-sys));pointer-events:none;animation:1.4s ease-out infinite bf-call;position:absolute;inset:-2px}.bf-call:is([aria-pressed=true],.active,[data-state=locked]):after{content:none}@keyframes bf-call{0%{opacity:.9;scale:1}to{opacity:0;scale:1.45 1.6;translate:0 calc(var(--py) + 6px)}}[data-order],#bf-command,.bf-act,.bf-check{--lock:var(--k-cmd)}[data-order=follow],.bf-act[data-act=follow]{--c:var(--k-fallin)}[data-order=retreat]{--c:var(--team)}[data-order=advance]{--c:var(--k-advance)}[data-order=attack],.bf-act[data-act=hq]{--c:var(--k-attack)}#bf-command,.bf-act[data-act=route]{--c:var(--k-cmd)}#bf-auto,#bf-target{--c:var(--k-aim)}#bf-auto[aria-pressed=false],#bf-target[aria-pressed=false]{--c:color-mix(in srgb, var(--k-aim) 26%, var(--raised));--edge:color-mix(in srgb, var(--k-aim) 45%, var(--rim));color:var(--k-aim)}[data-theme=light] :is(#bf-auto,#bf-target)[aria-pressed=false]{--c:color-mix(in srgb, var(--k-aim) 16%, #fff);color:var(--k-fire-ink)}.bf-fire{--c:var(--k-fire)}#bf-pause{--c:var(--k-flag)}kbd{opacity:.7;border:1px solid;border-radius:3px;padding:1px 4px;font:9px ui-monospace}.bf-primary{--c:var(--k-go);--py:4px;--hy:2px;--edge:color-mix(in srgb, var(--c) 45%, var(--rim));--edge-hover:var(--edge);--border-hover:var(--rim);--glow:0 0 16px color-mix(in srgb, var(--c) 40%, transparent);--glow-hover:0 0 0 transparent;--glow-press:0 0 0 transparent;color:var(--rim);background:var(--c);border-color:var(--rim);letter-spacing:.5px;justify-content:center;align-items:center;gap:14px;font-weight:800;display:flex}.bf-header{border-bottom:2px solid var(--line);align-items:center;gap:18px;height:64px;padding:0 28px;display:flex}.bf-brand{letter-spacing:1px;align-items:center;gap:12px;font-size:12px;display:flex}.bf-brand svg{width:30px;height:30px;color:var(--green)}.bf-brand b{letter-spacing:1.5px;font-size:17px;display:block}.bf-brand{margin-right:auto}.bf-edition{color:var(--muted);letter-spacing:1.1px;font-size:10px}.bf-edition i{color:var(--k-sys-ink);margin-left:15px;font-style:normal}#bf-eject{align-items:center;gap:7px;font-size:12px;display:flex}.bf-main{padding:0 24px 12px}.bf-topline{justify-content:space-between;align-items:center;gap:20px;height:91px;display:flex}.bf-eyebrow{letter-spacing:1.6px;color:var(--muted);font-size:9px}.bf-eyebrow b{color:var(--k-sys-ink)}h1{letter-spacing:-.7px;margin:7px 0 0;font:700 26px/1.1 system-ui}.bf-metrics{gap:30px;display:flex}.bf-metrics span{letter-spacing:1.4px;color:var(--muted);font-size:8px}.bf-metrics b{color:var(--ink);margin-top:6px;font-size:20px;display:block}.bf-metrics span:first-child b{color:var(--team-ink)}.bf-metrics span:nth-child(3) b{color:var(--enemy-ink)}.bf-stage{border:2px solid var(--line);height:calc(100dvh - 330px);min-height:390px;box-shadow:0 5px 0 var(--line);isolation:isolate;border-radius:8px;position:relative;overflow:clip}.bf-main:has(#bf-setup:not([hidden])) .bf-stage{height:calc(100dvh - 210px)}#bf-viewport{scrollbar-width:none;overscroll-behavior:contain;touch-action:none;background:var(--map);width:100%;height:100%;overflow:auto}#bf-viewport::-webkit-scrollbar{display:none}#bf-viewport.panning{cursor:grab}.bf-world{isolation:isolate;background-color:var(--map);--grid-line:#ffffff08;--road:#0e0d22;--water:#0a1430;--water-edge:#1f3a6655;--hedge:#0f1d2b;--hedge-edge:#22465a;--hedge-r:0;--house:#1a1430;--house-edge:#3c2b55;--house-mark:#3c2b55;--house-top:none;--rock:#231c40;--fence:#4a4330;--car:#17132c;--car-edge:#4a4330;--car-glow:none;--rubble:#2c2448;--texture:none;margin-inline:auto;display:grid;position:relative}[data-terrain=hedge]{--map:#06110c;--grid-line:#39ffb00a;--road:#0c1d14;--hedge:#0f3524;--hedge-edge:#2b9a63;--hedge-r:40%;--house:#16261c;--house-edge:#4f8a66;--house-mark:#7be0a8;--rock:#1d3a2b;--fence:#7aa356;--car:#102018;--car-edge:#3d6b4f;--rubble:#2a4a37}[data-terrain=sand]{--map:#0e0803;--grid-line:#ffb34724;--road:#140b02;--house:#170d03;--house-edge:#ff9a1a;--house-mark:#ffd23f;--rock:#140b02;--mesa:#ff9a1a;--fence:#ffd23f;--car:#120a02;--car-edge:#ff6a1a;--car-glow:0 0 6px #ff6a1a88;--hedge:#120a02;--hedge-edge:#ffd23f;--hedge-r:50%;--rubble:#3a2208;--texture:radial-gradient(#ffb34755 1px, transparent 1.6px) 0 0 / 17px 13px}[data-terrain=snow]{--map:#0a0f26;--grid-line:#9fd8ff0c;--road:#151c40;--water:#123462;--house:#0d1433;--house-edge:#9fd8ff;--house-mark:#b9a8ff;--house-top:0 0 7px #9fd8ff55;--rock:#a9b8ff;--fence:#b9a8ff;--car:#1a2050;--car-edge:#9fd8ff;--car-glow:inset 0 2px 0 #e6f4ff;--rubble:#2b3170;--texture:radial-gradient(#e6f4ff22 1px, transparent 1.5px) 0 0 / 23px 19px}[data-terrain=river]{--map:#0b0b14;--grid-line:#ffffff06;--road:#13131f linear-gradient(90deg, #ffe14d55 50%, transparent 0) center / 8px 2px repeat-x;--water:#05262f;--water-edge:#19f0ff40;--house:#12122a;--house-edge:#ff2e88;--house-mark:#19f0ff;--rock:#232336;--fence:#ff2e88;--car:#1f1a36;--car-edge:#8a7bd6;--car-glow:0 0 7px #ffe14d88;--rubble:#2a2a3c}[data-theme=light] .bf-world{--grid-line:#3b31700f;--road:#dcdcf0;--map:#e4e6f7;--water:#c9d8f2;--hedge:#d3dcec;--hedge-edge:#aab9d6;--house:#dcd6ee;--house-edge:#b5a9d8;--house-mark:#c4bbe2;--rock:#c4bbe2;--car:#e8e4f6;--rubble:#cdc6e6}[data-theme=light] [data-terrain=hedge]{--map:#e4f3e9;--road:#d2e6d8;--hedge:#b9e3c9;--hedge-edge:#5fbf8a;--house:#dcebe1;--house-edge:#8cbf9f;--house-mark:#4fae7a;--rock:#b8d3c2}[data-theme=light] [data-terrain=sand]{--map:#fbf2e2;--grid-line:#e0860018;--road:#f3e3c8;--house:#fff8ec;--house-edge:#e07a00;--house-mark:#e0a000;--rock:#fff8ec;--mesa:#e07a00;--fence:#d49a00;--car:#fff8ec;--car-edge:#e05a00;--car-glow:none;--hedge:#fff8ec;--hedge-edge:#d49a00;--rubble:#ecd3a8;--texture:radial-gradient(#e0860033 1px, transparent 1.6px) 0 0 / 17px 13px}[data-theme=light] [data-terrain=snow]{--map:#eef3ff;--road:#dfe6fb;--water:#c7dafa;--house:#f4f6ff;--house-edge:#5f78e0;--house-mark:#8f7de8;--house-top:none;--rock:#b9c4ff;--fence:#8f7de8;--car:#e3e6fb;--car-edge:#8aa8e8;--rubble:#cfd3f5;--texture:radial-gradient(#7f8cff33 1px, transparent 1.5px) 0 0 / 23px 19px}[data-theme=light] [data-terrain=river]{--map:#e7e7ef;--road:#d6d6e2 linear-gradient(90deg, #c9a21a88 50%, transparent 0) center / 8px 2px repeat-x;--water:#bfe6ec;--house:#e2e2f0;--house-edge:#c95a8f;--house-mark:#1aa8b8;--car:#dcdaf0;--car-edge:#8a7bd6;--car-glow:0 0 6px #c9a21a66}.bf-world{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), var(--texture);background-size:var(--tile) var(--tile), var(--tile) var(--tile), auto}.bf-tile{position:relative}.bf-tile:before,.bf-tile:after{pointer-events:none;position:absolute}.bf-tile[data-kind=road]{background:var(--road)}.bf-tile[data-kind=water]{background:var(--water);box-shadow:inset 0 0 0 1px var(--water-edge)}.bf-tile[data-kind=hedge]:before{content:"";background:var(--hedge);border:1px solid var(--hedge-edge);border-radius:var(--hedge-r);inset:12%}.bf-tile[data-kind=house]:before{content:"";background:var(--house);border:1px solid var(--house-edge);box-shadow:var(--house-top);inset:8%}.bf-tile[data-kind=house]:after{content:"";background:var(--house-mark);inset:34%}.bf-tile[data-kind=rock]:before{content:"";background:var(--rock);clip-path:polygon(50% 0,100% 28%,100% 72%,50% 100%,0 72%,0 28%);inset:10%}.bf-world[data-terrain=snow] .bf-tile[data-kind=rock]:before{clip-path:polygon(50% 0,66% 36%,100% 50%,66% 64%,50% 100%,34% 64%,0 50%,34% 36%)}.bf-world[data-terrain=sand] .bf-tile[data-kind=rock]:before{clip-path:none;border:2px solid var(--mesa);box-shadow:0 0 6px color-mix(in srgb, var(--mesa) 55%, transparent), inset 0 0 0 3px var(--map);border-radius:3px;inset:14%}.bf-world[data-terrain=sand] .bf-tile[data-kind=rock]:after{content:"";border-top:2px solid var(--fence);inset:40% 28%}.bf-world[data-terrain=sand] .bf-tile[data-kind=hedge]:before{border:2px dotted var(--hedge-edge);box-shadow:0 0 5px color-mix(in srgb, var(--hedge-edge) 50%, transparent);inset:26%}.bf-world[data-terrain=sand] .bf-tile[data-kind=house]:before{box-shadow:0 0 6px color-mix(in srgb, var(--house-edge) 50%, transparent);border-width:2px}.bf-world[data-terrain=sand] .bf-tile[data-kind=fence]:before{filter:drop-shadow(0 0 3px var(--fence))}.bf-tile[data-kind=fence]:before{content:"";border-top:2px dashed var(--fence);inset:46% 6%}.bf-tile[data-kind=car]:before{content:"";background:var(--car);border:1px solid var(--car-edge);box-shadow:var(--car-glow);border-radius:30%;inset:30% 12%}.bf-tile[data-kind=rubble]{background:linear-gradient(var(--rubble), var(--rubble)) 22% 30% / 16% 16% no-repeat, linear-gradient(var(--rubble), var(--rubble)) 70% 62% / 14% 14% no-repeat, #a77bff0d}.bf-tile.target{background:color-mix(in srgb, var(--k-cmd) 25%, transparent);outline:2px solid var(--k-cmd);outline-offset:-2px;z-index:2}.bf-base,.bf-objective{width:calc(var(--tile) * 2);height:calc(var(--tile) * 2);border:2px dashed var(--team-a);pointer-events:none;color:var(--team-a);letter-spacing:1px;background:#39ffb014;place-items:center;font-size:9px;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%)}.bf-base[data-side="1"]{border-color:var(--team-b);color:var(--team-b);background:#ff5c8f14}.bf-base i{width:calc(var(--tile) * .7);height:calc(var(--tile) * .55);background:#110d22;border:2px solid}.bf-objective{border-color:var(--yellow);color:var(--k-id-ink);background:#ffe14d1a}.bf-tank{z-index:4;touch-action:none;will-change:transform;border:0;border-radius:50%;width:48px;height:48px;min-height:0;padding:0;transition:none;position:absolute;top:0;left:0;box-shadow:none!important;background:0 0!important}.bf-tank canvas{width:48px;height:48px;image-rendering:pixelated;pointer-events:none}.bf-tank.commander:after{content:"";border:1px dashed var(--k-cmd);pointer-events:none;border-radius:50%;position:absolute;inset:2px}.bf-tank.selected{outline:2px solid var(--k-cmd);outline-offset:1px}.bf-health{background:var(--rim);width:28px;height:3px;position:absolute;bottom:0;left:10px}.bf-health:after{content:"";width:var(--hp);background:var(--team);height:100%;display:block}.bf-shell{--shell:#6dffc4;--trail:#39ffb066;--rim:#07060f;background:var(--shell);z-index:5;pointer-events:none;width:10px;height:4px;box-shadow:0 0 0 1px var(--rim), -6px 0 0 -1px var(--trail), 0 0 6px var(--trail);border-radius:2px;position:absolute;top:-1px;left:0}.bf-shell[data-side="1"]{--shell:#ff8fb0;--trail:#ff5c8f66}[data-theme=light] .bf-shell{--shell:#00a866;--trail:#00a86688;--rim:#07060f;box-shadow:0 0 0 1.5px var(--rim), -6px 0 0 -1px var(--trail)}[data-theme=light] .bf-shell[data-side="1"]{--shell:#e0245e;--trail:#e0245e88}.bf-burst{z-index:6;pointer-events:none;border:3px solid;width:12px;height:12px;position:absolute;top:0;left:0}.bf-burst b{background:currentColor;width:4px;height:4px;position:absolute}.bf-burst b:first-child{top:-6px;left:-10px}.bf-burst b:nth-child(2){top:1px;left:13px}.bf-burst b:nth-child(3){top:14px;left:2px}.bf-burst b:nth-child(4){top:12px;left:-8px}.bf-mini{z-index:9;background:var(--surface);border:2px solid var(--k-sys);width:154px;box-shadow:0 3px 0 color-mix(in srgb, var(--k-sys) 35%, transparent);border-radius:6px;padding:8px;position:absolute;top:14px;right:14px}.bf-mini>div{letter-spacing:.5px;color:var(--muted);justify-content:space-between;font-size:7px;display:flex}.bf-mini svg{cursor:crosshair;background:#050410;width:100%;height:82px;margin-top:6px}.bf-mini p{letter-spacing:.5px;color:var(--muted);margin:6px 0 0;font-size:7px}.bf-mini i{background:var(--team-a);width:5px;height:5px;display:inline-block}.bf-mini span i:last-child{background:var(--team-b)}.bf-map-tools{z-index:9;gap:8px;display:flex;position:absolute;bottom:14px;right:14px}.bf-map-tools button,.bf-orders button,.bf-quick button,.bf-task button{grid-auto-flow:column;gap:6px;padding:6px 12px;font-size:11px}.bf-field{gap:6px;display:grid}.bf-label{color:var(--muted);letter-spacing:1px;font-size:8px}.bf-seg{gap:5px;display:flex}.bf-seg button{--px:0px;--py:2px;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:40px;padding:5px 4px;font-size:10px;font-weight:700;display:flex}.bf-seg button[aria-pressed=true]{--glow-press:0 0 12px color-mix(in srgb, var(--k-sys) 40%, transparent);color:var(--rim);background:var(--k-sys);border-color:var(--rim)}.bf-seg svg{fill:currentColor;stroke:none;flex:none;width:22px;height:15px}.bf-loadout{gap:6px;display:grid}.bf-slot{color:var(--muted);letter-spacing:.5px;grid-template-columns:74px 1fr;align-items:center;gap:8px;font-size:9px;display:grid}.bf-slot .bf-seg button{min-height:36px}#bf-cost-error{color:var(--alert);font-size:11px}.bf-primary svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:18px;height:18px}.bf-controls{grid-template-columns:auto 1fr;align-items:center;gap:10px 16px;padding:14px 0 0;display:grid}.bf-quick,.bf-orders{gap:8px;display:flex}.bf-orders button{min-height:44px}.bf-command-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bf-drawer-objective{display:none}.bf-roster{display:flex}.bf-touch,.bf-rotate,#bf-squad{display:none}.bf-footer{color:var(--muted);justify-content:space-between;gap:20px;padding:14px 0 0;font-size:8px;line-height:1.5;display:flex}#bf-objective-label{color:var(--k-sys-ink);white-space:nowrap}.bf-coach{z-index:40;background:color-mix(in srgb, var(--rim) 45%, transparent);animation:.2s ease-out bf-fade;position:fixed;inset:0}.bf-coach-card{left:50%;bottom:max(12px, env(safe-area-inset-bottom));background:var(--surface);border:2px dashed var(--k-sys);width:max-content;max-width:min(300px,48vw);color:var(--muted);text-align:center;border-radius:8px;justify-items:center;gap:5px;padding:8px 12px;font-size:10px;display:grid;position:absolute;transform:translate(-50%)}.bf-coach-card b{color:var(--k-sys-ink);letter-spacing:2px}.bf-coach-card button{min-height:36px;font-size:10px}.bf-coach-tip{border:3px dashed var(--k-sys-ink);box-shadow:0 0 0 2px color-mix(in srgb, var(--surface) 85%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--surface) 85%, transparent);pointer-events:none;border-radius:12px;position:absolute}.bf-coach-tip>:is(button,p){pointer-events:auto;position:absolute}.bf-tip-label{--px:0px;--py:2px;--hx:0px;--hy:1px;--edge:color-mix(in srgb, var(--k-sys) 45%, var(--rim));--edge-hover:var(--edge);--border-hover:var(--rim);white-space:nowrap;min-height:0;color:var(--rim);background:var(--k-sys);border:1px solid var(--rim);border-radius:4px;padding:4px 8px;font-size:10px;font-weight:700}.bf-tip-label:after{content:" +"}.bf-tip-label[aria-expanded=true]:after{content:" −"}.bf-coach-tip>p{z-index:2;width:min(240px,60vw);color:var(--ink);background:var(--surface);border:2px solid var(--k-sys);border-radius:6px;margin:0;padding:8px 10px;font-size:11px;line-height:1.4;display:none}.bf-tip-label[aria-expanded=true]+p{display:block}.bf-coach-tip[data-at=right]>*{top:50%;left:calc(100% + 8px);translate:0 -50%}.bf-coach-tip[data-at=left]>*{top:50%;right:calc(100% + 8px);translate:0 -50%}.bf-coach-tip[data-at=right]>p,.bf-coach-tip[data-at=left]>p{top:calc(50% + 16px);translate:none}.bf-coach-tip[data-at=below]>*{top:calc(100% + 6px);left:0}.bf-coach-tip[data-at=below-r]>*{top:calc(100% + 6px);right:0}.bf-coach-tip[data-at^=below]>p{top:calc(100% + 34px)}.bf-coach-tip[data-at=above]>*{bottom:calc(100% + 8px);left:50%;translate:-50%}.bf-coach-tip[data-at=above]>p{bottom:calc(100% + 38px)}[data-ui=desk] .bf-coach-card{top:76px;bottom:auto}@keyframes bf-fade{0%{opacity:0}}@media (width<=1050px){.bf-controls{grid-template-columns:1fr}.bf-stage{height:calc(100dvh - 380px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}.bf-tank:before{content:"";background:radial-gradient(closest-side, color-mix(in srgb, var(--team) 32%, transparent), transparent);pointer-events:none;border-radius:50%;position:absolute;inset:8px}.picking #bf-viewport,.picking .bf-tank.enemy{cursor:crosshair}.picking .bf-tank.enemy:before{outline:2px dashed var(--k-aim);outline-offset:4px}.bf-reticle{z-index:7;pointer-events:none;width:0;height:0;font-style:normal;position:absolute;top:0;left:0}.bf-reticle:before,.bf-reticle:after{content:"";width:44px;height:44px;position:absolute;top:-22px;left:-22px}.bf-reticle[data-mode=auto]:before{border:1px dashed #fff4ffaa;border-radius:50%}.bf-reticle[data-mode=unit]:before{border:3px solid var(--k-fire);clip-path:polygon(0 0,35% 0,35% 12%,12% 12%,12% 35%,0 35%,0 65%,12% 65%,12% 88%,35% 88%,35% 100%,0 100%,0 0,100% 0,100% 35%,88% 35%,88% 12%,65% 12%,65% 0,100% 0,100% 100%,65% 100%,65% 88%,88% 88%,88% 65%,100% 65%,100% 100%);animation:1.2s linear infinite bf-lock}.bf-reticle[data-mode=unit]:after{background:var(--k-fire);width:6px;height:6px;inset:-3px auto auto -3px}.bf-reticle[data-mode=cell]:before{left:calc(var(--tile) / -2);top:calc(var(--tile) / -2);width:var(--tile);height:var(--tile);border:2px dashed var(--k-fire);background:color-mix(in srgb, var(--k-fire) 8%, transparent)}@keyframes bf-lock{to{transform:rotate(90deg)}}.bf-kit{z-index:3;pointer-events:none;background:linear-gradient(var(--rim), var(--rim)) 50% 50% / 4px 12px no-repeat, linear-gradient(var(--rim), var(--rim)) 50% 50% / 12px 4px no-repeat, var(--green);border:2px solid var(--rim);border-radius:4px;width:18px;height:18px;animation:1.6s ease-in-out infinite bf-kit;position:absolute;top:-9px;left:-9px;box-shadow:0 0 10px #39ffb088}@keyframes bf-kit{50%{translate:0 -3px}}.bf-aim{z-index:9;gap:8px;display:flex;position:absolute;bottom:70px;right:14px}.bf-aim button{grid-auto-flow:column;gap:6px;padding:6px 12px;font-size:11px}[data-order=attack]{--c:var(--k-attack)}html.bf-playing,html.bf-playing body{overscroll-behavior:none;height:100%;overflow:hidden}html.bf-playing body{position:fixed;inset:0}#battlefield{touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}[data-active=true] :is(button,.bf-tank,#bf-viewport){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.bf-gate{z-index:50;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--rim);place-items:center;display:grid;position:fixed;inset:0}.bf-gate-card{text-align:center;justify-items:center;gap:12px;max-width:340px;display:grid}.bf-gate-card b{color:var(--ink);font:800 20px/1.2 system-ui}.bf-gate-card p{color:var(--muted);margin:0;font:13px/1.5 system-ui}.bf-gate-card .bf-primary{min-height:52px;padding:10px 26px;font-size:15px}.bf-gate-card #bf-gate-exit{--px:0px;--py:0px;--hx:0px;--hy:0px;min-height:36px;font-size:11px}.bf-gate-phone{fill:none;width:72px;height:72px;stroke:var(--k-sys);stroke-width:2.5px;stroke-linecap:round}.bf-gate[data-reason=rotate] .bf-gate-phone{animation:2.2s cubic-bezier(.6,0,.3,1) infinite bf-rotate}.bf-gate[data-reason=fullscreen] .bf-gate-phone{stroke:var(--k-go);transform:rotate(90deg)}@keyframes bf-rotate{0%,25%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}.bf-install{background:color-mix(in srgb, var(--k-go) 10%, var(--surface));border:2px solid var(--k-go);box-shadow:0 4px 0 color-mix(in srgb, var(--k-go) 45%, var(--rim));border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:10px 12px;padding:12px;line-height:1.5;display:grid}.bf-install>svg{fill:none;width:26px;height:26px;stroke:var(--k-go);stroke-width:2px}.bf-install b{color:var(--ink)}.bf-install p{color:var(--muted);margin:3px 0 0}.bf-share{vertical-align:-5px;border:1px solid var(--line);border-radius:4px;place-items:center;width:20px;height:20px;display:inline-grid}.bf-share svg{fill:none;width:13px;height:13px;stroke:var(--k-sys);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.bf-install-actions{grid-column:1/-1;gap:8px;display:flex}.bf-install-actions .bf-primary{flex:1}[data-active=true] .bf-dpad{aspect-ratio:1;display:block}.bf-stick{background:radial-gradient(circle, transparent 0 34%, color-mix(in srgb, var(--k-sys) 14%, transparent) 34% 35%, transparent 35%), color-mix(in srgb, var(--k-sys) 8%, var(--bg));border:2px solid var(--k-sys);width:100%;height:100%;box-shadow:0 4px 0 color-mix(in srgb, var(--k-sys) 35%, var(--rim)), inset 0 0 18px color-mix(in srgb, var(--k-sys) 14%, transparent);touch-action:none;border-radius:50%;position:relative}.bf-stick:before,.bf-stick:after{content:"";border:6px solid #0000;border-bottom-color:color-mix(in srgb, var(--k-sys) 55%, transparent);pointer-events:none;width:0;height:0;position:absolute;top:8%;left:50%;transform:translate(-50%)}.bf-stick:after{border-bottom-color:#0000;border-top-color:color-mix(in srgb, var(--k-sys) 55%, transparent);top:auto;bottom:8%}.bf-knob{background:var(--k-sys);border:2px solid var(--rim);width:40%;height:40%;box-shadow:0 4px 0 color-mix(in srgb, var(--k-sys) 45%, var(--rim)), 0 0 14px color-mix(in srgb, var(--k-sys) 40%, transparent);transition:transform .16s var(--spring);pointer-events:none;border-radius:50%;position:absolute;top:30%;left:30%}.bf-stick.down .bf-knob{box-shadow:0 1px 0 color-mix(in srgb, var(--k-sys) 45%, var(--rim)), 0 0 22px color-mix(in srgb, var(--k-sys) 65%, transparent);transition:none}.bf-cmd-tank span:not(:empty){color:var(--rim);background:var(--k-sys);letter-spacing:1px;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700}#bf-start{align-items:center;gap:6px;margin-left:auto;display:inline-flex}#bf-start[hidden]{display:none}.commanding #bf-viewport{cursor:crosshair}.bf-n{min-width:17px;height:17px;color:var(--rim);background:var(--k-id);border:2px solid var(--rim);pointer-events:none;border-radius:50%;place-items:center;font:800 10px/1 ui-monospace,monospace;display:none;position:absolute;top:-3px;right:-3px}.commanding .bf-n,.bf-tank.selected .bf-n{display:grid}.bf-routes{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bf-route{fill:none;stroke:var(--team);stroke-opacity:.4;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.bf-route.sel{stroke-opacity:1;stroke-width:3.5px}.bf-route.draft{stroke:var(--k-cmd);stroke-dasharray:7 5;animation:.6s linear infinite bf-march}.bf-route.bad{stroke:var(--critical)}@keyframes bf-march{to{stroke-dashoffset:-12px}}.bf-route-hit{fill:none;stroke:#0000;stroke-width:1.1px;stroke-linejoin:round;pointer-events:stroke;cursor:grab}.bf-flag path{fill:var(--team);stroke:var(--rim);stroke-width:.07px}.bf-flag.sel path{fill:var(--k-cmd)}.bf-flag.hq path{fill:var(--enemy)}.bf-flag text{fill:var(--rim);font:800 .3px ui-monospace,monospace}.bf-grab{fill:#0000}.bf-flag.sel .bf-grab,circle.bf-grab[data-stop]{pointer-events:all;cursor:grab}.bf-stop{fill:var(--k-cmd);stroke:var(--rim);stroke-width:.08px}@media (prefers-reduced-motion:reduce){.bf-route.draft{animation:none}}#battlefield[data-ui=desk]:not([data-active=true]) .bf-header{height:calc(var(--hh,64px) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(var(--hp,28px), env(safe-area-inset-left,0px));padding-right:max(var(--hp,28px), env(safe-area-inset-right,0px))}@keyframes bf-slide{0%{opacity:0;translate:-16px}}.bf-hint{z-index:8;letter-spacing:1px;white-space:nowrap;color:var(--rim);background:var(--k-cmd);border:2px solid var(--rim);box-shadow:0 2px 0 var(--rim);pointer-events:none;border-radius:4px;padding:3px 7px;font:800 9px/1.2 ui-monospace,monospace;position:absolute;top:0;left:0}@keyframes bf-ask{50%{outline-color:var(--green)}}#bf-reroll svg{fill:none;stroke:currentColor}[data-plan=true] .bf-base.own{cursor:grab;z-index:4;animation:1.2s steps(2,end) infinite bf-hq}[data-plan=true] .bf-base.own:after{content:"DRAG TO MOVE";letter-spacing:1px;white-space:nowrap;color:var(--rim);background:var(--team-a);border-radius:3px;padding:2px 5px;font:800 8px/1.2 ui-monospace,monospace;position:absolute;top:calc(100% + 4px);left:50%;translate:-50%}@keyframes bf-hq{50%{border-style:solid}}@media (prefers-reduced-motion:reduce){[data-plan=true] .bf-base.own{animation:none}}.bf-world[data-terrain=sand] .bf-tile[data-kind=road]{box-shadow:inset 0 1px #ff9a1a40,inset 0 -1px #ff9a1a40}[data-theme=light] .bf-world[data-terrain=sand] .bf-tile[data-kind=road]{box-shadow:inset 0 1px #e07a0040,inset 0 -1px #e07a0040}.bf-hbtn{place-items:center;width:40px;min-height:40px;padding:0;display:inline-grid}[data-active=false] #bf-tips,.map-fits .bf-map-tools{display:none}.bf-platoon{align-items:center;gap:10px;display:flex}.bf-platoon-tag{letter-spacing:1.6px;color:var(--muted);writing-mode:vertical-rl;font:800 9px/1 ui-monospace,monospace;rotate:180deg}.bf-roster{flex-wrap:wrap;align-items:center;gap:8px}.bf-unit{--c:var(--team);align-content:center;gap:3px;width:44px;height:44px;min-height:0;padding:0 0 2px}.bf-unit[data-hp=hurt]{--c:var(--hurt)}.bf-unit[data-hp=critical]{--c:var(--critical);background:repeating-linear-gradient(135deg, var(--critical) 0 6px, #c23a55 6px 9px)}.bf-unit[data-hp=lost]{--c:#4a4566}.bf-unit b{color:var(--rim);font:900 16px/1 ui-monospace,monospace}.bf-unit.you b{font-size:15px}.bf-pips{gap:3px;display:flex}.bf-pips s{background:var(--rim);border-radius:1px;width:6px;height:6px}#bf-roster .bf-unit.active{outline-offset:2px;outline:2px solid #f6f3ff}#bf-roster .bf-unit:disabled{opacity:.55;cursor:default;transform:translate(var(--px), var(--py));box-shadow:0 0 0 var(--edge)}.bf-unit:disabled b{text-decoration:line-through;text-decoration-thickness:2px}#bf-cmd-badge.bf-unit{box-shadow:0 4px 0 color-mix(in srgb, var(--c) 45%, var(--rim));border-radius:10px;flex:none;display:inline-grid}#bf-cmd-badge.bf-unit:empty{border:2px dashed var(--line);box-shadow:none;background:0 0}[data-plan=false] .bf-plan-only{display:none}.bf-start{--px:0px;--py:5px;--hx:0px;--hy:2px;--edge:#f6f3ff;--edge-hover:#f6f3ff;--border-hover:#f6f3ff;z-index:13;color:#19f0ff;background:#10233f;border:3px solid #f6f3ff;border-radius:16px;justify-items:center;gap:6px;min-height:0;padding:10px 14px 9px;display:grid;position:absolute;bottom:16px;left:50%;translate:-50%}#bf-start.bf-start{display:grid}#bf-start.bf-start[hidden]{display:none}.bf-start-icon svg{fill:currentColor;width:58px;height:58px;display:block}.bf-start b{letter-spacing:2px;color:#f6f3ff;font:900 11px/1 ui-monospace,monospace}.bf-start:disabled{opacity:.5}.bf-start.go{color:var(--rim);background:var(--alert);transform:translate(var(--px), var(--py));box-shadow:0 0 0 var(--edge);transition:none}.bf-world[data-terrain=river] .bf-tile[data-kind=house]:before{border-width:2px;border-radius:2px;inset:10%;box-shadow:0 0 6px #ff2e8855}.bf-world[data-terrain=river] .bf-tile[data-kind=house]:after{border:1px solid var(--house-mark);width:auto;height:auto;box-shadow:none;background:0 0;border-radius:1px;inset:34%}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="1"]:before{inset:24% 6%}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="1"]:after{border-width:1px 0 0;height:0;inset:46% 18% auto}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="2"]:before{border-color:#b98bff;border-radius:50%;inset:12%;box-shadow:0 0 6px #b98bff55}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="2"]:after{background:var(--house-mark);box-shadow:0 0 5px var(--house-mark);border:0;border-radius:50%;inset:42%}.bf-world[data-terrain=river] .bf-tile[data-kind=hedge]:before{background:#0b2a22;border:2px solid #39ffb0;border-radius:50%;inset:28%;box-shadow:0 0 5px #39ffb066}.bf-world[data-terrain=hedge] .bf-tile[data-kind=hedge][data-lone]:before{box-shadow:9px -6px 0 -5px var(--hedge-edge);border-width:2px;border-radius:50%;inset:22%}[data-theme=light] .bf-world[data-terrain=river] .bf-tile[data-kind=house]:before{box-shadow:none}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="3"]:before,.bf-world[data-terrain=snow] .bf-tile[data-kind=rock][data-v="3"]:before{clip-path:none;box-shadow:none;background:var(--house-edge);border:0;border-radius:0;inset:10%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2 18.5 17.5h-17Z' fill='none' stroke='%23000' stroke-width='2' stroke-dasharray='3 2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2 18.5 17.5h-17Z' fill='none' stroke='%23000' stroke-width='2' stroke-dasharray='3 2'/%3E%3C/svg%3E") 50%/contain no-repeat}.bf-world[data-terrain=snow] .bf-tile[data-kind=rock][data-v="3"]:before{background:var(--rock)}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="3"]:after{background:var(--house-mark);border:0;inset:52% 44% 28%}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="4"]:before,.bf-world[data-terrain=snow] .bf-tile[data-kind=rock][data-v="4"]:before{clip-path:none;border:2px dashed var(--house-mark);box-shadow:none;background:0 0;border-radius:50%;inset:14%}.bf-world[data-terrain=snow] .bf-tile[data-kind=rock][data-v="4"]:before{border-color:var(--rock)}.bf-world[data-terrain=river] .bf-tile[data-kind=house][data-v="4"]:after,.bf-world[data-terrain=snow] .bf-tile[data-kind=rock][data-v="4"]:after{content:"";background:var(--house-edge);box-shadow:none;border:0;border-radius:50%;inset:38%}.bf-world[data-terrain=snow] .bf-tile[data-kind=rock][data-v="4"]:after{background:var(--house)}.bf-world[data-terrain=river] .bf-tile[data-kind=road]{box-shadow:inset 0 1px #ffffff1c,inset 0 -1px #ffffff1c}[data-theme=light] .bf-world[data-terrain=river] .bf-tile[data-kind=road]{box-shadow:inset 0 1px #3b31701c,inset 0 -1px #3b31701c}.bf-keys{position:relative}.bf-keys-panel{z-index:46;background:var(--surface);border:2px solid var(--line);width:max-content;max-width:min(560px,100vw - 24px);box-shadow:0 4px 0 var(--k-sys);border-radius:10px;padding:14px 16px 16px;position:absolute;top:calc(100% + 8px);right:0}.bf-keys-panel[hidden]{display:none}.bf-keys-panel:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.bf-keys-title{letter-spacing:2px;color:var(--k-sys-ink);margin-bottom:10px;font:800 9px/1 ui-monospace,monospace;display:block}.bf-keymap{gap:9px;margin:0;padding:0;list-style:none;display:grid}.bf-keymap li{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px 8px;font:11px/1.4 ui-monospace,monospace;display:flex}.bf-keymap li>span:not(.bf-kc){margin-right:10px}.bf-keymap li>i{color:var(--muted);font-style:normal}.bf-keys-sub{border-left:2px dashed var(--line);margin-left:13px;padding-left:18px}.bf-keymap kbd{min-width:26px;height:26px;color:var(--ink);background:var(--bg);border:2px solid var(--k-sys);box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--k-sys) 30%, var(--bg)), 0 3px 0 var(--rim);border-radius:6px;grid-auto-flow:column;place-items:center;gap:4px;padding:0 6px 3px;font:700 11px/1 ui-monospace,monospace;display:inline-grid;position:relative}.bf-keymap kbd.wide{min-width:44px;font-size:10px}.bf-keymap kbd.mouse svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:11px;height:15px}.bf-kc{grid-template-rows:repeat(2,26px);grid-template-columns:repeat(3,26px);gap:3px;display:inline-grid}.bf-kc kbd{min-width:0;padding:0 0 3px}.bf-kc kbd:first-child{grid-column:2}.bf-kc kbd:nth-child(2){grid-area:2/1}.bf-kc kbd:nth-child(3){grid-area:2/2}.bf-kc kbd:nth-child(4){grid-area:2/3}[data-theme=light] .bf-start{--edge:var(--rim);--edge-hover:var(--rim);--border-hover:var(--rim);color:#0a8fa8;border-color:var(--rim);background:#f6f3ff}[data-theme=light] .bf-start b{color:var(--rim)}[data-theme=light] .bf-start-icon svg path[stroke],[data-theme=light] .bf-start-icon svg rect{stroke:#0a8fa8}[data-theme=light] .bf-start.go{color:var(--rim);background:var(--alert)}#battlefield:has(.bf-overlay:not([hidden])) #bf-start{visibility:hidden}.bf-world[data-terrain=snow] .bf-tile[data-kind=house]:before{border:2px solid var(--house-edge);border-radius:2px;inset:12%}.bf-world[data-terrain=snow] .bf-tile[data-kind=house]:after{border:1px solid var(--house-mark);background:0 0;inset:36%}.bf-world[data-terrain=snow] .bf-tile[data-kind=house][data-v="1"]:before{inset:26% 8%}.bf-world[data-terrain=snow] .bf-tile[data-kind=house][data-v="1"]:after{border-width:1px 0 0;height:0;inset:48% 22% auto}.bf-world[data-terrain=snow] .bf-tile[data-kind=house]:is([data-v="2"],[data-v="4"]):before{background:var(--house-edge);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--house-edge) 60%, transparent));box-shadow:none;border:0;border-radius:0;inset:6%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath transform='rotate(45 10 10)' d='M10 1.5 12.4 7.6 18.5 10 12.4 12.4 10 18.5 7.6 12.4 1.5 10 7.6 7.6Z' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath transform='rotate(45 10 10)' d='M10 1.5 12.4 7.6 18.5 10 12.4 12.4 10 18.5 7.6 12.4 1.5 10 7.6 7.6Z' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.bf-world[data-terrain=snow] .bf-tile[data-kind=house][data-v="4"]:before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath transform='rotate(45 10 10)' d='M10 1.5 12.4 7.6 18.5 10 12.4 12.4 10 18.5 7.6 12.4 1.5 10 7.6 7.6Z' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round' stroke-dasharray='2.6 1.8'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath transform='rotate(45 10 10)' d='M10 1.5 12.4 7.6 18.5 10 12.4 12.4 10 18.5 7.6 12.4 1.5 10 7.6 7.6Z' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round' stroke-dasharray='2.6 1.8'/%3E%3C/svg%3E") 50%/contain no-repeat}.bf-world[data-terrain=snow] .bf-tile[data-kind=house]:is([data-v="2"],[data-v="4"]):after{background:var(--house-mark);border:0;border-radius:50%;inset:44%}.bf-world[data-terrain=snow] .bf-tile[data-kind=house][data-v="3"]:before{box-shadow:none;border-style:dashed}[data-theme=light] .bf-world[data-terrain=snow] .bf-tile[data-kind=house]:before{filter:none}.bf-cmd-info{align-items:center;gap:10px;min-width:0;display:flex}.bf-cmd-text{gap:3px;min-width:0;display:grid}.bf-cmd-mode{letter-spacing:1.5px;color:var(--k-cmd-ink);align-items:center;gap:5px;font:800 9px/1 ui-monospace,monospace;display:inline-flex}.bf-cmd-mode svg{fill:none;stroke:currentColor;stroke-width:2px;width:13px;height:13px}.bf-cmd-tank{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.bf-cmd-tank b{letter-spacing:1px;font:800 12px/1.1 ui-monospace,monospace}#bf-cmd-hp:not(:empty){color:var(--rim);background:var(--team);border-radius:3px;padding:1px 6px;font:800 9px/1.4 ui-monospace,monospace}#bf-cmd-hp[data-hp=hurt]{background:var(--hurt)}#bf-cmd-hp[data-hp=critical]{background:var(--critical)}#bf-cmd-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.35}.bf-header .bf-hbtn[aria-pressed=true]{box-shadow:var(--px) var(--py) 0 var(--edge), var(--glow);transform:none}#bf-theme .bf-sun,[data-theme=light] #bf-theme .bf-moon,#bf-sound .bf-off,#bf-sound[aria-pressed=false] .bf-on{display:none}[data-theme=light] #bf-theme .bf-sun,#bf-sound[aria-pressed=false] .bf-off{display:inline}.bf-help-keys{align-self:flex-end;gap:8px;margin-left:6px;margin-right:auto;padding-bottom:4px;display:flex}.bf-help-keys:empty{display:none}.bf-help-keys .bf-keys-panel{left:0;right:auto}.bf-comms{min-width:0;color:var(--muted);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--line);border-left:3px solid var(--k-sys);border-radius:6px;flex:0 520px;gap:4px;padding:7px 12px;font:10px/1.35 ui-monospace,monospace;display:grid}.bf-comms>div{align-items:baseline;gap:8px;min-width:0;display:flex}.bf-comms>div>b{letter-spacing:1.5px;color:var(--muted);flex:none;font-size:8px}.bf-comms-obj #bf-objective-label{color:var(--k-sys-ink);letter-spacing:1px;font-weight:800}#bf-comms-progress{color:var(--ink);white-space:nowrap;margin-left:auto;font-style:normal}.bf-comms-msg #bf-announcement{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);overflow:hidden}.bf-comms-led{background:color-mix(in srgb, var(--k-go) 35%, var(--line));border-radius:50%;align-self:center;width:6px;height:6px}.bf-comms-led.rx{animation:.9s ease-out bf-rx}@keyframes bf-rx{0%,40%{background:var(--k-go);box-shadow:0 0 8px var(--k-go)}}@media (prefers-reduced-motion:reduce){.bf-comms-led.rx{animation:none}}.bf-footer[hidden]{display:none}@media (width<=1100px){.bf-comms #bf-comms-progress{display:none}}@media (width<=1250px) and (width>=760px) and (pointer:fine),(width<=1250px) and (width>=1401px){.bf-topline{flex-wrap:wrap;row-gap:8px;height:auto;padding:12px 0 10px}.bf-comms{flex:100%;order:9}.bf-main:has(#bf-setup:not([hidden])) .bf-stage{height:calc(100dvh - 264px)}}@media (width>=760px) and (pointer:fine),(width>=1401px){.bf-stage{height:calc(100dvh - 244px)}}@media (width<=1250px) and (width>=760px) and (pointer:fine),(width<=1250px) and (width>=1401px){.bf-stage{height:calc(100dvh - 290px)}}.bf-comms-slot{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bf-comms-msg .bf-comms-slot{flex:auto}@media (hover:hover) and (pointer:fine){.bf-header .bf-hbtn[aria-pressed=true]:hover{border-color:var(--border-hover);transform:translate(calc(-1 * var(--hx)), calc(-1 * var(--hy)));box-shadow:calc(var(--px) + var(--hx)) calc(var(--py) + var(--hy)) 0 var(--edge-hover), var(--glow-hover)}}.bf-header .bf-hbtn[aria-pressed=true]:active{transform:translate(var(--px), var(--py));box-shadow:0 0 0 var(--edge), var(--glow-press)}.bf-header .bf-help-keys{border-left:1px solid var(--line);align-self:center;align-items:center;height:36px;margin:0 auto 0 0;padding:0 0 0 18px}.bf-header .bf-brand{margin-right:0}.bf-header .bf-brand:has(+.bf-help-keys:empty){margin-right:auto}.bf-hq-line{z-index:4;border-left:3px dashed var(--team);pointer-events:none;width:0;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--team) 60%, transparent));position:absolute;top:0;bottom:0;translate:-1.5px}.bf-hq-line[hidden]{display:none}[data-theme=light] .bf-hq-line{filter:none}#battlefield{--u:1.5px}#battlefield[data-ui=touch]{--u:clamp(.7px, min(calc(100dvh / 390), calc(100dvw / 844)), 1.3px);--th:calc(60 * var(--u));--lx:calc(var(--sl) + calc(20 * var(--u)));--rc:calc(var(--sr) + calc(83 * var(--u)))}.bf-card{--px:0px;--py:calc(5 * var(--u));--hx:0px;--hy:calc(1 * var(--u));--edge:var(--k-cmd-base);--edge-hover:var(--k-cmd-base);--border-hover:var(--k-cmd);z-index:14;color:var(--ink);background:color-mix(in srgb, var(--card) 94%, transparent);border:calc(2.5 * var(--u)) solid var(--k-cmd);border-radius:calc(10 * var(--u));box-shadow:var(--px) var(--py) 0 var(--edge);touch-action:none;cursor:grab;position:absolute}.bf-card button{cursor:pointer}.bf-card[data-moved]{transition:none!important;translate:none!important}.bf-card-grip,.bf-card .bf-card-grip{z-index:2;top:calc(-8 * var(--u));width:calc(36 * var(--u));height:calc(12 * var(--u));background:var(--k-cmd);border-radius:calc(4 * var(--u));min-height:0;box-shadow:none;cursor:grab;border:0;place-items:center;padding:0;display:grid;position:absolute;left:50%;translate:-50%;transform:none!important}.bf-card-grip>i{width:calc(16 * var(--u));height:calc(5 * var(--u));background:radial-gradient(circle, var(--rim) 0 45%, transparent 55%) 0 0 / calc(4 * var(--u)) calc(2.5 * var(--u));display:block}.bf-row-grip{display:none!important}.bf-badge{top:calc(-9 * var(--u));right:calc(-9 * var(--u));min-width:calc(26 * var(--u));height:calc(26 * var(--u));padding:0 calc(6 * var(--u));border-radius:calc(13 * var(--u));background:var(--k-go);color:var(--rim);font:800 calc(13 * var(--u)) / calc(26 * var(--u)) system-ui, sans-serif;text-align:center;box-shadow:0 0 0 calc(2.5 * var(--u)) var(--card);position:absolute}.bf-badge[data-badge=per]{background:var(--team)}canvas.bf-ico{height:auto;image-rendering:pixelated;display:block}.bf-card .bf-seg{gap:calc(7 * var(--u));grid-auto-flow:column;display:grid}.bf-card .bf-seg button,.bf-rand{--px:0px;--py:calc(2.5 * var(--u));--edge:var(--line);justify-content:center;align-items:center;gap:calc(6 * var(--u));min-height:calc(36 * var(--u));padding:0 calc(6 * var(--u));font:800 calc(10 * var(--u)) / 1.1 ui-monospace, monospace;letter-spacing:calc(.4 * var(--u));color:var(--ink);background:color-mix(in srgb, var(--raised) 60%, var(--card));border:calc(2 * var(--u)) solid var(--line);border-radius:calc(6 * var(--u));white-space:nowrap;display:flex}.bf-card .bf-seg button[aria-pressed=true]{--edge:var(--k-sys);color:var(--rim);background:var(--k-sys);border-color:var(--k-sys);box-shadow:0 0 calc(12 * var(--u)) color-mix(in srgb, var(--k-sys) 45%, transparent)}.bf-card .bf-seg svg{width:calc(20 * var(--u));height:calc(14 * var(--u));fill:currentColor;stroke:none;flex:none}.bf-card .bf-seg canvas.bf-ico{width:calc(26 * var(--u));flex:none}.bf-card .bf-label{margin:0 0 calc(5 * var(--u));letter-spacing:calc(1 * var(--u));color:var(--muted);font-weight:700;display:block}.bf-die{width:calc(18 * var(--u));height:calc(18 * var(--u));fill:none;stroke:currentColor;stroke-width:1.8px}.roll .bf-die{animation:.38s cubic-bezier(.3,.9,.4,1) bf-roll}@keyframes bf-roll{0%{rotate:0deg;scale:1}45%{rotate:200deg;scale:1.25}to{rotate:360deg;scale:1}}@media (prefers-reduced-motion:reduce){.roll .bf-die{animation:none}}.bf-loc{left:50%;top:calc(14 * var(--u));max-height:calc(100% - calc(26 * var(--u)));padding:calc(16 * var(--u)) calc(12 * var(--u)) calc(10 * var(--u));flex-direction:column;transition:left .28s,translate .28s;display:flex;translate:-50%}#battlefield:not([data-blank]) .bf-loc{left:calc(var(--sl) + calc(12 * var(--u)));translate:0}.bf-loc .bf-eyebrow{padding-left:calc(2 * var(--u));letter-spacing:calc(1.4 * var(--u));font-weight:700}.bf-loc h2{margin:calc(4 * var(--u)) 0 calc(10 * var(--u));padding-left:calc(2 * var(--u));font:800 calc(17 * var(--u)) / 1.1 system-ui, sans-serif;letter-spacing:calc(-.3 * var(--u))}.bf-loc .bf-missions{gap:calc(10 * var(--u));overscroll-behavior:contain;scrollbar-width:none;min-height:0;padding:calc(2 * var(--u)) calc(5 * var(--u)) calc(6 * var(--u)) calc(2 * var(--u));touch-action:pan-y;grid-template-columns:1fr;display:grid;overflow-y:auto}.bf-loc .bf-missions::-webkit-scrollbar{display:none}.bf-loc .bf-mission{--px:0px;--py:calc(3 * var(--u));--edge:var(--line);text-align:left;background:color-mix(in srgb, var(--raised) 45%, var(--card));border:calc(2 * var(--u)) solid var(--line);border-radius:calc(6 * var(--u));min-height:0;padding:0;display:grid;overflow:hidden}.bf-loc .bf-mission[aria-pressed=true]{z-index:1;border-color:var(--k-sys);background:color-mix(in srgb, var(--k-sys) 12%, var(--card));box-shadow:0 0 calc(12 * var(--u)) color-mix(in srgb, var(--k-sys) 45%, transparent);position:relative;transform:none}.bf-thumb.bf-world{border-right:calc(2 * var(--u)) solid var(--line);pointer-events:none;background-image:none;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);margin:0}.bf-mission-text{align-content:center;gap:calc(4 * var(--u));min-width:0;padding:0 calc(8 * var(--u)) 0 calc(10 * var(--u));display:grid}.bf-loc .bf-mission-text span{letter-spacing:calc(.4 * var(--u));color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.bf-loc .bf-mission-text strong{font:800 calc(13.5 * var(--u)) / 1.05 system-ui, sans-serif;color:var(--ink)}.bf-loc .bf-mission-text small{color:var(--muted)}.bf-terrain{gap:calc(9 * var(--u));margin:calc(-12 * var(--u)) 0 0;padding:calc(18 * var(--u)) calc(10 * var(--u)) calc(10 * var(--u));border:calc(2 * var(--u)) dashed var(--k-sys);border-radius:0 0 calc(8 * var(--u)) calc(8 * var(--u));border-top:0;display:grid}.bf-terrain-head{justify-content:space-between;align-items:center;display:flex}.bf-terrain .bf-label{margin:0}.bf-dice{--py:0px;width:calc(30 * var(--u));height:calc(30 * var(--u));min-height:0;color:var(--ink);box-shadow:none;background:0 0;border:0;place-items:center;padding:0;display:grid}.bf-dice .bf-die{width:calc(24 * var(--u));height:calc(24 * var(--u))}.bf-go{z-index:15;right:calc(var(--sr) + calc(12 * var(--u)));bottom:calc(20 * var(--u));gap:calc(12 * var(--u));display:flex;position:absolute}.bf-go .bf-start{--py:calc(5 * var(--u));width:calc(122 * var(--u));height:calc(80 * var(--u));align-content:center;gap:calc(6 * var(--u));padding:calc(6 * var(--u)) 0 calc(5 * var(--u));border-width:calc(3 * var(--u));border-radius:calc(11 * var(--u));position:static;translate:none}.bf-go .bf-start-icon svg{width:calc(40 * var(--u));height:calc(40 * var(--u))}.bf-go .bf-start b{font-size:calc(10 * var(--u));letter-spacing:calc(1.6 * var(--u))}#battlefield .bf-plan-sticker{color:#f6f3ff;background:var(--k-cmd)}.bf-plan-sticker .bf-start-icon svg{background:#b0179a}.bf-plan-sticker .bf-start-icon svg [stroke]{stroke:#f6f3ff}#battlefield .bf-plan-sticker b{color:#2a1f45}#bf-start.bf-start{--py:calc(5 * var(--u));left:50%;right:auto;bottom:calc(20 * var(--u));height:calc(66 * var(--u));border-width:calc(3 * var(--u));border-radius:calc(12 * var(--u));grid-auto-flow:column;justify-content:center;align-items:center;position:absolute;translate:-50%}#bf-start .bf-start-icon svg{width:calc(42 * var(--u));height:calc(42 * var(--u))}.bf-card-row{z-index:14;gap:calc(10 * var(--u));touch-action:none;display:flex;position:absolute;top:50%;left:50%;translate:-50% -66%}.bf-home-card.bf-card{align-content:center;justify-items:center;gap:calc(10 * var(--u));width:calc(150 * var(--u));height:calc(124 * var(--u));min-height:0;padding:calc(10 * var(--u)) 0 calc(6 * var(--u));border-radius:calc(12 * var(--u));cursor:pointer;display:grid;position:relative}.bf-home-card canvas.bf-ico{width:calc(88 * var(--u))}.bf-home-card>span{font:800 calc(14 * var(--u)) / 1 system-ui, sans-serif;letter-spacing:calc(.6 * var(--u))}.bf-home-card .bf-card-grip{display:none}.bf-pcard{top:calc(18 * var(--u));width:calc(352 * var(--u));max-height:calc(100% - calc(30 * var(--u)));gap:calc(10 * var(--u));padding:calc(14 * var(--u)) calc(14 * var(--u)) calc(14 * var(--u));transition:none;display:grid;overflow:visible}.bf-pcard[data-away=left]{left:calc(var(--sl) + calc(12 * var(--u)))}.bf-pcard[data-away=right]{right:calc(var(--sr) + calc(12 * var(--u)))}.bf-card-head{align-items:center;display:flex}.bf-card-icon{width:calc(42 * var(--u));height:calc(42 * var(--u));border-radius:calc(8 * var(--u));background:var(--raised);place-items:center;display:grid}.bf-card-icon canvas.bf-ico{width:calc(36 * var(--u))}.bf-card-head>b,.bf-card-head>h3{font:800 calc(16 * var(--u)) / 1 system-ui, sans-serif;letter-spacing:calc(.4 * var(--u));margin:0 auto 0 0}.bf-rand{min-height:calc(32 * var(--u));padding:0 calc(10 * var(--u));font-size:calc(9 * var(--u))}.bf-pcard .bf-field{gap:0;display:grid}.bf-budget{margin:0 0 calc(-2 * var(--u));text-align:right;font-size:calc(9 * var(--u));letter-spacing:calc(1 * var(--u));color:var(--muted);font-weight:700}.bf-budget strong{font-size:calc(11 * var(--u));color:var(--k-sys-ink)}.bf-over .bf-budget strong{color:var(--alert)}.bf-pcard .bf-loadout{gap:calc(7 * var(--u));display:grid}.bf-pcard .bf-slot{background:0 0;border:0;align-items:center;padding:0;display:grid}.bf-pcard .bf-slot>span{font-weight:700;line-height:1.15}.bf-pcard .bf-slot .bf-seg button{justify-content:flex-start}.bf-slot .bf-seg button>span{gap:calc(2 * var(--u));text-align:left;display:grid}.bf-slot .bf-seg button small{opacity:.8;font-weight:700}.bf-pcard #bf-cost-error{font-size:calc(9 * var(--u));color:var(--alert);margin:0}.bf-pcard #bf-cost-error:empty{display:none}.bf-orbit{top:calc(-4 * var(--u));left:calc(100% + calc(13 * var(--u)));gap:calc(12 * var(--u));display:grid;position:absolute}[data-away=right]>.bf-orbit{left:auto;right:calc(100% + calc(13 * var(--u)))}.bf-orb{--px:0px;--py:calc(5 * var(--u));--hx:0px;--hy:calc(1 * var(--u));--edge:var(--k-cmd-base);--edge-hover:var(--edge);--border-hover:var(--k-cmd);width:calc(56 * var(--u));height:calc(56 * var(--u));min-height:0;color:var(--k-sys-ink);background:var(--card);border:calc(3 * var(--u)) solid var(--k-cmd);border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.bf-orb canvas.bf-ico{width:calc(40 * var(--u))}.bf-orb .bf-badge{top:calc(-9 * var(--u));right:calc(-9 * var(--u));min-width:calc(23 * var(--u));height:calc(23 * var(--u));font-size:calc(12 * var(--u));line-height:calc(23 * var(--u))}#battlefield #bf-cmd{top:calc(16 * var(--u));width:calc(388 * var(--u));padding:calc(11 * var(--u)) calc(11 * var(--u)) calc(11 * var(--u)) calc(12 * var(--u));border-radius:calc(10 * var(--u));display:block;left:auto;right:auto;transform:none}#battlefield #bf-cmd[data-away=left]{left:calc(var(--sl) + calc(12 * var(--u)))}#battlefield #bf-cmd[data-away=right]{right:calc(var(--sr) + calc(12 * var(--u)))}#battlefield[data-stage=battle] #bf-cmd{left:50%;right:auto;translate:-50%}#bf-cmd .bf-cmd-info{align-items:center;gap:calc(10 * var(--u));display:flex}#bf-cmd .bf-cmd-badge{width:calc(40 * var(--u));height:calc(40 * var(--u));border-radius:calc(7 * var(--u));flex:none;min-height:0}#bf-cmd .bf-cmd-badge b{font-size:calc(17 * var(--u))}#bf-cmd .bf-cmd-text{gap:calc(4 * var(--u));flex:1;min-width:0;display:grid}#bf-cmd .bf-cmd-mode{align-items:center;gap:calc(5 * var(--u));letter-spacing:calc(1.2 * var(--u));color:var(--k-cmd-ink);display:flex}#bf-cmd .bf-cmd-mode svg{width:calc(11 * var(--u));height:calc(11 * var(--u))}#bf-cmd .bf-cmd-tank{align-items:center;gap:calc(6 * var(--u));flex-wrap:wrap;display:flex}#bf-cmd .bf-cmd-tank b{font:800 calc(13 * var(--u)) / 1 system-ui, sans-serif;letter-spacing:calc(.4 * var(--u))}#bf-cmd .bf-cmd-tank span{padding:calc(2.5 * var(--u)) calc(5 * var(--u));border-radius:calc(3 * var(--u));font:800 calc(8.5 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(.5 * var(--u));color:var(--rim);background:var(--team)}#bf-cmd .bf-cmd-tank span:empty{display:none}#bf-cmd #bf-cmd-state{background:var(--k-sys)}#bf-cmd #bf-cmd-hint{color:var(--muted);margin:0;line-height:1.3}#bf-cmd .bf-mode{margin-bottom:calc(4 * var(--u));flex:none;align-self:center;display:flex}.bf-mode button{--c:var(--team);--px:0px;--py:calc(4 * var(--u));--hx:0px;--hy:0px;--edge:color-mix(in srgb, var(--c) 45%, var(--rim));--edge-hover:var(--edge);--border-hover:var(--rim);width:calc(48 * var(--u));height:calc(42 * var(--u));min-height:0;color:var(--rim);background:var(--c);border:calc(2 * var(--u)) solid var(--rim);border-radius:calc(8 * var(--u)) 0 0 calc(8 * var(--u));place-items:center;padding:0;display:grid}.bf-mode button+button{border-radius:0 calc(8 * var(--u)) calc(8 * var(--u)) 0;border-left-width:0}.bf-mode button svg{width:calc(24 * var(--u));height:calc(24 * var(--u));stroke-width:2.2px}.bf-mode button canvas.bf-ico{width:calc(34 * var(--u))}.bf-mode button[aria-checked=true]{--c:var(--k-cmd);transform:translate(var(--px), var(--py));box-shadow:0 0 calc(12 * var(--u)) color-mix(in srgb, var(--k-cmd) 55%, transparent)}#bf-cmd .bf-orbit{top:calc(4 * var(--u));gap:calc(12 * var(--u));display:flex}.bf-acts{z-index:16;gap:calc(8 * var(--u));padding:calc(8 * var(--u));background:color-mix(in srgb, var(--card) 92%, transparent);border:calc(2 * var(--u)) solid var(--k-cmd);border-radius:calc(12 * var(--u));box-shadow:0 calc(4 * var(--u)) 0 var(--k-cmd-base);touch-action:none;isolation:isolate;display:grid;position:absolute;top:0;left:0}.bf-acts:after{content:"";z-index:-1;left:var(--point,50%);width:calc(12 * var(--u));height:calc(12 * var(--u));background:inherit;border:inherit;border-width:0 calc(2 * var(--u)) calc(2 * var(--u)) 0;border-radius:0 0 calc(2 * var(--u)) 0;position:absolute;top:100%;translate:-50% -50%;rotate:45deg}.bf-acts.below:after{border-width:calc(2 * var(--u)) 0 0 calc(2 * var(--u));border-radius:calc(2 * var(--u)) 0 0 0;top:0}.bf-acts[data-pin=false]:after{content:none}.bf-acts-top,.bf-acts-row{justify-content:space-between;align-items:center;gap:calc(8 * var(--u));display:flex}.bf-acts-grip{width:calc(44 * var(--u));height:calc(10 * var(--u));margin:calc(-14 * var(--u)) 0 calc(-2 * var(--u));border:calc(2 * var(--u)) solid var(--rim);background:var(--k-cmd);cursor:grab;border-radius:999px;justify-self:center;display:none}.bf-acts[data-pin=false]{cursor:grab}.bf-acts[data-pin=false] .bf-acts-grip{display:block}.bf-pager{display:flex}.bf-pager button,.bf-acts-pin{--c:var(--k-sys);--py:calc(3 * var(--u));--hy:calc(1 * var(--u));--edge:color-mix(in srgb, var(--c) 45%, var(--rim));--edge-hover:var(--edge);--border-hover:var(--rim);width:calc(30 * var(--u));height:calc(26 * var(--u));min-height:0;color:var(--rim);background:var(--c);border:calc(2 * var(--u)) solid var(--rim);font:800 calc(14 * var(--u)) / 1 ui-monospace, monospace;border-radius:0;place-items:center;padding:0;display:grid}.bf-pager button+button{border-left-width:0}.bf-pager button:first-child{border-radius:calc(8 * var(--u)) 0 0 calc(8 * var(--u))}.bf-pager button:last-child{border-radius:0 calc(8 * var(--u)) calc(8 * var(--u)) 0}.bf-pager [data-page="0"][aria-pressed=true]{color:var(--rim);background:var(--team)}.bf-pager svg,.bf-acts-pin svg{width:calc(15 * var(--u));height:calc(15 * var(--u));stroke-width:2.6px}.bf-acts-pin{width:calc(26 * var(--u));border-radius:calc(8 * var(--u))}.bf-acts-pin[aria-pressed=true]{background:var(--k-cmd)}.bf-acts-pin[aria-pressed=false]{--edge:var(--line);color:var(--ink);background:var(--surface)}.bf-acts-pin[aria-pressed=true] .bf-open,.bf-acts-pin[aria-pressed=false] .bf-shut{display:none}.bf-act,.bf-check{--c:var(--k-cmd);--px:0px;--py:calc(4 * var(--u));--hx:0px;--hy:calc(1 * var(--u));--edge:color-mix(in srgb, var(--c) 45%, var(--rim));--edge-hover:var(--edge);--border-hover:var(--rim);--glow-press:0 0 0 calc(3 * var(--u)) color-mix(in srgb, var(--c) 30%, transparent), 0 0 calc(14 * var(--u)) color-mix(in srgb, var(--c) 70%, transparent);width:calc(34 * var(--u));height:calc(34 * var(--u));min-height:0;color:var(--rim);background:var(--c);border:calc(2 * var(--u)) solid var(--rim);pointer-events:auto;border-radius:50%;place-items:center;padding:0;display:grid}.bf-act svg,.bf-check svg{width:calc(17 * var(--u));height:calc(17 * var(--u));stroke-width:2.4px}.bf-check{--c:var(--k-cmd);z-index:16;position:absolute;top:0;left:0;translate:-50% -50%}.bf-act:disabled{--c:var(--raised);color:var(--muted);opacity:1;transform:translateY(var(--py));cursor:default;box-shadow:0 0 #0000}.bf-install{--iu:max(var(--u,1px), 1px);z-index:52;width:min(calc(380 * var(--iu)), calc(100vw - 32px));gap:calc(10 * var(--iu)) calc(14 * var(--iu));padding:calc(16 * var(--iu));font-size:calc(12 * var(--iu));margin:0;line-height:1.5;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.bf-install b{font-size:calc(14 * var(--iu))}.bf-install>svg{width:calc(30 * var(--iu));height:calc(30 * var(--iu))}.bf-install .bf-share{width:calc(26 * var(--iu));height:calc(26 * var(--iu));vertical-align:calc(-8 * var(--iu))}.bf-install .bf-share svg{width:calc(16 * var(--iu));height:calc(16 * var(--iu))}.bf-install-actions button{min-height:calc(44 * var(--iu));font-size:calc(13 * var(--iu))}#battlefield:has(#bf-gate[data-reason=rotate]:not([hidden])) #bf-install{display:none}#battlefield[data-ui=touch]{min-height:0;position:fixed;inset:0;overflow:hidden}[data-ui=touch] .bf-header{z-index:32;height:var(--th);padding:0 calc(var(--sr) + calc(14 * var(--u))) 0 calc(var(--sl) + calc(14 * var(--u)));gap:calc(10 * var(--u));background:var(--bg);border-bottom:calc(2 * var(--u)) solid var(--line);position:fixed;inset:0 0 auto}[data-ui=touch][data-stage=battle]:not(.menu-open) .bf-header{display:none}[data-ui=touch] .bf-header .bf-brand{gap:calc(10 * var(--u));font-size:calc(12 * var(--u));letter-spacing:calc(1 * var(--u));margin:0;line-height:1.15}[data-ui=touch] .bf-brand svg{width:calc(38 * var(--u));height:calc(38 * var(--u))}[data-ui=touch] .bf-brand b{font-size:calc(18 * var(--u));letter-spacing:calc(1.5 * var(--u))}.bf-ver{letter-spacing:.1em;color:var(--k-sys-ink);margin-left:.6em;font-size:.55em;font-style:normal}[data-ui=touch] .bf-edition{text-align:center;font-size:calc(10 * var(--u));letter-spacing:calc(1.6 * var(--u));flex:1}[data-ui=touch] .bf-help-keys,[data-ui=touch] .bf-keys{display:none}[data-ui=touch] .bf-hbtn{--px:0px;--py:calc(3 * var(--u));width:calc(40 * var(--u));min-height:calc(40 * var(--u));height:calc(40 * var(--u));border-width:calc(1.5 * var(--u));border-radius:calc(5 * var(--u))}[data-ui=touch] .bf-header svg{width:calc(19 * var(--u));height:calc(19 * var(--u))}[data-ui=touch] .bf-header .bf-brand svg{width:calc(38 * var(--u));height:calc(38 * var(--u))}[data-ui=touch] #bf-eject{--px:0px;--py:calc(3 * var(--u));height:calc(40 * var(--u));min-height:calc(40 * var(--u));padding:0 calc(14 * var(--u));gap:calc(7 * var(--u));font-size:calc(11 * var(--u));border-width:calc(1.5 * var(--u));border-radius:calc(5 * var(--u))}[data-ui=touch] #bf-tips{display:inline-grid}[data-ui=touch] .bf-main{padding:0}[data-ui=touch] .bf-topline{height:0;padding:0;display:block}[data-ui=touch] .bf-topline>div:first-child,[data-ui=touch] .bf-comms,[data-ui=touch] .bf-rotate,[data-ui=touch]:not([data-stage=battle]) .bf-metrics{display:none}#battlefield[data-ui=touch] .bf-stage{inset:var(--th) 0 0 0;min-height:0;box-shadow:none;isolation:auto;border:0;border-radius:0;position:fixed;overflow:visible;height:auto!important}#battlefield[data-ui=touch][data-stage=battle] .bf-stage{position:static}#battlefield[data-ui=touch][data-stage=battle] #bf-viewport{position:fixed;inset:0}[data-ui=touch][data-stage=battle] .bf-world{margin:0 calc(var(--sr) + calc(154 * var(--u))) 0 calc(var(--lx) + calc(135 * var(--u)))}[data-ui=touch] #bf-viewport{position:absolute;inset:0}[data-ui=touch][data-stage=setup] #bf-controls,[data-ui=touch]:not([data-stage=battle]) :is(.bf-aim,.bf-map-tools,.bf-mini){display:none!important}[data-ui=touch][data-stage=plan] #bf-controls{z-index:20;background:0 0;border:0;margin:0;padding:0;display:block;position:fixed;inset:auto auto 0 0}[data-ui=touch][data-stage=plan] #bf-controls>:not(.bf-quick),[data-ui=touch][data-stage=plan] .bf-quick>:not(#bf-pause){display:none}[data-ui=touch][data-stage=plan] #bf-pause{--px:0px;--py:calc(4 * var(--u));bottom:calc(22 * var(--u));width:calc(56 * var(--u));height:calc(56 * var(--u));border-width:calc(2 * var(--u));border-radius:50%;min-height:0;padding:0;position:fixed}[data-ui=touch][data-stage=plan] #bf-pause :is(span,kbd){display:none}[data-ui=touch][data-stage=plan] #bf-pause svg{width:calc(24 * var(--u));height:calc(24 * var(--u))}[data-ui=touch] .bf-footer{z-index:22;left:50%;bottom:calc(12 * var(--u));translate:-50% calc(8 * var(--u));align-items:center;gap:calc(9 * var(--u));width:max-content;max-width:min(calc(440 * var(--u)), calc(100vw - var(--sl) - var(--sr) - calc(40 * var(--u))));padding:calc(9 * var(--u)) calc(16 * var(--u)) calc(9 * var(--u)) calc(13 * var(--u));font-size:calc(11.5 * var(--u));color:var(--ink);background:color-mix(in srgb, var(--surface) 94%, transparent);border:calc(1.5 * var(--u)) solid var(--line);border-radius:calc(14 * var(--u));box-shadow:0 calc(2 * var(--u)) 0 var(--line);opacity:0;pointer-events:none;font-weight:600;line-height:1.3;transition:opacity .2s,translate .2s;display:flex;position:fixed}[data-ui=touch] .bf-footer:before{content:"";width:calc(9 * var(--u));height:calc(9 * var(--u));background:var(--k-go);box-shadow:0 0 calc(8 * var(--u)) var(--k-go);border-radius:50%;flex:none}[data-ui=touch] .bf-footer.show{opacity:1;pointer-events:auto;translate:-50%}[data-ui=touch][data-stage=battle] .bf-footer{top:calc(8 * var(--u));max-width:calc(400 * var(--u));translate:-50% calc(-8 * var(--u));bottom:auto}[data-ui=touch][data-stage=battle] .bf-footer.show{translate:-50%}[data-ui=touch] .bf-footer #bf-objective-label{display:none}[data-ui=touch][data-stage=battle] #bf-controls{z-index:20;pointer-events:none;background:0 0;border:0;margin:0;padding:0;display:block;position:fixed;inset:0}[data-ui=touch][data-stage=battle] #bf-controls:before,[data-ui=touch][data-stage=battle] #bf-controls:after{content:"";background:color-mix(in srgb, var(--bg) 64%, transparent);pointer-events:auto;position:fixed;top:0;bottom:0}[data-ui=touch][data-stage=battle] #bf-controls:before{width:calc(var(--lx) + calc(135 * var(--u)));border-right:calc(1 * var(--u)) solid var(--line);left:0}[data-ui=touch][data-stage=battle] #bf-controls:after{width:calc(var(--sr) + calc(154 * var(--u)));border-left:calc(1 * var(--u)) solid var(--line);transition:translate .24s;right:0}[data-ui=touch][data-stage=battle] :is(.bf-dock,.bf-task,.bf-squad-orders,.bf-touch,.bf-dpad,.bf-fire-area,.bf-aim,.bf-map-tools,.bf-orders){display:contents}[data-ui=touch][data-stage=battle] :is(.bf-group-label,#bf-tactics){display:none}[data-ui=touch][data-stage=battle] :is(#bf-squad,#bf-pause,#bf-command,#bf-center,#bf-pan,#bf-stick,[data-order],#bf-auto,#bf-target,.bf-fire,.bf-metrics,.bf-mini){z-index:21;pointer-events:auto;margin:0;position:fixed}[data-ui=touch][data-stage=battle] :is(#bf-command,#bf-center,#bf-pan,[data-order],#bf-auto,#bf-target,.bf-fire){--px:0px;--py:calc(4 * var(--u));border-width:calc(2 * var(--u));border-radius:50%;min-height:0;padding:0}[data-ui=touch][data-stage=battle] :is(#bf-command,#bf-center,#bf-pan,[data-order],#bf-auto,#bf-target,.bf-fire,#bf-squad,#bf-pause) :is(span,kbd){display:none}[data-ui=touch][data-stage=battle] :is(#bf-squad,#bf-pause){--px:0px;--py:calc(4 * var(--u));top:calc(6 * var(--u));width:calc(60 * var(--u));height:calc(33 * var(--u));border-width:calc(2 * var(--u));border-radius:calc(8 * var(--u));min-height:0;padding:0}[data-ui=touch][data-stage=battle] #bf-squad{left:var(--lx);display:inline-grid}[data-ui=touch][data-stage=battle] #bf-pause{left:calc(var(--lx) + calc(67 * var(--u)))}[data-ui=touch][data-stage=battle] :is(#bf-squad,#bf-pause) svg{width:calc(17 * var(--u));height:calc(17 * var(--u))}[data-ui=touch][data-stage=battle] .bf-metrics{left:var(--lx);top:calc(54 * var(--u));width:calc(127 * var(--u));height:calc(52 * var(--u));align-content:center;gap:calc(3 * var(--u)) calc(8 * var(--u));padding:calc(5 * var(--u)) calc(9 * var(--u));background:color-mix(in srgb, var(--surface) 74%, transparent);border:calc(1.5 * var(--u)) solid var(--line);border-radius:calc(5 * var(--u));grid-template-columns:1fr 1fr;display:grid}[data-ui=touch][data-stage=battle] .bf-metrics span{font-size:calc(5 * var(--u));letter-spacing:calc(.8 * var(--u));line-height:1}[data-ui=touch][data-stage=battle] .bf-metrics b{margin-top:calc(1.5 * var(--u));font-size:calc(11.5 * var(--u));font-weight:700;line-height:1}[data-ui=touch][data-stage=battle] #bf-command{left:calc(var(--lx) + calc(41 * var(--u)));top:calc(127 * var(--u));width:calc(46 * var(--u));height:calc(46 * var(--u))}[data-ui=touch][data-stage=battle] #bf-command svg{width:calc(22 * var(--u));height:calc(22 * var(--u))}[data-ui=touch][data-stage=battle] :is(#bf-center,#bf-pan){top:calc(193 * var(--u));width:calc(39 * var(--u));height:calc(39 * var(--u))}[data-ui=touch][data-stage=battle] #bf-center{left:calc(var(--lx) + calc(5 * var(--u)))}[data-ui=touch][data-stage=battle] #bf-pan{left:calc(var(--lx) + calc(85 * var(--u)))}[data-ui=touch][data-stage=battle] :is(#bf-center,#bf-pan,[data-order],#bf-auto,#bf-target) svg{width:calc(19 * var(--u));height:calc(19 * var(--u))}[data-ui=touch][data-stage=battle] #bf-stick{left:var(--lx);top:calc(243 * var(--u));width:calc(128 * var(--u));height:calc(128 * var(--u));border-width:calc(2.5 * var(--u))}[data-ui=touch][data-stage=battle] .bf-knob{width:38%;height:38%;top:31%;left:31%}[data-ui=touch][data-stage=battle] .bf-mini{right:calc(var(--sr) + calc(12 * var(--u)));width:calc(142 * var(--u));height:calc(112 * var(--u));gap:calc(4 * var(--u));padding:calc(5 * var(--u)) calc(6 * var(--u)) calc(6 * var(--u));background:color-mix(in srgb, var(--surface) 72%, transparent);border-radius:0 0 calc(6 * var(--u)) calc(6 * var(--u));border:0;grid-template-rows:auto 1fr;display:grid;top:0;bottom:auto;left:auto}[data-ui=touch][data-stage=battle] .bf-mini>div{font-size:calc(5.5 * var(--u));letter-spacing:calc(1 * var(--u))}[data-ui=touch][data-stage=battle] .bf-mini svg{width:100%;height:100%;min-height:0}[data-ui=touch][data-stage=battle] #bf-progress{display:none}[data-ui=touch][data-stage=battle] :is([data-order],#bf-auto,#bf-target){width:calc(40 * var(--u));height:calc(40 * var(--u))}[data-ui=touch][data-stage=battle] [data-order=attack]{right:calc(var(--rc) - calc(20 * var(--u)));top:calc(127 * var(--u))}[data-ui=touch][data-stage=battle] [data-order=retreat]{right:calc(var(--rc) + calc(19 * var(--u)));top:calc(157 * var(--u))}[data-ui=touch][data-stage=battle] [data-order=advance]{right:calc(var(--rc) - calc(59 * var(--u)));top:calc(157 * var(--u))}[data-ui=touch][data-stage=battle] [data-order=follow]{right:calc(var(--rc) - calc(20 * var(--u)));top:calc(187 * var(--u))}[data-ui=touch][data-stage=battle] #bf-auto{right:calc(var(--rc) + calc(19 * var(--u)));top:calc(236 * var(--u))}[data-ui=touch][data-stage=battle] #bf-target{right:calc(var(--rc) - calc(59 * var(--u)));top:calc(236 * var(--u))}[data-ui=touch][data-stage=battle] .bf-fire{right:calc(var(--rc) - calc(47 * var(--u)));top:calc(277 * var(--u));width:calc(94 * var(--u));height:calc(94 * var(--u));border-width:calc(2.5 * var(--u));--py:calc(6 * var(--u))}[data-ui=touch][data-stage=battle] .bf-fire svg{width:calc(40 * var(--u));height:calc(40 * var(--u))}[data-ui=touch][data-stage=battle] :is([data-order],#bf-auto,#bf-target,.bf-fire,.bf-mini){transition:translate .24s,transform .12s ease-out,box-shadow .12s ease-out}[data-ui=touch][data-stage=battle].commanding :is([data-order],#bf-auto,#bf-target,.bf-fire,.bf-mini){translate:calc(var(--sr) + calc(170 * var(--u))) 0}[data-ui=touch][data-stage=battle].commanding #bf-controls:after{translate:100%}[data-ui=touch].menu-open .bf-header{display:flex}[data-stage=setup] :is(.bf-tank,.bf-kit){display:none}.bf-check[data-state=locked]{--c:var(--k-cmd)}#battlefield:not([data-stage=battle]) .bf-mini{display:none}[data-ui=touch][data-stage=battle] .bf-mini{box-shadow:none}[data-ui=desk] .bf-header{z-index:32;position:relative}[data-ui=touch] .bf-coach-card{top:calc(8 * var(--u));max-width:calc(380 * var(--u));bottom:auto}[data-ui=touch][data-stage=plan] .bf-footer{bottom:calc(100 * var(--u))}[data-ui=touch] .bf-hint{padding:calc(4 * var(--u)) calc(9 * var(--u));font-size:calc(10.5 * var(--u));border-width:calc(2 * var(--u))}[data-ui=touch] .bf-rand{width:calc(36 * var(--u));padding:0}[data-ui=touch] .bf-rand span{display:none}[data-ui=touch] .bf-rand .bf-die{width:calc(22 * var(--u));height:calc(22 * var(--u))}[data-ui=touch][data-stage=setup] .bf-footer{left:auto;right:calc(var(--sr) + calc(12 * var(--u)));bottom:calc(114 * var(--u));translate:0 calc(8 * var(--u));max-width:calc(256 * var(--u));font-size:calc(10.5 * var(--u))}[data-ui=touch][data-stage=setup] .bf-footer.show{translate:0}#battlefield[data-ui=touch][data-stage=plan] .bf-footer{bottom:calc(22 * var(--u));translate:0 calc(8 * var(--u));font-size:calc(10 * var(--u))}.bf-pcard .bf-slot>span{letter-spacing:calc(.6 * var(--u));white-space:nowrap;justify-self:center}.bf-pcard .bf-slot .bf-seg button{min-height:calc(48 * var(--u))}[data-ui=touch] .bf-pcard .bf-loadout{gap:calc(6 * var(--u))}[data-ui=touch] .bf-pcard .bf-slot>span{font-size:calc(6.5 * var(--u))}[data-ui=touch] #bf-card-loadout{gap:calc(8 * var(--u));padding-bottom:calc(12 * var(--u))}#battlefield[data-ui=touch][data-stage=plan] .bf-footer.show{pointer-events:none}.bf-card-head .bf-budget{margin:0 calc(4 * var(--u)) 0 0;justify-items:end;gap:calc(2 * var(--u));line-height:1;display:grid}.bf-card-head .bf-budget strong{white-space:nowrap}[data-ui=touch] .bf-pcard .bf-slot .bf-seg button{min-height:calc(38 * var(--u))}#bf-start.bf-start{width:auto;padding:0 calc(20 * var(--u)) 0 calc(12 * var(--u));gap:calc(10 * var(--u))}#bf-start.bf-start b{text-align:left;font-size:calc(15 * var(--u));letter-spacing:calc(2 * var(--u));line-height:1.12}[data-ui=touch][data-stage=plan] #bf-pause{left:calc(50% - calc(80 * var(--u)) - calc(14 * var(--u)) - calc(56 * var(--u)))}#battlefield[data-ui=touch][data-stage=plan] .bf-footer{left:calc(50% + calc(94 * var(--u)));max-width:calc(50% - calc(106 * var(--u)) - var(--sr))}#battlefield[data-ui=touch][data-stage=plan]:has(.bf-pcard[data-away=right]:not([hidden],.folded),#bf-cmd[data-away=right]:not([hidden])) .bf-footer{left:auto;right:calc(50% + calc(162 * var(--u)));max-width:calc(50% - calc(174 * var(--u)) - var(--sl))}.bf-card .bf-seg{grid-auto-columns:minmax(0,1fr)}.bf-card .bf-seg button{min-width:0}.bf-card-head{gap:calc(8 * var(--u));min-width:0}.bf-pcard .bf-slot .bf-seg button{padding:0 calc(5 * var(--u));gap:calc(5 * var(--u))}.bf-pcard .bf-slot .bf-seg canvas.bf-ico{width:calc(30 * var(--u))}.bf-pcard .bf-slot>span{writing-mode:horizontal-tb;font-size:calc(15 * var(--u));color:var(--team);rotate:none}.bf-pcard .bf-slot.you{margin:0 calc(-6 * var(--u));padding:calc(5 * var(--u)) calc(6 * var(--u)) calc(7 * var(--u));border-radius:calc(8 * var(--u))}#battlefield .bf-pcard .bf-slot>span{font-size:calc(16 * var(--u));line-height:1}.bf-card .bf-seg [data-formation] canvas.bf-ico{width:calc(44 * var(--u))}.bf-num{padding:0 calc(4 * var(--u));border:calc(2 * var(--u)) solid currentColor;border-radius:calc(6 * var(--u));place-items:center;font-style:normal;font-weight:800;display:inline-grid}#battlefield .bf-pcard .bf-rand{width:calc(42 * var(--u));min-height:calc(38 * var(--u))}#battlefield .bf-pcard .bf-rand .bf-die{width:calc(26 * var(--u));height:calc(26 * var(--u))}.bf-rand span,#battlefield .bf-pcard .bf-slot>span{display:none}.bf-pcard .bf-slot.you{box-shadow:inset 0 0 0 calc(2 * var(--u)) var(--team);background:0 0}.bf-pcard .bf-slot{gap:calc(6 * var(--u))}#battlefield .bf-pcard .bf-slot>.bf-emblem{font-size:calc(26 * var(--u));color:var(--team);text-shadow:0 0 calc(8 * var(--u)) color-mix(in srgb, var(--team) 55%, transparent);place-items:center;line-height:1;display:grid}.bf-emblem i:not(.bf-pips){width:calc(22 * var(--u));height:calc(22 * var(--u));font:800 calc(12 * var(--u)) / 1 ui-monospace, monospace;color:var(--rim);background:var(--k-id);border:calc(2 * var(--u)) solid var(--rim);text-shadow:none;border-radius:50%;place-items:center;font-style:normal;display:grid}#battlefield .bf-pcard .bf-slot>.bf-emblem{gap:calc(4 * var(--u));align-content:center}.bf-emblem>b{--o:calc(1.5 * var(--u));font-size:calc(24 * var(--u));color:var(--k-id);text-shadow:var(--o) 0 var(--rim), calc(-1 * var(--o)) 0 var(--rim), 0 var(--o) var(--rim), 0 calc(-1 * var(--o)) var(--rim);line-height:.9}.bf-emblem .bf-pips{gap:calc(2.5 * var(--u));justify-content:center;display:flex}.bf-emblem .bf-pips s{width:calc(5 * var(--u));height:calc(5 * var(--u));border-radius:calc(1 * var(--u));background:var(--team)}.bf-pcard .bf-slot{grid-template-columns:calc(28 * var(--u)) 1fr}.bf-pcard,.bf-loc{top:calc(12 * var(--u));width:calc(384 * var(--u));height:calc(100% - calc(24 * var(--u)));max-height:calc(100% - calc(24 * var(--u)));gap:calc(10 * var(--u));flex-direction:column;display:flex}.bf-loc{width:calc(300 * var(--u))}[data-ui=desk][data-stage=plan] .bf-pcard{height:calc(100% - calc(110 * var(--u)));max-height:calc(100% - calc(110 * var(--u)))}.bf-card-body{align-content:start;gap:calc(12 * var(--u));min-height:0;margin:0 calc(-6 * var(--u));padding:calc(2 * var(--u)) calc(6 * var(--u)) calc(8 * var(--u));overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;flex:1;display:grid;overflow-y:auto}.bf-card-body::-webkit-scrollbar{display:none}.bf-card-size,.bf-card .bf-card-size{z-index:3;left:50%;bottom:calc(-10 * var(--u));width:calc(56 * var(--u));height:calc(14 * var(--u));background:var(--k-cmd);border:calc(2 * var(--u)) solid var(--rim);border-radius:calc(7 * var(--u));min-height:0;box-shadow:none;cursor:ns-resize;touch-action:none;place-items:center;padding:0;display:grid;position:absolute;translate:-50%;transform:none!important}.bf-card-size>i{width:calc(26 * var(--u));height:calc(5 * var(--u));border-block:calc(1.5 * var(--u)) solid var(--rim)}.bf-card .bf-label{font-size:calc(10 * var(--u));margin-bottom:calc(6 * var(--u))}.bf-card .bf-seg button{min-height:calc(44 * var(--u));font-size:calc(11.5 * var(--u))}.bf-card-head>b{font-size:calc(18 * var(--u))}.bf-card-head .bf-budget{font-size:calc(9.5 * var(--u))}.bf-card-head .bf-budget strong{font-size:calc(12.5 * var(--u))}#battlefield .bf-pcard .bf-slot .bf-seg button{min-height:calc(46 * var(--u))}.bf-slot .bf-seg button b{font-size:calc(12 * var(--u))}.bf-slot .bf-seg button small{font-size:calc(9.5 * var(--u))}.bf-num{min-width:calc(28 * var(--u));height:calc(26 * var(--u));font-size:calc(14 * var(--u))}.bf-seg button[aria-pressed=true] .bf-num{color:var(--k-sys-ink);background:var(--rim);border-color:var(--rim)}.bf-loc .bf-eyebrow{font-size:calc(9.5 * var(--u))}.bf-loc h2{font-size:calc(19 * var(--u))}.bf-loc .bf-mission{grid-template-columns:calc(64 * var(--u)) 1fr;height:calc(72 * var(--u))}.bf-thumb.bf-world{--tile:calc(62 * var(--u) / 5);width:calc(62 * var(--u));height:calc(68 * var(--u))}.bf-loc .bf-mission-text span{font-size:calc(9 * var(--u))}.bf-loc .bf-mission-text strong{font-size:calc(15.5 * var(--u))}.bf-loc .bf-mission-text small{font-size:calc(9.5 * var(--u))}.bf-terrain .bf-label{font-size:calc(10 * var(--u))}.bf-terrain .bf-seg button{min-height:calc(40 * var(--u));font-size:calc(11.5 * var(--u))}#bf-cmd .bf-cmd-mode{font-size:calc(10 * var(--u))}#bf-cmd .bf-cmd-tank b{font-size:calc(14.5 * var(--u))}#bf-cmd .bf-cmd-tank span{font-size:calc(10 * var(--u))}#bf-cmd #bf-cmd-hint{font-size:calc(11 * var(--u))}.bf-home-card>span{font-size:calc(15 * var(--u))}[data-ui=touch] .bf-side-name{display:none}[data-ui=touch] #bf-side canvas.bf-ico{width:calc(48 * var(--u))}#battlefield{--card-span:calc(468 * var(--u))}#battlefield[data-ui=touch]:has(.bf-pcard[data-away=left]:not([hidden],.folded)) #bf-start{left:calc((var(--sl) + var(--card-span) + 100% - var(--sr)) / 2)}#battlefield[data-ui=touch]:has(.bf-pcard[data-away=right]:not([hidden],.folded)) #bf-start{left:calc((var(--sl) + 100% - var(--sr) - var(--card-span)) / 2)}#battlefield[data-ui=touch][data-stage=plan] #bf-pause{left:calc(var(--sl) + calc(14 * var(--u)));right:auto;bottom:calc(16 * var(--u));width:calc(48 * var(--u));height:calc(48 * var(--u))}#battlefield[data-ui=touch][data-stage=plan][data-side="1"] #bf-pause{left:auto;right:calc(var(--sr) + calc(14 * var(--u)))}#battlefield[data-ui=touch][data-stage=plan] #bf-pause svg{width:calc(20 * var(--u));height:calc(20 * var(--u))}#battlefield[data-ui=touch][data-stage=plan] .bf-footer{left:50%;right:auto;top:calc(var(--th,calc(60 * var(--u))) + calc(12 * var(--u)));translate:-50% calc(-8 * var(--u));max-width:calc(100% - var(--sl) - var(--sr) - calc(40 * var(--u)));bottom:auto}#battlefield[data-ui=touch][data-stage=plan] .bf-footer.show{translate:-50%}#battlefield[data-ui=touch][data-stage=plan]:has(#bf-cmd:not([hidden])) .bf-footer{top:auto;bottom:calc(96 * var(--u))}[data-ui=touch] .bf-roster:has(>:nth-child(6)){gap:4px}[data-ui=touch] .bf-roster:has(>:nth-child(6)) .bf-unit{width:32px;height:40px}[data-ui=touch] .bf-roster:has(>:nth-child(10)) .bf-unit{width:26px}[data-ui=touch] .bf-roster:has(>:nth-child(6)) .bf-unit b{font-size:13px}[data-ui=touch] .bf-roster:has(>:nth-child(6)) .bf-pips s{width:4px;height:4px}.bf-card .bf-card-size{width:calc(90 * var(--u));height:calc(22 * var(--u));bottom:calc(-12 * var(--u));background:0 0;border-color:#0000}.bf-card .bf-card-size>i{display:none}.bf-card-icon,#bf-cmd-badge{cursor:pointer}#battlefield .bf-card.folded{min-height:0;padding:calc(10 * var(--u));width:auto!important;height:auto!important}.bf-card.folded>:not(.bf-card-head,.bf-cmd-info,.bf-orbit,.bf-card-grip),.bf-card.folded .bf-card-head>:not(.bf-card-icon),.bf-card.folded .bf-cmd-info>:not(#bf-cmd-badge){display:none!important}.bf-card.folded .bf-card-grip{width:calc(26 * var(--u))}.bf-card .bf-orbit{transition:translate .22s,scale .22s,opacity .18s}.bf-card.folded .bf-orbit{z-index:-1;translate:calc(-100% - calc(13 * var(--u))) 0;opacity:0;pointer-events:none;scale:.4}.bf-card.folded[data-away=right]>.bf-orbit{translate:calc(100% + calc(13 * var(--u))) 0}@media (prefers-reduced-motion:reduce){.bf-card .bf-orbit{transition:none}}.bf-check[data-state=locked]{pointer-events:none;transform:translateY(var(--py));box-shadow:0 0 0 var(--edge), 0 0 calc(14 * var(--u)) color-mix(in srgb, var(--k-cmd) 75%, transparent)}#battlefield .bf-card .bf-card-size,#battlefield .bf-card .bf-card-size:hover,#battlefield .bf-card .bf-card-size:active,#battlefield .bf-card .bf-card-size:focus-visible{box-shadow:none;background:0 0;border-color:#0000;outline:none;transform:none}#battlefield[data-active=true] :is(#bf-controls,.bf-aim,.bf-map-tools) button{touch-action:none}.bf-overlay{--tone:var(--k-flag);z-index:31;place-content:center;justify-items:center;gap:calc(26 * var(--u));-webkit-backdrop-filter:grayscale();background:#3a404cbd;display:grid;position:fixed;inset:0}.bf-overlay[hidden]{display:none}#battlefield:not(.menu-open):has(.bf-overlay:not([hidden])) .bf-header{z-index:30}.bf-overlay[data-tone=won]{--tone:var(--k-go)}.bf-overlay[data-tone=lost]{--tone:var(--k-attack)}.bf-sticker{left:var(--overlay-x,50%);top:var(--overlay-y,42%);justify-items:center;gap:calc(4 * var(--u));padding:calc(8 * var(--u)) calc(18 * var(--u)) calc(10 * var(--u));color:var(--rim);background:var(--tone);border:calc(2.5 * var(--u)) solid var(--rim);border-radius:calc(10 * var(--u));box-shadow:0 calc(5 * var(--u)) 0 var(--rim);animation:1.1s linear both bf-slam;display:grid;position:fixed;transform:translate(-50%,-50%)rotate(-4deg)}@keyframes bf-slam{0%{opacity:0;rotate:10deg;scale:1.9;translate:0 calc(-24 * var(--u));box-shadow:0 calc(46 * var(--u)) calc(34 * var(--u)) color-mix(in srgb, var(--rim) 55%, transparent);animation-timing-function:cubic-bezier(.55,0,1,.45)}36%{opacity:1;box-shadow:0 calc(5 * var(--u)) 0 var(--rim);animation-timing-function:ease-out;translate:0;rotate:-4deg;scale:1}46%{scale:1.04}58%,72%{box-shadow:0 calc(5 * var(--u)) 0 var(--rim);animation-timing-function:cubic-bezier(.5,0,.75,0);translate:0;scale:1}to{opacity:1;rotate:-4deg;scale:1;translate:0 calc(5 * var(--u));box-shadow:0 0 0 var(--rim)}}.bf-sticker span{font:800 calc(8 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(4 * var(--u));animation:1s steps(2,end) infinite bf-blink}@keyframes bf-blink{50%{opacity:.45}}.bf-sticker b{font:900 calc(34 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(2 * var(--u));white-space:nowrap;text-shadow:0 calc(3 * var(--u)) 0 color-mix(in srgb, var(--rim) 35%, transparent)}.bf-overlay-keys{left:var(--overlay-x,50%);bottom:calc(var(--overlay-bottom,0px) + calc(20 * var(--u)));gap:calc(16 * var(--u));max-width:calc(var(--overlay-width,100vw) - calc(24 * var(--u)));display:flex;position:fixed;translate:-50%}.bf-overlay .bf-start{--py:calc(5 * var(--u));width:calc(132 * var(--u));height:calc(84 * var(--u));padding:calc(6 * var(--u)) 0 calc(5 * var(--u));align-content:center;gap:calc(6 * var(--u));border-width:calc(3 * var(--u));border-radius:calc(12 * var(--u));position:relative;bottom:auto;left:auto;translate:none}.bf-overlay .bf-start-icon svg{width:calc(42 * var(--u));height:calc(42 * var(--u))}.bf-overlay .bf-start b{font-size:calc(10 * var(--u));letter-spacing:calc(1.6 * var(--u));white-space:nowrap}.bf-overlay :is(.bf-flag-sticker,.bf-new-sticker){color:var(--ink);background:var(--surface)}[data-theme=light] .bf-overlay :is(.bf-flag-sticker,.bf-new-sticker){background:var(--k-flag)}[data-theme=light] .bf-overlay .bf-new-sticker .bf-start-icon svg [stroke]{stroke:var(--rim)}.bf-overlay .bf-start.go{color:var(--rim);background:var(--alert)}#battlefield[data-ui=touch]:has(.bf-overlay:not([hidden])) .bf-footer{z-index:33;left:50%;right:auto;top:calc(14 * var(--u));max-width:min(calc(440 * var(--u)), calc(100vw - var(--sl) - var(--sr) - calc(40 * var(--u))));bottom:auto;translate:-50%}#battlefield[data-ui=desk]:has(.bf-overlay:not([hidden])) .bf-comms{z-index:33;position:relative}@media (prefers-reduced-motion:reduce){.bf-sticker,.bf-sticker span{animation:none}.bf-sticker{translate:0 calc(5 * var(--u));box-shadow:0 0 0 var(--rim)}}.bf-group-label,.bf-platoon-tag{letter-spacing:1.4px;color:var(--muted);white-space:nowrap;font-size:9px}[data-ui=desk] .bf-controls{grid-template-columns:max-content minmax(200px,1fr) max-content;align-items:end;gap:0 clamp(12px,1.6vw,24px)}[data-ui=desk] .bf-dock{align-items:flex-end;gap:14px;min-width:0;display:flex}[data-ui=desk] .bf-dock-cmd{justify-self:start}[data-ui=desk] .bf-quick{justify-self:end}[data-ui=desk] :is(.bf-task,.bf-squad-orders){justify-items:start;gap:6px;display:grid}[data-ui=desk] :is(.bf-task,.bf-quick>.bf-aim){border-right:1px solid var(--line);padding-right:14px}[data-ui=desk] .bf-quick>.bf-aim{gap:8px;display:flex;position:relative;inset:auto}[data-ui=desk] .bf-quick>.bf-aim>.bf-aim-label{letter-spacing:1.4px;color:var(--muted);font-size:9px;position:absolute;bottom:calc(100% + 6px);left:0}[data-ui=desk] #bf-tactics{justify-self:center;min-width:0;max-width:100%}[data-ui=desk] .bf-platoon{flex-direction:column;align-items:center;gap:6px;display:flex}[data-ui=desk] .bf-roster{justify-content:center;gap:8px;max-width:100%}[data-ui=desk] #bf-roster .bf-unit{flex:0 0 44px;width:44px;height:44px;padding:0}[data-ui=desk] .bf-platoon-tag{writing-mode:horizontal-tb;rotate:none}[data-ui=desk] #bf-controls :is(.bf-dock,.bf-orders,.bf-aim,.bf-roster)>*{white-space:nowrap;flex-shrink:0}[data-ui=desk].bar-icons #bf-controls :is(.bf-dock,.bf-task) button :is(span,kbd){display:none}[data-ui=desk].bar-icons #bf-controls :is(.bf-dock,.bf-task) button{padding:6px 10px}[data-ui=desk] #bf-controls :is(.bf-dock button,.bf-roster .bf-unit){transition:transform .12s ease-out,box-shadow .12s ease-out,background-color .14s,border-color .14s}[data-ui=desk] #bf-controls .bf-arcade:is([aria-pressed=true],.active){animation:none}[data-ui=desk] #bf-controls :is(.bf-dock button,.bf-roster .bf-unit):is(:active,.down){transition-duration:50ms}@media (prefers-reduced-motion:reduce){[data-ui=desk] #bf-controls :is(.bf-dock button,.bf-roster .bf-unit){transition:none}}[data-ui=desk].platoon-floating .bf-controls{grid-template-columns:minmax(0,1fr) max-content}[data-ui=desk][data-full=true] .bf-header{display:none}[data-ui=desk][data-full=true] .bf-stage{height:calc(100dvh - 108px)}[data-ui=desk][data-full=true] .bf-metrics #bf-fullscreen{align-self:center;place-items:center;width:38px;min-height:34px;padding:0;display:grid}[data-ui=desk][data-full=true] #bf-controls{padding:0}[data-ui=desk][data-full=true] :is(.bf-dock-cmd,.bf-quick){z-index:20;background:color-mix(in srgb, var(--surface) 70%, transparent);border:2px solid color-mix(in srgb, var(--line) 80%, transparent);box-shadow:0 4px 0 color-mix(in srgb, var(--line) 80%, transparent);cursor:grab;border-radius:12px;padding:26px 14px 12px;position:fixed;bottom:30px}[data-ui=desk][data-full=true] .bf-dock-cmd{left:30px}[data-ui=desk][data-full=true] .bf-quick{right:30px}[data-ui=desk][data-full=true] .bf-mini{width:180px}[data-ui=desk]:is([data-full=true],.platoon-floating) #bf-tactics{z-index:20;background:color-mix(in srgb, var(--surface) 70%, transparent);border:2px solid color-mix(in srgb, var(--line) 80%, transparent);width:max-content;box-shadow:0 4px 0 color-mix(in srgb, var(--line) 80%, transparent);cursor:grab;border-radius:12px;padding:44px 12px 12px;position:fixed}[data-ui=desk]:is([data-full=true],.platoon-floating) #bf-tactics .bf-platoon{align-items:stretch;min-width:96px}[data-ui=desk]:is([data-full=true],.platoon-floating) #bf-tactics .bf-roster .bf-unit{width:44px;height:44px;padding:0}[data-ui=desk]:is([data-full=true],.platoon-floating) #bf-tactics .bf-platoon-tag{position:absolute;top:16px;left:14px}[data-ui=desk]:is([data-full=true],.platoon-floating).dock-icons #bf-tactics .bf-platoon-tag{display:none}[data-ui=desk]:is([data-full=true],.platoon-floating) #bf-tactics .bf-roster{grid-template-columns:repeat(var(--cols,2), max-content);gap:6px;display:grid}[data-ui=desk]:is([data-full=true],.platoon-floating)[data-per="8"] #bf-tactics .bf-roster{--cols:3}[data-ui=desk]:is([data-full=true],.platoon-floating)[data-per="12"] #bf-tactics .bf-roster{--cols:4}[data-ui=desk]:is([data-full=true],.platoon-floating) #bf-tactics[data-layout=column] .bf-roster{grid-template-columns:none;grid-template-rows:repeat(var(--rows,4), max-content);grid-auto-flow:column}[data-ui=desk]:is([data-full=true],.platoon-floating)[data-per="12"] #bf-tactics[data-layout=column] .bf-roster{--rows:6}[data-ui=desk]:is([data-full=true],.platoon-floating) #bf-tactics[data-layout=row] .bf-roster{grid-template-columns:none;grid-auto-flow:column}.bf-roster-layout :is(.bf-l-grid,.bf-l-column,.bf-l-row){display:none}.bf-roster-layout[data-layout=grid] .bf-l-grid,.bf-roster-layout[data-layout=column] .bf-l-column,.bf-roster-layout[data-layout=row] .bf-l-row{display:inline}#battlefield[data-plan=false] .bf-plan-only{display:none!important}[data-ui=desk] #bf-controls :is(.bf-dock button,.bf-roster .bf-unit){height:44px;min-height:44px}.bf-dock-fold,.bf-roster-layout{display:none}[data-ui=desk][data-full=true] :is(.bf-dock-fold,.bf-roster-layout),[data-ui=desk].platoon-floating .bf-roster-layout{--py:2px;border-width:1.5px;border-radius:6px;place-items:center;width:28px;padding:0;display:grid;position:absolute;top:9px;right:9px;height:24px!important;min-height:0!important}[data-ui=desk][data-full=true] :is(.bf-dock-fold,.bf-roster-layout) svg,[data-ui=desk].platoon-floating .bf-roster-layout svg{width:14px;height:14px}[data-ui=desk][data-full=true] :is(.bf-dock-cmd,.bf-quick,.bf-quick>.bf-aim,.bf-orders){flex-direction:column;align-items:stretch}[data-ui=desk][data-full=true] :is(.bf-task,.bf-squad-orders){justify-items:stretch}[data-ui=desk][data-full=true].dock-icons .bf-dock button :is(span,kbd),[data-ui=desk][data-full=true].dock-icons .bf-dock .bf-group-label,[data-ui=desk][data-full=true].dock-icons .bf-aim-label{display:none}#battlefield[data-blank]{--grid-line:color-mix(in srgb, var(--k-sys) 26%, transparent)}#battlefield[data-blank][data-theme=light]{--grid-line:color-mix(in srgb, var(--line) 85%, transparent)}.bf-glint{z-index:1;left:calc(var(--x) * var(--tile));top:calc(var(--y) * var(--tile));width:var(--tile);height:var(--tile);background:color-mix(in srgb, var(--g) 30%, transparent);box-shadow:inset 0 0 0 1px var(--g), 0 0 12px color-mix(in srgb, var(--g) 45%, transparent);opacity:0;pointer-events:none;animation:3s ease-in-out infinite both bf-glint;position:absolute}@keyframes bf-glint{35%,55%{opacity:1}}#battlefield:not([data-blank]) .bf-glint{display:none}.bf-card-nav{align-items:center;gap:calc(9 * var(--u));margin:0 calc(-14 * var(--u)) calc(-14 * var(--u));padding:calc(6 * var(--u)) calc(14 * var(--u)) calc(7 * var(--u));border-top:calc(2 * var(--u)) solid var(--k-cmd-base);border-radius:0 0 calc(7 * var(--u)) calc(7 * var(--u));background:var(--k-cmd);flex:none;display:flex}.bf-card-progress{color:#24163e;font:900 calc(9 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(.7 * var(--u));flex:1}.bf-card-nav :is(.bf-card-next,.bf-card-prev){--py:calc(3 * var(--u));--hy:calc(1 * var(--u));--edge:var(--k-cmd-base);--edge-hover:var(--edge);--border-hover:var(--rim);justify-content:center;align-items:center;gap:calc(6 * var(--u));min-height:calc(26 * var(--u));padding:calc(5 * var(--u)) calc(11 * var(--u));border:calc(2 * var(--u)) solid var(--rim);border-radius:calc(5 * var(--u));font:900 calc(10 * var(--u)) / 1 ui-monospace, monospace;display:inline-flex}.bf-card-next{color:#33214f;background:#f6f3ff}.bf-card-prev{color:#f6f3ff;background:#6535ad}.bf-card-nav button svg{width:calc(15 * var(--u));height:calc(15 * var(--u))}.bf-orb-caption,.bf-fold-touch,[data-ui=touch] .bf-card-nav,[data-ui=touch] .bf-fold-mouse{display:none}[data-ui=touch] .bf-fold-touch{display:inline}[data-ui=touch] .bf-orb-caption{left:50%;bottom:calc(5 * var(--u));align-items:center;gap:calc(2 * var(--u));color:var(--k-cmd-ink);font:900 calc(8 * var(--u)) / 1 ui-monospace, monospace;white-space:nowrap;display:flex;position:absolute;translate:-50%}[data-ui=touch] .bf-orb-caption svg{width:calc(9 * var(--u));height:calc(9 * var(--u));stroke-width:3px}#battlefield .bf-card .bf-fold-key{--py:calc(4 * var(--u));--hy:calc(1 * var(--u));--edge:var(--k-cmd-base);z-index:4;border:calc(2 * var(--u)) solid var(--rim);min-height:0;box-shadow:0 var(--py) 0 var(--edge);flex:none;padding:0;animation:none;position:relative;transform:translateY(0)}@media (hover:hover) and (pointer:fine){#battlefield .bf-card .bf-fold-key:hover{transform:translateY(calc(-1 * var(--hy)));box-shadow:0 calc(var(--py) + var(--hy)) 0 var(--edge)}}#battlefield .bf-card .bf-fold-key:active{transform:translateY(var(--py));box-shadow:0 0 0 var(--edge)}.bf-fold-key:after,.bf-fold-key:before{z-index:5;opacity:0;pointer-events:none;transition:opacity .1s;position:absolute;top:50%}.bf-fold-key:after{content:attr(data-fold-tip);left:calc(100% + calc(11 * var(--u)));width:max-content;padding:calc(6 * var(--u)) calc(8 * var(--u));color:#24163e;border:calc(2 * var(--u)) solid var(--k-cmd);border-radius:calc(4 * var(--u));box-shadow:0 calc(3 * var(--u)) 0 var(--rim);font:900 calc(9 * var(--u)) / 1 ui-monospace, monospace;text-transform:uppercase;letter-spacing:calc(.3 * var(--u));background:#f6f3ff;translate:0 -50%}.bf-fold-key:before{content:"";left:calc(100% + calc(7 * var(--u)));width:calc(8 * var(--u));height:calc(8 * var(--u));border-left:calc(2 * var(--u)) solid var(--k-cmd);border-bottom:calc(2 * var(--u)) solid var(--k-cmd);z-index:6;background:#f6f3ff;translate:0 -50%;rotate:45deg}.bf-fold-key:focus-visible:after,.bf-fold-key:focus-visible:before{opacity:1}@media (hover:hover) and (pointer:fine){.bf-fold-key:hover:after,.bf-fold-key:hover:before{opacity:1}}.folded[data-away=right] .bf-fold-key:after{left:auto;right:calc(100% + calc(11 * var(--u)))}.folded[data-away=right] .bf-fold-key:before{left:auto;right:calc(100% + calc(7 * var(--u)));rotate:225deg}.bf-fold-hint{z-index:3;left:calc(66 * var(--u));top:calc(24 * var(--u));padding:calc(6 * var(--u)) calc(8 * var(--u));font:900 calc(8 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(.5 * var(--u));white-space:nowrap;color:#f6f3ff;background:var(--k-cmd-base);border:calc(2 * var(--u)) solid var(--k-cmd);border-radius:calc(4 * var(--u));box-shadow:0 calc(3 * var(--u)) 0 var(--rim);pointer-events:none;opacity:0;translate:calc(4 * var(--u)) 0;transition:opacity .16s,translate .16s;position:absolute}.bf-fold-hint:before{content:"";left:calc(-5 * var(--u));width:calc(8 * var(--u));height:calc(8 * var(--u));background:inherit;border-left:calc(2 * var(--u)) solid var(--k-cmd);border-bottom:calc(2 * var(--u)) solid var(--k-cmd);position:absolute;top:50%;translate:0 -50%;rotate:45deg}.bf-fold-hint b{font-weight:900}.hinting>.bf-fold-hint{opacity:1;translate:0}.folded>.bf-fold-hint{display:none}.bf-card:has(.bf-fold-key:focus-visible)>.bf-fold-hint{opacity:0}@media (hover:hover) and (pointer:fine){.bf-card:has(.bf-fold-key:hover)>.bf-fold-hint{opacity:0}}@media (prefers-reduced-motion:reduce){.bf-fold-hint,.bf-fold-key:before,.bf-fold-key:after{transition:none}}#battlefield.bf-over #bf-card-loadout{--edge:color-mix(in srgb, var(--alert) 50%, var(--rim));--edge-hover:var(--edge);border-color:var(--alert)}#battlefield.bf-over #bf-card-loadout .bf-card-grip{background:var(--alert)}#battlefield.bf-over #bf-card-loadout .bf-orb{filter:grayscale();opacity:.5}#battlefield.bf-over #bf-cost-error{color:var(--alert)}.bf-shake{animation:.36s ease-out bf-shake}@keyframes bf-shake{20%,60%{translate:calc(-6 * var(--u)) 0}40%,80%{translate:calc(6 * var(--u)) 0}}#bf-mode-tanks canvas.bf-ico{filter:drop-shadow(1.5px 0 0 var(--rim)) drop-shadow(-1.5px 0 0 var(--rim)) drop-shadow(0 1.5px 0 var(--rim)) drop-shadow(0 -1.5px 0 var(--rim))}.bf-boot{display:none}#battlefield[data-boot] .bf-boot{--t0:.65s;z-index:70;place-content:center;justify-items:center;gap:calc(22 * var(--u));perspective:1400px;background:var(--bg);padding-bottom:6vh;display:grid;position:fixed;inset:0;overflow:hidden}#battlefield[data-boot-doors=off] .bf-boot{--t0:0s}.bf-boot-field{--tile:calc(40 * var(--u));background:linear-gradient(color-mix(in srgb, var(--k-sys) 22%, transparent) 1px, transparent 1px) 0 0 / var(--tile) var(--tile), linear-gradient(90deg, color-mix(in srgb, var(--k-sys) 22%, transparent) 1px, transparent 1px) 0 0 / var(--tile) var(--tile), var(--map);opacity:0;animation:bf-boot-fade .5s calc(var(--t0) + 50ms) ease-out both;position:absolute;inset:0}@keyframes bf-boot-fade{to{opacity:1}}.bf-boot-hq{width:calc(64 * var(--u));position:absolute;top:50%;overflow:visible;translate:0 -50%}.bf-boot-hq[data-side="0"]{left:max(calc(var(--sl) + calc(36 * var(--u))), 7%);color:var(--team-a)}.bf-boot-hq[data-side="1"]{right:max(calc(var(--sr) + calc(36 * var(--u))), 7%);color:var(--team-b)}.bf-boot-hq rect:first-child{fill:color-mix(in srgb, currentColor 8%, transparent);stroke:currentColor;stroke-width:4px;stroke-dasharray:6 4;stroke-dashoffset:100px;filter:drop-shadow(0 0 6px);animation:bf-boot-draw .7s calc(var(--t0) + .35s) ease-out both}@keyframes bf-boot-draw{0%{stroke-dasharray:0 100}to{stroke-dasharray:6 4;stroke-dashoffset:0}}.bf-boot-hq :is(.bf-boot-core,text){opacity:0;animation:bf-boot-fade .3s calc(var(--t0) + .9s) steps(3) both}.bf-boot-core{fill:none;stroke:currentColor;stroke-width:4px}.bf-boot-hq text{fill:currentColor;letter-spacing:2px;text-anchor:middle;font:800 13px ui-monospace,monospace}#battlefield .bf-boot-sticker{--tone:var(--k-flag);z-index:2;column-gap:calc(14 * var(--u));padding:calc(10 * var(--u)) calc(22 * var(--u)) calc(12 * var(--u)) calc(14 * var(--u));animation-delay:calc(var(--t0) + .75s);grid-template-columns:auto auto;grid-template-areas:"icon kicker""icon name";place-items:center start;position:relative}.bf-boot-sticker .bf-start-icon{color:var(--k-sys);grid-area:icon}.bf-boot-sticker .bf-start-icon svg{width:calc(58 * var(--u));height:calc(58 * var(--u));padding:calc(3 * var(--u));border-radius:calc(6 * var(--u));background:#10233f;display:block}.bf-boot-sticker span:not(.bf-start-icon){grid-area:kicker;align-self:end}.bf-boot-sticker b{grid-area:name}.bf-boot-status{z-index:2;font:800 calc(11 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(4 * var(--u));color:var(--k-sys-ink);text-shadow:0 0 10px color-mix(in srgb, var(--k-sys) 60%, transparent);opacity:0;animation:bf-boot-fade .2s calc(var(--t0) + .4s) steps(2) both;margin:0;position:relative}.bf-boot-status i:after{content:"";text-align:left;width:3ch;animation:1s steps(4,end) infinite bf-boot-dots;display:inline-block}@keyframes bf-boot-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}#battlefield .bf-boot #bf-boot-go{z-index:2;width:calc(150 * var(--u));height:calc(84 * var(--u));align-content:center;gap:calc(6 * var(--u));border-width:calc(3 * var(--u));border-radius:calc(12 * var(--u));display:none;position:relative;bottom:auto;left:auto;translate:none}#bf-boot-go .bf-start-icon svg{width:calc(40 * var(--u));height:calc(40 * var(--u))}#bf-boot-go b{font-size:calc(11 * var(--u));letter-spacing:calc(2 * var(--u));animation:1s steps(2,end) infinite bf-blink}.bf-boot.ready .bf-boot-status{display:none}#battlefield .bf-boot.ready #bf-boot-go{animation:bf-boot-pop .38s var(--spring) both;display:grid}@keyframes bf-boot-pop{0%{opacity:0;scale:.4}}.bf-boot-door{z-index:5;background:repeating-linear-gradient(135deg, #0000 0 14px, #ffffff14 14px 17px), var(--k-attack);border:3px solid var(--rim);width:50%;animation:.62s cubic-bezier(.6,0,.3,1) .12s both bf-boot-door;position:absolute;top:0;bottom:0}.bf-boot-door[data-side=l]{transform-origin:0;--fold:-100deg;left:0}.bf-boot-door[data-side=r]{transform-origin:100%;--fold:100deg;right:0}@keyframes bf-boot-door{to{transform:rotateY(var(--fold));opacity:0;visibility:hidden}}#battlefield[data-boot-doors=off] .bf-boot-door{display:none}#battlefield[data-boot] .bf-boot.out{pointer-events:none;background:0 0}.bf-boot.out :is(.bf-boot-field,.bf-boot-hq){animation:.52s ease-in both bf-boot-out}#battlefield .bf-boot.out .bf-boot-sticker{animation:.52s cubic-bezier(.5,0,.8,.4) both bf-boot-break}@keyframes bf-boot-out{0%{opacity:1}to{opacity:0}}@keyframes bf-boot-break{0%{opacity:1;filter:none;scale:1}35%{filter:brightness(1.8);scale:1.08}to{opacity:0;filter:blur(6px)brightness(2);scale:1.5}}#battlefield[data-boot] :is(.bf-header,.bf-topline,.bf-loc,.bf-stage,.bf-mini){transition:translate .56s cubic-bezier(.2, .9, .3, 1.15), opacity .42s ease-out, scale .52s var(--spring), border-color .3s .38s, box-shadow .3s .38s}#battlefield[data-boot=on] :is(.bf-header,.bf-topline){opacity:0;translate:0 -120%}#battlefield[data-boot=on] .bf-stage{box-shadow:none;border-color:#0000}#battlefield[data-boot=on] .bf-loc{opacity:0;scale:.4}#battlefield[data-boot=in] .bf-loc{transition-delay:.52s}#battlefield[data-boot=in] .bf-topline{transition-delay:90ms}#battlefield[data-boot=in] .bf-stage:after{content:"";z-index:30;border:2px solid var(--k-sys);border-radius:inherit;box-shadow:0 0 16px color-mix(in srgb, var(--k-sys) 50%, transparent), inset 0 0 16px color-mix(in srgb, var(--k-sys) 30%, transparent);pointer-events:none;animation:.9s ease-out both bf-frame;position:absolute;inset:0}@keyframes bf-frame{0%{clip-path:inset(0 50% 100%);opacity:1}45%{clip-path:inset(0 0 100%)}80%{clip-path:inset(0);opacity:1}to{clip-path:inset(0);opacity:0}}.bf-stale{z-index:80}#battlefield .bf-card .bf-fold-key.bf-unit{--edge:color-mix(in srgb, var(--c) 45%, var(--rim))}#battlefield[data-ui=touch] .bf-footer{z-index:34;background:color-mix(in srgb, var(--surface) 97%, transparent);border:calc(1.5 * var(--u)) solid var(--line);border-left:calc(4 * var(--u)) solid var(--k-sys);border-radius:calc(7 * var(--u));box-shadow:0 calc(3 * var(--u)) 0 var(--rim), 0 0 calc(18 * var(--u)) color-mix(in srgb, var(--k-sys) 22%, transparent)}:is(#battlefield[data-ui=touch]:is(.menu-open,:not([data-stage=battle])):has(.bf-overlay:not([hidden])) .bf-footer,#battlefield[data-ui=touch].menu-open .bf-footer){top:calc(var(--th,calc(60 * var(--u))) + calc(12 * var(--u)));bottom:auto}#battlefield:has(.bf-stale:not([hidden])) .bf-footer{z-index:81}#battlefield.commanding[data-stage=battle] #bf-viewport{outline:2px solid var(--k-cmd);outline-offset:-2px}#bf-fight{--c:var(--k-fire);z-index:9;letter-spacing:.08em;grid-auto-flow:column;gap:8px;padding:7px 14px;font-size:11px;position:absolute;bottom:18px;left:50%;translate:-50%}#bf-fight svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:14px;height:14px}#battlefield:not(.commanding) #bf-fight,#battlefield:not([data-stage=battle]) #bf-fight,#battlefield[data-ui=touch] #bf-fight{display:none}#battlefield[data-ui=touch][data-stage=battle] .bf-fire{transition:translate .24s,right .24s,width .24s,height .24s,transform .12s ease-out,box-shadow .12s ease-out}#battlefield[data-ui=touch][data-stage=battle] .bf-fire svg{transition:rotate .24s}#battlefield[data-ui=touch][data-stage=battle] .bf-fire circle{transition:opacity .16s}#battlefield[data-ui=touch][data-stage=battle].commanding .bf-fire{right:calc(var(--sr) + calc(12 * var(--u)));width:calc(60 * var(--u));height:calc(60 * var(--u));translate:0}#battlefield[data-ui=touch][data-stage=battle].commanding .bf-fire svg{rotate:45deg}#battlefield[data-ui=touch][data-stage=battle].commanding .bf-fire circle{opacity:0}#battlefield[data-boot-doors=hold] .bf-boot *{animation-play-state:paused!important}.bf-boot-low{z-index:2;left:0;right:0;top:calc(50% - 3vh + var(--boot-half,calc(46 * var(--u))));pointer-events:none;place-items:center;display:grid;position:absolute;bottom:0}.bf-boot-low>*{pointer-events:auto;grid-area:1/1}#battlefield[data-ui=desk][data-stage=battle] #bf-cmd{left:calc(var(--sl,0px) + 12px);top:12px;translate:none}.bf-surrender-icon .bf-cells rect{fill:var(--team)}.bf-surrender-icon .bf-grid{fill:none;stroke:#07060f;stroke-opacity:.3}.bf-surrender-icon .bf-frame{fill:none;stroke:#f6f3ff;stroke-width:2px}.bf-surrender-icon :is(.bf-pole,.bf-cloth){fill:#f6f3ff;stroke:#07060f;stroke-width:2px;stroke-linejoin:round;shape-rendering:geometricprecision}#battlefield .bf-overlay .bf-flag-sticker .bf-start-icon svg{background:var(--team)}#battlefield .bf-overlay .bf-flag-sticker.go{color:var(--ink);background:var(--surface)}[data-theme=light] #battlefield .bf-overlay .bf-flag-sticker.go{background:var(--k-flag)}.bf-flag-sticker.go .bf-cells rect{animation:bf-whiteout .16s calc(var(--i) * 18ms) steps(2) forwards}@keyframes bf-whiteout{to{fill:#f6f3ff}}.bf-flag-sticker .bf-cloth{transform-box:fill-box;transform-origin:0}.bf-flag-sticker.go .bf-cloth{animation:.12s ease-in-out 4 alternate bf-wave}@keyframes bf-wave{0%{transform:skewY(-12deg)scaleX(.9)}to{transform:skewY(10deg)scaleX(1.05)}}.bf-dock-fold .bf-l-grid,.dock-icons .bf-dock-fold .bf-l-list{display:none}.dock-icons .bf-dock-fold .bf-l-grid{display:inline}[data-ui=touch] .bf-orbit{gap:calc(14 * var(--u))}[data-ui=touch] .bf-orb{width:calc(80 * var(--u));height:calc(80 * var(--u))}[data-ui=touch] .bf-orb canvas.bf-ico{width:calc(50 * var(--u))}[data-ui=touch] .bf-orb:has(.bf-orb-caption) canvas.bf-ico{width:calc(46 * var(--u));transform:translateY(calc(-7 * var(--u)))}[data-ui=touch] .bf-orb-caption{bottom:calc(8 * var(--u));gap:calc(3 * var(--u));font-size:calc(9.5 * var(--u))}[data-ui=touch] .bf-orb-caption svg{width:calc(10 * var(--u));height:calc(10 * var(--u))}#battlefield#battlefield[data-ui=touch][data-stage=plan]:has(.bf-pcard:not([hidden],.folded)) .bf-footer{--open-span:calc(496 * var(--u));width:auto;max-width:none;translate:0 calc(-8 * var(--u))}#battlefield#battlefield[data-ui=touch][data-stage=plan]:has(.bf-pcard[data-away=right]:not([hidden],.folded)) .bf-footer{left:calc(var(--sl) + calc(12 * var(--u)));right:calc(var(--sr) + var(--open-span))}#battlefield#battlefield[data-ui=touch][data-stage=plan]:has(.bf-pcard[data-away=left]:not([hidden],.folded)) .bf-footer{left:calc(var(--sl) + var(--open-span));right:calc(var(--sr) + calc(12 * var(--u)))}#battlefield#battlefield[data-ui=touch][data-stage=plan]:has(.bf-pcard:not([hidden],.folded)) .bf-footer.show{translate:0}.bf-dock-title{display:none}[data-ui=desk][data-full=true] :is(.bf-dock-cmd,.bf-quick){gap:12px;padding:54px 14px 14px}[data-ui=desk][data-full=true] .bf-dock-title{letter-spacing:.2em;color:var(--muted);font:700 11px/1 ui-monospace,monospace;display:block;position:absolute;top:21px;left:16px}[data-ui=desk][data-full=true] .bf-dock-fold{top:12px;right:12px}[data-ui=desk][data-full=true] .bf-aim-label,[data-ui=desk][data-full=true] :is(.bf-lbl-pre,.bf-lbl-sep){display:none}[data-ui=desk][data-full=true] .bf-dock .bf-group-label{letter-spacing:.16em;margin:0 0 2px;font-size:10px}[data-ui=desk][data-full=true] :is(.bf-task,.bf-quick>.bf-aim){border-right:0;border-bottom:1px solid var(--line);gap:8px;padding:0 0 12px}[data-ui=desk][data-full=true] :is(.bf-squad-orders,.bf-orders){gap:8px}[data-ui=desk][data-full=true] .bf-dock button:not(.bf-dock-fold){align-items:center;gap:10px;padding:0 12px;display:flex}[data-ui=desk][data-full=true] .bf-dock button:not(.bf-dock-fold) kbd{margin-left:auto}[data-ui=desk][data-full=true].dock-icons :is(.bf-dock-cmd,.bf-quick){padding-top:48px}[data-ui=desk][data-full=true].dock-icons .bf-dock-title{display:none}[data-ui=desk][data-full=true].dock-icons .bf-dock button:not(.bf-dock-fold){justify-content:center;width:46px;padding:0}button:focus-visible:not(.bf-fold-key){box-shadow:0 var(--py,0px) 0 var(--edge,transparent), 0 0 0 3px var(--bg), 0 var(--py,0px) 0 3px var(--bg), 0 0 0 6px var(--k-sys-ink), 0 var(--py,0px) 0 6px var(--k-sys-ink);outline:none}button:focus-visible:not(.bf-fold-key):is(:active,.down,.active,[aria-pressed=true],[aria-expanded=true]){box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--k-sys-ink)}.bf-aim-label{display:none}[data-ui=desk] .bf-aim-label{letter-spacing:1.4px;color:var(--muted);white-space:nowrap;font-size:9px;display:block}:is(.bf-group-label,.bf-platoon-tag,.bf-aim-label) b{color:var(--ink);font-weight:800}#battlefield:is([data-ui=touch],[data-full=true],.platoon-floating) .bf-platoon-tag .bf-lbl-rest,#battlefield[data-ui=desk]:is(.bar-icons,.platoon-floating) :is(.bf-aim-label .bf-lbl-rest,.bf-task .bf-lbl-sep,.bf-task .bf-lbl-rest,#bf-order-label :is(.bf-lbl-pre,.bf-lbl-sep)){display:none}[data-ui=desk] .bf-orb{width:calc(66 * var(--u));height:calc(66 * var(--u))}[data-ui=desk] .bf-orb canvas.bf-ico{width:calc(46 * var(--u))}:is(.bf-orb,.bf-home-card,.bf-pcard,#bf-cmd) canvas.bf-ico{filter:drop-shadow(1.5px 0 0 var(--rim)) drop-shadow(-1.5px 0 0 var(--rim)) drop-shadow(0 1.5px 0 var(--rim)) drop-shadow(0 -1.5px 0 var(--rim))}#battlefield #bf-cmd .bf-orbit{display:none}#battlefield .bf-cmd-back{--py:calc(2 * var(--u));--edge:var(--k-cmd-base);z-index:2;top:calc(-12 * var(--u));left:calc(14 * var(--u));align-items:center;gap:calc(3 * var(--u));height:calc(22 * var(--u));min-height:0;padding:0 calc(9 * var(--u)) 0 calc(5 * var(--u));font:800 calc(9 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(1.2 * var(--u));color:#f6f3ff;background:var(--k-cmd);border:calc(1.5 * var(--u)) solid var(--rim);border-radius:calc(6 * var(--u));display:flex;position:absolute}.bf-cmd-back svg{width:calc(12 * var(--u));height:calc(12 * var(--u));fill:none;stroke:currentColor;stroke-width:3px}.bf-card.folded .bf-cmd-back{display:none}#battlefield#battlefield[data-ui=touch][data-stage=plan]:has(#bf-cmd:not([hidden])) .bf-footer{z-index:34;top:auto;left:50%;right:auto;bottom:calc(12 * var(--u));width:max-content;max-width:min(calc(440 * var(--u)), calc(100% - var(--sl) - var(--sr) - calc(40 * var(--u))));translate:-50% calc(8 * var(--u))}#battlefield#battlefield[data-ui=touch][data-stage=plan]:has(#bf-cmd:not([hidden])) .bf-footer.show{translate:-50%}#battlefield[data-ui=desk]:is(.bar-icons,.platoon-floating):not([data-full=true]) #bf-order-label{color:var(--ink);font-weight:800}.bf-install p b{font-size:inherit}[data-ui=touch] .bf-orb:has(.bf-orb-caption) canvas.bf-ico{transform:translateY(calc(-4 * var(--u)))}[data-ui=touch] .bf-orb-caption{bottom:calc(14 * var(--u))}[data-ui=desk] .bf-orb{border-radius:calc(14 * var(--u))}#battlefield .bf-pcard{height:auto}#bf-cmd .bf-cmd-mode{display:none}#battlefield[data-plan=true] #bf-cmd:not(.folded){padding-top:calc(22 * var(--u))}#bf-cmd #bf-cmd-state{--pill:var(--raised);z-index:2;top:calc(-12 * var(--u));right:calc(14 * var(--u));align-items:center;gap:calc(4 * var(--u));height:calc(22 * var(--u));padding:0 calc(9 * var(--u)) 0 calc(7 * var(--u));font:800 calc(9 * var(--u)) / 1 ui-monospace, monospace;letter-spacing:calc(1.2 * var(--u));color:var(--rim);background:var(--pill);border:calc(1.5 * var(--u)) solid var(--rim);border-radius:calc(6 * var(--u));box-shadow:0 0 calc(12 * var(--u)) color-mix(in srgb, var(--pill) 55%, transparent);animation:1.8s ease-in-out infinite bf-pill;display:flex;position:absolute}@keyframes bf-pill{50%{box-shadow:0 0 0 calc(3 * var(--u)) color-mix(in srgb, var(--pill) 35%, transparent), 0 0 calc(20 * var(--u)) color-mix(in srgb, var(--pill) 80%, transparent)}}#bf-cmd #bf-cmd-state[data-kind=none]{box-shadow:none;animation:none}@media (prefers-reduced-motion:reduce){#bf-cmd #bf-cmd-state{animation:none}}#bf-cmd #bf-cmd-state svg{width:calc(11 * var(--u));height:calc(11 * var(--u));fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}#bf-cmd #bf-cmd-state[data-kind=attack]{--pill:var(--k-attack)}#bf-cmd #bf-cmd-state[data-kind=follow]{--pill:var(--k-fallin)}#bf-cmd #bf-cmd-state[data-kind=command]{--pill:var(--k-cmd);color:#f6f3ff}#bf-cmd #bf-cmd-state[data-kind=repair],#bf-cmd #bf-cmd-state[data-kind=you]{--pill:var(--team)}#bf-cmd #bf-cmd-state[data-kind=none]{color:var(--muted)}:is(#bf-cmd .bf-cmd-info:has(.bf-mode[data-on=hq]) #bf-cmd-state,#bf-cmd.folded #bf-cmd-state){display:none}#bf-cmd-badge[data-key=hq]{--c:var(--team)}#battlefield #bf-cmd-badge[data-key=hq] svg{width:calc(30 * var(--u));height:calc(30 * var(--u));fill:none;stroke:var(--rim);stroke-width:2px}#battlefield[data-ui=desk].platoon-tucked:not([data-full=true]) #bf-tactics{display:none}.bf-launch-burst{z-index:29;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;overflow:visible}.bf-launch-flash,.bf-launch-ring,.bf-launch-bit{z-index:2;pointer-events:none;position:absolute}.bf-launch-flash{background:var(--tone);border-radius:50%}.bf-launch-ring{border:3px solid var(--tone);border-radius:50%}.bf-launch-bit{z-index:3;background:var(--tone)}#battlefield .bf-igniting{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.bf-launch-burst{display:none}}
