@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{font-family:Barlow Condensed,Arial Narrow,sans-serif;color:#dce2e8;background:#05080c;font-synthesis:none;--ink: #05080c;--panel: #080d13e8;--line: #91a0ad2e;--muted: #7d8993;--signal: #b51f2e;--signal-bright: #e04450}*{box-sizing:border-box}html,body{width:100%;height:100%}body{margin:0;overflow:hidden;overscroll-behavior:none;background:var(--ink)}body:after{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0 3px,#a9c4da0b 4px);mix-blend-mode:screen}canvas{display:block}.hidden{display:none!important}#game-viewport{container-type:size;position:fixed;top:50%;left:50%;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);overflow:hidden;background:#050713;transform:translate(-50%,-50%)}#game{position:absolute;inset:0}#game>canvas{width:100%;height:100%}button{min-height:44px;border:1px solid var(--line);border-radius:0;padding:14px 20px;color:inherit;background:#0a1018e6;cursor:pointer;font:inherit;letter-spacing:.12em;text-transform:uppercase;transition:border-color .18s,background .18s,color .18s;-webkit-tap-highlight-color:transparent}button:hover{border-color:#c93643aa;background:#180d12ed;color:#fff}button:active{border-color:#e04450;background:#210d14;color:#fff}button:focus-visible{outline:1px solid var(--signal-bright);outline-offset:4px}.overlay{position:absolute;inset:0;z-index:25;display:grid;place-items:center;background:#030609dc}.loading-screen{z-index:60;background:#030609f5}.loading-panel{width:min(420px,80%);padding:28px;border:1px solid #91a0ad52;background:#060a10ed;box-shadow:0 20px 70px #000c}.loading-panel h1{margin:12px 0 8px;font-size:28px;font-weight:500;letter-spacing:.1em}.loading-panel p,.loading-panel small{color:var(--muted);font:400 10px IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.loading-track{height:4px;margin:22px 0 10px;background:#222a30}#loading-fill{width:0;height:100%;background:var(--signal-bright);box-shadow:0 0 10px #d9283c80;transition:width .2s ease}button:disabled{opacity:.4;cursor:default}#loot-reveal{z-index:40}.overlay:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#020406a8 0%,transparent 40%,transparent 75%,#02040666 100%),linear-gradient(0deg,#02040680,transparent 32%)}.main-menu{z-index:30;overflow:hidden;display:grid;grid-template-columns:minmax(220px,300px) minmax(220px,1fr) minmax(300px,400px);grid-template-rows:minmax(0,1fr);grid-template-areas:"intro . loadout";align-items:center;column-gap:clamp(18px,3cqw,48px);padding:5cqh clamp(24px,3cqw,52px);isolation:isolate;background:linear-gradient(135deg,#25506e,#070b10 44%,#62182e)}.main-menu:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#02040700 45%,#02040710),linear-gradient(0deg,#020407d9 0%,transparent 35%)}.menu-character-wrap{position:absolute;z-index:1;top:4cqh;right:50%;width:min(47cqw,680px);height:94cqh;pointer-events:none;filter:drop-shadow(0 30px 24px #0009);transform:translate(50%)}#menu-character{position:absolute;inset:0}#menu-character canvas{width:100%;height:100%}.menu-panel{position:relative;z-index:2;grid-area:intro;display:grid;align-self:center;gap:12px;width:100%}.menu-panel:before{content:"";position:absolute;left:-18px;top:0;bottom:0;width:1px;background:linear-gradient(transparent,var(--signal) 24%,var(--signal) 76%,transparent);box-shadow:0 0 14px #d3263b88}.menu-kicker,.menu-hint{color:#8c969f;font:500 10px/1.3 IBM Plex Mono,monospace;letter-spacing:.2em;text-transform:uppercase}.menu-kicker{color:#c63a46}.menu-hint{margin-top:2px}.menu-title{margin:-2px 0 4px;font-size:clamp(38px,5cqw,66px);line-height:.92;letter-spacing:.08em;white-space:nowrap}.menu-title span{color:var(--signal-bright)}.meta-summary{display:grid;gap:7px;padding:12px 14px;border:1px solid var(--line);background:#070b11c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.meta-summary>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#aab4bc;font:500 10px IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.meta-summary strong{color:var(--signal-bright);font-weight:500}.meta-summary small{margin:0;color:#68737c;font:400 8px IBM Plex Mono,monospace;letter-spacing:.08em}.meta-gold-label{color:#ffd34d!important}.meta-best-row{display:flex;justify-content:space-between;gap:12px;color:#aab4bc;font:500 10px IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.meta-best-row strong{color:#62cbd2}.loot-box{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:9px 10px;border:1px solid #ffd34d55;background:#16130bc7}.loot-box h2{display:inline;margin:0 8px 0 0;color:#ffd34d;font-size:14px;text-transform:uppercase}.loot-box small{display:block;max-width:280px;color:#aab4bc;font-size:8px;line-height:1.4}.loot-box button{width:auto;min-width:130px}.loot-box button:disabled{opacity:.4;cursor:default}.meta-xp-track{height:3px;background:#222a30}#meta-xp-fill{height:100%;width:0;background:var(--signal-bright);box-shadow:0 0 8px #d9283c80}.loadout-window{position:relative;z-index:2;grid-area:loadout;align-self:stretch;width:100%;min-height:0;overflow:hidden;border:1px solid var(--line);background:#060a10d9;box-shadow:0 30px 90px #000c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.loadout-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.loadout-tab{min-height:42px;padding:10px 12px;border:0;border-right:1px solid var(--line);color:#68737c;background:#080d13aa;font:500 10px IBM Plex Mono,monospace;letter-spacing:.16em}.loadout-tab:last-child{border-right:0}.loadout-tab.is-active{color:#e3e8ec;background:#151018;box-shadow:inset 0 -2px var(--signal-bright)}.loadout-panel{height:calc(100% - 43px);overflow-y:auto;padding:16px}.loadout-panel[hidden]{display:none}.meta-upgrades{padding:0}.meta-upgrade-header{display:flex;align-items:start;justify-content:space-between;gap:20px}.meta-upgrade-header h2{margin:7px 0 0;color:#e3e8ec;font-size:28px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}#meta-points-label{color:var(--signal-bright);font:500 11px IBM Plex Mono,monospace;letter-spacing:.13em;text-transform:uppercase}.meta-stat-list{display:grid;margin-top:14px;border-top:1px solid var(--line)}.meta-stat{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:42px;padding:5px 0;border-bottom:1px solid var(--line)}.meta-stat strong{display:block;color:#dce2e8;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.meta-stat small{margin:2px 0 0;max-width:300px;font-size:7px;line-height:1.15}.meta-stat-value{color:#aeb8bf;font:500 13px IBM Plex Mono,monospace}.meta-stat-value em{color:var(--signal-bright);font-size:9px;font-style:normal}.meta-stat button{width:30px;height:30px;min-height:30px;padding:0;border-color:#c936437a;color:var(--signal-bright);background:#160c11;font:500 16px IBM Plex Mono,monospace}.meta-stat button:disabled{opacity:.3;cursor:default}.meta-spend-hint{margin:12px 0 0;color:#68737c;font:400 8px IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.derived-stats{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.derived-stats-header{display:flex;justify-content:space-between;gap:12px;color:#aeb7be;font:500 9px IBM Plex Mono,monospace;letter-spacing:.18em;text-transform:uppercase}.derived-stats-header small{color:#59646d;font-size:8px;letter-spacing:.1em}.derived-stat-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;margin-top:6px}.derived-stat{display:flex;justify-content:space-between;gap:5px;padding:3px 0;border-bottom:1px solid #91a0ad1c;color:#707c85;font:400 7px IBM Plex Mono,monospace}.derived-stat strong{color:#62cbd2;font-weight:500;white-space:nowrap}.primary-action{position:relative;display:flex;align-items:center;justify-content:space-between;border-color:#a929357a;background:#0a0d12d9;text-align:left;box-shadow:0 16px 50px #000b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.primary-action:after{content:"→";color:var(--signal-bright);font-family:sans-serif;font-size:18px}.primary-action:hover{border-color:var(--signal-bright);background:#150b10e8;box-shadow:0 0 24px #a9152226,0 16px 50px #000b}.primary-action span{display:block;font-size:18px;font-weight:500}.primary-action small{display:block;margin-top:5px;color:var(--muted);font:400 9px/1.2 IBM Plex Mono,monospace;letter-spacing:.1em}.menu-secondary-action{justify-self:start;min-height:34px;padding:7px 0;border:0;border-bottom:1px solid #91a0ad52;color:#8c969f;background:transparent;font:500 9px IBM Plex Mono,monospace}.menu-secondary-action:hover{border-color:var(--signal-bright);background:transparent;color:#fff}.welcome-card{position:absolute;z-index:2;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));width:min(300px,calc(100% - 48px));display:grid;gap:8px;padding:14px 16px 16px;border:1px solid #91a0ad38;border-left:2px solid var(--signal-bright);background:#070b11e8;box-shadow:0 16px 40px #0008;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.welcome-card-kicker{color:var(--signal-bright);font:500 9px/1.3 IBM Plex Mono,monospace;letter-spacing:.16em;text-transform:uppercase}.welcome-card h2{margin:0;color:#e7edf1;font-size:20px;font-weight:500;letter-spacing:.04em}.welcome-card p{margin:0;color:#8f9aa3;font:400 10px/1.5 IBM Plex Mono,monospace}.welcome-social-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;margin-top:3px;padding:8px 10px;border:1px solid #c936436b;color:#dce2e8;background:#160c11;font:500 10px IBM Plex Mono,monospace;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:border-color .18s,background .18s,color .18s}.welcome-social-action strong{color:var(--signal-bright);font-weight:500}.welcome-social-action:hover{border-color:var(--signal-bright);background:#210d14;color:#fff}.welcome-social-action:focus-visible{outline:1px solid var(--signal-bright);outline-offset:4px}.arsenal-catalog{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:14px;min-width:0}.arsenal-guide{display:grid;gap:4px;padding:8px 10px;border-left:2px solid var(--signal-bright);background:#10161dcc;color:#aab4bc;font:400 8px/1.4 IBM Plex Mono,monospace}.arsenal-guide strong{color:#e3e8ec;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.arsenal-guide small{color:#68737c;font-size:8px}.arsenal-group{min-width:0}.arsenal-group-header{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:6px}.arsenal-group-header h2{margin:5px 0 0;color:#e3e8ec;font-size:18px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.arsenal-count{color:#78858f;font:500 9px IBM Plex Mono,monospace;letter-spacing:.12em}.arsenal-rows{display:grid;gap:4px}.arsenal-row{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;min-width:0;padding:7px 9px;border:1px solid #91a0ad20;background:#0a1119d9}.arsenal-row:hover{border-color:var(--signal-bright);background:#180d12ed}.arsenal-glyph{display:grid;place-items:center;width:24px;height:24px;border:1px solid #c936434a;color:var(--signal-bright);background:#160c11;font-size:12px}.arsenal-row-main{min-width:0}.arsenal-row-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.arsenal-row-head strong{display:block;overflow:hidden;color:#dce2e8;font-size:13px;font-weight:500;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.arsenal-row-head small{display:block;overflow:hidden;margin-top:2px;color:#7d8993;font:400 8px/1.3 IBM Plex Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.arsenal-badge{flex-shrink:0;padding:2px 6px;border:1px solid #ffd34d52;color:#ffd34d;font:500 8px IBM Plex Mono,monospace;letter-spacing:.1em}.arsenal-stats{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px}.arsenal-stat{display:inline-flex;align-items:baseline;gap:5px;color:#68737c;font:500 8px IBM Plex Mono,monospace}.arsenal-stat em{font-style:normal;letter-spacing:.08em;text-transform:uppercase}.arsenal-stat b{color:#dce2e8;font-weight:500}.arsenal-stat i{color:var(--signal-bright);font-style:normal}.arsenal-progress{display:flex;align-items:center;gap:8px;margin-top:4px}.arsenal-pips{display:flex;gap:3px;width:52px}.arsenal-pips span{flex:1 1 0;min-width:0;height:3px;background:#222a30}.arsenal-pips span.is-filled{background:var(--signal-bright);box-shadow:0 0 6px #d9283c80}.arsenal-xp{color:#7d8993;font:500 8px IBM Plex Mono,monospace;letter-spacing:.08em}.arsenal-max{color:#62cbd2;font:500 8px IBM Plex Mono,monospace;letter-spacing:.12em}.arsenal-next{overflow:hidden;margin-left:auto;color:#68737c;font:400 8px IBM Plex Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.arsenal-row.is-locked{opacity:.48;padding-block:5px}.arsenal-row.is-locked .arsenal-glyph{border-color:#91a0ad2a;color:#46515a;background:#0d141c}.arsenal-row.is-locked .arsenal-row-main strong{color:#68737c}.arsenal-row.is-locked .arsenal-row-main small{color:#46515a}.loot-reveal-window{position:relative;z-index:1;width:min(88cqw,460px);overflow:hidden;padding:34px clamp(24px,6cqw,52px) 30px;border:1px solid #ffd34d70;background:#0b0e13f5;box-shadow:0 0 40px #d6903124,0 24px 70px #000d;text-align:center;animation:loot-reveal-in .24s ease-out both}.loot-reveal-badge{position:relative;display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border:1px solid #ffd34d;color:#ffe7a0;background:#5a3d143d;box-shadow:0 0 24px #ffd34d3d;font-size:30px}.loot-reveal-kind{position:relative;color:#9b8d70;font:500 8px IBM Plex Mono,monospace;letter-spacing:.16em;text-transform:uppercase}.loot-reveal-window h1{position:relative;margin:8px 0 5px;color:#fff1c5;font-size:clamp(28px,5cqw,44px);letter-spacing:.12em;text-shadow:0 0 14px #ffd34d35}.loot-reveal-status{position:relative;margin:0;color:#ffd34d;font:500 9px IBM Plex Mono,monospace;letter-spacing:.1em}.loot-reveal-divider{height:1px;margin:22px 0 16px;background:#ffd34d52}.loot-reveal-effect{position:relative;min-height:26px;margin:0;color:#e5e9ec;font-size:17px;letter-spacing:.02em}.loot-reveal-progress{position:relative;margin:18px 0 22px;color:#7f8b94;font:500 8px IBM Plex Mono,monospace;letter-spacing:.1em}.loot-reveal-window button{position:relative;width:100%;justify-content:center;border-color:#ffd34d88;color:#ffe7a0;background:#2a1b0d}@keyframes loot-reveal-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}#hud{position:absolute;inset:0;z-index:8;pointer-events:none;color:#b9c2c9;font:500 12px/1.2 IBM Plex Mono,monospace;letter-spacing:.08em;text-shadow:0 2px 8px #000}.top-hud{position:absolute;top:max(20px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));left:max(24px,env(safe-area-inset-left));max-width:760px;margin:auto}#night-cycle{margin-bottom:13px}.boss-bar{margin-bottom:13px;padding:6px 10px 8px;border:1px solid #e0445022;background:linear-gradient(180deg,#0d0a12d9,#05080cd9);box-shadow:0 0 18px #d9283c26}.boss-bar-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;font:600 12px/1 Barlow Condensed,sans-serif;letter-spacing:.34em}.boss-bar-head span:first-child{color:#ff4f63;text-shadow:0 0 14px #ff2a4a99}#boss-bar-label{color:#8c969f;font:400 8px/1 IBM Plex Mono,monospace;letter-spacing:.24em}.boss-bar-track{position:relative;height:6px;background:#31121a;box-shadow:0 0 0 1px #ff4f6333,inset 0 0 10px #000c}#boss-bar-fill{position:absolute;inset:0 auto 0 0;width:100%;background:linear-gradient(90deg,#ff1e3d,#ff4f63 45%,#ff9d3d);box-shadow:0 0 14px #ff2a4aa6;transition:width .12s}.boss-banner{position:absolute;top:6px;left:50%;transform:translate(-50%);padding:8px 22px;border:1px solid #ff4f6388;background:#14060ad9;color:#ffdfe5;font:600 13px/1 Barlow Condensed,sans-serif;letter-spacing:.34em;text-shadow:0 0 16px #ff2a4a;white-space:nowrap;animation:boss-banner-in .28s ease-out both}@keyframes boss-banner-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.cycle-labels{display:flex;justify-content:space-between;margin-bottom:6px;color:#a67464;font-size:8px;letter-spacing:.2em}.cycle-labels span:last-child{color:#b9a88d}.cycle-track{position:relative;height:3px;background:linear-gradient(90deg,#5e2529,#14152b 22%,#080b18,#1a1830 78%,#84664d);box-shadow:0 0 0 1px #8793a21f}#cycle-fill{position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,#db5a49,#814e75 32%,#56608e 72%,#dfb36c);box-shadow:0 0 9px #9c6a7d70}#cycle-marker{position:absolute;top:50%;left:0%;width:7px;height:7px;border:1px solid #f0d8b1;border-radius:50%;background:#111322;box-shadow:0 0 8px #f0a86ca8;transform:translate(-50%,-50%)}.top-row{display:flex;justify-content:space-between;max-width:760px;margin:auto}.top-row span:first-letter{color:var(--signal-bright)}.audition-label{opacity:.55}#fps{min-width:7ch;text-align:right;color:#788690}#best-run{min-width:8ch;text-align:right;color:#62cbd2}.run-loadout{position:fixed;top:max(92px,calc(env(safe-area-inset-top) + 72px));left:max(18px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(330px,calc(100vw - 36px))}.run-loadout-group{min-width:0}.run-loadout-heading{display:flex;justify-content:space-between;margin-bottom:7px;color:#9da8b0;font-size:8px;letter-spacing:.14em}.run-loadout-heading span:last-child{color:#62cbd2}.run-loadout-slots{display:grid;gap:3px}.run-loadout-slot{display:flex;justify-content:space-between;gap:8px;min-width:0;color:#46515a}.run-loadout-slot em{overflow:hidden;color:#46515a;font-size:8px;font-style:normal;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}.run-loadout-slot small{flex:0 0 auto;color:#46515a;font-size:7px}.run-loadout-slot.is-filled em{color:#b9c2c9}.run-loadout-slot.is-filled small{color:#62cbd2}.bottom-hud{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));display:grid;gap:12px;max-width:760px;margin:auto}.shrine-prompt,.shrine-status{justify-self:center;color:#9effff;font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 12px #26e9ff}.shrine-status{color:#d7ffff}.shrine-track{height:3px;background:#123038;opacity:.9}#shrine-fill{height:100%;width:0;background:#29e6ff;box-shadow:0 0 10px #29e6ff;transition:width .12s}.vital-row{display:grid;grid-template-columns:4ch 1fr;align-items:center;gap:10px}.vital-name{color:#87939c;font-size:9px;letter-spacing:.14em}.bar{position:relative;height:4px;width:100%;overflow:visible;background:#222a30}#health-fill,#xp-fill{position:absolute;inset:0 auto 0 0;transition:width .15s}#health-fill{background:var(--signal-bright);box-shadow:0 0 8px #d9283c80}#xp-fill{background:var(--signal);box-shadow:0 0 8px #d9283c80}#health,#xp-label{position:absolute;top:7px;right:0;color:#6f7a83;font-size:8px}.gold-label{display:flex;justify-content:space-between;color:#ffd34d;font-size:9px}#pause-game{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(72px,calc(env(safe-area-inset-bottom) + 58px));z-index:20;padding:9px 12px;color:#76818a;background:#070b10b8;font:500 9px IBM Plex Mono,monospace}#pause-game[aria-pressed=true]{border-color:var(--signal);color:#e4d8da;background:#1b0b10}#pause-game:disabled{opacity:.35;cursor:default}#pause-status{position:absolute;inset:50% auto auto 50%;z-index:20;transform:translate(-50%,-50%);padding:16px 30px;border-block:1px solid var(--signal);color:#e6dfe0;background:#05080ce8;font-size:clamp(22px,4cqw,42px);font-weight:500;letter-spacing:.32em;text-transform:uppercase;box-shadow:0 20px 70px #000}.touch-controls{position:absolute;z-index:18;left:max(22px,env(safe-area-inset-left));bottom:max(74px,calc(env(safe-area-inset-bottom) + 62px));display:none;width:132px;height:132px;border-radius:50%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.touch-controls-ring{position:absolute;inset:0;border:1px solid #c7d1da52;border-radius:inherit;background:radial-gradient(circle,#121a24a6 0 36%,#0710198c 37% 100%);box-shadow:inset 0 0 22px #0008,0 5px 24px #0008}.touch-controls-thumb{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px;border:1px solid #e04450b8;border-radius:50%;background:#351019d9;box-shadow:0 0 18px #d9283c42;will-change:transform}.touch-controls>span{position:absolute;right:0;bottom:-20px;left:0;color:#87939c;font:500 8px IBM Plex Mono,monospace;letter-spacing:.2em;text-align:center;pointer-events:none}#performance-panel{position:absolute;top:70px;right:24px;z-index:8;width:min(260px,calc(100% - 48px));border:1px solid var(--line);background:#060a0fe8;color:#78858f;box-shadow:0 16px 45px #0009;font:400 10px/1.45 IBM Plex Mono,monospace;pointer-events:auto}#performance-panel summary{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;color:#aeb8c0;cursor:pointer;letter-spacing:.12em;list-style-position:inside}#perf-grade{color:#788f91}#perf-grade[data-grade=warning]{color:#b78b58}#perf-grade[data-grade=critical]{color:var(--signal-bright)}.perf-grid{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:9px 11px;border-top:1px solid var(--line)}.perf-grid strong{color:#b9c2c9;text-align:right;font-weight:500}#perf-gpu{overflow:hidden;padding:8px 11px;border-top:1px solid var(--line);color:#59646d;text-overflow:ellipsis;white-space:nowrap}.panel{position:relative;width:min(90cqw,600px);padding:38px;border:1px solid var(--line);background:var(--panel);text-align:left;box-shadow:0 26px 90px #000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.upgrade-panel{width:min(94cqw,920px);max-height:94cqh;overflow-y:auto}.panel:before{content:"";position:absolute;top:-1px;left:38px;width:58px;height:1px;background:var(--signal-bright);box-shadow:0 0 10px #d82f3f}h1{margin:0 0 8px;color:#e5e9ec;font-size:clamp(28px,5cqw,46px);font-weight:500;letter-spacing:.14em;text-transform:uppercase}.panel>p{margin:0;color:var(--muted);font:400 10px IBM Plex Mono,monospace;letter-spacing:.14em;text-transform:uppercase}#upgrade-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:30px;background:var(--line)}#upgrade-list button{position:relative;min-height:190px;padding:20px;border:0;background:#090e14;text-align:left}#upgrade-list button:hover{background:#140c10}.item-kind{display:block;margin-bottom:12px;color:var(--signal-bright);font:500 9px IBM Plex Mono,monospace;letter-spacing:.14em;text-transform:uppercase}button strong,button small{display:block}button strong{font-weight:500}button small{margin-top:10px;color:#79848d;font:400 9px/1.45 IBM Plex Mono,monospace;letter-spacing:0;text-transform:none}.upgrade-effect{color:#d7dde2}.item-level-cap{position:absolute;right:16px;bottom:14px;color:#59646d;font:500 8px IBM Plex Mono,monospace;letter-spacing:.14em}#upgrade-list button.is-rare{background:linear-gradient(135deg,#0e1118,#141222 55%,#1c1024)}#upgrade-list button.is-rare:hover{background:linear-gradient(135deg,#16131e,#1e1830 55%,#2a152e)}#upgrade-list button.is-rare:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(110% 90% at 80% 0%,#ff9e5e0f 0%,transparent 55%)}.rare-glow{display:block;margin:0 0 10px;color:#ffb36b;text-shadow:0 0 12px #ff9e5e66;font:600 10px IBM Plex Mono,monospace;letter-spacing:.26em;animation:rare-pulse 2.4s ease-in-out infinite}@keyframes rare-pulse{0%,to{opacity:.82}50%{opacity:1;text-shadow:0 0 18px #ffb36b99}}.stat-guide{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.stat-guide h2{margin:0 0 12px;color:#aeb7be;font:500 9px IBM Plex Mono,monospace;letter-spacing:.18em;text-transform:uppercase}.stat-guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 16px}.stat-guide p{display:grid;grid-template-columns:3ch 1fr;gap:10px;margin:0;color:#77838c;font:400 9px/1.45 IBM Plex Mono,monospace}.stat-guide strong{color:#c8414c;font-weight:500}.derived-strip{display:flex;justify-content:space-between;gap:14px;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:#68737c;font:400 8px IBM Plex Mono,monospace;letter-spacing:.08em}.derived-strip strong{color:#62cbd2;font-weight:500;text-align:right}.ending-actions{display:flex;gap:1px;margin-top:28px;background:var(--line)}.panel>.ending-meta-stats{margin-top:12px;color:#c3414d;line-height:1.7}.panel>.ending-time-stats{margin-top:10px;color:#62cbd2}.ending-actions button{flex:1;border:0}@container (max-width: 600px){.main-menu{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"intro" "welcome" "loadout";align-content:start;gap:16px;overflow-y:auto;padding:24px;background-position:58% center}.menu-panel{width:100%}.welcome-card{position:relative;right:auto;bottom:auto;left:auto;grid-area:welcome;width:100%}.menu-title{font-size:clamp(34px,10cqw,48px)}.loadout-window{align-self:auto;height:auto;min-height:0}.loadout-panel{height:auto;max-height:none;overflow-y:visible;padding:18px}.derived-stat-list,.arsenal-catalog{grid-template-columns:1fr}.meta-upgrade-header h2{font-size:22px}.menu-character-wrap{top:2cqh;right:-17cqw;width:96cqw;height:80cqh;opacity:.38;transform:none}.top-hud{inset-inline:14px}.run-loadout{gap:10px;width:min(300px,calc(100vw - 28px))}.bottom-hud{right:14px;bottom:18px;left:14px}#pause-game{right:14px;bottom:66px}#upgrade-list{grid-template-columns:1fr}#upgrade-list button{min-height:150px}.stat-guide-grid{grid-template-columns:1fr}.derived-strip{display:grid;gap:6px}.derived-strip strong{text-align:left;line-height:1.4}#performance-panel{top:102px;right:14px}.ending-actions{flex-direction:column}.panel{padding:28px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(hover:none),(pointer:coarse){.touch-controls:not(.hidden){display:block}#performance-panel{display:none}.bottom-hud{bottom:max(18px,env(safe-area-inset-bottom));left:max(170px,calc(env(safe-area-inset-left) + 160px))}}@media(orientation:portrait){#game-viewport{width:100vw;height:100dvh}.touch-controls{width:116px;height:116px}.bottom-hud{right:max(14px,env(safe-area-inset-right));left:max(150px,calc(env(safe-area-inset-left) + 140px))}}
