:root{color:#f6f4e8;font-synthesis:none;background:#081313;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}html,body,#root{min-height:100%}button,a{font:inherit}button{color:#172015;cursor:pointer;background:#e6b85c;border:0;border-radius:.9rem;min-height:3.5rem;padding:.8rem 1.25rem;font-weight:800}button:disabled{cursor:wait;opacity:.65}.display-shell{background:radial-gradient(circle at 20% 10%,#2b7b6159,#0000 28%),#081313;gap:clamp(1rem,2vw,2rem);min-height:100vh;padding:clamp(1.25rem,3vw,3rem);display:grid}.display-shell--centered{text-align:center;place-items:center}.display-shell--battle{width:100vw;height:100dvh;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.display-shell--battle .room-code{font-size:clamp(1.35rem,2.2vw,2.25rem)}.display-shell--battle .room-header .eyebrow,.display-shell--battle .lobby-layout--battle{display:none}.display-shell--battle .game-stage{border:0;border-radius:0;min-height:0;padding:0;display:block;position:absolute;inset:0}.display-shell--battle .battlefield-shell{aspect-ratio:auto;border-radius:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.display-shell--battle>.room-header{z-index:30;top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));left:max(.75rem, env(safe-area-inset-left));pointer-events:none;position:absolute}.display-shell--battle>.error-message{z-index:35;background:#1e0f12e0;border-radius:999px;margin:0;padding:.55rem .9rem;position:absolute;top:5rem;left:50%;transform:translate(-50%)}.hero-card{background:#0a1e1ddb;border:1px solid #ffffff1f;border-radius:2rem;width:min(48rem,100%);padding:clamp(2rem,6vw,5rem);box-shadow:0 2rem 6rem #00000059}.capacity-picker{color:#c8d9d5;gap:.5rem;margin-block:1.5rem;font-size:1rem;font-weight:800;display:grid}.capacity-picker select{color:#f6f4e8;min-height:3.25rem;font:inherit;background:#132d2a;border:1px solid #54746d;border-radius:.8rem;padding-inline:1rem}.ship-picker{flex-wrap:wrap;gap:.5rem;margin-block:1rem;display:flex}.ship-pitch{color:#b9d3ce;margin-block:0 1rem;font-size:clamp(.9rem,1.2vw,1.15rem)}.eyebrow{color:#e6b85c;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:clamp(.8rem,1.2vw,1.1rem);font-weight:800}h1{margin:.15em 0;font-size:clamp(3rem,8vw,7rem)}h2{margin:0;font-size:clamp(1.25rem,2vw,2rem)}p{font-size:clamp(1rem,1.5vw,1.35rem)}.error-message{color:#ff9d91}.room-header{justify-content:space-between;align-items:center;display:flex}.room-network{justify-items:end;gap:.25rem;display:grid}.latency-indicator{color:#d1dedb;font-variant-numeric:tabular-nums;background:#081313b8;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.crew-latency-overlay{z-index:25;top:max(6.4rem, calc(env(safe-area-inset-top) + 5.4rem));left:max(.75rem, env(safe-area-inset-left));color:#cfe0e5;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07171fbd;border:1px solid #75d8ff38;border-radius:.75rem;gap:.22rem;min-width:11rem;padding:.65rem .8rem;font-size:.78rem;display:grid;position:absolute;box-shadow:0 .35rem 1.2rem #0003}.crew-latency-overlay strong{color:#75d8ff}.room-code{letter-spacing:.08em;font-size:clamp(2.2rem,5vw,5rem)}.phase-badge{border:1px solid #54746d;border-radius:999px;padding:.7rem 1rem;font-size:clamp(1rem,1.6vw,1.4rem);font-weight:800}.phase-badge--active{color:#10201f;background:#78d39c}.lobby-layout{grid-template-columns:minmax(22rem,.85fr) minmax(28rem,1.15fr);gap:clamp(1rem,2vw,2rem);display:grid}.join-card,.players-card,.game-stage{background:#0b1e1ed9;border:1px solid #ffffff1f;border-radius:1.5rem}.join-card{align-items:center;gap:clamp(1rem,2vw,2rem);padding:clamp(1.25rem,2vw,2rem);display:flex}.join-card svg{background:#f6f4e8;border-radius:.75rem;flex:none;max-width:min(30vw,220px);height:auto;padding:.6rem}.join-card a{color:#82d7ba;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.players-card{gap:1rem;padding:clamp(1.25rem,2vw,2rem);display:grid}.player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.player-slot{background:#132d2a;border-radius:1rem;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:4.25rem;padding:1rem 1.25rem;display:grid}.player-slot span:first-child{display:grid}.player-slot small{color:#9bb3ad}.player-slot--empty{color:#78908a;background:0 0;border:1px dashed #45635d;display:grid}.ready{color:#78d39c}.waiting{color:#e6b85c}.game-stage{gap:1rem;min-height:18rem;padding:clamp(1.25rem,2vw,2rem);display:grid}.lobby-layout--battle{grid-template-columns:minmax(20rem,.7fr) minmax(24rem,1.3fr)}.lobby-layout--battle .join-card,.lobby-layout--battle .players-card{padding:1rem}.lobby-layout--battle .join-card svg{max-width:120px}.lobby-layout--battle .join-card p{display:none}.game-stage--waiting{color:#6f8983;border-style:dashed;place-items:center}.battle-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.battle-header>div:not(.battle-result){gap:.2rem;display:grid}.battle-header strong{color:#e6b85c;font-size:1.4rem}.battle-result{background:#183330;border-radius:999px;padding:.7rem 1rem;font-weight:800}.battle-result--victory{color:#10201f;background:#78d39c}.battle-result--defeat{color:#28100f;background:#ff9d91}.battlefield-shell{aspect-ratio:16/9;background:#07171f;border-radius:1rem;width:100%;position:relative;overflow:hidden}.spaceship-hud{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.display-shell--battle .spaceship-hud{z-index:25;right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));left:max(.75rem, env(safe-area-inset-left));grid-template-columns:repeat(2, minmax(0, 1fr)) calc(var(--radar-size) + 4rem) repeat(2, minmax(0, 1fr));pointer-events:none;gap:.5rem;position:absolute}.display-shell--battle .spaceship-hud>div:nth-child(3){grid-column:4}.display-shell--battle .spaceship-hud>div{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#081c22d1;box-shadow:0 .35rem 1.2rem #0003}.spaceship-hud>div{background:#102a33;border-radius:.75rem;min-width:0;padding:.65rem .9rem}.hud-energy{background:#07171f;border-radius:999px;width:100%;height:.45rem;margin-top:.25rem;overflow:hidden}.hud-energy i{border-radius:inherit;background:linear-gradient(90deg,#377dbb,#75d8ff);height:100%;transition:width .1s linear;display:block}.hud-energy--hull i{background:linear-gradient(90deg,#e85f50,#78d39c)}.hud-energy--machine-gun i{background:linear-gradient(90deg,#69d6f5 0%,#ffd45d 62%,#ff5d4f 100%)}.hud-energy--cannon i{background:linear-gradient(90deg,#9ad27a 0%,#ffb347 58%,#ff5d4f 100%)}.weapon-heat-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem;font-size:.72rem;display:grid}.weapon-heat-row .hud-energy{height:.35rem}.weapon-heat-row--overheated{color:#ff6f61}.machine-gun-hud--overheated{color:#ffb0a8;border:1px solid #ff5d4f94;box-shadow:0 0 1.2rem #ff3a2d3d!important}.machine-gun-hud--overheated strong{color:#ff6f61}.weapon-heat-row--overheated .hud-energy--machine-gun i,.weapon-heat-row--overheated .hud-energy--cannon i{background:#ff493c;box-shadow:0 0 .8rem #ff493cd9}.display-shell--battle{--wave-clock-size:clamp(3.5rem, 4.5vw, 4.5rem)}.wave-countdown{width:var(--wave-clock-size,clamp(3.5rem, 4.5vw, 4.5rem));color:#c9f5ff;text-align:center;pointer-events:none;aspect-ratio:1;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#051921d1;border:2px solid #75d8ffad;border-radius:50%;place-content:center;padding:.35rem;display:grid;box-shadow:inset 0 0 1.6rem #47e0e91f,0 0 1.4rem #0000004d}.wave-countdown span{display:none}.wave-countdown strong{color:#ffd783;font-size:clamp(.95rem,1.4vw,1.3rem)}.boss-health{z-index:25;top:calc(max(.75rem, env(safe-area-inset-top)) + var(--wave-clock-size) + .5rem);color:#ffd7cf;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e080ac7;border:1px solid #ff5d4f73;border-radius:.75rem;gap:.2rem;width:min(26rem,38vw);padding:.4rem .7rem;display:grid;position:absolute;left:50%;transform:translate(-50%)}.boss-health span{letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.boss-health small{color:#ffb8af;font-variant-numeric:tabular-nums;font-size:.68rem}.boss-health__bar{background:#ffffff1a;border-radius:999px;width:100%;height:.55rem;overflow:hidden}.boss-health__bar i{border-radius:inherit;background:linear-gradient(90deg,#ff5d4f,#ffb54a);height:100%;transition:width .12s linear;display:block}.wave-countdown--warning{color:#ffd2cd;border-color:#ff5d4fbf;box-shadow:inset 0 0 1.6rem #ff493c29,0 0 1.4rem #ff493c38}.wave-countdown--warning strong{color:#ff796e}.wave-countdown--salvage{color:#cdffe0;border-color:#7effadbf;box-shadow:inset 0 0 1.6rem #60ff9e29,0 0 1.4rem #60ff9e38}.wave-countdown--salvage strong{color:#7effad}.display-wave-countdown{z-index:25;top:max(.75rem, env(safe-area-inset-top));position:absolute;left:50%;transform:translate(-50%)}.display-shell--battle{--radar-size:clamp(11rem, 17vw, 16rem)}.combat-radar{z-index:25;bottom:max(.75rem, env(safe-area-inset-bottom));width:var(--radar-size);color:#bdfaff;pointer-events:none;aspect-ratio:1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03141da3;border:1px solid #47e0e959;border-radius:50%;padding:.45rem;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:inset 0 0 2rem #1fd3e014,0 .5rem 1.8rem #00000047}.combat-radar svg{width:100%;height:100%;display:block;overflow:visible}.combat-radar__surface{fill:#031922b3}.combat-radar__grid circle,.combat-radar__grid line{fill:none;stroke:#48d4dd2e;stroke-width:1px}.combat-radar__asteroid{fill:#7882918c}.combat-radar__asteroid[data-origin=wave]{fill:#c4cedee6}.combat-radar__loot{fill:#7ef2a4e6}.combat-radar__loot[data-loot-kind=shieldCell]{fill:#7ec8f2e6}.combat-radar__enemy{fill:#ff625e;stroke:#ffd0ca;stroke-width:1.2px;filter:drop-shadow(0 0 3px #ff4139)}.combat-radar__spaceship circle{fill:#042228eb;stroke:#69f3e7;stroke-width:2px;filter:drop-shadow(0 0 4px #33e2db)}.combat-radar__spaceship path{fill:#b9fff8}.combat-radar__ring-track{fill:none;stroke:#ffffff17;stroke-width:4px}.combat-radar__ring-value{fill:none;stroke-width:5px;stroke-linecap:round;transition:stroke-dasharray .12s linear}.combat-radar__ring--shield .combat-radar__ring-track,.combat-radar__ring--shield .combat-radar__ring-value{stroke-width:3px}.combat-radar__ring--hull .combat-radar__ring-value{filter:drop-shadow(0 0 3px #0000008c)}.combat-radar__speed-plate{fill:#03141de0;stroke:#56ebf073;stroke-width:1px}.combat-radar__speed{fill:#bdfaff;letter-spacing:.04em;paint-order:stroke;stroke:#03141dd9;stroke-width:3px;font-size:12px;font-weight:800}.combat-radar__shield-state{fill:#9ad7ff;letter-spacing:.1em;paint-order:stroke;stroke:#03141dd9;stroke-width:3px;font-size:9px;font-weight:800}.combat-radar__shield-state[data-shield-phase=up]{fill:#75d8ff}.combat-radar__shield-state[data-shield-phase=cooling]{fill:#ffd783}.combat-radar__scale{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#03141dd9;stroke-width:3.5px;font-size:11px;font-weight:700}.combat-radar__scale--value{font-size:14px;font-weight:800}.combat-radar__scale--hull{fill:#cfe6d8}.combat-radar__scale--shield{fill:#9ad7ff}.combat-radar__frame{fill:none;stroke:#56ebf0b8;stroke-width:2px;filter:drop-shadow(0 0 4px #2fd0da8c)}.encounter-overlay{z-index:40;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07141ae0;border:1px solid #ffffff2e;border-radius:1.5rem;gap:.7rem;width:min(34rem,100% - 2rem);padding:clamp(1.5rem,4vw,3rem);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1.5rem 5rem #0000008c}.encounter-overlay h2,.encounter-overlay p{margin:0}.encounter-overlay>strong{color:#ffd783;font-size:clamp(1.4rem,3vw,2.5rem)}.encounter-overlay--result{pointer-events:auto}.encounter-overlay--defeat{background:#1f0a10e6;border-color:#ff685f80}.encounter-overlay--victory{background:#08261feb;border-color:#78d39c8c}.intermission-economy{color:#ffd783}.tier-ribbon{flex-wrap:wrap;align-items:center;gap:.35rem;margin-block:.6rem;display:flex}.tier-ribbon__step{background:#ffffff2e;border-radius:999px;width:1.4rem;height:.4rem}.tier-ribbon__step.is-done{background:#78d39c}.tier-ribbon__step.is-current{background:#ffd783;box-shadow:0 0 0 2px #ffd78359}.tier-ribbon small{color:#b9d3ce;margin-inline-start:.5rem}.intermission-cards{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.intermission-card{background:#1746448c;border:1px solid #75d8ff4d;border-radius:.75rem;gap:.3rem;padding:.7rem;display:grid}.intermission-card small{color:#b9d3ce}.intermission-card--voted{background:#78d39c40;border-color:#a8f1c7}.rematch-readiness{color:#ffd783;font-weight:800}.room-close-button{color:#fff4f2;background:#9e3f3a;justify-self:center}.fullscreen-button{color:#d8efe9;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;min-height:2.6rem;margin-top:.75rem;padding:.45rem 1rem;font-size:.85rem;font-weight:700}.fps-readout{color:#8fb3ad;font-variant-numeric:tabular-nums;background:#081313b8;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.fps-readout strong{color:#d8efe9}.fps-readout--strained strong{color:#ffb27a}.frame-spike{color:#8fb3ad}.frame-spike--alarming strong{color:#ff8f6a}.visible-demo-overlay{z-index:50;top:max(.75rem, env(safe-area-inset-top));left:max(.75rem, env(safe-area-inset-left));color:#edfaff;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05141de6;border:1px solid #75d8ff6b;border-radius:.9rem;gap:.65rem;width:min(25rem,100vw - 1.5rem);padding:.8rem;font-size:.82rem;display:grid;position:fixed;box-shadow:0 .75rem 2.5rem #00000073}.visible-demo-overlay__heading,.visible-demo-overlay dl>div,.visible-demo-overlay__actions{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.visible-demo-overlay__heading>span{color:#75d8ff;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.visible-demo-overlay__heading>strong{color:#10201f;text-transform:uppercase;background:#78d39c;border-radius:999px;padding:.2rem .5rem}.visible-demo-overlay dl{gap:.2rem;margin:0;display:grid}.visible-demo-overlay dt{color:#93aeb6}.visible-demo-overlay dd{font-variant-numeric:tabular-nums;margin:0;font-weight:800}.visible-demo-overlay p{color:#ffd783;min-height:2.4em;margin:0;font-size:.82rem}.visible-demo-overlay>small{color:#aac1c7}.visible-demo-overlay__actions button{border-radius:.55rem;flex:1 1 0;min-height:2.5rem;padding:.45rem .6rem;font-size:.78rem}.visible-demo-overlay__actions .visible-demo-overlay__stop{color:#fff4f2;background:#9e3f3a}.display-shell--battle>.room-header .room-close-button{pointer-events:auto}@media (width<=900px){.display-shell--battle{--radar-size:clamp(8.5rem, 22vw, 10rem)}.spaceship-hud,.display-shell--battle .spaceship-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.display-shell--battle .spaceship-hud>div:nth-child(3){grid-column:auto}.combat-radar{bottom:max(12.5rem, calc(env(safe-area-inset-bottom) + 11.7rem))}}@media (height<=520px){.display-shell--battle{--radar-size:clamp(4.5rem, 13vw, 6.5rem)}.display-shell--battle .spaceship-hud{right:max(.4rem, env(safe-area-inset-right));bottom:max(.4rem, env(safe-area-inset-bottom));left:max(.4rem, env(safe-area-inset-left));grid-template-columns:repeat(2, minmax(0, 1fr)) calc(var(--radar-size) + 2rem) repeat(2, minmax(0, 1fr));gap:.3rem}.display-shell--battle .spaceship-hud>div:nth-child(3){grid-column:4}.display-shell--battle .spaceship-hud>div{border-radius:.5rem;padding:.25rem .45rem}.display-shell--battle[data-bars=side] .spaceship-hud{top:max(2.2rem, calc(env(safe-area-inset-top) + 1.8rem));right:0;bottom:max(.4rem, env(safe-area-inset-bottom));grid-template-columns:var(--bar-thickness) 1fr var(--bar-thickness);grid-template-rows:repeat(2,auto);align-content:end;gap:.3rem;left:0}.display-shell--battle[data-bars=side] .spaceship-hud>div:first-child{grid-area:1/1}.display-shell--battle[data-bars=side] .spaceship-hud>div:nth-child(2){grid-area:2/1}.display-shell--battle[data-bars=side] .spaceship-hud>div:nth-child(3){grid-area:1/3}.display-shell--battle[data-bars=side] .spaceship-hud>div:nth-child(4){grid-area:2/3}.display-shell--battle[data-bars=side] .spaceship-hud>div{padding:.2rem .3rem}.display-shell--battle[data-bars=side] .spaceship-hud span{font-size:.52rem}.display-shell--battle[data-bars=side] .spaceship-hud strong{font-size:.85rem}.display-shell--battle .spaceship-hud small{display:none}.display-shell--battle .spaceship-hud span{font-size:.58rem}.display-shell--battle .spaceship-hud strong{font-size:1rem}.display-shell--battle .crew-latency-overlay{display:none}.display-shell--battle>.room-header{top:max(.4rem, env(safe-area-inset-top));right:max(.4rem, env(safe-area-inset-right));left:max(.4rem, env(safe-area-inset-left));align-items:start}.display-shell--battle .room-code{font-size:.95rem}.display-shell--battle .room-network{grid-auto-flow:column;align-items:center;gap:.35rem}.display-shell--battle .phase-badge{padding:.2rem .5rem;font-size:.65rem}.display-shell--battle .latency-indicator,.display-shell--battle .fps-readout{padding:.15rem .4rem;font-size:.62rem}.display-shell--battle .room-close-button{border-radius:999px;min-height:1.75rem;padding:.2rem .55rem;font-size:.65rem}.display-shell--battle .module-tree--collapsed{top:max(2.4rem, calc(env(safe-area-inset-top) + 2rem));left:max(.4rem, env(safe-area-inset-left));padding:.2rem}.display-shell--battle .module-tree__toggle{min-height:1.5rem;padding:.15rem .45rem;font-size:.58rem}.combat-radar{bottom:max(.4rem, env(safe-area-inset-bottom))}}.battlefield-canvas,.battlefield-canvas canvas{display:block;width:100%!important;height:100%!important}.battlefield-fallback{color:#ffb8af;text-align:center;background:#102624;place-items:center;margin:0;padding:2rem;display:grid;position:absolute;inset:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){.lobby-layout{grid-template-columns:1fr}.join-card{align-items:flex-start}}.preview-controls{z-index:10;background:#081214eb;border:1px solid #ffffff24;border-top:0;border-left:0;border-bottom-right-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.3rem .6rem;display:flex;position:fixed;top:0;left:0}.preview-controls button{min-height:auto;color:inherit;background:0 0;border:1px solid #fff3;border-radius:.5rem;padding:.2rem .5rem;font-size:.72rem}.preview-controls button[aria-pressed=true]{color:#e6b85c;border-color:#e6b85c}.preview-controls__camera{white-space:nowrap;align-items:center;gap:.4rem;font-size:.72rem;display:flex}.preview-controls__camera input{accent-color:#e6b85c;width:8rem}.preview-controls--collapsed{background:#0812148c;padding:.2rem}.preview-controls__toggle{font-size:.85rem;line-height:1}.module-tree{z-index:60;background:#061014eb;border:1px solid #ffffff24;border-radius:1rem;grid-template-rows:auto minmax(0,1fr) auto;gap:.5rem;width:min(96vw,120rem);max-height:88vh;padding:.75rem 1rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.module-tree--collapsed{grid-template-rows:auto}.module-tree__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.module-tree--collapsed{top:max(13rem, calc(env(safe-area-inset-top) + 12rem));left:max(1.25rem, env(safe-area-inset-left));width:auto;max-height:none;padding:.35rem;transform:none}.module-tree__toggle{color:#cfe6e1;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#ffffff14;border:1px solid #ffffff3d;border-radius:999px;padding:.25rem .6rem;font-size:.7rem;font-weight:800}.module-tree__header small{color:#b9d3ce}.module-tree__grid{gap:.35rem;min-height:0;display:flex;overflow:auto}.module-tree__tier{flex:1 1 0;align-content:start;gap:.3rem;min-width:0;display:grid}.module-tree__numeral{color:#7f9c97;text-align:center;letter-spacing:.08em;border-bottom:1px solid #ffffff24;padding-bottom:.15rem;font-size:.75rem;font-weight:800}.module-tree__tier.is-open>.module-tree__numeral{color:#ffd783;border-bottom-color:#ffd783}.module-tree__cells{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.module-tree__cell{border:1px solid #ffffff1f;color:#7f9c97;background:#ffffff0a;border-inline-start-width:3px;border-radius:.5rem;gap:.1rem;padding:.3rem .4rem;font-size:.7rem;line-height:1.15;display:grid}.module-tree__cell strong{font-weight:700}.module-tree__cell small{color:inherit;opacity:.85;font-size:.62rem}.module-tree__cell .module-tree__seat{opacity:.55;text-transform:uppercase;letter-spacing:.06em;font-size:.58rem}.module-tree__stats{border-top:1px solid #ffffff1f;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.5rem;padding-top:.5rem;display:grid}.module-tree__facts{flex-wrap:wrap;gap:.35rem .9rem;margin:0;display:flex}.module-tree__facts dt{color:#7f9c97;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem}.module-tree__facts dd{color:#eef7f4;margin:0;font-size:.85rem;font-weight:800}.module-tree__gains{flex-wrap:wrap;align-items:baseline;gap:.3rem .5rem;display:flex}.module-tree__gains-caption{color:#7f9c97;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem}.module-tree__gains ul{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.module-tree__gains li{color:#dff3e9;background:#78d39c1f;border:1px solid #78d39c59;border-radius:999px;padding:.15rem .45rem;font-size:.65rem}.module-tree__gains em{color:#7f9c97;font-size:.68rem}.module-tree__cell.is-taken{color:#eef7f4;background:#78d39c29;border-color:#ffffffbf}.module-tree__cell.is-open{color:#f6efdc;background:#ffd7831a;border-color:#ffd783}.module-tree__cell[data-role=pilot]{border-inline-start-color:#e0563f}.module-tree__cell[data-role=gunner]{border-inline-start-color:#ffb54a}.module-tree__cell[data-role=shield]{border-inline-start-color:#4da9d8}.rotate-notice{text-align:center;color:#cfe6ff;background:radial-gradient(circle at 50% 40%,#12203a 0%,#060a14 70%);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:60vh;padding:2rem;display:flex}.rotate-notice__icon{color:#7ef0ff;font-size:3.5rem;line-height:1;animation:2.4s ease-in-out infinite rotate-notice-turn}.rotate-notice h2{margin:0;font-size:1.4rem}.rotate-notice p{opacity:.75;max-width:28ch;margin:0}@keyframes rotate-notice-turn{0%,60%,to{transform:rotate(0)}30%{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.rotate-notice__icon{animation:none}}@media (height<=520px){.module-tree:not(.module-tree--collapsed){gap:.35rem;width:min(98vw,120rem);max-height:94vh;padding:.5rem .6rem}.module-tree__grid{gap:.3rem}.module-tree__tier{flex:0 0 8.5rem}.module-tree__numeral{font-size:.65rem}.module-tree__cell{padding:.22rem .35rem;font-size:.62rem}.module-tree__header small{display:none}.module-tree__stats{grid-template-columns:minmax(0,1fr);gap:.3rem;padding-top:.35rem}.module-tree__gains{display:none}}
