:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--panel:#0c111bdb;--panel-edge:#7eaae633;--panel-border:#ffffff14;--panel-shadow:0 .25rem 1rem #00000073;--you:#3d8bff;--you-glow:#5ee7ff;--enemy:#ff4a4a;--gold:#ffd24a;--muted:#9fb0c8;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}html,body{overscroll-behavior:none;color:#e8ecf2;background:#101318;height:100%;margin:0;overflow:hidden}#app{width:100vw;height:100vh;position:relative}#game{width:100%;height:100%;display:block}#labels,#hud{pointer-events:none;position:absolute;inset:0;overflow:hidden}#labels{z-index:0}.label{color:#eef2f7;text-shadow:0 1px 2px #000,0 0 6px #0009;white-space:pre;text-align:center;-webkit-user-select:none;user-select:none;font-size:.75rem}.label-machine{letter-spacing:.02em;font-size:.8125rem;font-weight:700}.label-status{color:#dfe6f2;border:1px solid var(--panel-border);background:#0a0e16b3;border-radius:.3rem;padding:.125rem .45rem;font-size:.6875rem}.label-fixture{letter-spacing:.12em;color:#c9d3e3;font-size:.6875rem;font-weight:700}.label-zone{letter-spacing:.2em;color:#ffffff8c;font-size:.6875rem;font-weight:800}.label-slot{color:#9fb3d6;font-size:.6875rem}.label-item{background:#0a0e16bf;border-radius:.3rem;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.item-tag{letter-spacing:.16em;border:1px solid;border-radius:.2rem;margin-bottom:.2rem;padding:.05rem .375rem;font-size:.6875rem;font-weight:800;display:inline-block}.item-tag.tag-ruined{background:#ff5a4d;border-color:#ff5a4d;color:#1a0d0c!important}.item-tag.tag-great{box-shadow:0 0 7px #3dffa080}.item-tag.tag-superior{background:linear-gradient(100deg,#ffd166,#fff3c4 45%,#ffd166);border-color:#fff0b8;box-shadow:0 0 10px #ffd166bf,inset 0 0 4px #fff9;color:#241a05!important}.item-note{letter-spacing:.1em;color:#9fb3d6;margin-top:.125rem;font-size:.75rem;font-weight:800}.item-note.hot{color:#ffb057;text-shadow:0 0 6px #ff8c28cc}.item-attrs{flex-direction:column;gap:.125rem;margin-top:.2rem;display:flex}.item-attr{letter-spacing:.1em;color:#9fb3d6;justify-content:space-between;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:700;display:flex}.item-attr .pips{gap:.125rem;display:inline-flex}.item-attr .pips i{background:#ffffff24;border:1px solid #ffffff2e;border-radius:1px;width:.45rem;height:.45rem}.item-attr .pips i.on{background:#6bff95;border-color:#6bff95;box-shadow:0 0 4px #6bff9599}.item-attr .pips.charged i.on{background:#5ab4ff;border-color:#5ab4ff;box-shadow:0 0 5px #5ab4ffbf}.bar{background:#000000a6;border:1px solid #ffffff40;border-radius:.25rem;width:3.5rem;height:.45rem;position:relative;overflow:hidden}.bar-fill{background:#6bff95;height:100%;transition:width .1s linear}.bar-text{text-align:center;color:#fff;text-shadow:0 1px 1px #000;font-size:.6875rem;line-height:.75rem;position:absolute;inset:0}.bar.progress{width:4.5rem;height:.75rem}.bar.progress .bar-fill{background:var(--gold)}.bar.progress.force .bar-fill{background:var(--enemy)}.bar.progress.overtime .bar-fill{background:#ff8a3d}.hud-col{flex-direction:column;gap:.5rem;display:flex;position:absolute}.hud-col>*{max-width:calc(50vw - 9rem)}.hud-top-left{align-items:flex-start;top:1rem;left:1.25rem}.hud-top-right{align-items:flex-end;top:1rem;right:1.25rem}.hud-bottom-left{align-items:flex-start;bottom:1.25rem;left:1.25rem}[hidden]{display:none!important}.robot-panel{box-sizing:border-box;border:1px solid var(--panel-edge);width:17rem;box-shadow:var(--panel-shadow), inset 0 1px 0 #ffffff0f;background:linear-gradient(#141c2ceb,#0a0e16e0);border-radius:.6rem;padding:.55rem .8rem .65rem;transition:border-color .12s,box-shadow .12s}.robot-theirs{text-align:right;border-color:#ff6e6e38}.robot-panel.struck{box-shadow:0 0 0 2px #ffffff73, var(--panel-shadow);border-color:#fff}.robot-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.4rem;display:flex}.robot-theirs .robot-head{flex-direction:row-reverse}.robot-name{letter-spacing:.08em;font-size:.95rem;font-weight:900}.robot-ours .robot-name{color:#4fa3ff}.robot-theirs .robot-name{color:var(--enemy)}.robot-word{letter-spacing:.12em;text-transform:uppercase;color:#dfe6f2;font-size:.75rem;font-weight:800}.robot-word.tone-none{color:var(--muted)}.robot-word.tone-worn{color:#ffd166}.robot-word.tone-damaged{color:#ff9f43}.robot-word.tone-broken,.robot-word.tone-gone{color:#ff5a4d}.robot-word.tone-ready{color:var(--enemy)}.robot-steps{gap:.3rem;display:flex}.robot-theirs .robot-steps{flex-direction:row-reverse}.robot-steps i{background:#ffffff12;border:1px solid #ffffff1a;border-radius:.15rem;flex:1;height:.8rem;transform:skew(-18deg)}.robot-theirs .robot-steps i{transform:skew(18deg)}.robot-ours .robot-steps i.on{background:linear-gradient(#7ccaff,#2f7bff);border-color:#8fd6ff;box-shadow:0 0 .5rem #3d8bff99}.robot-theirs .robot-steps i.on{background:linear-gradient(#ff8a7b,#e0302a);border-color:#ff9a8a;box-shadow:0 0 .5rem #ff4a4a8c}.robot-steps.tone-broken i.on{animation:.8s ease-in-out infinite alternate last-step}@keyframes last-step{to{opacity:.35}}.robot-lost{color:#c3cddc;margin-top:.45rem;font-size:.75rem;line-height:1.35}.clock{text-align:center;flex-direction:column;align-items:center;gap:.3rem;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.clock-time{background:var(--panel);border:1px solid var(--panel-edge);font-variant-numeric:tabular-nums;letter-spacing:.02em;box-shadow:var(--panel-shadow);border-radius:.75rem;padding:.05rem 1.6rem;font-size:2.375rem;font-weight:900;line-height:1.2}.clock-time.urgent{color:var(--enemy)}.clock-sub{box-sizing:border-box;background:var(--panel);border:1px solid var(--panel-edge);white-space:normal;max-width:max(15rem,100vw - 63rem);box-shadow:var(--panel-shadow);border-radius:.5rem;flex-direction:column;align-items:center;padding:.3rem 1rem .35rem;font-size:.875rem;font-weight:700;display:flex}.clock-sub span:first-child{letter-spacing:.16em;color:var(--muted);font-size:.6875rem}.clock.docked .clock-time,.clock.docked .clock-sub{display:none}.clock-mini{background:var(--panel);border:1px solid var(--panel-edge);box-shadow:var(--panel-shadow);border-radius:.6rem;align-items:baseline;gap:.6rem;padding:.1rem .85rem .15rem;animation:.25s ease-out chip-in;display:flex}.clock-mini-time{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.5rem;font-weight:900;line-height:1.2}.clock-mini-round{letter-spacing:.16em;color:var(--muted);font-size:.6875rem;font-weight:700}@keyframes chip-in{0%{opacity:0;transform:translateY(-.4rem)}}.team-panel{background:var(--panel);border:1px solid var(--panel-edge);box-shadow:var(--panel-shadow);border-radius:.6rem;padding:.6rem .9rem}.team-title{align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:flex}.team-title .gear{font-size:1.125rem}.team-title .money{color:var(--gold);margin-left:.75rem;font-weight:800}.team-dots{flex-wrap:wrap;gap:.55rem;margin-top:.5rem;display:flex}.crew-member{align-items:center;gap:.4rem;display:inline-flex}.crew-member.away{opacity:.4}.crew-name{white-space:nowrap;color:#dfe6f2;font-size:.8125rem;font-weight:700}.dot{background:var(--c,#4fa3ff);box-sizing:border-box;border:2px solid #ffffffd9;border-radius:50%;width:1.35rem;height:1.35rem;box-shadow:0 2px 4px #00000080}.dot.shape-square{border-radius:.2rem}.dot.shape-diamond{border-radius:.15rem;transform:rotate(45deg)scale(.85)}.dot.shape-triangle{clip-path:polygon(50% 4%,97% 94%,3% 94%);border:0;border-radius:0}.dot.you{outline:2px solid var(--you-glow);outline-offset:2px}.hud-bottom-right{align-items:flex-end;bottom:1.25rem;right:1.25rem}.tally{background:var(--panel);border:1px solid var(--panel-edge);text-align:center;box-shadow:var(--panel-shadow);border-radius:.6rem;padding:.5rem .9rem .6rem}.tally-title{letter-spacing:.16em;color:var(--muted);font-size:.6875rem;font-weight:800}.tally-row{justify-content:center;align-items:center;gap:.6rem;margin-top:.35rem;display:flex}.tally-marks{gap:.2rem;display:flex}.tally-who{letter-spacing:.12em;font-size:.6875rem;font-weight:900}.tally-who.you{color:#4fa3ff}.tally-who.enemy{color:var(--enemy)}.tally-marks i{border-radius:.15rem;width:.7rem;height:.7rem}.tally-marks.you i{background:var(--you);box-shadow:0 0 .35rem #3d8bff99}.tally-marks.enemy i{background:var(--enemy);box-shadow:0 0 .35rem #ff4a4a8c}.tally-marks i.none{width:.8rem;height:2px;box-shadow:none;background:#ffffff40}.tally .vs{color:var(--muted);font-size:.8125rem;font-weight:800}.weapons{box-sizing:border-box;border:1px solid var(--panel-edge);min-width:15rem;box-shadow:var(--panel-shadow), inset 0 1px 0 #ffffff0f;background:linear-gradient(#141c2ceb,#0a0e16e0);border-radius:.6rem;padding:.45rem .8rem .55rem;animation:.25s ease-out chip-in}.wpn-head{letter-spacing:.16em;color:var(--muted);justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.3rem;font-size:.6875rem;font-weight:800;display:flex}.wpn-aim{color:var(--you-glow);letter-spacing:.12em}.wpn-gun{align-items:center;gap:.6rem;padding:.18rem 0;display:flex}.wpn-name{white-space:nowrap;color:#eef2f7;flex:1;font-size:.8125rem;font-weight:800}.wpn-tag{letter-spacing:.12em;color:#ff5a4d;font-size:.6875rem;font-weight:900;animation:.45s ease-in-out infinite alternate last-step}.wpn-meter{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.wpn-pips,.wpn-gauge{gap:.18rem;display:flex}.wpn-pips i,.wpn-gauge i{background:#ffffff12;border:1px solid #ffffff1a;border-radius:.12rem;width:.5rem;height:.75rem;transform:skew(-18deg)}.wpn-pips i.on{background:linear-gradient(#ffe08a,#f0b429);border-color:#ffe7a3;box-shadow:0 0 .4rem #f0b4298c}.wpn-pips.empty i{border-color:#ff5a4d8c}.wpn-pips.reloading i.on{opacity:.55;box-shadow:none}.wpn-reload{background:#ffffff1a;border-radius:.1rem;width:100%;height:.2rem;overflow:hidden}.wpn-reload i{background:#ffe08a;height:100%;display:block;box-shadow:0 0 .3rem #f0b429b3}.wpn-gauge{align-items:center}.wpn-gauge em{letter-spacing:.06em;color:var(--muted);margin-right:.2rem;font-size:.6875rem;font-style:normal;font-weight:800}.wpn-gauge i{width:.4rem;height:.55rem}.wpn-gauge.heat i.on{background:linear-gradient(#9ff3ff,#35c8ff);border-color:#b8f6ff}.wpn-gauge.heat.hot i.on{background:linear-gradient(#ffd27a,#ff9f43);border-color:#ffe0a8}.wpn-gauge.heat.locked i.on{background:linear-gradient(#ff8a7b,#e0302a);border-color:#ff9a8a;animation:.45s ease-in-out infinite alternate last-step;box-shadow:0 0 .4rem #ff4a4a99}.wpn-gauge.charge i.on{background:linear-gradient(#a6ffb8,#3fae4a);border-color:#c2ffcd}.wpn-arms{border-top:1px solid #ffffff12;gap:.5rem;margin-top:.3rem;padding-top:.35rem;display:flex}.wpn-arm{flex:1;align-items:center;gap:.35rem;min-width:3.5rem;display:flex}.wpn-arm b{letter-spacing:.08em;color:var(--muted);white-space:nowrap;font-size:.6875rem;font-weight:900}.wpn-fill{background:#ffffff14;border:1px solid #ffffff1a;border-radius:.2rem;flex:1;height:.45rem;overflow:hidden}.wpn-fill i{background:#5ee7ff73;height:100%;display:block}.wpn-arm.ready b{color:#eef2f7}.wpn-arm.ready .wpn-fill i{background:linear-gradient(90deg,#5ee7ff,#35c8ff);box-shadow:0 0 .4rem #5ee7ff99}.aim-marker{box-sizing:border-box;pointer-events:none;border:2px solid #5ee7ffe6;border-radius:50%;width:1.1rem;height:1.1rem;box-shadow:0 0 .35rem #5ee7ffb3,inset 0 0 .2rem #5ee7ff80}.aim-marker:after{content:"";background:#eafcff;border-radius:50%;width:.2rem;height:.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aim-marker.idle{box-shadow:none;border-color:#9fb0c880}.crew-red .robot-ours:not(.struck){border-color:#ff6e6e38}.crew-red .robot-theirs:not(.struck){border-color:var(--panel-edge)}.crew-red .robot-ours .robot-name,.crew-red .tally-who.you{color:var(--enemy)}.crew-red .robot-theirs .robot-name,.crew-red .robot-theirs .robot-word.tone-ready,.crew-red .tally-who.enemy{color:#4fa3ff}.crew-red .robot-ours .robot-steps i.on{background:linear-gradient(#ff8a7b,#e0302a);border-color:#ff9a8a;box-shadow:0 0 .5rem #ff4a4a8c}.crew-red .robot-theirs .robot-steps i.on{background:linear-gradient(#7ccaff,#2f7bff);border-color:#8fd6ff;box-shadow:0 0 .5rem #3d8bff99}.crew-red .tally-marks.you i:not(.none),.crew-red .go-pips.you i:not(.none){background:var(--enemy);box-shadow:0 0 .35rem #ff4a4a8c}.crew-red .tally-marks.enemy i:not(.none),.crew-red .go-pips.enemy i:not(.none){background:var(--you);box-shadow:0 0 .35rem #3d8bff99}.round-card{box-sizing:border-box;pointer-events:auto;cursor:pointer;background:var(--panel);border:1px solid var(--panel-edge);border-left:3px solid var(--you-glow);width:19rem;box-shadow:var(--panel-shadow);border-radius:.6rem;padding:.6rem .8rem .5rem;animation:.25s ease-out card-in}@keyframes card-in{0%{opacity:0;transform:translate(-1rem)}}.card-title{letter-spacing:.06em;text-transform:uppercase;color:#8fd0ff;margin-bottom:.3rem;font-size:.875rem;font-weight:900}.card-line{color:#dfe6f2;font-size:.8125rem;line-height:1.35}.card-hint{color:var(--muted);margin-top:.4rem;font-size:.6875rem}.card-timer{background:#ffffff14;border-radius:1px;height:2px;margin-top:.35rem;overflow:hidden}.card-timer i{background:var(--you-glow);transform-origin:0;height:100%;animation-name:card-timer;animation-timing-function:linear;animation-fill-mode:forwards;display:block}@keyframes card-timer{to{transform:scaleX(0)}}.goals{box-sizing:border-box;background:var(--panel);border:1px solid var(--panel-edge);width:17rem;box-shadow:var(--panel-shadow);border-radius:.6rem;padding:.5rem .75rem .6rem;font-size:.8125rem}.goals.folded{width:auto;max-width:min(30rem,50vw - 9rem);padding:.4rem .6rem .4rem .7rem}.goals-now{align-items:center;gap:.5rem;animation:.3s ease-out chip-in;display:flex}.goals-now .goal-mark{border-color:var(--you-glow);margin-top:0;box-shadow:0 0 .35rem #5ee7ff99}.goals-line{white-space:nowrap;text-overflow:ellipsis;color:#fff;min-width:0;font-weight:700;overflow:hidden}.goals-now kbd{flex:none}.goals-now.ticked .goal-mark{background:#6bff95;border-color:#6bff95;animation:.35s ease-out goal-tick;box-shadow:0 0 .6rem #6bff95cc}.goals-now.ticked .goal-mark:before{content:"✓";color:#0e1218}.goals-now.ticked .goals-line{color:#a8f5c0}@keyframes goal-tick{0%{transform:scale(1.6)}}.goals-head{letter-spacing:.14em;text-transform:uppercase;color:#8fd0ff;justify-content:space-between;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:800;display:flex}.goals-obj{color:var(--muted);margin:.35rem 0 .4rem;font-size:.75rem;line-height:1.3}.goals ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.goals li{color:#dfe6f2;align-items:flex-start;gap:.45rem;line-height:1.3;display:flex}.goal-mark{border:1px solid #ffffff59;border-radius:.2rem;flex:none;place-items:center;width:.95rem;height:.95rem;margin-top:.1rem;font-size:.6875rem;font-weight:900;display:grid}.goals li.done{color:#7f8ea3}.goals li.done .goal-mark{color:#0e1218;background:#6bff95;border-color:#6bff95}.goals li.next{color:#fff;font-weight:700}.goals li.next .goal-mark{border-color:var(--you-glow);box-shadow:0 0 .35rem #5ee7ff99}.goals-skip{pointer-events:auto;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:.45rem;padding:0;font-size:.6875rem;text-decoration:underline}kbd{box-sizing:border-box;min-width:1.4rem;font:inherit;text-align:center;color:#eef2f7;background:#ffffff0f;border:1px solid #ffffff4d;border-bottom-width:2px;border-radius:.3rem;padding:.1rem .4rem;font-size:.75rem;font-weight:800;display:inline-block}.hud-bottom-centre{position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}.zone-label{background:var(--panel);border:1px solid var(--panel-edge);white-space:pre;border-radius:.6rem;padding:.45rem 1.1rem;font-size:.9375rem;font-weight:800}.hud-log{box-sizing:border-box;border:1px solid var(--panel-border);color:#dfe6f2;text-shadow:0 1px 2px #000;background:#0c111ba8;border-radius:.45rem;padding:.3rem .6rem;font-size:.75rem;line-height:1.35}.hud-log:empty{display:none}.hud-prompt{box-sizing:border-box;background:var(--panel);border:1px solid var(--panel-edge);text-align:center;border-radius:.5rem;max-width:min(100vw - 2rem,max(16rem,100vw - 39rem));padding:.5rem .9rem;font-size:.875rem;font-weight:600;position:absolute;bottom:4.6rem;left:50%;transform:translate(-50%)}.hud-toast{left:50%;top:max(8.25rem, var(--toast-below,0px));background:var(--gold);color:#111;text-align:center;opacity:0;border-radius:.4rem;max-width:calc(100vw - 2rem);padding:.4rem .75rem;font-size:.875rem;font-weight:700;transition:opacity .2s;position:absolute;transform:translate(-50%)}.hud-toast.show{opacity:1}.hud-room{background:var(--panel);border:1px solid var(--panel-edge);letter-spacing:.2em;text-align:right;border-radius:.5rem;padding:.3rem .9rem;font-size:1.125rem;font-weight:900}.hud-room span{letter-spacing:.16em;color:var(--muted);font-size:.6875rem;display:block}.hud-room .hud-ping{letter-spacing:.08em;margin-top:.125rem;font-weight:600}.hud-room.copyable{pointer-events:auto;cursor:pointer}.hud-room.copyable:hover{border-color:var(--you-glow)}.seated .hud-room.copyable{pointer-events:none;cursor:auto}.hud-room .hud-copy{color:var(--you-glow);margin-top:.125rem;font-weight:800}.hud-banner{box-sizing:border-box;background:var(--gold);color:#111;max-width:calc(100vw - 2rem);box-shadow:var(--panel-shadow);border-radius:.5rem;padding:.35rem 1rem;font-size:.875rem;font-weight:800}.hud-banner[hidden]{display:none}.hud-ready{flex-direction:column;align-items:center;gap:.3rem;display:flex}.ready-chip{--tone:var(--enemy);--tone-glow:#ff4a4a99;box-sizing:border-box;background:var(--panel);border:1px solid var(--panel-edge);text-align:left;max-width:min(34rem,max(15rem,100vw - 63rem));box-shadow:var(--panel-shadow);border-radius:.5rem;align-items:center;gap:.5rem;padding:.3rem .9rem .3rem .65rem;font-size:.8125rem;font-weight:700;display:flex}.ready-chip.tone-blue{--tone:#4fa3ff;--tone-glow:#3d8bffa6}.ready-lamp{background:#1a2130;border:1px solid #ffffff29;border-radius:50%;flex:none;width:.75rem;height:.75rem;box-shadow:inset 0 1px 2px #000000b3}.ready-chip.on .ready-lamp{background:radial-gradient(circle at 35% 35%, #fff 0 14%, var(--tone) 55%);border-color:var(--tone);box-shadow:0 0 .5rem var(--tone-glow), 0 0 .15rem var(--tone);animation:1.6s ease-in-out infinite lamp-glow}@keyframes lamp-glow{50%{box-shadow:0 0 .95rem var(--tone-glow), 0 0 .25rem var(--tone)}}.ready-name{letter-spacing:.1em;text-transform:uppercase;color:var(--tone);font-weight:900}.ready-state{color:var(--muted);font-weight:600}.ready-rival:not(.on){opacity:.78}.ready-rival.on{border-color:var(--tone)}.ready-rival.on .ready-state{letter-spacing:.14em;color:var(--tone);font-weight:900}.ready-ours{text-wrap:balance;font-weight:600}.launch{background:var(--panel);box-shadow:var(--panel-shadow), 0 0 1.25rem #ffd24a33;border:1px solid #ffd24a80;border-radius:.75rem;flex-direction:column;align-items:center;padding:.3rem 1.6rem .35rem;display:flex}.launch-kicker{letter-spacing:.16em;color:var(--gold);font-size:.6875rem;font-weight:800}.launch-line{white-space:nowrap;align-items:baseline;gap:.5rem;font-size:1.25rem;font-weight:800;display:flex}.launch-count{font-variant-numeric:tabular-nums;text-align:center;min-width:1.2ch;color:var(--gold);font-size:2.75rem;font-weight:900;line-height:1.05;animation:.35s ease-out launch-pop}@keyframes launch-pop{0%{opacity:.2;transform:scale(1.7)}60%{opacity:1;transform:scale(.94)}}.launch.off{border-color:var(--panel-edge);box-shadow:var(--panel-shadow);animation:1.4s ease-in forwards launch-off}.launch.off .launch-kicker,.launch.off .launch-line{color:var(--muted)}@keyframes launch-off{0%,65%{opacity:1}to{opacity:0}}.dev-stats{color:#f2e2b0;white-space:pre;background:#000000b8;border:1px solid #f2b830;border-radius:.375rem;padding:.3rem .6rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.6875rem;line-height:1.4;position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.dev-stats[hidden]{display:none}.hud-help{color:#ffffffd9;text-shadow:0 1px 2px #000,0 0 6px #000000b3;white-space:nowrap;font-size:.75rem;font-weight:700;position:absolute;top:50%;left:calc(100% + .75rem);transform:translateY(-50%)}body.overlay-open #labels{visibility:hidden}.hud-overlay{background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hud-overlay.side{background:linear-gradient(90deg,#0000 50%,#00000080);justify-content:flex-end;padding-right:2rem}.panel{box-sizing:border-box;background:#171c27;border:1px solid #2f3746;border-radius:.75rem;min-width:min(21rem,100vw - 2rem);max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);padding:1.25rem 1.6rem;overflow:auto;box-shadow:0 10px 40px #00000080}.panel h2{margin:0 0 .75rem;font-size:1.25rem}.panel ul{margin:0;padding:0;list-style:none}.panel li{border-radius:.4rem;justify-content:space-between;gap:1.5rem;padding:.3rem .5rem;display:flex}.panel.shop{pointer-events:auto}.panel.shop li[data-i]{cursor:pointer}.panel.shop li[data-i]:hover{background:#232d42}.panel.shop li:active,.go-buttons button:active{transform:scale(.97)}.panel.dev-panel{border-color:#4c6fa5;min-width:min(26rem,100vw - 2rem)}.panel.dev-panel h2{color:#9fd0ff}.dev-group{background:#4f6fa51f;border:1px solid #4f6fa559;border-radius:.4rem;margin:.5rem 0;padding:.25rem .5rem .375rem}.dev-group h3{letter-spacing:.08em;text-transform:uppercase;color:#9fd0ff;margin:0 0 .125rem;font-size:.6875rem;font-weight:800}.dev-group ul{margin:0}.panel li.sel{background:#2c3a55}.panel li.poor{color:#7a8399}.panel table{border-collapse:collapse;width:100%}.panel td{padding:.25rem .5rem .25rem 0}.panel td:last-child{text-align:right;font-weight:700}.dim{color:#8a93a6;font-weight:400}.panel p.dim{font-size:.8125rem}.good{color:#6bff95}.bad{color:#ff6b6b}.overlay-host{pointer-events:auto;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);overflow:auto}.panel.pause{width:24rem}.pause-goal{color:var(--muted);margin:-.25rem 0 .8rem;font-size:.8125rem;line-height:1.35}.panel.pause li{padding:.55rem .8rem;font-size:1rem;font-weight:700}.panel.controls{width:34rem;position:relative}.hud-overlay.closable,.hud-overlay.closable .panel{pointer-events:auto}.panel-close{width:1.9rem;height:1.9rem;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #2f3746;border-radius:.4rem;place-items:center;padding:0;font-size:.9375rem;font-weight:800;line-height:1;display:grid;position:absolute;top:.75rem;right:.75rem}.panel-close:hover{color:#e8ecf2;border-color:var(--you-glow)}.panel-close:active{transform:scale(.94)}.panel.controls h2{padding-right:2.5rem}.controls-goal{color:#c3cddc;margin:0 0 .8rem;font-size:.875rem;line-height:1.4}.panel.controls td{vertical-align:top;padding:.3rem .9rem .3rem 0;font-size:.875rem}.panel.controls td:first-child{white-space:nowrap}.panel.controls td:last-child{text-align:left;font-weight:400}.panel.gameover{pointer-events:auto;width:24rem}.go-kicker{letter-spacing:.2em;color:var(--muted);font-size:.6875rem;font-weight:800}.panel.gameover h2{margin:.2rem 0 .25rem;font-size:1.6rem}.gameover.win h2{color:var(--you-glow)}.gameover.loss h2{color:var(--enemy)}.gameover.draw h2{color:var(--gold)}.go-sub{color:#dfe6f2;margin:0 0 .7rem;font-weight:700}.go-totals{border-top:1px solid #ffffff14;margin-bottom:.7rem;padding-top:.5rem}.go-total{color:#c3cddc;justify-content:space-between;align-items:center;gap:.75rem;padding:.15rem 0;font-size:.8125rem;display:flex}.go-pips{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.2rem;display:flex}.go-pips i{border-radius:.15rem;width:.6rem;height:.6rem}.go-pips.you i{background:var(--you);box-shadow:0 0 .3rem #3d8bff8c}.go-pips.enemy i{background:var(--enemy);box-shadow:0 0 .3rem #ff4a4a80}.go-pips i.none{width:.8rem;height:2px;box-shadow:none;background:#ffffff40}.go-pips b{color:var(--muted);margin-left:.1rem;font-weight:900}.go-head{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;font-size:.6875rem;font-weight:800}.go-lines{border-top:1px solid #ffffff14;margin-bottom:.8rem;padding-top:.5rem}.go-lines p{color:#c3cddc;margin:.2rem 0;font-size:.8125rem;line-height:1.35}.go-buttons{gap:.5rem;display:flex}.go-buttons button{font:inherit;cursor:pointer;border:0;border-radius:.4rem;flex:1;padding:.6rem .9rem;font-weight:800}.go-buttons button.primary{color:#0e1218;background:#8fd0ff}.go-buttons button.primary:hover{background:#b8e2ff}.go-buttons button.quiet{color:var(--muted);background:0 0;border:1px solid #2f3746}.go-buttons button.quiet:hover{color:#e8ecf2}.imenu{pointer-events:auto;background:var(--panel);border:1px solid var(--panel-border);text-align:center;color:#eef2f7;-webkit-user-select:none;user-select:none;border-radius:.5rem;min-width:9.5rem;padding:.375rem .625rem .5rem;transition:opacity .12s}.imenu.dock{position:fixed!important;top:auto!important;bottom:7.4rem!important;left:50%!important;transform:translate(-50%)!important}.imenu-title{letter-spacing:.02em;font-size:.8125rem;font-weight:800}.imenu-line{color:#c3cddc;white-space:nowrap;margin-top:.125rem;font-size:.6875rem}.imenu-line.good{color:#6bff95}.imenu-line.bad{color:#ff6b6b}.imenu-line.odd{color:#f2b830}.imenu-buttons{justify-content:center;gap:.375rem;margin-top:.375rem;display:flex}.imenu-buttons:empty{display:none}.imenu button{font:inherit;color:#0e1218;cursor:pointer;background:#8fd0ff;border:0;border-radius:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.imenu button:hover{background:#b8e2ff}.imenu button:active{transform:scale(.96)}.imenu button.hold{background:var(--gold)}.imenu button.primary{background:#fff}.imenu button.on{background:#fff;box-shadow:inset 0 0 0 2px #5ee7ff}.imenu button.focus{outline:2px solid var(--you-glow);outline-offset:2px}.imenu button.pressed{transform:scale(.94)}.imenu-list{text-align:left;margin-top:.375rem;font-size:.6875rem}.imenu-list:empty{display:none}.imenu-row{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.625rem;padding:.125rem 0;display:flex}.imenu-row small{color:#8f9bb0;white-space:nowrap;font-size:.6875rem}.imenu-row button{padding:.05rem .375rem;font-size:.6875rem}.imenu button .key{opacity:.7;border:1px solid #0e1218;border-radius:.2rem;margin-left:.375rem;padding:0 .25rem;font-size:.6875rem;line-height:.8rem;display:inline-block}.panel.board{pointer-events:auto;overscroll-behavior:contain;max-width:min(30rem,100vw - 2rem)}.board-step{margin:.5rem 0}.board-title{color:#8fd0ff;font-size:.8125rem;font-weight:800}.board-line{color:#dfe6f2;margin-left:.625rem;font-size:.8125rem}#start{position:absolute;inset:0}#start[hidden]{display:none}.start-status{color:#c3cddc;min-height:1.125rem;margin-top:.75rem;font-size:.75rem}.start-status.bad{color:#ff6b6b}.dev-badge{color:#14161b;letter-spacing:.06em;background:#f2b830;border-radius:.25rem;margin-top:.2rem;padding:.05rem .375rem;font-size:.6875rem;font-weight:800}.panel.research{pointer-events:auto;background:#0e1519;border:2px solid #3a4652;flex-direction:column;width:min(98vw,110rem);max-width:98vw;height:min(95vh,62.5rem);max-height:95vh;padding:1rem 1.375rem;display:flex;overflow:hidden;box-shadow:0 0 0 6px #1b2229,0 20px 60px #000000b3}.research-head{border-bottom:1px solid #253038;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;padding-bottom:.5rem;display:flex}.research-title{letter-spacing:.08em;color:#eef2f7;font-size:1.375rem;font-weight:900}.research-title small{letter-spacing:.14em;color:#7f92a8;font-size:.6875rem;font-weight:700;display:block}.research-level{letter-spacing:.12em;color:#ffd166;font-size:.75rem;font-weight:800}.research-tabs{gap:.375rem;display:flex}.research-tab{font:inherit;letter-spacing:.14em;color:#7f92a8;cursor:pointer;background:#121b21;border:1px solid #2f3b46;border-bottom:none;border-radius:.375rem .375rem 0 0;padding:.375rem .875rem;font-size:.6875rem;font-weight:800}.research-tab.on{color:#eef2f7;background:#1a2a33;border-color:#3fd6ff}.research-frames{flex-direction:column;flex:1;gap:.875rem;padding:.75rem .375rem;display:flex;overflow:auto}.frame-shelf{border:1px dashed #2f3b46;border-radius:.375rem;padding:.625rem .75rem}.frame-role{letter-spacing:.14em;text-transform:uppercase;color:#7f92a8;margin-bottom:.5rem;font-size:.6875rem;font-weight:800}.frame-list{flex-wrap:wrap;gap:.5rem;display:flex}.frame-pick{font:inherit;color:#eef2f7;cursor:pointer;background:#16242b;border:1px solid #3a4a56;border-radius:.5rem;padding:.625rem .875rem;font-size:.75rem;font-weight:700}.frame-pick:hover{filter:brightness(1.2);border-color:#3fd6ff}.frame-pick.sel{outline-offset:2px;border-color:#3fd6ff;outline:2px solid #fff;box-shadow:0 0 .75rem #3fd6ff73}.frame-pick.off{opacity:.45;border-style:dashed}.frame-pick.off.sel{opacity:.8}.frame-pick small{color:#ffb073;margin-top:.2rem;font-size:.6875rem;font-weight:600;display:block}.research-body{flex:1;gap:1.125rem;min-height:0;margin-top:.625rem;display:flex}.research-ladder{border-right:1px solid #253038;flex-direction:column-reverse;flex:none;gap:.375rem;width:11.25rem;padding-right:.75rem;display:flex;overflow:auto}.tech{color:#6f7f92;border-radius:.375rem;align-items:flex-start;gap:.625rem;padding:.375rem .25rem;display:flex}.tech.current{color:#ffd166;background:#ffd1660f}.tech.done{color:#5ee7ff}.tech-badge{border:1px solid;border-radius:.375rem;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.8125rem;display:grid}.tech-title{letter-spacing:.08em;font-size:.75rem;font-weight:800}.tech-count{margin-top:.125rem;font-size:.6875rem;font-weight:700}.tech-note{opacity:.7;margin-top:.125rem;font-size:.6875rem}.research-scroll{flex:1;min-width:0;display:flex;overflow:auto}.research-tree{box-sizing:border-box;background-color:#0000;background-image:linear-gradient(#5ee7ff0a 1px,#0000 1px),linear-gradient(90deg,#5ee7ff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:2.5rem 2.5rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #253038;border-radius:.375rem;flex:1;position:relative;overflow:hidden;container-type:size}.research-edges{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.edge{fill:none;stroke:#2b3640;vector-effect:non-scaling-stroke;stroke-width:2px}.edge.lit.br-wheels{stroke:#3fd6ff}.edge.lit.br-plates{stroke:#5fe08a}.edge.lit.br-batteries{stroke:#ffd166}.edge.lit.br-weapons{stroke:#ff5a4d}.edge.lit.br-aux{stroke:#d7dbe3}.research-shelf{left:3%;right:3%;bottom:var(--shelf-bottom);height:var(--shelf-h);box-sizing:border-box;pointer-events:none;border:1px dashed #2f3b46;border-radius:.375rem;position:absolute}.node{box-sizing:border-box;width:min(var(--node-w), var(--node-w-max));height:min(var(--node-h), var(--node-h-max));color:#7f92a8;font:inherit;cursor:pointer;z-index:1;background:#121b21;border:1px solid #2f3b46;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;padding:.3rem .15rem;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.node.wide{width:min(var(--wide-w), var(--wide-w-max))}.node.root{background:#0f1519;border:2px dashed #8f9bb0;border-radius:.25rem;overflow:visible}.node.root.open{background:#1a232b;border-style:solid;border-color:#eef2f7;box-shadow:0 0 14px #eef2f759}.node-tech{top:calc(-1 * var(--badge));color:#0f1519;letter-spacing:.12em;white-space:nowrap;background:#d7dbe3;border-radius:.2rem;padding:.05rem .4rem;font-size:.6875rem;font-weight:900;line-height:1.1;position:absolute;left:50%;transform:translate(-50%)}.node.root.locked .node-tech{color:#c7ceda;background:#3a4350}.node-glyph{font-size:.9rem;line-height:1}.node-name{letter-spacing:.04em;text-transform:uppercase;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.6875rem;font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.node-wait{color:#6f7f92;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.6875rem;line-height:1.15;display:-webkit-box;overflow:hidden}@container (height<=600px){.node-glyph{display:none}}.node.open{color:#eef2f7;background:#16242b}.node.open.br-wheels{border-color:#3fd6ff;box-shadow:0 0 10px #3fd6ff59}.node.open.br-plates{border-color:#5fe08a;box-shadow:0 0 10px #5fe08a59}.node.open.br-batteries{border-color:#ffd166;box-shadow:0 0 10px #ffd16659}.node.open.br-weapons{border-color:#ff5a4d;box-shadow:0 0 10px #ff5a4d59}.node.open.br-aux{border-color:#d7dbe3;box-shadow:0 0 10px #d7dbe34d}.node.locked{opacity:.75}.node.sel{outline-offset:2px;outline:2px solid #fff}.node:hover{filter:brightness(1.2)}.node:active{transform:translate(-50%,-50%)scale(.96)}.research-foot{text-align:center;padding-top:.5rem;font-size:.75rem}@media (max-width:1100px){.research-ladder{width:8.5rem}}:root{--shell-display:"Bahnschrift", "DIN Alternate", "DIN Condensed", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;--shell-screen:#0d1219;--shell-bezel:#1b212b;--shell-line:#2a3342;--shell-trim:#f2b830;--shell-orange:#f07a1e;--shell-cyan:#5ee7ff;--shell-text:#e8ecf2;--shell-body:#cfd8e5;--shell-dim:#9fb0c8;--shell-mute:#6f7c90;--shell-bad:#ff7a6b;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.shell-panel{--corner:1.6rem;--corner-w:.25rem;box-sizing:border-box;color:var(--shell-text);background:linear-gradient(var(--shell-trim), var(--shell-trim)) left top / var(--corner) var(--corner-w), linear-gradient(var(--shell-trim), var(--shell-trim)) left top / var(--corner-w) var(--corner), linear-gradient(var(--shell-trim), var(--shell-trim)) right top / var(--corner) var(--corner-w), linear-gradient(var(--shell-trim), var(--shell-trim)) right top / var(--corner-w) var(--corner), linear-gradient(var(--shell-trim), var(--shell-trim)) left bottom / var(--corner) var(--corner-w), linear-gradient(var(--shell-trim), var(--shell-trim)) left bottom / var(--corner-w) var(--corner), linear-gradient(var(--shell-trim), var(--shell-trim)) right bottom / var(--corner) var(--corner-w), linear-gradient(var(--shell-trim), var(--shell-trim)) right bottom / var(--corner-w) var(--corner), linear-gradient(#5ee7ff09 1px, transparent 1px) 0 0 / 1.375rem 1.375rem, linear-gradient(90deg, #5ee7ff09 1px, transparent 1px) 0 0 / 1.375rem 1.375rem, linear-gradient(180deg, #121821f7, #0b0f15f7), linear-gradient(180deg, #252c38, #171c24);pointer-events:auto;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat,no-repeat,no-repeat;background-origin:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,padding-box,padding-box,padding-box,border-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,padding-box,padding-box,padding-box,border-box;border:.375rem solid #0000;border-radius:.25rem;position:relative;box-shadow:0 0 0 1px #3a4353,inset 0 0 0 1px #5ee7ff29,0 1.2rem 3rem #0000008c,0 0 2.2rem #5ee7ff14}.shell-panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.7rem;display:flex}.shell-panel-head h2{font-family:var(--shell-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0;font-size:1.5rem;font-weight:700}.shell-panel-foot{letter-spacing:.12em;text-transform:uppercase;color:var(--shell-mute);text-align:right;margin-top:.7rem;font-size:.68rem}.shell-close{border:2px solid var(--shell-trim);width:2rem;height:2rem;color:var(--shell-trim);cursor:pointer;background:0 0;border-radius:.2rem;flex:none;padding:0;font:700 1rem/1 system-ui,sans-serif}.shell-close:hover{background:#f2b83024}.shell-btn{font:inherit;letter-spacing:.04em;color:var(--shell-text);cursor:pointer;white-space:nowrap;background:linear-gradient(#232c3a,#1a212c);border:1px solid #3a4658;border-radius:.2rem;padding:.6rem 1.1rem;font-size:.92rem;font-weight:700}.shell-btn:hover{border-color:#5ee7ff99;box-shadow:0 0 .8rem #5ee7ff2e}.shell-btn.primary{color:#14161b;background:linear-gradient(#f7c84c,#e8a522);border-color:#ffd66b}.shell-btn.primary:hover{box-shadow:0 0 1rem #f2b83073}.shell-btn.wide{width:100%}.shell-btn:disabled,.title-btn:disabled{opacity:.5;cursor:default;box-shadow:none}.title input,.feedback-text{box-sizing:border-box;font:inherit;color:var(--shell-text);background:#0a0e14;border:1px solid #2f3a4b;border-radius:.2rem;padding:.5rem .7rem;font-size:.92rem}.title input:focus,.feedback-text:focus{border-color:#5ee7ffb3;outline:none;box-shadow:0 0 0 2px #5ee7ff2e}.title input::placeholder,.feedback-text::placeholder{color:#566276}.title :focus-visible,.shell-panel :focus-visible,.shell-card :focus-visible{outline:2px solid var(--shell-cyan);outline-offset:2px}.splash{z-index:60;background:radial-gradient(at 50% 42%,#1b2331 0%,#101318 62%,#0a0d12 100%);justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:fixed;inset:0}.splash[hidden]{display:none}.splash.splash-done{opacity:0;pointer-events:none}.splash-card{text-align:center;width:min(26rem,100vw - 3rem)}.splash-gear{width:4rem;height:4rem;color:var(--shell-trim);filter:drop-shadow(0 0 .8rem #f2b83059);animation:8s linear infinite splash-turn}.splash-word{font-family:var(--shell-display);letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 0 1.2rem #5ee7ff59;margin:.7rem 0 .25rem;font-size:2.6rem;font-weight:700}.splash-line{color:var(--shell-dim);margin:0;font-size:.9rem}.splash-bar{background:#1a212c;border:1px solid #2d3748;border-radius:.2rem;height:.5rem;margin:1.7rem 0 .65rem;overflow:hidden}.splash-fill{transform-origin:0;background:linear-gradient(90deg, var(--shell-orange), var(--shell-trim));height:100%;transition:transform .45s;position:relative;overflow:hidden;transform:scaleX(.08);box-shadow:0 0 .6rem #f2b83080}.splash-fill.splash-waiting{animation:1.8s ease-in-out infinite splash-wait}.splash-fill:after{content:"";opacity:0;will-change:transform;background:linear-gradient(90deg,#fff0 0%,#fff6d6bf 50%,#fff0 100%);width:35%;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.splash-fill.splash-busy:after{opacity:1;animation:1.1s linear infinite splash-glint}.splash-step{letter-spacing:.16em;text-transform:uppercase;color:var(--shell-dim);font-size:.75rem}.splash-noscript{color:var(--shell-bad);margin-top:1rem}.splash-failed .splash-step{color:var(--shell-bad)}.splash-failed .splash-fill{background:var(--shell-bad);box-shadow:none;animation:none;transform:scaleX(1)}.splash-failed .splash-gear{animation:none}.splash-failed .splash-fill:after{opacity:0;animation:none}@keyframes splash-turn{to{transform:rotate(360deg)}}@keyframes splash-wait{0%,to{transform:scaleX(.05)}50%{transform:scaleX(.24)}}@keyframes splash-glint{0%{transform:translate(-100%)}to{transform:translate(290%)}}@keyframes splash-glow{0%{opacity:.15}to{opacity:.6}}#start.title-screen{background:0 0;display:block}#start.title-screen[hidden]{display:none}.title{box-sizing:border-box;background:linear-gradient(90deg,#06090ec7 0%,#06090e80 28%,#06090e24 52%,#06090e00 68%);align-items:center;gap:1.5rem;padding:2rem clamp(1rem,4vw,4rem);display:flex;position:absolute;inset:0;overflow:auto}.title-console{flex:none;width:22rem;padding:1.35rem 1.5rem .85rem}.title-head{align-items:center;gap:.9rem;display:flex}.title-gear{width:3.2rem;height:3.2rem;color:var(--shell-trim);filter:drop-shadow(0 0 .6rem #f2b8304d);flex:none}.title-word{font-family:var(--shell-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 0 1rem #5ee7ff4d;margin:0;font-size:2.3rem;font-weight:700;line-height:1}.title-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--shell-dim);margin-top:.35rem;font-size:.7rem}.title-invite{background:#5ee7ff12;border:1px solid #5ee7ff73;border-radius:.2rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.6rem .8rem;display:flex;box-shadow:inset 0 0 1rem #5ee7ff1f}.title-invite[hidden]{display:none}.title-invite-k{letter-spacing:.14em;text-transform:uppercase;color:var(--shell-dim);font-size:.66rem;display:block}.title-invite b{font-family:var(--shell-display);letter-spacing:.25em;color:var(--shell-cyan);font-size:1.5rem}.title-name{align-items:center;gap:.75rem;margin:1.1rem 0 .9rem;display:flex}.title-name span{letter-spacing:.14em;text-transform:uppercase;color:var(--shell-dim);white-space:nowrap;font-size:.68rem}.title-name input{flex:1;min-width:0}.title-menu{flex-direction:column;gap:.5rem;display:flex}.title-btn{width:100%;font:inherit;text-align:left;color:var(--shell-text);cursor:pointer;background:linear-gradient(#1c2330,#151b25);border:1px solid #2f3a4b;border-left:3px solid #5ee7ff8c;border-radius:.2rem;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .9rem .55rem 1rem;display:flex;position:relative}.title-btn b{font-family:var(--shell-display);letter-spacing:.06em;text-transform:uppercase;font-size:1.15rem;font-weight:700}.title-btn small{color:var(--shell-dim);font-size:.74rem}.title-btn:hover,.title-btn.active{border-color:#5ee7ff8c;box-shadow:0 0 .9rem #5ee7ff2e,inset 0 0 .8rem #5ee7ff12}.title-btn.primary{color:#14161b;background:linear-gradient(#f7c84c,#e8a522);border-color:#ffd66b #ffd66b #ffd66b #fff2c2}.title-btn.primary small{color:#14161bb8}.title-btn.primary:hover{box-shadow:0 0 1.1rem #f2b83073}.title-minor{grid-template-columns:1.4fr 1fr 1fr;gap:.45rem;margin-top:.2rem;display:grid}.title-minor button{font:inherit;letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;color:var(--shell-dim);border:1px solid var(--shell-line);cursor:pointer;background:#131922;border-radius:.2rem;padding:.55rem .3rem;font-size:.74rem;font-weight:700}.title-minor button:hover,.title-minor button.active{color:var(--shell-text);border-color:#5ee7ff80;box-shadow:0 0 .7rem #5ee7ff26}.title .start-status{min-height:1.1rem;color:var(--shell-body);margin:.7rem 0 0;font-size:.8rem;line-height:1.35}.title .start-status.bad{color:var(--shell-bad)}.title-foot{letter-spacing:.16em;text-transform:uppercase;color:var(--shell-mute);white-space:nowrap;border-top:1px solid #242c38;align-items:center;gap:.6rem;margin-top:.75rem;padding-top:.6rem;font-size:.6rem;display:flex}.title-foot-mid{border-right:1px solid #242c38;flex:none;padding-right:.6rem}.title-foot-build{text-overflow:ellipsis;text-align:right;flex:1;min-width:0;overflow:hidden}.lamp{background:var(--shell-trim);width:.45rem;height:.45rem;box-shadow:0 0 .4rem var(--shell-trim);flex:none}.lamp.lamp-cyan{background:var(--shell-cyan);box-shadow:0 0 .4rem var(--shell-cyan)}.title-side{flex:none;width:min(34rem,100vw - 29rem);max-height:calc(100vh - 4rem);display:flex}.title-side[hidden],.title-side [hidden]{display:none}.side-host{width:100%;display:flex}.side-panel,.settings-panel{width:100%;max-height:calc(100vh - 4rem);padding:1.1rem 1.4rem 1.2rem;overflow:auto}.title,.side-panel,.settings-panel,.shell-card-details{scrollbar-width:thin;scrollbar-color:#3a4658 transparent}.side-lead{color:var(--shell-body);margin:0 0 1rem;font-size:.92rem;line-height:1.45}.side-note{color:var(--shell-dim);margin:.5rem 0;font-size:.82rem;line-height:1.45}.side-note a,.credits-libs a{color:var(--shell-cyan);text-decoration:none}.side-note a:hover,.credits-libs a:hover{text-decoration:underline}.side-h3{font-family:var(--shell-display);letter-spacing:.14em;text-transform:uppercase;color:var(--shell-cyan);margin:1.1rem 0 .45rem;font-size:.85rem;font-weight:700}.side-or{letter-spacing:.14em;text-transform:uppercase;color:var(--shell-mute);align-items:center;gap:.7rem;margin:.9rem 0 .7rem;font-size:.68rem;display:flex}.side-or:before,.side-or:after{content:"";background:#273040;flex:1;height:1px}.side-join{gap:.6rem;display:flex}.side-join .shell-btn{flex:1}.title .code-input{letter-spacing:.3em;text-align:center;text-transform:uppercase;flex:none;width:7.5rem;font-size:1.1rem;font-weight:800}.side-dev{color:var(--shell-dim);align-items:center;gap:.5rem;margin-top:1.1rem;font-size:.75rem;display:flex}.side-dev input{flex:1;min-width:0;font-size:.8rem}.dev-tag{background:var(--shell-trim);color:#14161b;letter-spacing:.06em;border-radius:.2rem;padding:.05rem .35rem;font-size:.62rem;font-weight:800}.settings-group{font-family:var(--shell-display);letter-spacing:.16em;text-transform:uppercase;color:var(--shell-cyan);margin:.75rem 0 .2rem;font-size:.72rem;font-weight:700}.settings-rows>.settings-group:first-child{margin-top:0}.settings-row{border:1px solid #0000;border-radius:.2rem;grid-template-columns:8.5rem 1fr;align-items:center;gap:.8rem;padding:.3rem .5rem;display:grid}.settings-row.sel{background:#5ee7ff0f;border-color:#5ee7ff40}.settings-label{color:#dfe6f2;font-size:.88rem}.seg-bar{gap:.2rem;padding:.1rem .15rem;display:flex}.seg{cursor:pointer;background:#121821;border:1px solid #2c3646;border-radius:.1rem;flex:1;min-width:0;height:1.05rem;padding:0;transform:skew(-14deg)}.seg:hover{border-color:#5ee7ff99}.seg.on{background:linear-gradient(#8af2ff,#2bb6d4);border-color:#a8f6ff;box-shadow:0 0 .35rem #5ee7ff73}.choice{flex-wrap:wrap;gap:.25rem;display:flex}.choice-opt{font:inherit;color:var(--shell-dim);border:1px solid var(--shell-line);cursor:pointer;background:#131922;border-radius:.2rem;flex:1;padding:.3rem .5rem;font-size:.8rem;font-weight:700}.choice-opt:hover{color:var(--shell-text);border-color:#5ee7ff80}.choice-opt.on{color:#14161b;background:var(--shell-trim);border-color:#ffd66b}.howto-steps{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.howto-steps li{color:var(--shell-body);grid-template-columns:4.6rem 1fr;align-items:baseline;gap:.7rem;font-size:.86rem;line-height:1.4;display:grid}.howto-steps b{font-family:var(--shell-display);letter-spacing:.08em;text-transform:uppercase;color:var(--shell-trim);font-size:.95rem}.howto-keys{border-collapse:collapse;width:100%;font-size:.84rem}.howto-keys td{color:var(--shell-body);border-bottom:1px solid #1e2632;padding:.28rem .3rem}.howto-keys td:first-child{white-space:nowrap;width:1%}.shell-panel kbd{box-sizing:border-box;text-align:center;color:#fff;background:#1a212c;border:1px solid #45526a;border-bottom-width:3px;border-radius:.25rem;min-width:1.5rem;margin-right:.25rem;padding:.1rem .4rem;font:700 .76rem/1.3 system-ui,sans-serif;display:inline-block}.shell-panel .key-sep{color:var(--shell-dim);margin-right:.25rem;font-weight:700}.credits-libs{margin:0;padding:0;list-style:none}.credits-libs li{border-bottom:1px solid #1e2632;grid-template-columns:6.5rem 1fr auto;gap:.6rem;padding:.32rem 0;font-size:.86rem;display:grid}.credits-libs a{font-weight:700}.credits-libs span{color:var(--shell-body)}.credits-libs em{color:var(--shell-dim);font-size:.78rem;font-style:normal}.feedback-text{resize:vertical;width:100%;min-height:4.2rem;display:block}.feedback-row{align-items:center;gap:.8rem;margin-top:.6rem;display:flex}.feedback-build{letter-spacing:.12em;text-transform:uppercase;color:var(--shell-mute);white-space:nowrap;font-size:.66rem}.feedback-status{text-align:right;color:var(--shell-dim);flex:1;font-size:.8rem}.feedback-status.bad{color:var(--shell-bad)}.shell-layer{z-index:80;pointer-events:none;justify-content:center;display:flex;position:fixed}.shell-blocking{z-index:90;pointer-events:auto;background:#06080ccc;align-items:center;inset:0}.shell-notice{top:1.2rem;left:0;right:0}.shell-card{width:min(31rem,100vw - 2rem);padding:1.2rem 1.5rem 1rem}.shell-card-title{font-family:var(--shell-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0 0 .6rem;font-size:1.4rem;font-weight:700}.shell-card-line{color:var(--shell-body);margin:0 0 .55rem;font-size:.92rem;line-height:1.45}.shell-card-details{color:#ffb4a8;white-space:pre-wrap;word-break:break-word;border:1px solid var(--shell-line);background:#0a0e14;border-radius:.2rem;max-height:6rem;margin:.4rem 0 0;padding:.5rem .6rem;font:.75rem/1.4 ui-monospace,Consolas,monospace;overflow:auto}.shell-card-actions{gap:.6rem;margin-top:.9rem;display:flex}.shell-card-actions:empty{display:none}.shell-card-build{letter-spacing:.14em;text-transform:uppercase;color:var(--shell-mute);margin-top:.8rem;font-size:.62rem}@media (max-width:56rem){.title{background:#06090e8c;flex-direction:column;justify-content:flex-start;align-items:stretch}.title-console,.title-side{width:auto;max-width:30rem;max-height:none}.side-panel,.settings-panel{max-height:none}}@media (prefers-reduced-motion:reduce){.splash-gear,.splash-fill.splash-waiting{animation:none}.splash-fill.splash-busy:after{width:100%;animation:.9s ease-in-out infinite alternate splash-glow;transform:none}.splash,.splash-fill{transition:none}}.lobby-screen{z-index:2}.lobby-console{flex:none;width:min(40rem,100vw - 2rem);padding:1.2rem 1.5rem 1rem}.lobby-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--shell-dim);margin-top:.3rem;font-size:.66rem}.lobby-kicker span{white-space:nowrap}.lobby-code{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.lobby-code-k{letter-spacing:.14em;text-transform:uppercase;color:var(--shell-dim);font-size:.66rem}.lobby-code b{font-family:var(--shell-display);letter-spacing:.25em;color:var(--shell-cyan);text-shadow:0 0 .8rem #5ee7ff59;font-size:2rem;line-height:1}.lobby-crews{grid-template-columns:1fr auto 1fr;gap:.8rem;margin:.2rem 0 .1rem;display:grid}.lobby-vs{font-family:var(--shell-display);letter-spacing:.1em;color:var(--shell-mute);align-self:center;font-size:1.2rem;font-weight:700}.lobby-crew{--crew:#3d8bff;--crew-soft:#3d8bff1f;--crew-edge:#3d8bff8c;border:1px solid #2f3a4b;border-top:3px solid var(--crew);background:linear-gradient(180deg, var(--crew-soft), #0a0e148c 70%);border-radius:.2rem;flex-direction:column;gap:.55rem;min-width:0;padding:.7rem .8rem .8rem;display:flex}.lobby-crew.crew-red{--crew:#ff4a4a;--crew-soft:#ff4a4a1f;--crew-edge:#ff4a4a8c}.lobby-crew.mine{border-color:var(--crew-edge);border-top-color:var(--crew);box-shadow:0 0 1.2rem var(--crew-soft)}.lobby-crew-name{font-family:var(--shell-display);letter-spacing:.08em;text-transform:uppercase;color:var(--crew);font-size:1.2rem;font-weight:700}.lobby-slots{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.lobby-slots li{background:#ffffff0a;border:1px solid #ffffff14;border-radius:.2rem;align-items:center;gap:.5rem;min-height:1.35rem;padding:.3rem .6rem;font-size:.92rem;font-weight:700;display:flex}.lobby-slots li:before{content:"";background:var(--crew);width:.55rem;height:.55rem;box-shadow:0 0 .4rem var(--crew);border-radius:50%;flex:none}.lobby-slots li.you{border-color:var(--crew-edge)}.lobby-slots li.playing{color:var(--shell-dim);font-size:.8rem;font-weight:600}.lobby-slots li.open{color:var(--shell-mute);background:0 0;border-style:dashed;font-size:.8rem;font-weight:600}.lobby-slots li.open:before{box-shadow:none;background:0 0;border:1px solid #3a4658}.lobby-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lobby-slots em,.lobby-slots small{letter-spacing:.14em;text-transform:uppercase;flex:none;font-size:.6rem;font-style:normal;font-weight:800}.lobby-slots em{color:var(--shell-cyan)}.lobby-slots small{color:var(--shell-trim);margin-left:auto}.lobby-yours{letter-spacing:.14em;text-transform:uppercase;min-height:2.35rem;color:var(--crew);justify-content:center;align-items:center;font-size:.7rem;font-weight:800;display:flex}.lobby-crew .shell-btn{white-space:normal}.lobby-actions{align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.lobby-grow{flex:1}.lobby-actions [hidden]{display:none}@media (max-width:34rem){.lobby-console .shell-panel-head{flex-wrap:wrap;row-gap:.6rem}.lobby-code{flex-direction:row;align-items:baseline;gap:.6rem}.lobby-crews{grid-template-columns:1fr}.lobby-vs{justify-self:center}}
