@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0b;--bg-alt:#111;--card:#151515;--card-hover:#1c1c1c;--border:#2a2a2a;--text:#f2f2f2;--muted:#b0b0b0;--accent:#d0d0d0;--yellow:#e5e5e5;--radius:18px;--mono:"Space Mono",ui-monospace,monospace;--display:"Space Grotesk","Segoe UI",sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);font-family:var(--display);background:var(--bg);color:var(--text);font-synthesis:none;font-weight:400}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}button,input,a{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #eee}a{color:inherit;text-decoration:none}button:hover{color:#fff}button,input{border-radius:12px}button{transition:background .18s,border-color .18s}button:active:not(:disabled){transform:scale(.98)}.hidden{display:none!important}#app{background:var(--bg);flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.game-main{flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:0;display:flex}.game-shell{background:#111;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}#stage{--arena-top:var(--safe-top);isolation:isolate;touch-action:none;background:#202820;outline:none;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}#canvas{position:absolute;inset:0}#canvas canvas{image-rendering:pixelated;display:block}#stage.manual-active #canvas{cursor:none}.scanlines{display:none}#stage:after{content:"";z-index:3;pointer-events:none;border:2px solid #0000;position:absolute;inset:0}#stage.low-health:after{border-color:#c47a6888;box-shadow:inset 0 0 70px #8c262640}.overlay{z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.start-screen{padding:30px 20px calc(30px + var(--safe-bottom));background:#0b0b0b;overflow:auto}.start-content{text-align:center;width:min(100%,480px);padding:16px 0;position:relative}.small-label,.eyebrow{font:9px/1.7 var(--mono);letter-spacing:.14em;color:#999}.start-content h1{font:500 clamp(30px,4.5vw,46px)/1.13 var(--display);letter-spacing:-.055em;margin:0 0 17px}.start-content p{color:#999;margin:0 0 27px;font-size:13px;line-height:1.9}.start-actions{gap:12px;width:min(100%,300px);margin:0 auto;display:grid}.primary{color:#ddd;min-height:48px;font:600 12px/1.6 var(--display);letter-spacing:.14em;text-transform:uppercase;text-align:center;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:10px;padding:12px 18px;display:flex}.primary:hover{color:#fff;background:0 0;border-color:#0000}.primary>span{display:none}.primary.secondary{color:#b0b0b0;background:0 0;border:0}.primary.secondary:hover{color:#fff;background:0 0;border-color:#0000}.menu-record{font:8px/1.5 var(--mono);letter-spacing:.04em;color:#777;justify-content:center;align-items:center;gap:5px;margin:25px 0 12px;display:grid}.menu-record strong{color:#ccc;font-size:10px;font-weight:400}.record-divider{color:#444;margin:0 3px}.hud{z-index:4;pointer-events:none;font-variant-numeric:tabular-nums;background:linear-gradient(#070b0ad9,#0000 150px);position:absolute;inset:0}.health{left:max(22px,var(--safe-left));top:calc(22px + var(--arena-top));width:170px;position:absolute}.health>div:first-child{font:9px var(--mono);color:#ddd;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.health b{white-space:nowrap;font-size:11px;font-weight:400}.health-track,.ally-track{background:#ffffff1c;border-radius:4px;height:5px;margin-top:9px;overflow:hidden}.health-track i{background:#ddd;width:100%;height:100%;transition:width .12s linear;display:block}#stage.low-health .health-track i{background:#e0a48c}.time{top:calc(15px + var(--arena-top));text-align:center;position:absolute;left:50%;transform:translate(-50%)}.time span{font:9px var(--mono);letter-spacing:.1em;color:#aaa;display:block}.time strong{font:500 34px/1.2 var(--display);letter-spacing:-.04em;color:#f2f2f2;display:block}.kill-stat{right:max(22px,var(--safe-right));top:calc(20px + var(--arena-top));text-align:right;padding-right:50px;position:absolute}.kill-stat>span{font:9px var(--mono);color:#aaa;letter-spacing:.08em;display:block}.kill-stat strong{font:500 24px var(--display)}#pause{color:#eee;pointer-events:auto;background:#111a;border:1px solid #ffffff30;border-radius:12px;place-items:center;width:44px;height:44px;font-size:15px;display:grid;position:absolute;top:0;right:0}.run-status{top:calc(76px + var(--arena-top));left:max(22px,var(--safe-left));font:10px/1.5 var(--mono);color:#ddd;flex-direction:column;gap:4px;max-width:45%;display:flex;position:absolute}#next-boss{color:#bbb;font-size:9px}.boss-hud{top:calc(80px + var(--arena-top));text-align:center;background:#111d;border:1px solid #ffffff30;border-radius:12px;width:min(340px,42%);padding:10px 12px;position:absolute;left:50%;transform:translate(-50%)}#boss-name{font:9px/1.5 var(--mono);letter-spacing:.08em;color:#ddd;margin-bottom:8px;display:block}.boss-track{background:#ffffff20;border-radius:3px;height:4px;overflow:hidden}#boss-bar{background:#d0b39f;width:100%;height:100%;display:block}.xp{background:#ffffff15;height:4px;position:absolute;bottom:0;left:0;right:0}.xp>i{background:#d0d0d0;width:0;height:100%;display:block}.level-hud{left:max(22px,var(--safe-left));top:calc(54px + var(--arena-top));font:8px/1.5 var(--mono);letter-spacing:.04em;color:#bbb;position:absolute}.weapon-hud{left:max(22px,var(--safe-left));bottom:calc(22px + var(--safe-bottom));z-index:5;pointer-events:none;flex-wrap:wrap;gap:5px 10px;max-width:min(50%,520px);display:flex;position:absolute}.weapon-hud>div{color:#ddd;background:0 0;border:0;border-radius:0;justify-content:center;align-items:baseline;gap:4px;width:auto;height:auto;display:inline-flex;position:static}.weapon-hud span{font:10px/1.5 var(--mono);letter-spacing:.02em;text-transform:uppercase}.weapon-hud small{font:9px/1.5 var(--mono);color:#bbb;position:static}.weapon-hud>.evolved{color:#fff}.supply-hint{z-index:5;right:max(22px,var(--safe-right));bottom:calc(82px + var(--safe-bottom));color:#ddd;max-width:220px;font:9px/1.6 var(--mono);pointer-events:none;background:#111d;border:1px solid #ffffff26;border-radius:10px;padding:9px 12px;position:absolute}#toast{z-index:9;left:50%;top:calc(140px + var(--arena-top));opacity:0;width:max-content;max-width:min(480px,85%);font:9px/1.7 var(--mono);color:#ddd;text-align:center;pointer-events:none;background:#111;border:1px solid #ffffff30;border-radius:12px;padding:10px 14px;transition:opacity .18s,transform .18s;position:absolute;transform:translate(-50%,-6px)}#toast.show{opacity:1;transform:translate(-50%)}.dialog{padding:28px max(24px,var(--safe-right)) calc(28px + var(--safe-bottom)) max(24px,var(--safe-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0b0b0bf5;overflow:auto}.dialog-box{text-align:center;scrollbar-width:thin;scrollbar-color:#444 transparent;width:100%;max-width:540px;max-height:100%;overflow:auto}.dialog .eyebrow{justify-content:center}.dialog h2{font:500 clamp(25px,3.4vw,38px)/1.2 var(--display);letter-spacing:-.045em;color:#eee;margin:15px 0}.dialog p{color:#aaa;font-size:12px;line-height:1.9}.dialog-box>.primary{width:100%;max-width:300px;margin:24px auto 0}.run-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:480px;margin:25px auto;display:grid}.run-results>div{background:#151515;border:1px solid #333;border-radius:14px;flex-direction:column;gap:9px;padding:18px 8px;display:flex}.run-results strong{font:500 29px/1 var(--display);letter-spacing:-.03em;color:#eee}.run-results span{font:9px var(--mono);color:#999}.best-weapon{font:9px/1.8 var(--mono)!important;color:#bbb!important}.coop-lobby{z-index:15}.coop-lobby .coop-panel{border-radius:var(--radius);background:#111;border:1px solid #2a2a2a;width:100%;max-width:620px;max-height:100%;padding:27px;overflow:auto}.coop-panel h2{font-size:30px}.coop-panel p{color:#aaa;font-size:12px}.coop-entry{text-align:left}.coop-panel label{font:9px var(--mono);letter-spacing:.08em;color:#bbb;margin:19px 0 9px;display:block}.coop-panel input{width:100%;min-height:49px;font:16px var(--display);color:#eee;appearance:none;background:#191919;border:1px solid #383838;border-radius:12px;outline:none;padding:12px 15px}.coop-panel input:focus{border-color:#aaa}.coop-panel input::placeholder{color:#777}.coop-actions{flex-direction:column;gap:9px;margin-top:12px;display:flex}.coop-actions .primary{justify-content:center;width:100%;max-width:none;margin:0}.coop-entry .invite-secondary{color:#bbb;background:0 0;border-color:#333;font-size:12px}.coop-invite-hint{color:#999!important;margin:15px 0 0!important;font-size:11px!important;line-height:1.8!important}.coop-room-layout{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:22px;margin-top:25px;display:grid}.coop-qr-section h3{font:9px var(--mono);letter-spacing:.1em;color:#ccc;margin:0 0 11px}.coop-qr{color:#111;background:#fff;border:9px solid #fff;border-radius:12px;place-items:center;width:210px;height:210px;margin:auto;display:grid}.coop-qr svg{shape-rendering:crispedges;width:100%;height:100%;display:block}.coop-qr-section>p{color:#999!important;margin:11px 0 0!important;font-size:10px!important;line-height:1.7!important}.coop-players{grid-template-columns:1fr;gap:8px;margin:0 0 15px;padding:0;list-style:none;display:grid}.coop-player{text-align:left;overflow-wrap:anywhere;background:#191919;border:1px solid #333;border-radius:12px;min-width:0;padding:12px}.coop-player strong{color:#ddd;font-size:12px;font-weight:500;display:block}.coop-player span{font:9px/1.5 var(--mono);color:#888;margin-top:8px;display:block}.coop-player[data-state=ready]{border-color:#777}.coop-player[data-state=ready] span{color:#eee}.coop-player[data-state=offline]{opacity:.6}#coop-ready{justify-content:center;width:100%;margin:14px 0 0;font-size:13px}#coop-countdown{font:500 20px/1.3 var(--display);letter-spacing:-.03em;color:#eee;margin:16px 0}#coop-countdown:empty,#coop-message:empty{display:none}.coop-copy{width:100%;min-height:44px;font:8px var(--mono);color:#bbb;background:#191919;border:1px solid #333;border-radius:12px;margin-top:9px;padding:10px}#coop-message{overflow-wrap:anywhere;margin:18px 0 8px;font:9px/1.9 var(--mono)!important;color:#aaa!important}#coop-message.error{color:#e0b2a2!important}.coop-back{color:#aaa;min-height:44px;margin-top:3px;padding:8px 12px;font-size:12px}.coop-room.guest-view .coop-room-layout{display:block}.coop-room.guest-view .coop-players{grid-template-columns:repeat(2,minmax(0,1fr))}.coop-status{top:calc(82px + var(--arena-top));right:max(22px,var(--safe-right));max-width:44%;font:9px/1.5 var(--mono);color:#bbb;text-align:right;position:absolute}.teammate-health{left:max(22px,var(--safe-left));top:calc(118px + var(--arena-top));width:170px;font:9px/1.5 var(--mono);color:#ccc;background:#111b;border:1px solid #ffffff26;border-radius:12px;grid-template-columns:1fr auto;gap:3px 6px;padding:10px;display:grid;position:absolute}#teammate-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#teammate-hp{white-space:nowrap;font-size:10px;font-weight:400}.ally-track{grid-column:1/-1;height:4px;margin-top:5px}#teammate-bar{background:#b1c8ce;width:100%;height:100%;display:block}#teammate-state{font:8px var(--mono);color:#999;grid-column:1/-1;margin-top:5px}#revive-indicator{bottom:calc(94px + var(--safe-bottom));color:#eee;width:max-content;max-width:80%;font:10px/1.6 var(--mono);text-align:center;pointer-events:none;background:#111e;border:1px solid #ffffff50;border-radius:12px;padding:10px 13px;position:absolute;left:50%;transform:translate(-50%)}.coop-active .boss-hud{top:calc(95px + var(--arena-top))}#performance-readout{left:max(22px,var(--safe-left));bottom:calc(85px + var(--safe-bottom));z-index:8;max-width:calc(100% - 44px);font:9px/1.6 var(--mono);color:#ddd;pointer-events:none;background:#111e;border:1px solid #ffffff30;border-radius:9px;padding:7px 10px;position:absolute}#ability-hud{right:calc(22px + var(--safe-right));bottom:calc(22px + var(--safe-bottom));z-index:5;color:#ccc;max-width:126px;font:10px/1.5 var(--mono);letter-spacing:.025em;text-transform:uppercase;text-align:right;pointer-events:none;text-shadow:0 1px 3px #000;gap:5px;display:grid;position:absolute}#ability-hud>span{display:block}#doctrine-status{color:#ded1af}#objective-hud{z-index:5;pointer-events:none;left:50%;bottom:calc(58px + var(--safe-bottom));text-align:center;color:#ddd;width:max-content;max-width:90%;font:10px/1.5 var(--mono);text-shadow:0 1px 4px #000;position:absolute;transform:translate(-50%)}#powerup-hud{pointer-events:none;z-index:5;left:calc(12px + var(--safe-left));bottom:calc(45px + var(--safe-bottom));max-width:calc(100% - 152px - var(--safe-left) - var(--safe-right));color:#e2dba5;font:9px/1.5 var(--mono);text-shadow:0 1px 3px #000;position:absolute}.dialog:has(.upgrade-box){background:#0b0b0b55}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.game-settings{z-index:25;top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));display:none;position:absolute}.coop-scan-panel{width:min(100%,340px);margin:18px auto 0}#coop-scan-video{object-fit:cover;touch-action:manipulation;background:#111;border:1px solid #333;width:100%;height:min(35dvh,280px);display:block}.coop-scan-panel .primary{width:100%;margin-top:8px}#stage:has(#hud.hidden) .game-settings,#stage:has(#dialog:not(.hidden)) .game-settings{display:block}#stage:has(#hud:not(.hidden)) .game-settings{top:calc(62px + var(--safe-top))}#stage:has(#coop-lobby:not(.hidden)) .game-settings,#stage:has(.upgrade-box) .game-settings{display:none}.game-settings summary{color:#aaa;cursor:pointer;touch-action:manipulation;width:max-content;min-height:44px;font:10px/1.5 var(--mono);letter-spacing:.04em;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:8px 10px;list-style:none;display:flex}.game-settings summary::-webkit-details-marker{display:none}.game-settings summary::marker{content:""}.game-settings summary:focus-visible{outline-offset:4px;outline:2px solid #eee}.game-settings[open] summary{color:#fff;background:0 0;border:0}.game-settings .toolbar-actions{background:#111;border:1px solid #343434;border-radius:15px;width:202px;padding:6px;display:grid;position:absolute;top:52px;right:0;box-shadow:0 12px 30px #0005}.game-settings .toolbar-actions button,.game-settings .toolbar-actions a{color:#bbb;width:100%;min-height:44px;font:10px/1.5 var(--mono);letter-spacing:.02em;text-align:center;border:0;border-radius:9px;justify-content:center;align-items:center;padding:12px;display:flex}.game-settings .toolbar-actions button:hover,.game-settings .toolbar-actions a:hover,.game-settings .toolbar-actions [aria-pressed=true]{color:#fff;background:#242424}.menu-links{justify-content:center;align-items:center;gap:18px;display:flex}.menu-back{color:#aaa;min-height:44px;font:12px/1.5 var(--display);justify-content:center;align-items:center;padding:8px 4px;display:inline-flex}.menu-back:hover{color:#fff}.start-screen{padding-top:calc(25px + var(--safe-top));padding-left:calc(20px + var(--safe-left));padding-right:calc(20px + var(--safe-right))}.dialog{padding-top:calc(24px + var(--safe-top))}#stage:fullscreen{--arena-top:var(--safe-top);background:#202820;width:100vw;height:100dvh}html.touch-device #stage,html.touch-device #stage.manual-active #canvas{cursor:auto;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html.touch-device .health-track i{transition:none}html.touch-device #fullscreen{display:none}html.touch-device #pause{width:44px;height:44px}html.touch-device .kill-stat{padding-right:52px}html.touch-device #stage.low-health:after{box-shadow:none}html.touch-device .weapon-hud{left:calc(12px + var(--safe-left));bottom:calc(12px + var(--safe-bottom));max-width:calc(100% - 148px - var(--safe-left) - var(--safe-right));flex-wrap:wrap;gap:4px 8px}html.touch-device .level-hud{left:calc(12px + var(--safe-left))}html.touch-device .supply-hint{left:calc(12px + var(--safe-left));right:auto;bottom:calc(121px + var(--safe-bottom));max-width:calc(100% - 24px - var(--safe-left) - var(--safe-right));padding:7px 9px;font-size:9px}html.touch-device #revive-indicator{bottom:calc(133px + var(--safe-bottom));max-width:86%;font-size:10px}html.touch-device #performance-readout{left:calc(12px + var(--safe-left));bottom:calc(177px + var(--safe-bottom));max-width:calc(100% - 24px - var(--safe-left) - var(--safe-right));padding:5px 7px;font-size:9px;top:auto}html.touch-device #ability-hud{right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));gap:4px;font-size:10px}html.touch-device #objective-hud{bottom:calc(88px + var(--safe-bottom));max-width:calc(100% - 24px - var(--safe-left) - var(--safe-right));font-size:10px}html.touch-device #powerup-hud{bottom:calc(50px + var(--safe-bottom))}#stage:has(#revive-indicator:not(.hidden)) .supply-hint{display:none}.upgrade-box{text-align:center;scrollbar-width:thin;scrollbar-color:#444 transparent;width:100%;max-width:760px;max-height:100%;overflow:auto}.upgrade-box h2{font:500 clamp(23px,3.2vw,32px)/1.2 var(--display);letter-spacing:-.04em;margin:10px 0 0}.upgrade-box .eyebrow{font:8px/1.5 var(--mono);letter-spacing:.12em;color:#aaa}.upgrade-grid,.team-upgrade-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;margin-top:24px;display:grid}.upgrade-card,.team-upgrade-card{color:#eee;text-align:center;touch-action:manipulation;text-shadow:0 1px 3px #000;background:#0b0b0b80;border:1px solid #3b3b3b;border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;min-width:0;height:180px;min-height:44px;padding:16px 12px;display:flex;overflow:hidden}.upgrade-card:hover,.team-upgrade-card:hover{background:#181818b3;border-color:#777}.upgrade-card:focus-visible,.team-upgrade-card:focus-visible{outline-offset:3px;background:#181818b3;border-color:#aaa;outline:2px solid #eee}.upgrade-card .upgrade-kind,.team-upgrade-card .upgrade-kind{font:9px/1.4 var(--mono);letter-spacing:.065em;color:#aaa;text-transform:uppercase;white-space:nowrap}.upgrade-card .upgrade-value,.team-upgrade-card .upgrade-value{font:600 40px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.06em;white-space:nowrap;color:#f5f5f5;margin:5px 0 2px;display:block}.upgrade-card .upgrade-name,.team-upgrade-card .upgrade-name{max-width:100%;min-height:2.5em;font:500 14px/1.25 var(--display);letter-spacing:-.015em;text-wrap:balance;overflow-wrap:normal;place-items:center;display:grid}.upgrade-card .upgrade-detail,.team-upgrade-card .upgrade-detail{-webkit-line-clamp:2;color:#aaa;max-width:100%;font:11px/1.4 var(--display);text-wrap:balance;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.upgrade-card .upgrade-progress,.team-upgrade-card .upgrade-progress{font:8px/1.4 var(--mono);letter-spacing:.015em;color:#bbb;white-space:normal;overflow-wrap:anywhere;margin-top:auto;display:block}.team-upgrade-tray{z-index:9;top:calc(145px + var(--safe-top));width:min(650px,calc(100% - 40px - var(--safe-left) - var(--safe-right)));pointer-events:none;box-shadow:none;background:0 0;border:0;border-radius:16px;padding:0;position:absolute;left:50%;transform:translate(-50%)}.team-upgrade-header{color:#eee;text-shadow:0 1px 5px #000;justify-content:center;align-items:center;gap:10px;margin-bottom:7px;padding:0 2px;display:flex}.team-upgrade-header strong{font:500 10px/1.5 var(--display);letter-spacing:.06em}.team-upgrade-header small{font:9px/1.5 var(--mono);text-align:right;color:#ddd}.team-upgrade-grid{gap:8px;margin-top:0}.team-upgrade-card{pointer-events:auto;background:#0b0b0b66;border-color:#ffffff40;border-radius:11px;gap:3px;height:auto;min-height:168px;padding:11px 9px}.team-upgrade-card:hover,.team-upgrade-card:focus-visible{background:#18181899;border-color:#fff9}.team-upgrade-card .upgrade-kind{font-size:8px}.team-upgrade-card .upgrade-value{margin:4px 0 1px;font-size:32px}.team-upgrade-card .upgrade-name{font-size:13px}.team-upgrade-card .upgrade-detail{color:#ddd;font-size:10px}.team-upgrade-card .upgrade-progress{font-size:8px}@media (width<=700px){.weapon-hud{max-width:calc(100% - 148px - var(--safe-left) - var(--safe-right))}.start-screen{padding:calc(20px + var(--safe-top)) calc(22px + var(--safe-right)) calc(22px + var(--safe-bottom)) calc(22px + var(--safe-left))}.start-content{width:min(100%,380px);padding:8px 0}.small-label{letter-spacing:.1em;font-size:8px}.start-content h1{margin-bottom:14px;font-size:35px}.start-content p{margin-bottom:24px;font-size:12px;line-height:1.8}.start-actions{gap:12px;width:min(100%,300px);margin:0 auto;display:grid}.menu-record{margin:22px 0 7px;font-size:7px}.health{left:calc(12px + var(--safe-left));top:calc(16px + var(--arena-top));width:108px}.health>div:first-child{gap:5px;font-size:9px}.health-track{height:4px;margin-top:7px}.time{top:calc(10px + var(--arena-top))}.time span{letter-spacing:.04em;font-size:9px}.time strong{font-size:29px}.kill-stat{right:calc(12px + var(--safe-right));top:calc(14px + var(--arena-top));padding-right:46px}.kill-stat>span{letter-spacing:.04em;font-size:9px}.kill-stat strong{font-size:22px}#pause{background:#1118;border-radius:12px;width:44px;height:44px}.run-status{top:calc(67px + var(--arena-top));left:calc(12px + var(--safe-left));gap:3px;font-size:9px}#next-boss{font-size:9px}.coop-status{top:calc(67px + var(--arena-top));right:calc(12px + var(--safe-right));max-width:45%;font-size:9px}.teammate-health{top:calc(111px + var(--arena-top));left:calc(12px + var(--safe-left));border-radius:9px;gap:2px 4px;width:112px;padding:7px 6px;font-size:9px}#teammate-state{display:none}.ally-track{height:3px;margin-top:3px}.boss-hud,.coop-active .boss-hud{top:calc(111px + var(--arena-top));border-radius:9px;width:min(240px,100% - 48px);max-width:240px;padding:8px}#boss-name{letter-spacing:.03em;margin-bottom:5px;font-size:9px;line-height:1.5}.boss-track{height:3px}#toast,.coop-active #toast{top:calc(167px + var(--arena-top));max-width:80%;padding:8px 11px;font-size:10px}#stage:has(#team-upgrade-tray:not(.hidden)) #toast{opacity:0}.dialog{padding:calc(22px + var(--safe-top)) calc(16px + var(--safe-right)) calc(22px + var(--safe-bottom)) calc(16px + var(--safe-left))}.dialog h2{font-size:28px}.dialog p{font-size:11px}.run-results strong{font-size:25px}.run-results span{font-size:9px}.coop-lobby .coop-panel{padding:22px 18px}.coop-panel h2{font-size:27px}.coop-room-layout{grid-template-columns:1fr;gap:20px}.coop-qr{width:205px;height:205px}.coop-qr-section>p{max-width:265px;margin:10px auto 0!important}.coop-room-controls .coop-players{grid-template-columns:repeat(2,minmax(0,1fr))}.coop-player{padding:10px}.coop-player strong{font-size:11px}.coop-player span{font-size:9px}#coop-ready{min-height:48px}.coop-active .boss-hud{left:auto;right:calc(12px + var(--safe-right));width:calc(100% - 148px - var(--safe-left) - var(--safe-right));transform:none}.upgrade-box{max-width:600px}.upgrade-box h2{font-size:25px}.upgrade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:21px}.upgrade-card{border-radius:12px;gap:5px;height:auto;min-height:186px;max-height:none;padding:13px 8px}.upgrade-card .upgrade-kind{letter-spacing:.015em;font-size:8px}.upgrade-card .upgrade-value{margin-top:6px;font-size:clamp(18px,6.6vw,30px)}.upgrade-card .upgrade-name{min-height:2.5em;font-size:12px}.upgrade-card .upgrade-detail{font-size:10px;line-height:1.4}.upgrade-card .upgrade-progress{font-size:8px}.team-upgrade-tray{top:calc(163px + var(--safe-top));width:calc(100% - 24px - var(--safe-left) - var(--safe-right));border-radius:13px;padding:0}.team-upgrade-header{gap:8px;margin-bottom:7px}.team-upgrade-header strong{font-size:10px}.team-upgrade-header small{display:none}.team-upgrade-grid{gap:6px}.team-upgrade-card{height:auto;min-height:170px;padding:10px 6px}.team-upgrade-card .upgrade-kind{letter-spacing:0;font-size:8px}.team-upgrade-card .upgrade-value{margin-top:4px;font-size:clamp(21px,6.4vw,28px)}.team-upgrade-card .upgrade-name{font-size:11px}.team-upgrade-card .upgrade-detail{font-size:10px}.team-upgrade-card .upgrade-progress{letter-spacing:0;font-size:8px}}@media (orientation:portrait) and (height<=740px){.team-upgrade-tray{top:calc(154px + var(--safe-top))}.team-upgrade-header{display:none}.team-upgrade-header strong{font-size:10px;line-height:1.5}.team-upgrade-card{border-radius:9px;gap:2px;height:92px;min-height:92px;padding:5px 6px}.team-upgrade-card .upgrade-kind,.team-upgrade-card .upgrade-progress{display:none}.team-upgrade-card .upgrade-value{margin:0;font-size:clamp(16px,5vw,21px);line-height:1}.team-upgrade-card .upgrade-name{min-height:0;font-size:11px;line-height:1.15}.team-upgrade-card .upgrade-detail{font-size:10px;line-height:1.3}}@media (width<=360px){.health{width:92px}.health>div:first-child{justify-content:flex-start;gap:0}.health>div:first-child>span{display:none}}@media (orientation:landscape) and (height<=550px){#stage{--landscape-tray-width:min(570px,calc(100% - 290px - var(--safe-left) - var(--safe-right)));--landscape-left-hud:calc((100% - var(--landscape-tray-width))/2 - 24px - var(--safe-left));--landscape-right-hud:calc((100% - var(--landscape-tray-width))/2 - 24px - var(--safe-right))}.start-screen{padding:calc(14px + var(--safe-top)) calc(24px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(24px + var(--safe-left))}.start-content{width:min(100%,620px);padding:0}.small-label{font-size:7px}.start-content h1{margin:8px 0 10px;font-size:30px}.start-content p{margin:0 0 16px;font-size:11px;line-height:1.5}.start-content p br{display:none}.start-actions{grid-template-columns:1fr 1fr;gap:8px;width:min(100%,520px);margin:0 auto;display:grid}.start-actions .primary{min-height:48px;font:600 12px/1.6 var(--display);letter-spacing:.14em;padding:12px 16px}.menu-record{margin:14px 0 2px;font-size:7px}.menu-back{min-height:44px;font-size:11px}.dialog{padding:calc(14px + var(--safe-top)) calc(24px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(24px + var(--safe-left));align-items:flex-start}.dialog-box{margin:auto}.dialog h2{margin:8px 0;font-size:25px}.dialog p{font-size:10px}.dialog-box>.primary{min-height:44px;margin-top:17px}.health{top:calc(14px + var(--arena-top));width:120px}.time{top:calc(9px + var(--arena-top))}.time strong{font-size:27px}.kill-stat{top:calc(12px + var(--arena-top))}.run-status{top:calc(61px + var(--arena-top));font-size:9px}.coop-status{top:calc(61px + var(--arena-top));max-width:29%;font-size:9px}.teammate-health{top:calc(99px + var(--arena-top));width:128px;padding:7px;font-size:9px}#teammate-state{display:none}.ally-track{height:3px;margin-top:3px}.boss-hud,.coop-active .boss-hud{top:calc(61px + var(--arena-top));width:30%;max-width:240px;padding:8px 10px;left:50%;right:auto;transform:translate(-50%)}#boss-name{margin-bottom:5px;font-size:9px}#toast,.coop-active #toast{top:calc(109px + var(--arena-top));padding:7px 10px;font-size:9px}.coop-lobby .coop-panel{max-width:690px;padding:17px 22px}.coop-panel h2{font-size:23px}.coop-panel>p{margin:7px 0;font-size:10px}.coop-panel label{margin-top:12px}.coop-panel input{min-height:44px}.coop-actions .primary{min-height:44px;padding:9px 16px}.coop-room-layout{grid-template-columns:155px minmax(0,1fr);gap:20px;margin-top:15px}.coop-qr{border-width:7px;width:155px;height:155px}.coop-qr-section h3{margin-bottom:8px;font-size:9px}.coop-qr-section>p{font-size:8px!important}.coop-room-controls .coop-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.coop-player{padding:9px}.coop-player strong{font-size:10px}.coop-player span{font-size:9px}#coop-ready{min-height:44px;margin-top:8px}.coop-copy{min-height:44px;margin-top:7px}#coop-countdown{margin:10px 0;font-size:17px}#coop-message{margin:10px 0 0;font-size:8px!important}.coop-back{min-height:44px;font-size:11px}.coop-invite-hint{margin-top:11px!important;font-size:10px!important}html.touch-device #revive-indicator{bottom:calc(86px + var(--safe-bottom));max-width:45%;font-size:10px}html.touch-device .supply-hint{max-width:32%;bottom:calc(60px + var(--safe-bottom));font-size:9px}html.touch-device #performance-readout{max-width:40%;font-size:9px}html.touch-device #objective-hud{bottom:calc(12px + var(--safe-bottom));max-width:40%;font-size:9px}html.touch-device #powerup-hud{max-width:32%}#stage:has(#team-upgrade-tray:not(.hidden)) .weapon-hud{left:calc(12px + var(--safe-left));bottom:calc(12px + var(--safe-bottom));max-width:var(--landscape-left-hud)}#stage:has(#team-upgrade-tray:not(.hidden)) #powerup-hud{bottom:calc(50px + var(--safe-bottom));max-width:var(--landscape-left-hud)}#stage:has(#team-upgrade-tray:not(.hidden)) .supply-hint{left:calc(12px + var(--safe-left));right:auto;bottom:calc(60px + var(--safe-bottom));max-width:var(--landscape-left-hud)}#stage:has(#team-upgrade-tray:not(.hidden)) #ability-hud{right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));max-width:var(--landscape-right-hud)}.level-hud{top:calc(46px + var(--arena-top))}#stage:has(#team-upgrade-tray:not(.hidden)) #objective-hud{bottom:calc(12px + var(--safe-bottom));max-width:calc(var(--landscape-tray-width) + 24px);font-size:9px}#stage:has(#team-upgrade-tray:not(.hidden)) #revive-indicator{left:auto;right:calc(12px + var(--safe-right));top:calc(110px + var(--arena-top));width:var(--landscape-right-hud);max-width:var(--landscape-right-hud);padding:6px 8px;font-size:9px;bottom:auto;transform:none}#stage:has(#team-upgrade-tray:not(.hidden)) #toast{opacity:0}.upgrade-box{max-width:700px;margin:auto}.upgrade-box h2{margin-top:7px;font-size:24px}.upgrade-grid{gap:10px;margin-top:17px}.upgrade-card{height:164px;min-height:164px;padding:12px 10px}.upgrade-card .upgrade-value{margin-top:5px;font-size:34px}.upgrade-card .upgrade-name{font-size:13px}.upgrade-card .upgrade-detail{font-size:10px}.team-upgrade-tray{top:auto;bottom:max(62px,calc(42px + var(--safe-bottom)));width:var(--landscape-tray-width);border-radius:12px;padding:0}.team-upgrade-header{display:none}.team-upgrade-grid{gap:6px}.team-upgrade-card{border-radius:8px;gap:2px;height:92px;min-height:92px;padding:5px 6px}.team-upgrade-card .upgrade-kind,.team-upgrade-card .upgrade-progress{display:none}.team-upgrade-card .upgrade-value{margin:0;font-size:clamp(19px,3vw,27px);line-height:1}.team-upgrade-card .upgrade-name{min-height:0;font-size:12px;line-height:1.15}.team-upgrade-card .upgrade-detail{font-size:10px;line-height:1.3}}@media (orientation:landscape) and (height<=360px){.team-upgrade-tray{bottom:max(54px,calc(34px + var(--safe-bottom)))}.team-upgrade-card{height:86px;min-height:86px;padding-top:4px;padding-bottom:4px}.team-upgrade-card .upgrade-value{font-size:20px}.team-upgrade-card .upgrade-name{font-size:11px}.team-upgrade-card .upgrade-detail{font-size:10px}}@media (orientation:landscape) and (height<=340px){.team-upgrade-tray{bottom:max(50px,calc(30px + var(--safe-bottom)))}.team-upgrade-card{height:70px;min-height:70px}.team-upgrade-card .upgrade-detail{display:none}.team-upgrade-card[data-doctrine]{height:86px;min-height:86px}.team-upgrade-card[data-doctrine] .upgrade-detail{font-size:9px;line-height:1.25;display:-webkit-box}}@media (width<=600px){.upgrade-card[data-doctrine] .upgrade-value,.team-upgrade-card[data-doctrine] .upgrade-value{letter-spacing:-.045em;font-size:clamp(16px,4.8vw,24px)}}#revive-indicator.reviving:after{content:"";background:linear-gradient(to right,#d8d7bd var(--revive-progress,0%),#ffffff26 var(--revive-progress,0%));border-radius:2px;height:3px;margin-top:6px;display:block}.pause-map{width:260px;max-width:100%;height:auto;margin:18px auto 0;display:block;overflow:visible}@media (orientation:landscape) and (height<=550px){.pause-map{margin-top:10px}}@media (width>=700px) and (height>=551px){.pause-map{width:300px}}.run-banner{z-index:8;left:50%;top:calc(34% + var(--arena-top));opacity:0;pointer-events:none;text-align:center;text-shadow:0 2px 10px #000,0 0 2px #000;justify-items:center;gap:6px;width:max-content;max-width:90%;transition:opacity .25s,transform .25s;display:grid;position:absolute;transform:translate(-50%,-8px)scale(.96)}.run-banner strong{font:600 clamp(22px,4.4vw,40px)/1.05 var(--display);letter-spacing:-.03em;color:#f4f0e2}.run-banner span{font:10px/1.5 var(--mono);letter-spacing:.14em;color:#d8cfa8}.run-banner.show{opacity:1;transform:translate(-50%)scale(1)}#wave-label.event-active{color:#f0c27a}.upgrade-card[data-rarity=rare],.team-upgrade-card[data-rarity=rare]{border-color:#5d6f86}.upgrade-card[data-rarity=epic],.team-upgrade-card[data-rarity=epic]{border-color:#8a6aae}.upgrade-card[data-category=combo],.team-upgrade-card[data-category=combo]{border-color:#5fa58c}.upgrade-card[data-category=curse],.team-upgrade-card[data-category=curse]{border-color:#a8484a}.upgrade-card[data-category=curse] .upgrade-kind,.team-upgrade-card[data-category=curse] .upgrade-kind{color:#e58a84}.upgrade-card[data-rarity=legendary],.team-upgrade-card[data-rarity=legendary]{background:linear-gradient(#2a210c99,#0b0b0b99);border:1px solid #e0b44c;box-shadow:0 0 18px #e0b44c33,inset 0 0 14px #e0b44c1f}.upgrade-card[data-rarity=legendary] .upgrade-kind,.team-upgrade-card[data-rarity=legendary] .upgrade-kind,.upgrade-card[data-rarity=legendary] .upgrade-value,.team-upgrade-card[data-rarity=legendary] .upgrade-value,.upgrade-box[data-offer=legendary] h2{color:#f3cf6e}.upgrade-card.banish-target,.team-upgrade-card.banish-target{border-style:dashed;border-color:#c4524c}.upgrade-tools{justify-content:center;gap:10px;margin-top:16px;display:flex}.upgrade-tool,.tray-tool{color:#ccc;min-height:40px;font:10px/1.4 var(--mono);letter-spacing:.06em;touch-action:manipulation;background:#0b0b0b80;border:1px solid #3b3b3b;border-radius:10px;padding:8px 14px}.upgrade-tool:disabled,.tray-tool:disabled{opacity:.4}.upgrade-tool.active,.tray-tool.active{color:#f0a39c;border-color:#c4524c}.tray-tool{pointer-events:auto;border-radius:8px;min-height:30px;padding:4px 9px;font-size:8px}.weapon-hud .perk-chip span{color:#c9b2ef;font-size:12px}.weapon-hud .perk-chip.legendary span{color:#f3cf6e}.weapon-hud .perk-chip.combo span{color:#8fd6b8}.scrap-earned{color:#e5d08a}.armory{z-index:12;padding:30px 20px calc(30px + var(--safe-bottom));background:#0b0b0b;align-items:flex-start;overflow:auto}.armory-box{text-align:center;width:min(100%,640px);margin:0 auto}.armory-head h2{font:500 clamp(28px,4vw,40px)/1.15 var(--display);letter-spacing:-.05em;margin:6px 0 4px}.armory-scrap{font:11px/1.6 var(--mono);color:#e5d08a;margin:0 0 10px}.armory-box h3{font:9px/1.6 var(--mono);letter-spacing:.14em;color:#999;text-transform:uppercase;margin:22px 0 10px}.armory-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.armory-item{color:#eee;text-align:center;touch-action:manipulation;background:#111;border:1px solid #333;border-radius:12px;justify-items:center;gap:4px;min-height:96px;padding:12px 10px;display:grid}.armory-item strong{font:500 14px/1.3 var(--display)}.armory-item span{font:11px/1.4 var(--display);color:#aaa}.armory-item small{font:9px/1.4 var(--mono);color:#e5d08a;letter-spacing:.06em}.armory-item.selected{border-color:#e5d08a}.armory-item:disabled{opacity:.45}.armory-note{font:11px/1.6 var(--display);color:#888;max-width:440px;margin:20px auto 8px}@media (width<=560px){.armory-grid{grid-template-columns:1fr 1fr}.armory-item{min-height:88px;padding:10px 6px}.armory-item span{font-size:10px}.run-banner span{font-size:9px}}#stage:has(#armory:not(.hidden)) .game-settings{display:none}.upgrade-card[data-category] .upgrade-value,.team-upgrade-card[data-category] .upgrade-value{letter-spacing:-.03em;white-space:normal;place-items:center;min-height:2.1em;font-size:clamp(17px,2.6vw,28px);line-height:1.05;display:grid}.team-upgrade-card[data-rarity=legendary]{background:linear-gradient(#2a210c66,#0b0b0b55)}@media (width<=560px){.upgrade-card[data-category] .upgrade-value,.team-upgrade-card[data-category] .upgrade-value{font-size:clamp(13px,4.4vw,19px)}}.points-hud{font:600 13px/1.2 var(--mono);color:#e8d27a;text-align:right;text-shadow:0 1px 3px #000;margin-top:2px;display:block}.buy-button{z-index:7;left:50%;bottom:calc(84px + var(--safe-bottom));color:#f3dc92;max-width:min(92%,420px);min-height:46px;font:600 11px/1.3 var(--mono);letter-spacing:.06em;touch-action:manipulation;pointer-events:auto;background:#1a150acc;border:1px solid #e0b44c;border-radius:12px;padding:10px 18px;position:absolute;transform:translate(-50%);box-shadow:0 0 14px #e0b44c33}.buy-button.unaffordable{color:#9a9483;box-shadow:none;border-color:#55503f}.buy-button.hidden{display:none}.score-hud{font:10px/1.3 var(--mono);color:#e8d27a;letter-spacing:.06em;text-shadow:0 1px 3px #000;margin-top:2px;display:block}
