:root{--ui-feedback-optimal:#7aa65a;--ui-feedback-reduced:#ffc83d;--ui-feedback-none:#f2f4f7;--ui-feedback-unavailable:#8c939e;--ui-feedback-damage-low:#f29a2e;--ui-feedback-damage-high:#ff2424;--ui-action-size:clamp(2rem, 12.5vmin, 4rem);--ui-large-action-size:clamp(2.25rem, 15vmin, 5.25rem);--ui-fire-both-size:calc(var(--ui-large-action-size) * 1.5);--ui-stick-size:min(40vmin, 16rem);--ui-bottom-left-system-info-height:var(--ui-font-xs);--ui-movement-stick-bottom-reserve:0px;--ui-crosshair-size:clamp(1.25rem, 6vmin, 1.625rem)}html,body{color:#f4f0e8;background:#101214;width:100%;height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#game{touch-action:none;width:100dvw;height:100dvh;display:block}.ui-root{pointer-events:none;-webkit-user-select:none;user-select:none;width:100dvw;height:100dvh;position:fixed;inset:0}.ui-world-overlay{pointer-events:none;position:absolute;inset:0}.ui-safe-area{inset:calc(var(--ui-visible-inset-top,0px) + var(--ui-safe-area-inset-top)) calc(var(--ui-visible-inset-right,0px) + var(--ui-safe-area-inset-right)) calc(var(--ui-visible-inset-bottom,0px) + var(--ui-safe-area-inset-bottom)) calc(var(--ui-visible-inset-left,0px) + var(--ui-safe-area-inset-left));position:absolute}#ui-safe-area{z-index:20}.bottom-left-system-info{left:var(--ui-edge);bottom:var(--ui-edge);z-index:5;color:#fff;min-width:8rem;font-size:var(--ui-font-xs);font-variant-numeric:tabular-nums;height:var(--ui-bottom-left-system-info-height);pointer-events:auto;touch-action:manipulation;cursor:default;-webkit-tap-highlight-color:transparent;white-space:nowrap;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;line-height:1;position:absolute}.bottom-left-system-info:before{inset:calc(-1 * var(--ui-gap)) 0 0;content:"";pointer-events:auto;position:absolute}.bottom-left-system-info[hidden]{display:none}@media (pointer:coarse){#ui-safe-area{--ui-movement-stick-bottom-reserve:calc(var(--ui-bottom-left-system-info-height) + var(--ui-gap))}.bottom-left-system-info{bottom:var(--ui-edge)}}.ui-safe-area button,.ui-safe-area [data-interactive=true]{pointer-events:auto}#hangar{z-index:10;padding:var(--ui-edge);pointer-events:auto;place-items:center;display:grid;position:absolute;inset:0}#hangar[hidden]{display:none}#hangar[data-visual-hidden=true]>*{visibility:hidden}.hangar-card{text-align:left;width:min(48%,28rem);min-width:0;left:var(--ui-control-gutter);top:var(--ui-control-gutter);position:absolute}#player-build-select{width:min(100%,24rem);margin-top:0}.hangar-card p{margin:0}#training-range-build-error{margin-top:var(--ui-gap)}#training-range-build-error[hidden]{display:none}.eyebrow{color:var(--ui-primary);letter-spacing:.16em;font-size:var(--ui-font-xs)}#start-button{right:var(--ui-control-gutter);bottom:var(--ui-control-gutter);position:absolute}.hangar-actions{align-items:center;gap:var(--ui-gap);right:var(--ui-control-gutter);bottom:var(--ui-control-gutter);display:flex;position:absolute}.hangar-actions>button{position:static}#training-range-exit-button{z-index:5;pointer-events:auto;top:calc(var(--ui-safe-area-inset-top) + var(--ui-control-gutter));right:calc(var(--ui-safe-area-inset-right) + var(--ui-control-gutter));position:absolute}#training-range-exit-button[hidden]{display:none}#match-setup{z-index:12;padding:var(--ui-edge);background:var(--ui-background);pointer-events:auto;place-items:center;display:grid;position:absolute;inset:0}#match-setup-safe-area{padding:var(--ui-control-gutter)}#match-setup[hidden]{display:none}.match-setup-card{width:min(100%,26rem);max-height:calc(100% - var(--ui-button-height) - var(--ui-control-gutter) * 2 - var(--ui-gap));flex-direction:column;padding:0;display:flex;overflow:hidden}.match-setup-card h1,.match-setup-card p{margin:0}#build-validation-error{line-height:1.3}#build-validation-error[hidden]{display:none}body[data-online-mode=true] #start-button{min-width:clamp(8.5rem,28vmin,11rem)}#start-button-icon:not([hidden]){margin-right:.4rem;animation:1.2s steps(2,end) infinite matchmaking-hourglass;display:inline-block}#online-status{right:var(--ui-edge);bottom:calc(var(--ui-edge) + var(--ui-button-height) + var(--ui-gap));text-align:right;max-width:min(70vw,24rem);margin:0;position:absolute}#online-status[hidden]{display:none}#connection-overlay{pointer-events:auto;z-index:20;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.connection-window{min-width:min(80vw,18rem)}body[data-online-view-state=connecting][data-scene=gameplay] #game{pointer-events:none}body[data-online-view-state=connecting][data-scene=gameplay] #movement-stick,body[data-online-view-state=connecting][data-scene=gameplay] #ability-button,body[data-online-view-state=connecting][data-scene=gameplay] #fire-controls{opacity:.42;pointer-events:none}#match-setup[data-matchmaking-state=preparing]{background:var(--ui-background)}@keyframes matchmaking-hourglass{50%{transform:rotate(180deg)}}@media (prefers-reduced-motion:reduce){#start-button-icon:not([hidden]){animation:none}}body[data-visual-mode=map-overview] #crosshair,body[data-visual-mode=map-overview] #hit-markers,body[data-visual-mode=map-overview] #kill-marker,body[data-visual-mode=map-overview] #player-durability,body[data-visual-mode=map-overview] #damage-received,body[data-visual-mode=map-overview] #mech-markers,body[data-visual-mode=map-overview] #fire-controls,body:not([data-scene=gameplay]) #movement-stick,body:not([data-scene=gameplay]) #crosshair,body:not([data-scene=gameplay]) #hit-markers,body:not([data-scene=gameplay]) #kill-marker,body:not([data-scene=gameplay]) #player-durability,body:not([data-scene=gameplay]) #damage-received,body:not([data-scene=gameplay]) #mech-markers,body:not([data-scene=gameplay]) #ability-button,body:not([data-scene=gameplay]) #fire-controls{display:none}body[data-scene=debug] #movement-stick,body[data-scene=debug] #fire-controls{display:block}body[data-scene=debug] #ability-button{display:flex}body[data-touch-controls=hidden] #movement-stick,body[data-touch-controls=hidden] #ability-button,body[data-touch-controls=hidden] #fire-controls{display:none}#debug-overlay{z-index:100;padding:var(--ui-edge);pointer-events:none;display:block;position:absolute;inset:0}#debug-overlay[hidden],#debug-overlay[data-enabled=false],#screen-close[hidden]{display:none}#debug-overlay-columns{align-items:start;gap:var(--ui-gap);grid-template-columns:repeat(2,minmax(0,1fr));width:66.6667%;display:grid}#debug-pages-menu{z-index:1;box-sizing:border-box;gap:calc(var(--ui-gap) * .5);width:min(calc(100% / 3 - var(--ui-edge) * 2), 20rem);pointer-events:auto;right:var(--ui-control-gutter);top:var(--ui-control-gutter);max-height:calc(100% - var(--ui-control-gutter) * 3 - var(--ui-close-height) - var(--ui-button-large-height));flex-direction:column;display:flex;position:absolute;overflow-y:auto}#debug-pages-menu[hidden]{display:none}.debug-pages-title{margin:0 0 var(--ui-gap);color:var(--ui-primary);font-family:var(--ui-font-display);font-size:var(--ui-font-xs);letter-spacing:.1em;display:block}.debug-pages-list{gap:calc(var(--ui-gap) * .5);flex-direction:column;display:flex}.debug-page-link{height:auto;min-height:var(--ui-button-medium-height);white-space:normal;text-align:center;padding-block:6px}#debug-overlay-left{grid-column:1}#debug-overlay-right-stack{gap:var(--ui-gap);flex-direction:column;grid-column:2;min-width:0;display:flex}#visual-debug-panel{width:100%;font-size:var(--ui-font-xs);pointer-events:auto}.debug-visual-controls{gap:var(--ui-gap);padding:var(--ui-panel-padding);flex-direction:column;display:flex}.debug-visual-controls .mf-checkbox{align-items:center}#match-hud[hidden]{display:none}#scoreboard{gap:var(--ui-gap);width:min(100%,44rem);max-width:calc(100vw - 3rem);font-size:var(--ui-font-xs);font-variant-numeric:tabular-nums;pointer-events:none;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.scoreboard-team{min-width:0}.scoreboard-team h2{font-size:inherit;letter-spacing:.08em;margin:0 0 .2rem}.scoreboard-team-friendly h2{color:var(--ui-info)}.scoreboard-team-enemy h2{color:var(--ui-enemy)}.scoreboard-team ol{gap:.13rem;margin:0;padding:0;list-style:none;display:grid}.scoreboard-row{grid-template-columns:minmax(0,1fr) 1.25em;align-items:center;gap:.25rem;min-width:0;line-height:1.1;display:grid}.scoreboard-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scoreboard-row strong{color:#fff;text-align:right}@media (height<=430px){.scoreboard-team{padding:.22rem .3rem}.scoreboard-team ol{gap:.08rem}}#player-durability[hidden]{display:none}#damage-received{z-index:1;opacity:0;pointer-events:none;background:radial-gradient(#0000 42%,#be12180a 63%,#dc161e80 100%),linear-gradient(90deg,#dc161e57,#0000 22% 78%,#dc161e57);position:absolute;inset:0}#damage-received[data-active=true]{animation:.2s ease-out damage-received-pulse}body[data-deterministic=true] #damage-received[data-active=true]{opacity:1;animation:none}#mech-markers{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}#mech-markers[hidden]{display:none}.mech-marker{pointer-events:none;flex-direction:column;align-items:center;width:max-content;display:flex;position:absolute;transform:translate(-50%,-100%)}.mech-marker-details{flex-direction:column;align-items:center;gap:.08rem;margin-bottom:.08rem;display:flex}.mech-marker-details[hidden]{display:none}.mech-marker-name,.mech-marker-distance{color:#ffffff80;white-space:nowrap;-webkit-text-stroke:2px #2a2f36bf;paint-order:stroke fill;font-size:clamp(.55rem,1.8vmin,.85rem);font-weight:600;line-height:1}.mech-marker-health{box-sizing:border-box;border:1px solid #2a2f36bf;gap:0;width:51px;height:6px;display:flex;overflow:hidden}.mech-marker-health-cell{box-sizing:border-box;flex:1 1 0;min-width:0;height:100%;display:block;position:relative}.mech-marker-health-cell+.mech-marker-health-cell{border-left:1px solid #2a2f3680}.mech-marker-health-track{background:#3a414c80;position:absolute;inset:0;overflow:hidden}.mech-marker-health-fill{opacity:.5;height:100%;display:block}.mech-marker[data-relation=enemy] .mech-marker-health-fill{background:var(--combat-enemy)}.mech-marker[data-relation=ally] .mech-marker-health-fill{background:#83baff}@media (width>=600px){.mech-marker-health{width:61px;height:7px}}@media (width>=1100px){.mech-marker-health{width:71px;height:8px}}.mech-marker-arrow{clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 1px 2px #000000eb);background:#83baff;flex:none;width:clamp(.5rem,2.4vmin,.85rem);height:clamp(.42rem,2vmin,.7rem);display:block}.mech-marker[data-relation=enemy] .mech-marker-arrow{background:var(--combat-enemy)}@keyframes damage-received-pulse{0%{opacity:0}20%{opacity:1}to{opacity:0}}#match-window-root{z-index:6;pointer-events:none;position:absolute;inset:0}#match-window-root>.mf-ui-root{pointer-events:none;place-items:center;width:100%;height:100%;display:grid}.match-deploying-window,.match-result-window{justify-items:center;gap:var(--ui-gap);pointer-events:auto;width:min(60%,48rem);min-width:0;height:min(60%,30rem);min-height:0;display:grid}.match-deploying-window{text-align:center;align-content:center}.match-result-window{grid-template-rows:minmax(0,1fr) auto;align-content:stretch;overflow:hidden}.match-result-content{justify-content:safe center;align-items:center;gap:var(--ui-gap);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:auto}#match-state-detail{text-align:center}#match-end-button{flex-shrink:0}body[data-match-deployment=pending] #movement-stick,body[data-match-deployment=pending] #ability-button,body[data-match-deployment=pending] #fire-controls,body[data-match-phase=finished] #movement-stick,body[data-match-phase=finished] #ability-button,body[data-match-phase=finished] #fire-controls{opacity:.35;pointer-events:none}.debug-overlay-column{gap:var(--ui-gap);flex-direction:column;width:100%;min-width:0;display:flex}.debug-overlay-stack{min-width:0}.debug-block{overflow-wrap:anywhere;min-width:0;font-size:var(--ui-font-xs);font-variant-numeric:tabular-nums;flex-direction:column;gap:.15rem;line-height:1.25;display:flex}.debug-block-title{color:var(--ui-primary);letter-spacing:.08em}#movement-stick{--stick-thumb-size:calc(var(--ui-stick-size) * .36);top:min(80%, calc(100% - var(--ui-edge) - var(--ui-movement-stick-bottom-reserve) - var(--ui-stick-size) / 2));left:max(11%, calc(var(--ui-edge) + var(--ui-stick-size) / 2));z-index:2;width:var(--ui-stick-size);height:var(--ui-stick-size);touch-action:none;--ui-edge:var(--ui-control-gutter);position:absolute;transform:translate(-50%,-50%)}#movement-stick-base{box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#9fc7ff29 0 30%,#0000 31%),#10121494;border:1px solid #fff3;border-radius:50%;width:100%;height:100%;position:relative;box-shadow:inset 0 1px #ffffff1a}#movement-stick-thumb{width:var(--stick-thumb-size);height:var(--stick-thumb-size);pointer-events:none;background:#2a5b8ed1;border:1px solid #ffffff3d;border-radius:50%;margin:auto;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff29,0 6px 18px #0000003d}#movement-stick:active #movement-stick-base{border-color:#9fc7ffb8}#crosshair{width:var(--ui-crosshair-size);height:var(--ui-crosshair-size);pointer-events:none;filter:drop-shadow(0 1px 2px #000000d1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair-arm{background:var(--ui-feedback-none);width:32%;height:1px;position:absolute}.crosshair-arm[data-arm=upper-left]{top:27%;left:27%;transform:translate(-50%,-50%)rotate(45deg)}.crosshair-arm[data-arm=lower-left]{top:73%;left:27%;transform:translate(-50%,-50%)rotate(-45deg)}.crosshair-arm[data-arm=upper-right]{top:27%;left:73%;transform:translate(-50%,-50%)rotate(-45deg)}.crosshair-arm[data-arm=lower-right]{top:73%;left:73%;transform:translate(-50%,-50%)rotate(45deg)}#crosshair[data-left-state=optimal] [data-slot=left],#crosshair[data-right-state=optimal] [data-slot=right]{background:var(--ui-feedback-optimal)}#crosshair[data-left-state=reduced] [data-slot=left],#crosshair[data-right-state=reduced] [data-slot=right]{background:var(--ui-feedback-reduced)}#crosshair[data-left-state=none] [data-slot=left],#crosshair[data-right-state=none] [data-slot=right]{background:var(--ui-feedback-none)}#crosshair[data-left-state=unavailable] [data-slot=left],#crosshair[data-right-state=unavailable] [data-slot=right]{background:var(--ui-feedback-unavailable)}#hit-markers{z-index:2;pointer-events:none;position:absolute;inset:0}.hit-marker{--hit-marker-color:var(--ui-feedback-damage-high);opacity:1;width:36px;height:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#hit-markers .hit-marker[data-dimmed=true]{opacity:.3}#kill-marker{z-index:3;opacity:0;pointer-events:none;filter:drop-shadow(0 1px 3px #000000e0);width:clamp(.75rem,4vmin,1.333rem);height:clamp(.75rem,4vmin,1.333rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#ability-button{z-index:2;width:var(--ui-large-action-size);min-width:var(--ui-large-action-size);height:var(--ui-large-action-size);opacity:.8;color:#fff;font:700 var(--ui-font-xs)/1.1 Inter, ui-sans-serif, system-ui, sans-serif;touch-action:manipulation;background:radial-gradient(circle at 35% 30%,#b477e480,#733ca280 62%,#4b236d80);border:1px solid #c484ffb3;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:16%;left:94%;transform:translate(-100%);box-shadow:0 5px 18px #0000004d,inset 0 1px #fff3}#ability-button:active{filter:brightness(1.2);transform:translate(-100%,1px)}#ability-button[data-unavailable=true]{background:radial-gradient(circle at 35% 30%,#8e5cb36b,#582d7c6b 62%,#35194e6b);border-color:#c484ff6b}#fire-controls button[data-unavailable=true]{background:radial-gradient(circle at 35% 30%,#4c4c4c6b,#3636366b 62%,#1010106b);border-color:#cdcdcdad}#ability-button-cooldown{z-index:2;color:#fff;font:100 calc(var(--ui-font-lg) * 2) / 1 Roboto, Inter, ui-sans-serif, system-ui, sans-serif;text-shadow:0 1px 3px #000000e6;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}#ability-button-cooldown[hidden]{display:none}#fire-controls{top:calc(16% + var(--ui-large-action-size) + var(--ui-gap));z-index:2;grid-template-columns:repeat(2, var(--ui-action-size));grid-template-rows:var(--ui-action-size) var(--ui-fire-both-size);gap:var(--ui-gap);display:grid;position:absolute;left:84%;transform:translate(-100%)}#fire-controls button{width:var(--ui-action-size);height:var(--ui-action-size);opacity:.8;color:#ffe84a;font:700 var(--ui-font-lg)/1 Inter, ui-sans-serif, system-ui, sans-serif;touch-action:none;background:radial-gradient(circle at 35% 30%,#67676780,#4c4c4c80 62%,#16161680);border:1px solid #fff;border-radius:50%;padding:0;position:relative;box-shadow:0 4px 14px #0000004d,inset 0 1px #ffffff29}#fire-left-button{grid-area:2/1}#fire-controls #fire-both-button{box-sizing:border-box;width:var(--ui-fire-both-size);height:var(--ui-fire-both-size);grid-area:2/2}#fire-right-button{grid-area:1/2}#fire-controls button:active{filter:brightness(1.3);transform:translateY(1px)}.combat-action-icon{z-index:0;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:70%;height:70%;position:absolute;inset:15%}.combat-action-cooldown{z-index:2;color:#fff;font:100 calc(var(--ui-font-lg) * 1.35) / 1 Roboto, Inter, ui-sans-serif, system-ui, sans-serif;text-shadow:0 1px 3px #000000e6;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.combat-action-cooldown[hidden]{display:none}#fire-controls button[data-unavailable=true] .combat-action-icon{opacity:0}#ability-button[data-unavailable=true]:after,#fire-controls button[data-unavailable=true]:after{z-index:1;content:"";filter:drop-shadow(0 0 2px #000000c7);pointer-events:none;background:conic-gradient(from -48deg,#0000 0deg 22deg,#ffffff73 42deg,#fff 112deg,#ffffffe0 142deg,#ffffff59 250deg,#0000 302deg 360deg);border-radius:50%;animation:1s linear infinite combat-action-spinner;display:block;position:absolute;inset:-4px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1px))}@keyframes combat-action-spinner{to{transform:rotate(360deg)}}#hit-markers .hit-marker-arm{opacity:0;width:18px;height:2px;transform:rotate(var(--hit-marker-angle));transform-origin:0;position:absolute;top:50%;left:50%}#hit-markers .hit-marker-pulse{background:var(--hit-marker-color);width:7px;height:2px;box-shadow:0 0 1px color-mix(in srgb, var(--hit-marker-color) 24%, transparent);position:absolute;top:0;left:4px}#hit-markers .hit-marker-pulse:after{content:"";background:linear-gradient(to left, color-mix(in srgb, var(--hit-marker-color) 24%, transparent), transparent);opacity:.45;width:4px;height:100%;position:absolute;top:0;right:100%}#hit-markers .hit-marker[data-active=true][data-animation=a] .hit-marker-arm{animation:.65s linear both hit-marker-wave-a}#hit-markers .hit-marker[data-active=true][data-animation=b] .hit-marker-arm{animation:.65s linear both hit-marker-wave-b}#hit-markers .hit-marker[data-active=true] .hit-marker-pulse{animation:.4s cubic-bezier(.16,.78,.36,1) both hit-marker-travel}body[data-deterministic=true] #hit-markers .hit-marker[data-active=true]{transform:translate(-50%,-50%)}body[data-deterministic=true] #hit-markers .hit-marker[data-active=true] .hit-marker-arm{opacity:.9;animation:none}body[data-deterministic=true] #hit-markers .hit-marker[data-active=true] .hit-marker-pulse{animation:none;transform:translate(7px)}#kill-marker[data-active=true]{animation:1.1s cubic-bezier(.16,.78,.36,1) forwards kill-marker-rise}body[data-deterministic=true] #kill-marker[data-active=true]{opacity:1;animation:none;transform:translate(-50%,-140%)}@keyframes kill-marker-rise{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}18%{opacity:1;transform:translate(-50%,-60%)scale(1)}72%{opacity:1;transform:translate(-50%,-125%)scale(1.04)}to{opacity:0;transform:translate(-50%,-150%)scale(1.08)}}@keyframes hit-marker-wave-a{0%,62%{opacity:.9}to{opacity:0}}@keyframes hit-marker-wave-b{0%,62%{opacity:.9}to{opacity:0}}@keyframes hit-marker-travel{0%{transform:translate(0)}to{transform:translate(7px)}}#screen-close{display:none}.match-setup-fields{min-height:0;padding:var(--ui-window-padding);gap:var(--ui-gap);display:grid}body[data-match-phase=finished] #match-hud,body[data-match-phase=finished] #player-durability{visibility:hidden}body[data-scene=debug] #screen-close:not([hidden]){display:inline-flex}
