:root{--color-background:#0b1120;--color-panel:#0f172ae0;--color-panel-border:#334155;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-accent:#38bdf8;--color-accent-strong:#0ea5e9;--color-accent-text:#04111d;--color-highlight:#facc15;--color-error:#f87171;--color-health:#22c55e;--color-experience:#22c55e;--color-health-warning:#facc15;--color-health-danger:#ef4444;--color-shield:#38bdf8;--color-crosshair:#f8fafc;--font-interface:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-code:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace;--radius-panel:12px;--radius-control:8px}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-background);height:100%;color:var(--color-text);font-family:var(--font-interface);margin:0;overflow:hidden}[hidden]{display:none!important}.game-viewport{position:fixed;inset:0}.game-canvas{width:100%;height:100%;display:block}.game-viewport.is-world-paused{background:radial-gradient(60% 50% at 15% 10%,#38bdf824,#0000 70%),radial-gradient(55% 45% at 88% 92%,#a855f71f,#0000 70%),linear-gradient(#38bdf80f 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#38bdf80f 1px,#0000 1px) 0 0/44px 44px,#070c1a}.game-viewport.is-world-paused>*{visibility:hidden}.nameplate-layer{pointer-events:none;position:absolute;inset:0}.player-nameplate{border:1px solid var(--player-color,var(--color-panel-border));color:var(--color-text);font:600 13px/1.4 var(--font-code);white-space:nowrap;text-shadow:0 1px 2px #000c;background:#0f172ac7;border-radius:6px;padding:2px 8px}.player-nameplate.is-local-player{border-color:var(--color-highlight);color:var(--color-highlight)}.interface-layer{pointer-events:none;position:fixed;inset:0}.field-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.text-field{border:1px solid var(--color-panel-border);border-radius:var(--radius-control);width:100%;min-width:0;color:var(--color-text);font:500 16px var(--font-code);background:#0f172a;padding:11px 12px}.text-field:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.room-code-field{text-transform:uppercase;letter-spacing:.18em}.join-room-row{flex-wrap:wrap;gap:8px;display:flex}.join-room-row .room-code-field{flex:140px}.join-room-row .secondary-button{flex:1 0 auto}.primary-button,.secondary-button,.small-button{border-radius:var(--radius-control);font:700 15px var(--font-interface);cursor:pointer}.primary-button{background:var(--color-accent);color:var(--color-accent-text);border:0;margin-top:4px;padding:12px 16px}.primary-button:hover:not(:disabled){background:var(--color-accent-strong)}.secondary-button{border:1px solid var(--color-accent);color:var(--color-accent);white-space:nowrap;background:0 0;padding:11px 14px}.secondary-button:hover:not(:disabled){background:#38bdf81f}.small-button{border:1px solid var(--color-panel-border);color:var(--color-text);background:#1e293b;padding:6px 10px;font-size:13px}.small-button:hover:not(:disabled){border-color:var(--color-accent)}button:disabled{cursor:progress;opacity:.6}button:focus-visible{outline:2px solid var(--color-highlight);outline-offset:2px}.menu-status-message{min-height:1.4em;color:var(--color-text-muted);margin:16px 0 0;font-size:14px}.menu-status-message.is-error{color:var(--color-error)}.character-menu-screen{--menu-neon:#38bdf8;--menu-neon-soft:#38bdf82e;--menu-surface:#080d1aeb;--menu-surface-raised:#0f172aeb;--menu-line:#334155bf;z-index:20;pointer-events:auto;background:#050914b8;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.character-menu-screen.is-lobby{background:#050914d1}.character-menu-screen:not(.is-lobby){background:0 0;padding:0}.character-menu-screen:not(.is-lobby) .menu-window{width:100%;height:100dvh;box-shadow:none;border:0;border-radius:0}.menu-window{border:1px solid var(--menu-line);background:var(--menu-surface);border-radius:14px;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(1320px,100%);height:min(880px,100vh - 32px);animation:.26s ease-out menu-window-enter;display:grid;overflow:hidden;box-shadow:0 30px 80px #0000008c}@keyframes menu-window-enter{0%{opacity:0;transform:translateY(12px)scale(.985)}}.menu-window-titlebar{border-bottom:1px solid var(--menu-line);color:var(--color-text-muted);font:500 12px var(--font-code);background:#020610d9;align-items:center;gap:14px;padding:8px 14px;display:flex}.window-dots{gap:6px;display:inline-flex}.window-dots i{background:#ef4444;border-radius:50%;width:11px;height:11px}.window-dots i:nth-child(2){background:#f59e0b}.window-dots i:nth-child(3){background:#22c55e}.window-path{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}#menu-window-file{color:var(--color-text)}.window-branch{color:#4ade80}.menu-profile-bar{border-bottom:1px solid var(--menu-line);grid-template-columns:minmax(200px,1.2fr) minmax(180px,1fr) minmax(220px,1.2fr) auto auto;align-items:center;gap:20px;padding:14px 20px;display:grid}.menu-logo{margin:0;line-height:0}.menu-logo-image{width:256px;height:auto;display:block}.menu-tagline{color:#64748b;font:500 12px var(--font-code);margin:4px 0 0}.profile-nickname{gap:4px;display:grid}.profile-nickname .text-field{padding:8px 10px;font-size:15px}.profile-nickname-display{color:var(--color-highlight);font:700 17px var(--font-code);padding:7px 0}.profile-level{align-items:center;gap:12px;display:flex}.profile-level-badge{--frame-color:#9ca3af;border:2px solid var(--frame-color);color:var(--color-text);font:800 15px var(--font-code);border-radius:10px;flex:none;padding:7px 10px}.profile-experience{flex:1;gap:5px;display:grid}.profile-experience-bar{background:#1e293b;border-radius:999px;height:8px;overflow:hidden}.profile-experience-fill{--fill-fraction:0;width:calc(var(--fill-fraction) * 100%);border-radius:inherit;background:var(--color-experience);height:100%;transition:width .4s ease-out}.profile-experience-text{color:var(--color-text-muted);font:500 12px var(--font-code)}.profile-coins{color:var(--color-highlight);font-family:var(--font-code);background:#facc1514;border:1px solid #facc1559;border-radius:10px;align-items:baseline;gap:6px;padding:8px 12px;display:flex}.coin-icon{font-size:16px;display:inline-flex}#profile-coins-display,#profile-private-room-keys-display{font-size:18px}.profile-private-room-keys{color:#c4b5fd;background:#a78bfa14;border-color:#a78bfa66}.profile-private-room-keys .profile-coins-label{color:#c4b5fdbf}.profile-coins-label{color:#facc15b3;font-size:12px}.menu-tabs{border-bottom:1px solid var(--menu-line);background:#0206108c;gap:2px;padding:0 14px;display:flex}.menu-tab{color:var(--color-text-muted);font:600 14px var(--font-code);cursor:pointer;background:0 0;border:0;border-top:2px solid #0000;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.menu-tab:hover{color:var(--color-text)}.menu-tab.is-active{border-top-color:var(--menu-neon);background:var(--menu-surface);color:var(--color-text)}.menu-tab-icon{color:var(--menu-neon);background:#38bdf829;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:800}.menu-body{min-height:0;overflow:hidden}.menu-tab-panel{height:100%}.menu-tab-panel[hidden]{display:none}.characters-tab-panel{grid-template-columns:minmax(0,1fr) minmax(320px,400px);display:grid}.character-card-grid{min-height:0;padding:20px 24px;overflow-y:auto}.character-card{--class-color:#94a3b8;border:1px solid color-mix(in srgb, var(--class-color) 35%, transparent);background:var(--menu-surface-raised);min-height:118px;color:var(--color-text);text-align:left;cursor:pointer;opacity:0;animation:.32s ease-out forwards menu-card-enter;animation-delay:calc(var(--card-index,0) * 22ms);border-radius:10px;gap:4px;padding:12px 12px 10px;transition:transform .14s,border-color .14s,box-shadow .14s;display:grid;position:relative;overflow:hidden}@keyframes menu-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.character-card:before{background:var(--class-color);content:"";height:3px;position:absolute;inset:0 0 auto}.character-card:hover{border-color:var(--class-color);transform:translateY(-2px)}.character-card[data-availability=pixOnly]{background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--class-color) 7%, transparent) 10px 20px), var(--menu-surface-raised)}.character-details{--class-color:#94a3b8;border-left:1px solid var(--menu-line);grid-template-rows:minmax(200px,38%) minmax(0,1fr) auto;gap:12px;min-height:0;padding:16px;display:grid}.character-preview{border:1px solid color-mix(in srgb, var(--class-color) 30%, transparent);background:color-mix(in srgb, var(--class-color) 8%, transparent);border-radius:12px;min-height:0;position:relative}.character-preview-canvas{width:100%;height:100%;display:block}.character-preview-badge{border:1px solid var(--class-color);color:var(--color-text);font:700 12px var(--font-code);background:#020610bf;border-radius:999px;padding:4px 9px;position:absolute;top:10px;right:10px}.character-details-content{align-content:start;gap:12px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.character-details-name{color:color-mix(in srgb, var(--class-color) 75%, white);font:800 24px/1.1 var(--font-interface);margin:0}.character-details-style{color:var(--color-text);margin:4px 0 0;font-weight:600}.character-details-visual{color:#64748b;font:500 12px var(--font-code);margin:4px 0 0}.character-stats{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;margin:0;display:grid}.character-stat{border:1px solid var(--menu-line);background:#02061073;border-radius:8px;padding:7px 9px}.character-stat-name{color:var(--color-text-muted);font:600 10px var(--font-code);text-transform:uppercase;letter-spacing:.06em}.character-stat-value{font:700 14px var(--font-code);margin:2px 0 0}.character-kit{gap:8px;margin:0;padding:0;list-style:none;display:grid}.character-kit-item{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:10px;display:grid}.character-kit-key{border:1px solid color-mix(in srgb, var(--class-color) 60%, transparent);color:color-mix(in srgb, var(--class-color) 80%, white);font:800 12px var(--font-code);text-align:center;background:#02061099;border-radius:6px;padding:4px 0}.character-kit-text{gap:2px;display:grid}.character-kit-name{font-size:14px}.character-kit-description{color:var(--color-text-muted);font-size:13px}.character-kit-charge{color:var(--color-experience);font:500 12px var(--font-code)}.character-kit-badge{justify-items:center;gap:4px;display:grid}.character-kit-icon{font-size:20px;line-height:1}.character-kit-badge .character-kit-key{text-align:center;width:100%}.character-kit-title{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.character-kit-role{color:var(--color-text-muted);font:600 10px var(--font-code);letter-spacing:.06em;text-transform:uppercase}.character-kit-live-status{color:#fbbf24;font:700 12px var(--font-code)}.character-kit-live-status.is-ready{color:#4ade80}.ability-guide-panel{--menu-line:#334155bf;border:1px solid color-mix(in srgb, var(--class-color) 55%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:min(600px,100vw - 32px);max-height:calc(100vh - 160px);color:var(--color-text);background:#080c18eb;border-radius:12px;padding:16px 18px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 18px 50px #00000073}.ability-guide-content{gap:12px;display:grid}.ability-guide-title{color:color-mix(in srgb, var(--class-color) 80%, white);font:800 18px var(--font-code);margin:0}.ability-guide-hint{color:var(--color-text-muted);font:600 11px var(--font-code);margin:0}.ability-guide-hint kbd{border:1px solid var(--color-text-muted);font:inherit;border-radius:4px;padding:1px 5px}.character-details .primary-button{margin-top:0}.catalog-tab-panel{padding:16px 20px 24px;overflow-y:auto}.loadout-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none;display:grid}.loadout-slot{border:1px solid var(--menu-line);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:10px;padding:6px 12px 6px 6px;display:flex}.loadout-slot:hover{border-color:var(--color-accent)}.loadout-slot .catalog-details-thumbnail{flex:none;width:56px;height:56px;margin:0}.loadout-slot-text{gap:2px;min-width:0;display:grid}.loadout-slot-label{color:var(--color-text-muted);font:600 11px var(--font-code)}.loadout-slot-weapon{font:700 14px var(--font-interface)}.weapon-stats{gap:5px;display:grid}.weapon-stat{font:600 11px var(--font-code);grid-template-columns:64px minmax(0,1fr) 76px;align-items:center;gap:8px;display:grid}.weapon-stat-name{color:var(--color-text-muted)}.weapon-stat-track{background:#1e293b;border-radius:999px;height:6px;overflow:hidden}.weapon-stat-fill{--fill-fraction:0;width:calc(var(--fill-fraction) * 100%);border-radius:inherit;background:var(--class-color);height:100%;display:block}.weapon-stat-value{text-align:right}.menu-footer{border-top:1px solid var(--menu-line);background:#02061099;padding:12px 20px 14px}.menu-legal-links{color:var(--color-text-muted);justify-content:flex-end;gap:6px;margin-top:6px;font-size:.75rem;display:flex}.menu-legal-links a,.first-access-legal a{color:var(--color-text-muted)}.menu-legal-links a:hover,.menu-legal-links a:focus-visible,.first-access-legal a:hover,.first-access-legal a:focus-visible{color:var(--color-accent)}.first-access-legal{color:var(--color-text-muted);margin:0;font-size:.75rem}.menu-home-actions{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.menu-create-form .primary-button{margin-top:0;padding-inline:26px}.menu-footer-divider{color:var(--color-text-muted);font:500 12px var(--font-code)}.menu-home-actions .join-room-row{flex-wrap:nowrap;justify-self:start;width:min(460px,100%)}.menu-home-actions .join-room-row .secondary-button{flex:none}.menu-home-actions .menu-status-message{grid-column:1/-1;min-height:1.2em;margin:0}.connection-retry-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.connection-retry-row[hidden]{display:none}.menu-home-actions .connection-retry-row{grid-column:1/-1}.connection-retry-countdown{color:var(--color-text-muted);font-size:13px}.menu-lobby-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.menu-lobby-hint{color:var(--color-text-muted);font:500 13px var(--font-code);margin:0}.menu-lobby-actions .primary-button{margin-top:0}.character-menu-button{width:100%}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){.menu-profile-bar{grid-template-columns:1fr 1fr}.characters-tab-panel{grid-template-columns:1fr;overflow-y:auto}.character-card-grid{overflow:visible}.character-details{border-left:0;border-top:1px solid var(--menu-line)}.menu-home-actions{grid-template-columns:1fr}}.development-progress-tools{gap:4px;display:grid}.development-progress-tools[hidden]{display:none}.development-progress-tools .small-button{color:#fbbf24;font:600 11px var(--font-code);border-style:dashed;padding:3px 8px}.match-result-panel{z-index:10;pointer-events:auto;background:#080d1af0;border:1px solid #334155;border-radius:14px;gap:14px;width:min(460px,100vw - 32px);padding:18px 20px;animation:.26s ease-out menu-window-enter;display:grid;position:absolute;top:132px;left:50%;transform:translate(-50%);box-shadow:0 24px 60px #00000080}.match-result-panel.is-victory{border-color:#facc1599}.match-result-content{gap:14px;display:grid}.match-result-kicker{color:#4ade80;font:600 12px var(--font-code)}.match-result-subtitle{color:var(--color-text-muted);font:500 13px var(--font-code);margin:4px 0 0}.match-result-rewards{gap:6px;margin:0;padding:0;list-style:none;display:grid}.match-result-reward{font:600 13px var(--font-code);background:#0f172ad9;border-radius:8px;grid-template-columns:minmax(0,1fr) 84px 64px;align-items:center;gap:8px;padding:6px 10px;display:grid}.match-result-reward.is-total{border:1px solid var(--color-panel-border);font-weight:800}.match-result-reward-label{display:grid}.match-result-reward-label small{color:var(--color-text-muted);font-weight:500}.match-result-experience{color:var(--color-experience);text-align:right}.match-result-coins{color:var(--color-highlight);text-align:right}.match-result-bot-rule{color:#fde68a;font:500 12px var(--font-code);background:#facc151a;border-radius:8px;margin:0;padding:6px 10px}.match-result-level{gap:6px;display:grid}.match-result-level-title{font:800 16px var(--font-interface)}.match-result-level-text,.match-result-unlocks{color:var(--color-text-muted);font:500 12px var(--font-code)}.match-result-unlocks{color:#4ade80}.match-result-note{color:#64748b;font:500 11px var(--font-code);margin:0}.match-result-panel .primary-button{margin-top:0}.room-hud{pointer-events:auto;align-content:start;gap:10px;width:min(260px,100vw - 32px);max-height:calc(100vh - 190px);display:grid;position:absolute;top:16px;left:16px;overflow-y:auto}.hud-panel{border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);background:var(--color-panel);padding:12px 14px}.hud-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.room-code-row{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.room-code-display{color:var(--color-highlight);font:800 28px/1.2 var(--font-code);letter-spacing:.12em}.hud-hint{color:var(--color-text-muted);margin:6px 0 0;font-size:12px}.player-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.player-list-item{font:500 14px var(--font-code);align-items:center;gap:8px;display:flex}.player-list-item.is-local-player{color:var(--color-highlight)}.player-color-swatch{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 1px #ffffff40}.leave-room-button{justify-self:start}.crosshair{width:24px;height:24px;color:var(--color-crosshair);filter:drop-shadow(0 0 1px #000000e6);transition:opacity 90ms ease-out,transform 90ms ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scope-overlay{pointer-events:none;color:#0f172ae6;background:radial-gradient(closest-side,#0000 0 95%,#000000bf 98%,#000 100%);position:absolute;inset:0}.scope-overlay[hidden]{display:none}.scope-reticle{background:linear-gradient(currentColor,currentColor) 50%/2px 100% no-repeat,linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat;width:96vw;height:96vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#0000 0 10px,#000 11px),radial-gradient(closest-side,#000 0 98%,#0000 100%);mask-image:radial-gradient(circle,#0000 0 10px,#000 11px),radial-gradient(closest-side,#000 0 98%,#0000 100%);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.scope-overlay.is-on-target{color:#ef4444}.crosshair.is-on-target{color:#ef4444;filter:drop-shadow(0 0 4px #ef4444cc)}.hit-marker{opacity:0;pointer-events:none;width:26px;height:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.hit-marker:before,.hit-marker:after{content:"";background:linear-gradient(#fff,#fff) top/2px 8px no-repeat,linear-gradient(#fff,#fff) bottom/2px 8px no-repeat;position:absolute}.hit-marker:before{inset:0 12px}.hit-marker:after{background:linear-gradient(#fff,#fff) 0/8px 2px no-repeat,linear-gradient(#fff,#fff) 100%/8px 2px no-repeat;inset:12px 0}.hit-marker.is-visible{opacity:1}.elimination-notice{color:#fecaca;font:700 14px var(--font-code);pointer-events:none;background:#7f1d1dbf;border-radius:999px;margin:0;padding:4px 12px;position:absolute;top:calc(50% + 48px);left:50%;transform:translate(-50%)}.damage-number{color:#fef08a;font:800 18px var(--font-code);text-shadow:0 0 3px #000,0 0 8px #000000b3;pointer-events:none}.damage-number.is-elimination{color:#f87171;font-size:22px}.settings-checkbox-row{cursor:pointer;align-items:center;gap:8px;display:flex}.crosshair.is-aiming{opacity:0;transform:translate(-50%,-50%)scale(.6)}.pointer-lock-hint{border:1px solid var(--color-accent);border-radius:var(--radius-panel);background:var(--color-panel);color:var(--color-text);text-align:center;margin:0;padding:10px 16px;font-size:15px;position:absolute;top:58%;left:50%;transform:translate(-50%)}.health-bar{--health-fraction:1;--shield-fraction:0;background:#0f172ad9;border-radius:3px;height:6px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0009}.health-bar-fill,.health-bar-shield{position:absolute;top:0;bottom:0}.health-bar-fill{width:calc(var(--health-fraction) * 100%);background:var(--color-health);left:0}.health-bar-shield{left:calc(var(--health-fraction) * 100%);width:calc(var(--shield-fraction) * 100%);background:var(--color-shield)}.health-bar.is-warning .health-bar-fill{background:var(--color-health-warning)}.health-bar.is-danger .health-bar-fill{background:var(--color-health-danger)}.player-nameplate{justify-items:center;gap:3px;display:grid}.player-nameplate .health-bar{width:56px}.turret-health-bar{border:1px solid var(--owner-color,var(--color-panel-border));width:40px;height:4px}.match-hud{pointer-events:none;position:absolute;inset:0}.match-status-area{text-align:center;width:min(560px,100vw - 32px);position:absolute;top:16px;left:50%;transform:translate(-50%)}.match-status-banner{border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);background:var(--color-panel);color:var(--color-text);margin:0;padding:8px 14px;font-size:14px;display:inline-block}.match-status-banner.is-emphasized{border-color:var(--color-highlight);color:var(--color-highlight);font:800 22px/1.3 var(--font-code)}.match-info-panel{font:600 14px var(--font-code);justify-items:end;gap:2px;display:grid;position:absolute;top:16px;right:16px}.match-info-connection{color:var(--color-text-muted);font-size:12px}.combat-hud{border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);background:var(--color-panel);gap:8px;width:min(420px,100vw - 32px);padding:12px 14px;display:grid;position:absolute;bottom:16px;left:16px}.combat-health-row{align-items:center;gap:10px;display:flex}.combat-health-bar{border-radius:7px;flex:1;height:14px}.combat-health-text{min-width:108px;font:700 14px var(--font-code);text-align:right}.combat-actions-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.weapon-status-row{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.weapon-name-text{color:var(--color-text);font:700 13px var(--font-code);white-space:nowrap}.ammunition-counter{font-family:var(--font-code);align-items:baseline;gap:3px;margin-left:auto;display:inline-flex}.magazine-ammunition-text{color:#fbbf24;font-size:22px}.ammunition-separator,.reserve-ammunition-text{color:var(--color-text-muted);font-size:13px}.ammunition-text{min-width:88px;color:var(--color-text-muted);font:700 11px var(--font-code);text-align:right}.ammunition-text.is-reloading{color:#fbbf24}.weapon-slot-list{gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.weapon-slot{border:1px solid var(--color-panel-border);min-width:0;color:var(--color-text-muted);font:600 10px var(--font-code);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;flex:1;padding:2px 6px;overflow:hidden}.weapon-slot.is-active{color:var(--color-text);border-color:#fbbf24}.weapon-slot.is-empty{opacity:.4}.ability-slot{border:1px solid var(--color-panel-border);border-radius:var(--radius-control);min-width:78px;color:var(--color-text-muted);text-align:center;background:#0f172a;padding:4px 8px;font-size:11px;display:grid}.ability-slot.is-ready{border-color:var(--color-accent);color:var(--color-text)}.ability-key{font:800 13px var(--font-code)}.ability-slot.is-ready .ability-key{color:var(--color-accent)}.ability-cooldown{font-family:var(--font-code)}.spectator-strip{color:var(--color-text-muted);font:600 12px var(--font-code);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;display:flex}.spectator-strip-icon{width:14px;height:14px;color:var(--color-accent)}.spectator-strip-text{color:var(--color-text)}.spectator-strip-hint{margin-left:auto;font-weight:500}.combat-hud.is-spectating .ability-guide-hint,.combat-hud.is-watching-nobody>:not(.spectator-strip){display:none}.match-info-spectators{color:var(--color-text-muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.match-info-spectators .game-icon{width:14px;height:14px}.owner-start-button{margin-top:0}.bot-controls-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bot-count-label{color:var(--color-text-muted);font-size:13px;font-weight:600}.bot-count-field{width:56px;padding:6px 8px;font-size:14px}.owner-controls-panel .hud-hint{margin:0}.owner-bot-difficulty-row{gap:6px;display:flex}.owner-bot-difficulty-button{flex:1}.owner-bot-difficulty-button[aria-pressed=true]{background:#16653459;border-color:#22c55e}.owner-bot-difficulty-button:disabled{cursor:default;opacity:.6}.bot-difficulty-display{margin:6px 0 0}.player-list-status{color:var(--color-text-muted);margin-left:auto;font-size:11px}.player-list-item.is-eliminated .player-list-nickname{color:var(--color-text-muted);text-decoration:line-through}.settings-panel{pointer-events:auto;background:#0b11209e;place-items:center;padding:16px;animation:.14s ease-out settings-panel-fade-in;display:grid;position:absolute;inset:0}@keyframes settings-panel-fade-in{0%{opacity:0}}.settings-window{border-radius:var(--radius-panel);background:#090e1bf5;border:1px solid #1f3a52;grid-template-rows:auto 1fr auto;width:min(560px,100%);max-height:calc(100vh - 32px);animation:.16s ease-out settings-window-rise;display:grid;overflow:hidden;box-shadow:0 24px 70px #0000008c}@keyframes settings-window-rise{0%{transform:translateY(10px)scale(.98)}}.settings-titlebar{font:600 12px var(--font-code);background:#0b1526;border-bottom:1px solid #16273a;align-items:center;gap:12px;padding:9px 14px;display:flex}.settings-window-dots{gap:6px;display:flex}.settings-window-dots i{background:#ef4444;border-radius:50%;width:10px;height:10px}.settings-window-dots i:nth-child(2){background:#facc15}.settings-window-dots i:nth-child(3){background:#22c55e}.settings-file-name{color:var(--color-text-muted)}.settings-live-tag{color:#4ade80;border:1px solid #22c55e66;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px}.settings-content{gap:18px;padding:18px 22px 8px;display:grid;overflow-y:auto}.settings-title{font:800 24px/1.2 var(--font-code);letter-spacing:-.01em;margin:0}.settings-prompt{color:var(--color-accent)}.settings-section{gap:10px;display:grid}.settings-section-title{color:#64748b;font:600 13px var(--font-code);margin:0}.settings-row{border:0;grid-template-columns:150px 1fr 64px;align-items:center;gap:12px;margin:0;padding:0;display:grid}.settings-label{color:var(--color-text);font:600 14px var(--font-code);padding:0}.settings-value{color:var(--color-highlight);font:700 14px var(--font-code);text-align:right}.settings-hint{color:var(--color-text-muted);margin:-4px 0 0;font-size:12px}.settings-range{cursor:pointer;width:100%}.settings-choice-row{grid-template-columns:150px 1fr}.settings-segmented{border:1px solid var(--color-panel-border);border-radius:var(--radius-control);background:#0f172a;justify-self:start;padding:3px;display:inline-flex}.settings-segment{cursor:pointer;position:relative}.settings-segment input{opacity:0;pointer-events:none;position:absolute}.settings-segment span{color:var(--color-text-muted);font:600 13px var(--font-code);border-radius:6px;padding:6px 14px;display:block}.settings-segment input:checked+span{background:var(--color-accent);color:var(--color-accent-text)}.settings-segment input:focus-visible+span{outline:2px solid var(--color-highlight);outline-offset:1px}.controls-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0;display:grid}.controls-list div{border-bottom:1px dashed #1e293b;justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;display:flex}.controls-list dt{color:var(--color-text);font:700 11px var(--font-code);white-space:nowrap;background:#111c2e;border:1px solid #334155;border-bottom-width:2px;border-radius:5px;padding:1px 6px}.controls-list dd{color:var(--color-text-muted);text-align:right;margin:0;font-size:12px}.key-bindings-editor{gap:10px;display:grid}.key-bindings-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.key-bindings-toolbar .small-button[hidden]{display:none}.key-bindings-group{gap:4px;display:grid}.key-bindings-group-title{color:var(--color-text-muted);font:600 12px var(--font-code);margin:4px 0 2px}.key-binding-row{border-bottom:1px dashed #1e293b;grid-template-columns:minmax(0,1fr) 96px 96px;align-items:center;gap:8px;padding:2px 0;display:grid}.key-binding-label{color:var(--color-text);font-size:13px}.key-binding-row.is-unbound .key-binding-label{color:#fca5a5}.key-binding-row.is-unbound .key-binding-label:after{content:" (sem tecla)";color:var(--color-text-muted);font-size:11px}.key-binding-slot{min-height:26px;color:var(--color-text);font:700 11px var(--font-code);white-space:nowrap;cursor:pointer;background:#111c2e;border:1px solid #334155;border-bottom-width:2px;border-radius:5px;padding:2px 6px}.key-binding-slot:hover,.key-binding-slot:focus-visible{border-color:var(--color-accent)}.key-binding-slot.is-empty{color:#475569}.key-binding-slot.is-capturing{border-color:var(--color-highlight);color:var(--color-highlight)}.key-binding-slot.is-conflict{color:#fca5a5;border-color:#f87171}.key-binding-slot.is-browser-shortcut{border-color:#f59e0b}.key-bindings-warning{color:#fbbf24}.key-bindings-warning[hidden],.key-bindings-status:empty{display:none}@media (width<=520px){.key-binding-row{grid-template-columns:minmax(0,1fr) 72px 72px}}.fullscreen-invitation{top:calc(56px + env(safe-area-inset-top));z-index:85;border:1px solid var(--color-accent);border-radius:var(--radius-panel);background:var(--color-panel);width:min(440px,100vw - 32px);color:var(--color-text);font:600 13px/1.4 var(--font-interface);pointer-events:auto;gap:6px;padding:12px 16px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.fullscreen-invitation[hidden]{display:none}.fullscreen-invitation-message,.fullscreen-invitation-hint{margin:0}.fullscreen-invitation-hint{color:var(--color-text-muted);font-size:12px}.fullscreen-invitation-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fullscreen-invitation-actions .primary-button{margin-top:0;padding-block:6px}.fullscreen-invitation-hint[hidden]{display:none}@media (height<=520px){.fullscreen-invitation{top:calc(64px + env(safe-area-inset-top));gap:4px;width:min(360px,100vw - 32px);padding:8px 12px;font-size:12px}.fullscreen-invitation-actions .primary-button,.fullscreen-invitation-actions .small-button{min-height:0;padding:4px 10px;font-size:12px}}.menu-fullscreen-button{margin-right:auto}.menu-fullscreen-button[hidden]{display:none}.settings-actions{justify-content:space-between;align-items:center;gap:12px;padding:14px 22px 18px;display:flex}.settings-actions .primary-button{margin-top:0}@media (width<=520px){.settings-row{grid-template-columns:1fr 56px}.settings-row .settings-label{grid-column:1/-1}.settings-choice-row,.controls-list{grid-template-columns:1fr}}.development-class-select{padding:7px 8px;font-size:13px}.development-tools-section .settings-section-title{color:#f59e0b}.catalog-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:28px;display:grid}.catalog-browser{gap:18px;min-width:0;display:grid}.catalog-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.catalog-type-chips{flex-wrap:wrap;gap:6px;display:flex}.catalog-type-chip{color:var(--color-text-muted);font:600 12px var(--font-interface);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:5px 12px}.catalog-type-chip:hover{color:#e2e8f0}.catalog-type-chip[aria-pressed=true]{border-color:var(--menu-line);background:var(--menu-surface-raised);color:#f8fafc}.catalog-selects{gap:8px;display:flex}.catalog-select .game-select-button{border-color:var(--menu-line);background:var(--menu-surface);color:#e2e8f0;min-height:30px;font:500 12px var(--font-interface);padding:5px 8px}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:16px;display:grid}.catalog-card{--rarity-color:var(--menu-line);color:inherit;text-align:left;cursor:pointer;animation:.22s ease-out both catalog-card-in;animation-delay:calc(var(--card-index,0) * 18ms);background:0 0;border:1px solid #0000;border-radius:14px;gap:4px;padding:8px 8px 12px;display:grid}.catalog-card:hover{background:#94a3b80f}.catalog-card.is-selected{background:#94a3b814;border-color:#94a3b859}.catalog-card-thumbnail{aspect-ratio:1;border-bottom:2px solid var(--rarity-color);background:#1e293b8c;border-radius:10px;display:block;position:relative;overflow:hidden}.catalog-card-image{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .2s ease-out}.catalog-card-image.is-ready{opacity:1}.catalog-card.is-locked .catalog-card-image{filter:grayscale(.85)brightness(.6)}.catalog-card-lock{color:#e2e8f0;font:700 11px var(--font-code);background:#020617cc;border-radius:6px;padding:2px 6px;position:absolute;bottom:6px;right:6px}.catalog-card-name{font:600 13px var(--font-interface);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.catalog-card-caption{color:var(--color-text-muted);font:500 11px var(--font-code)}.catalog-card.is-marked .catalog-card-caption:before{content:"";background:#4ade80;border-radius:50%;width:.55em;height:.55em;margin-right:.4em;display:inline-block}.catalog-group-heading{border-bottom:1px solid var(--menu-line);color:#e2e8f0;font:600 13px var(--font-interface);letter-spacing:.02em;grid-column:1/-1;margin:6px 0 -6px;padding-bottom:4px}.catalog-group-heading:first-child{margin-top:0}.catalog-empty,.catalog-details-empty{color:var(--color-text-muted);font:500 13px var(--font-interface)}.catalog-details{border-left:1px solid var(--menu-line);align-content:start;gap:14px;padding:4px 0 0 28px;display:grid;position:sticky;top:0}.catalog-details-thumbnail{aspect-ratio:1;background:#1e293b80;border-radius:14px;width:100%;max-width:220px;margin:0 auto}.catalog-details-thumbnail .catalog-card-image{display:block}.catalog-details-header{gap:6px;display:grid}.catalog-details-name{font:700 20px var(--font-interface);margin:0}.catalog-details-tags{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.catalog-details-type{color:var(--color-text-muted);font:600 12px var(--font-code)}.catalog-rarity-tag{border:1px solid var(--rarity-color);color:var(--rarity-color);font:600 11px var(--font-interface);border-radius:999px;padding:1px 8px}.catalog-details-description{color:#cbd5e1;font:400 13px/1.5 var(--font-interface);margin:0}.catalog-details-note{color:var(--color-text-muted);font:500 12px var(--font-code);margin:0}.catalog-details-facts{gap:6px;margin:0;display:grid}.catalog-details-fact{font:500 12px var(--font-interface);justify-content:space-between;gap:12px;display:flex}.catalog-details-fact dt{color:var(--color-text-muted)}.catalog-details-fact dd{font-family:var(--font-code);margin:0}.catalog-details-actions{gap:10px;display:grid}.catalog-action-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.catalog-action-row .small-button.is-purchase{color:#fbbf24;border-color:#fbbf24}.catalog-action-row .small-button.is-purchase:disabled{border-color:var(--menu-line);color:var(--color-text-muted)}.catalog-action-row .small-button.is-confirming{color:#111827;background:#fbbf24}.catalog-action-row .small-button.is-equipped{color:#4ade80;border-color:#4ade80}.catalog-action-note{color:var(--color-text-muted);font:600 11px var(--font-code)}.catalog-action-note.is-maximum{color:#fbbf24}@keyframes catalog-card-in{0%{opacity:0;transform:translateY(4px)}}@media (width<=900px){.catalog-layout{grid-template-columns:minmax(0,1fr)}.catalog-details{border-top:1px solid var(--menu-line);border-left:0;padding:16px 0 0;position:static}.loadout-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.catalog-card{animation:none}}.match-hud.is-concealed:before{content:"display: none";color:#22d3eecc;font:700 13px var(--font-code);text-align:center;pointer-events:none;padding:16px;position:absolute;inset:0;box-shadow:inset 0 0 120px #22d3ee59}.ultimate-meter{background:#94a3b840;border-radius:2px;grid-column:1/-1;height:4px;display:block;overflow:hidden}.ultimate-fill{width:calc(var(--fill-fraction,0) * 100%);background:#a855f7;height:100%;display:block}.ultimate-slot.is-ready .ultimate-fill{background:#facc15;box-shadow:0 0 8px #facc15}.network-diagnostics-panel{z-index:60;color:#c8f7d0;pointer-events:none;white-space:pre;background:#080c14d1;border-radius:6px;max-width:calc(100vw - 16px);margin:0;padding:8px 10px;font:12px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace;position:fixed;top:8px;left:8px;overflow-x:auto}.player-nameplate.has-character-skin{box-shadow:inset 4px 0 0 var(--player-color,var(--color-panel-border));border-width:2px}.wifi-zone-hud{z-index:40;pointer-events:none;justify-items:center;gap:6px;display:grid;position:fixed;top:12px;left:50%;transform:translate(-50%)}.wifi-zone-hud[hidden]{display:none}.wifi-zone-status{color:#bae6fd;font:600 13px/1.4 var(--font-code);background:#080c14b8;border:1px solid #38bdf899;border-radius:999px;padding:4px 12px}.wifi-zone-disconnected{color:#fff;font:700 15px/1.4 var(--font-code);background:#b91c1cd9;border-radius:6px;padding:4px 14px;animation:.9s steps(2,start) infinite wifi-zone-blink}.wifi-zone-notice{color:#f8fafc;font:700 18px/1.4 var(--font-code);background:#0f172ae6;border:1px solid #94a3b880;border-radius:8px;margin-top:40px;padding:8px 18px}@keyframes wifi-zone-blink{to{opacity:.55}}.owner-map-title{font:600 13px/1.4 var(--font-code);margin:0}.owner-map-selector{gap:6px;max-height:min(300px,100vh - 360px);display:grid;overflow-y:auto}.owner-map-card{border:1px solid var(--color-panel-border);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#0f172acc;border-radius:8px;align-items:center;gap:8px;margin:0;padding:5px;display:flex}.owner-map-card:hover:not(:disabled){border-color:#38bdf8}.owner-map-card[aria-pressed=true]{background:#16653459;border-color:#22c55e}.owner-map-card:disabled{cursor:default;opacity:.6}.owner-map-card-thumbnail{background:#1e293b;border-radius:5px;flex:none;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.owner-map-card-thumbnail img{width:100%;height:100%;image-rendering:pixelated;display:block}.owner-map-card-thumbnail-random{color:#94a3b8;font:700 26px/1 var(--font-code)}.owner-map-card-text{gap:2px;min-width:0;display:grid}.owner-map-card-name{font:700 13px/1.3 var(--font-code)}.owner-map-card-details{color:var(--color-text-muted);font-size:11px;line-height:1.35}.owner-map-hint{color:var(--color-text-muted);margin:4px 0 8px;font-size:12px}.status-effects-line{z-index:35;color:#fde68a;font:700 13px/1.4 var(--font-code);pointer-events:none;background:#0f172ac7;border-radius:6px;padding:3px 10px;position:fixed;top:calc(50% + 46px);left:50%;transform:translate(-50%)}.status-effects-line[hidden]{display:none}.player-nameplate.is-low-health-highlighted{border-color:#ef4444;box-shadow:0 0 12px #ef4444d9}.body-model-choice{z-index:5;font:600 13px/1.4 var(--font-code);align-items:center;gap:6px;display:flex;position:absolute;bottom:18px;right:18px}.body-model-choice button{border:1px solid var(--color-panel-border);color:var(--color-text);font:inherit;cursor:pointer;background:#0f172acc;border-radius:6px;padding:4px 10px}.body-model-choice button.is-selected{border-color:var(--color-highlight);color:var(--color-highlight)}.first-access-screen{z-index:40;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040812f0;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.first-access-card{border:1px solid var(--color-panel-border);background:#080d1af0;border-radius:16px;gap:12px;width:min(520px,100%);padding:26px 28px 24px;display:grid;box-shadow:0 24px 70px #0000008c}.first-access-kicker{color:#38bdf8;font:600 12px var(--font-code);margin:0}.first-access-title{margin:0;line-height:0}.first-access-logo{width:min(360px,100%);height:auto;display:block}.first-access-lead{color:var(--color-text-muted);margin:0}.first-access-problem{color:var(--color-error);margin:0}.first-access-field{color:var(--color-text-muted);font:600 12px var(--font-code);text-transform:uppercase;letter-spacing:.06em;gap:6px;margin-top:4px;display:grid}.first-access-field input{color:var(--color-text);font:700 18px var(--font-code);letter-spacing:normal;text-transform:none;background:#020610b3;border:1px solid #334155e6;border-radius:10px;padding:12px 14px}.first-access-field input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf833}.first-access-hint{min-height:1.2em;color:var(--color-text-muted);font:500 12px var(--font-code);margin:-4px 0 0}.first-access-hint.is-problem{color:#fca5a5}.first-access-bodies{border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px;display:grid}.first-access-bodies.is-missing{box-shadow:0 0 0 2px #fca5a599}.first-access-body-option{color:var(--color-text);font:700 15px var(--font-code);cursor:pointer;background:#0206108c;border:1px solid #334155e6;border-radius:12px;justify-items:center;gap:6px;padding:10px 10px 12px;transition:border-color .15s,transform .15s,background .15s;display:grid}.first-access-body-option img{aspect-ratio:1;object-fit:contain;width:100%;max-width:170px}.first-access-body-option img:not([src]){visibility:hidden}.first-access-body-option:hover{border-color:#38bdf899;transform:translateY(-2px)}.first-access-body-option.is-selected{background:#38bdf81f;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf838}.first-access-submit{font:800 16px var(--font-code);opacity:.7;border-radius:10px;margin-top:6px}.first-access-submit.is-ready{opacity:1}.store-main-column{gap:16px;min-width:0;display:grid}.store-section-tabs{border-bottom:1px solid var(--menu-line);flex-wrap:wrap;gap:4px;display:flex}.store-section-tab{color:var(--color-text-muted);font:600 13px var(--font-interface);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px}.store-section-tab:hover{color:#e2e8f0}.store-section-tab[aria-selected=true]{border-bottom-color:var(--color-highlight);color:#f8fafc}.store-nameplate-preview{background:#161f30f2;place-items:center;min-height:160px;display:grid}.store-emote-preview{background:radial-gradient(circle at 50% 70%,#38bdf824,#161f30f2 70%);overflow:hidden}.store-emote-preview-canvas{width:100%;height:100%;display:block}.player-nameplate.is-store-preview{font-size:18px}.player-nameplate.has-store-frame .player-nameplate-nickname:before{content:var(--frame-prefix,"");margin-right:.35em}.player-nameplate.has-store-frame .player-nameplate-nickname:after{content:var(--frame-suffix,"");margin-left:.1em}.player-nameplate.nameplate-frame-terminal-green{outline-offset:2px;outline:2px solid #22c55e;box-shadow:0 0 10px #22c55e8c}.player-nameplate.nameplate-frame-terminal-green .player-nameplate-nickname{color:#86efac}.player-nameplate.nameplate-frame-terminal-green .player-nameplate-nickname:after{animation:1s step-end infinite nameplate-cursor-blink}.player-nameplate.nameplate-frame-stack-trace{outline-offset:2px;outline:2px dashed #ef4444;box-shadow:0 0 10px #ef444480}.player-nameplate.nameplate-frame-stack-trace .player-nameplate-nickname:before{color:#fca5a5}.player-nameplate-frame-icon{margin-right:.35em}.player-nameplate.nameplate-frame-stack-trace .player-nameplate-frame-icon{color:#fca5a5}.player-nameplate-title{color:#cbd5e1;font:italic 500 .78em var(--font-interface)}@keyframes nameplate-cursor-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.player-nameplate.nameplate-frame-terminal-green .player-nameplate-nickname:after{animation:none}}.touch-controls{--touch-scale:var(--touch-controls-scale,1);--touch-safe-left:env(safe-area-inset-left,0px);--touch-safe-right:env(safe-area-inset-right,0px);--touch-safe-bottom:env(safe-area-inset-bottom,0px);--touch-safe-top:env(safe-area-inset-top,0px);z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.touch-look-zone{position:absolute;inset:0}.touch-move-zone{width:44%;position:absolute;top:28%;bottom:0;left:0}.touch-controls[data-action-side=left] .touch-move-zone{left:auto;right:0}.touch-joystick-base{left:calc(var(--touch-safe-left) + 96px * var(--touch-scale));top:calc(100% - var(--touch-safe-bottom) - 92px * var(--touch-scale));width:calc(var(--touch-joystick-radius,60px) * 2 * var(--touch-scale));height:calc(var(--touch-joystick-radius,60px) * 2 * var(--touch-scale));opacity:.5;pointer-events:none;background:#0f172a2e;border:2px solid #e2e8f040;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.touch-controls[data-action-side=left] .touch-joystick-base{left:calc(100% - var(--touch-safe-right) - 96px * var(--touch-scale))}.touch-joystick-base.is-active{opacity:.9}.touch-joystick-knob{width:calc(46px * var(--touch-scale));height:calc(46px * var(--touch-scale));background:#e2e8f073;border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.touch-action-cluster{pointer-events:none;position:absolute;inset:0}.touch-button{--touch-button-width:40px;--touch-button-height:var(--touch-button-width);width:calc(var(--touch-button-width) * var(--touch-scale));height:calc(var(--touch-button-height) * var(--touch-scale));color:#f8fafcd9;font:700 calc(11px * var(--touch-scale)) var(--font-interface);touch-action:none;pointer-events:auto;background:#0f172a47;border:1.5px solid #e2e8f052;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.touch-action-cluster .touch-button{right:calc(var(--touch-safe-right) + var(--touch-slot-side) * var(--touch-scale));bottom:calc(var(--touch-safe-bottom) + var(--touch-slot-bottom) * var(--touch-scale))}.touch-controls[data-action-side=left] .touch-action-cluster .touch-button{right:auto;left:calc(var(--touch-safe-left) + var(--touch-slot-side) * var(--touch-scale))}.touch-button.is-pressed,.touch-button:active{background:#38bdf861;border-color:#38bdf8d9}.touch-button-shoot{--touch-button-width:70px;--touch-slot-side:30px;--touch-slot-bottom:84px;font-size:calc(12px * var(--touch-scale));background:#7f1d1d4d;border-color:#f8717199}.touch-button-aim{--touch-button-width:50px;--touch-slot-side:112px;--touch-slot-bottom:132px}.touch-button-jump{--touch-button-width:54px;--touch-slot-side:38px;--touch-slot-bottom:12px}.touch-button-crouch{--touch-button-width:52px;--touch-slot-side:116px;--touch-slot-bottom:40px;font-size:calc(10px * var(--touch-scale))}.touch-button-settings{--touch-button-width:34px;top:calc(var(--touch-safe-top) + 12px);right:calc(var(--touch-safe-right) + 24px);font-size:calc(16px * var(--touch-scale))}.touch-button-emote-wheel{--touch-button-width:34px;top:calc(var(--touch-safe-top) + 12px);right:calc(var(--touch-safe-right) + 24px + 44px * var(--touch-scale));font-size:calc(16px * var(--touch-scale))}.emote-wheel{--emote-wheel-size:min(calc(var(--emote-wheel-radius,190px) * 2), 62dvh, 82vw);z-index:30;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none;place-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:0}.emote-wheel[hidden]{display:none}.emote-wheel[data-open-mode=touch]{pointer-events:auto;background:#02061759}.emote-wheel-ring{--emote-wheel-slice-degrees:45deg;--emote-wheel-pointed-degrees:0deg;width:var(--emote-wheel-size);height:var(--emote-wheel-size);background:radial-gradient(circle,#0f172a40 0 22%,#0f172ab8 23% 100%);border:2px solid #e2e8f04d;border-radius:50%;position:relative}.emote-wheel-ring.has-pointed-slice:before{background:conic-gradient(from calc(var(--emote-wheel-pointed-degrees) - var(--emote-wheel-slice-degrees) / 2), #38bdf861 0 var(--emote-wheel-slice-degrees), transparent var(--emote-wheel-slice-degrees) 360deg);content:"";border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 0 23%,#000 23.5% 100%);mask:radial-gradient(circle,#0000 0 23%,#000 23.5% 100%)}.emote-wheel-slice{left:calc(50% + var(--emote-wheel-slice-x) * var(--emote-wheel-size) / 2);top:calc(50% + var(--emote-wheel-slice-y) * var(--emote-wheel-size) / 2);width:calc(var(--emote-wheel-size) * .26);border-radius:var(--radius-control);color:#f8fafcd1;font:600 12px var(--font-interface);text-align:center;pointer-events:auto;background:0 0;border:0;justify-items:center;gap:4px;padding:4px;display:grid;position:absolute;translate:-50% -50%}.emote-wheel-slice svg{width:26px;height:26px}.emote-wheel-slice.is-pointed{color:var(--color-highlight);scale:1.08}.emote-wheel-slice.is-empty{visibility:hidden}.emote-wheel-slice-name{overflow-wrap:anywhere}.emote-wheel-center{width:calc(var(--emote-wheel-size) * .4);height:calc(var(--emote-wheel-size) * .4);color:var(--color-text);font:700 13px var(--font-interface);pointer-events:auto;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.emote-wheel-arrow{rotate:var(--emote-wheel-arrow-degrees,0deg);position:absolute;inset:0}.emote-wheel-arrow[hidden]{display:none}.emote-wheel-arrow:before{border-right:9px solid #0000;border-bottom:16px solid var(--color-highlight);content:"";border-left:9px solid #0000;position:absolute;top:0;left:50%;translate:-50%}.emote-wheel-center-text{overflow-wrap:anywhere;text-align:center;max-width:80%}.emote-wheel-footer{border-radius:var(--radius-control);color:var(--color-text);font:600 13px var(--font-interface);background:#0f172ab3;align-items:center;gap:10px;padding:2px 10px;display:flex}.emote-wheel-footer[hidden]{display:none}.emote-wheel-page-button{width:36px;height:36px;color:var(--color-text);pointer-events:auto;background:#0f172a99;border:1.5px solid #e2e8f052;border-radius:50%;place-items:center;padding:0;display:none}.emote-wheel[data-open-mode=touch] .emote-wheel-page-button{display:grid}.emote-wheel-hint{border-radius:var(--radius-control);color:var(--color-text-muted);font:500 12px var(--font-interface);background:#0f172ab3;margin:0;padding:4px 10px}.rotate-device-notice{z-index:100;color:#e2e8f0;font:600 16px var(--font-interface);text-align:center;background:#0b1120;place-content:center;justify-items:center;gap:8px;padding:24px;display:none;position:fixed;inset:0}.rotate-device-notice .primary-button[hidden]{display:none}.rotate-device-icon{font-size:48px}@media (orientation:portrait){.is-touch-device .rotate-device-notice{display:grid}}@media (height<=520px){.character-menu-screen{padding:0}.menu-window{border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;height:100dvh}.menu-window-titlebar,.menu-tagline,.profile-nickname .field-label{display:none}.menu-profile-bar{padding:6px calc(12px + env(safe-area-inset-right)) 6px calc(12px + env(safe-area-inset-left));grid-template-columns:auto minmax(120px,1fr) minmax(140px,1fr) auto auto;gap:10px}.menu-logo-image{width:150px}.first-access-logo{width:min(240px,100%)}.profile-nickname .text-field{height:30px;padding-block:2px}.development-progress-tools{gap:4px;display:flex}.development-progress-tools .small-button{padding:2px 6px;font-size:10px}.menu-tab{padding:5px 14px;font-size:13px}.menu-footer{padding:6px calc(12px + env(safe-area-inset-right)) 6px calc(12px + env(safe-area-inset-left))}.menu-footer .primary-button,.menu-footer .secondary-button,.menu-footer .text-field{min-height:34px;padding-block:4px}.body-model-choice{right:calc(10px + env(safe-area-inset-right));font-size:11px;bottom:10px}.catalog-tab-panel{padding:8px 12px 12px}.catalog-layout{grid-template-columns:minmax(0,1fr) minmax(210px,250px);gap:14px}.catalog-details{gap:8px;padding-left:14px}.catalog-details-thumbnail{max-width:110px}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.catalog-browser,.store-main-column{gap:8px}.store-section-tab{padding:5px 9px;font-size:12px}.catalog-type-chip{padding:3px 9px;font-size:11px}.characters-tab-panel{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.character-card-grid{padding:8px 12px}.character-details{grid-template-rows:minmax(110px,34%) minmax(0,1fr) auto;gap:6px;padding:8px}.loadout-slots{gap:6px}.room-hud{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));transform-origin:0 0;width:250px;max-height:calc(138.889dvh - 22.2222px);transform:scale(.72)}.combat-hud{left:50%;bottom:calc(6px + env(safe-area-inset-bottom));gap:4px;width:min(300px,40vw);padding:6px 8px;font-size:12px;transform:translate(-50%)}.combat-hud .weapon-slot-list,.combat-hud .ability-guide-hint{display:none}.combat-hud .ability-slot{min-height:0;padding:2px 4px;font-size:10px}.match-info-panel{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));padding:4px 8px;font-size:11px}.touch-button-settings,.touch-button-emote-wheel{top:calc(70px + env(safe-area-inset-top))}.emote-wheel-slice{gap:2px;font-size:10px}.emote-wheel-slice svg{width:20px;height:20px}.match-result-panel{pointer-events:auto;gap:8px;max-height:calc(100dvh - 16px);padding:10px 14px;top:8px;overflow-y:auto}}.connection-notice-banner{z-index:90;border:1px solid var(--color-panel-border);border-radius:var(--radius-control);background:var(--color-panel);max-width:min(640px,100vw - 32px);color:var(--color-text);font:600 14px/1.4 var(--font-interface);text-align:center;pointer-events:none;padding:8px 16px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.connection-notice-banner[data-tone=progress]{border-color:var(--color-accent)}.connection-notice-banner[data-tone=warning]{border-color:var(--color-highlight);color:#fde68a}.connection-notice-banner[data-tone=success]{border-color:var(--color-health);color:#bbf7d0}.catalog-layout:has(>.catalog-details[hidden]){grid-template-columns:minmax(0,1fr)}.store-section-tab.is-pix-purchase{color:var(--menu-neon)}.pix-store-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:28px;padding-top:18px;display:grid}.pix-store-products{gap:22px;min-width:0;display:grid}.pix-store-intro{gap:6px;display:grid}.pix-store-title{color:#f8fafc;font:700 18px var(--font-interface);margin:0}.pix-store-note{color:var(--color-text-muted);font:500 13px/1.5 var(--font-interface);margin:0}.pix-store-testing-note{border:1px solid var(--menu-neon-soft);background:var(--menu-neon-soft);color:#e0f2fe;font:600 12px var(--font-interface);border-radius:10px;margin:0;padding:8px 12px}.pix-store-link{color:var(--menu-neon)}.pix-store-section{gap:10px;display:grid}.pix-store-section[hidden]{display:none}.pix-store-section-title{color:#e2e8f0;font:700 13px var(--font-interface);letter-spacing:.04em;text-transform:uppercase;margin:0}.pix-product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.pix-product-card{border:1px solid var(--menu-line);background:var(--menu-surface-raised);border-radius:14px;align-content:space-between;gap:8px;padding:12px;display:grid}.pix-product-kind,.pix-product-availability{color:var(--color-text-muted);font:600 11px var(--font-interface)}.pix-product-name{color:#f8fafc;font:700 14px var(--font-interface)}.pix-order-panel{gap:12px;display:grid}.pix-order-price{color:var(--menu-neon);font:700 16px var(--font-interface);margin:0}.pix-order-status{color:#e2e8f0;font:600 13px var(--font-interface);margin:0}.pix-qr-image{width:min(100%,240px);image-rendering:pixelated;background:#fff;border-radius:12px;justify-self:center;padding:8px}.pix-copy-paste-field{box-sizing:border-box;border:1px solid var(--menu-line);background:var(--menu-surface);color:#e2e8f0;resize:none;word-break:break-all;border-radius:8px;width:100%;padding:8px;font:500 11px/1.4 ui-monospace,monospace}.pix-receipt{font:500 13px var(--font-interface);grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0;display:grid}.pix-receipt-label{color:var(--color-text-muted)}.pix-receipt-value{color:#f8fafc;overflow-wrap:anywhere;margin:0}.pix-history{border-top:1px solid var(--menu-line);gap:8px;padding-top:12px;display:grid}.pix-history-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.pix-history-button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;gap:2px;padding:8px 10px;display:grid}.pix-history-button:hover{background:#94a3b814}.pix-history-name{color:#f8fafc;font:600 13px var(--font-interface)}.pix-history-meta{color:var(--color-text-muted);font:500 11px var(--font-interface)}.pix-thank-you{--menu-neon:#38bdf8;--menu-neon-soft:#38bdf82e;--menu-surface-raised:#0f172aeb;z-index:70;width:min(440px,100vw - 32px);max-height:calc(var(--app-viewport-height,100dvh) - 24px);border:1px solid var(--menu-neon-soft);border-radius:var(--radius-panel);text-align:center;pointer-events:auto;background:#0b1222;justify-items:center;gap:12px;padding:28px 24px 22px;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 18px 50px #0000008c}.pix-thank-you[hidden]{display:none}.pix-thank-you>.window-close-button{top:10px;right:10px}.pix-thank-you-icon{background:var(--menu-neon-soft);width:56px;height:56px;color:var(--menu-neon);border-radius:50%;place-items:center;font-size:30px;display:grid}.pix-thank-you-title{color:#f8fafc;font:700 22px var(--font-interface);margin:0}.pix-thank-you-message{color:var(--color-text-muted);font:500 14px/1.5 var(--font-interface);margin:0}.pix-thank-you-item{border:1px solid var(--color-panel-border);background:var(--menu-surface-raised);border-radius:12px;gap:4px;width:100%;padding:14px 16px;display:grid}.pix-thank-you-kind{color:var(--menu-neon);font:700 11px var(--font-interface);letter-spacing:.04em;text-transform:uppercase}.pix-thank-you-name{color:#f8fafc;font:700 16px var(--font-interface)}.pix-thank-you-hint{color:var(--color-text-muted);font:500 12px/1.5 var(--font-interface);margin:0}.pix-thank-you-back{width:100%}@media (width<=900px){.pix-store-layout{grid-template-columns:minmax(0,1fr)}.pix-product-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.game-icon{vertical-align:-.125em;flex-shrink:0;width:1em;height:1em}.icon-with-text{align-items:center;gap:.35em;display:inline-flex}.combat-actions-row .ability-slot{text-align:left;flex:1 1 0;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;min-width:0}.ability-icon{grid-row:span 2;font-size:18px;display:inline-flex}.ability-slot.is-ready .ability-icon{color:var(--color-accent)}.ability-slot .ability-name,.ability-slot .ability-cooldown,.ability-slot .ultimate-meter,.ability-slot .ability-key{grid-column:2}.ability-sentence{color:var(--color-text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.ability-slot.is-held{border-color:#38bdf8;box-shadow:0 0 10px #38bdf88c}.ability-card{border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);background:var(--color-panel);width:min(440px,100vw - 32px);color:var(--color-text);pointer-events:none;align-items:flex-start;gap:10px;padding:10px 12px;display:flex;position:absolute;bottom:150px;left:max(50%,676px);transform:translate(-50%)}.ability-card[hidden]{display:none}.ability-card.is-held-ability{border-color:#94a3b8}.ability-card.is-held-ability.is-ready{border-color:#38bdf8}.ability-card.is-first-tip{border-color:#facc15}.ability-card-icon{padding-top:2px;font-size:26px;display:inline-flex}.ability-card-text{gap:2px;min-width:0;display:grid}.ability-card-kicker{color:#facc15;font:700 10px var(--font-code);text-transform:uppercase}.ability-card-title{font:700 13px var(--font-code)}.ability-card-sentence{font-size:12px;line-height:1.35}.ability-card-detail{color:var(--color-text-muted);font-size:11px}@media (width<=900px){.ability-card{bottom:280px;left:50%}}.is-touch-device .ability-card{top:calc(64px + env(safe-area-inset-top));width:min(380px,60vw);bottom:auto}.is-touch-device .ability-sentence{display:none}.is-touch-device .ability-card.is-first-tip{top:calc(6px + env(safe-area-inset-top));gap:8px;width:min(300px,46vw);padding:6px 10px}.is-touch-device .ability-card.is-first-tip .ability-card-icon{font-size:18px}.is-touch-device .ability-card.is-first-tip .ability-card-sentence{font-size:11px}.is-touch-device .ability-card.is-first-tip .ability-card-detail{display:none}.touch-joystick-ring{border:1px dashed #e2e8f059;border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.touch-joystick-ring.is-slow-walk-limit{width:calc(var(--touch-joystick-slow-walk-fraction,.5) * 100%);height:calc(var(--touch-joystick-slow-walk-fraction,.5) * 100%)}.touch-joystick-ring.is-sprint-limit{width:calc(var(--touch-joystick-sprint-fraction,.9) * 100%);height:calc(var(--touch-joystick-sprint-fraction,.9) * 100%);border-color:#fbbf2466}.touch-joystick-base[data-gear=slowWalk] .touch-joystick-knob{background:#7dd3fc8c}.touch-joystick-base[data-gear=sprint] .touch-joystick-knob{background:#fbbf2499}.touch-joystick-gear-label{color:#f8fafcd9;font:700 calc(10px * var(--touch-scale)) var(--font-code);white-space:nowrap;margin-bottom:4px;position:absolute;bottom:100%;left:50%;translate:-50%}.is-touch-device .combat-hud{left:50%;bottom:calc(4px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:3px;width:min(250px,32vw);padding:3px 5px;font-size:11px;transform:translate(-50%)}.is-touch-device .combat-hud .weapon-slot-list,.is-touch-device .combat-hud .ability-guide-hint,.is-touch-device .combat-hud .ammunition-text:empty{display:none}.is-touch-device .combat-health-row{gap:6px}.is-touch-device .combat-health-bar{border-radius:3px;height:5px}.is-touch-device .combat-health-text{min-width:0;font-size:10px}.is-touch-device .weapon-status-row{align-items:center;gap:6px;min-height:28px;margin:0}.is-touch-device .weapon-name-text{text-overflow:ellipsis;font-size:11px;overflow:hidden}.is-touch-device .magazine-ammunition-text{font-size:16px}.is-touch-device .ammunition-text{min-width:0;font-size:9px}.is-touch-device .combat-actions-row{flex-wrap:nowrap;gap:4px}.is-touch-device .combat-hud .ability-slot{flex:1;align-content:center;min-width:0;min-height:48px;padding:2px 4px;font-size:10px;position:relative}.is-touch-device .combat-hud .ability-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.is-touch-device .is-touch-target{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.is-touch-device .weapon-name-text.is-touch-target,.is-touch-device .ammunition-counter.is-touch-target{border:1px solid #e2e8f02e;border-radius:6px;padding:4px 6px}.is-touch-device .is-touch-target.is-touch-pressed{background:#38bdf840;border-color:#38bdf8d9}.is-touch-device .is-touch-target.is-touch-cancelled{background:#7f1d1d73;border-color:#f87171}.boot-loading-screen{z-index:110;background:#0a0f1f;place-content:center;justify-items:center;gap:18px;padding:24px;display:grid;position:fixed;inset:0}.boot-loading-logo{width:min(420px,80vw);height:auto;display:block}.boot-loading-text{color:var(--color-text-muted);font:500 14px var(--font-code);margin:0}.boot-loading-bar{background:#38bdf826;border-radius:3px;width:min(240px,60vw);height:3px;position:relative;overflow:hidden}.boot-loading-bar span{background:var(--color-accent);border-radius:3px;width:40%;animation:1.2s ease-in-out infinite boot-loading-slide;position:absolute;inset:0 auto 0 0}.boot-loading-bar.has-progress span{width:100%;transform:scaleX(var(--boot-loading-progress,0));transform-origin:0;transition:transform .25s ease-out;animation:none}.boot-loading-percent{color:var(--color-accent)}@keyframes boot-loading-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (height<=520px){.boot-loading-logo{width:min(300px,70vw)}}@media (prefers-reduced-motion:reduce){.boot-loading-bar span{width:100%;animation:none}}:root{--app-viewport-height:100vh;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px)}@supports (height:100dvh){:root{--app-viewport-height:100dvh}}.first-access-screen{padding:max(12px, var(--safe-area-top)) max(12px, var(--safe-area-right)) max(12px, var(--safe-area-bottom)) max(12px, var(--safe-area-left));grid-template:minmax(0,1fr)/minmax(0,1fr);overflow:hidden}.first-access-card{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;justify-self:center;max-height:100%;padding-bottom:0;overflow-y:auto}.first-access-footer{z-index:1;background:#080d1a;border-top:1px solid #38bdf824;gap:12px;margin:0 -28px;padding:12px 28px 22px;display:grid;position:sticky;bottom:0}.first-access-footer .first-access-submit{margin-top:0}.first-access-body-option img{max-width:min(170px,24vh)}body:has(#first-access-screen:not([hidden])) .rotate-device-notice{display:none}@media (height<=520px){.first-access-card{gap:8px;padding:14px 20px 0}.first-access-footer{margin:0 -20px;padding:10px 20px 12px}.first-access-title{font-size:22px}.first-access-kicker,.first-access-lead{font-size:13px}}.menu-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.menu-footer>:not(.menu-legal-links,.body-model-choice){grid-column:1/-1}.menu-footer .body-model-choice{margin-top:6px;position:static}.match-result-panel{--match-result-top:clamp(12px, 14vh, 132px);top:calc(var(--match-result-top) + var(--safe-area-top));max-height:calc(var(--app-viewport-height) - var(--match-result-top) - 12px);grid-template-rows:minmax(0,1fr) auto}.match-result-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}@media (height<=520px){.match-result-panel{top:calc(8px + var(--safe-area-top));max-height:calc(var(--app-viewport-height) - 16px - var(--safe-area-top));overflow:hidden}}.window-close-button{z-index:3;border:1px solid var(--color-panel-border);width:30px;height:30px;color:var(--color-text);cursor:pointer;pointer-events:auto;background:#020610d9;border-radius:8px;place-items:center;padding:0;font-size:18px;line-height:1;display:inline-grid;position:absolute;top:8px;right:8px}.window-close-button:hover,.window-close-button:focus-visible{border-color:var(--color-accent);color:var(--color-accent)}.window-close-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.settings-window,.room-setup-window,.menu-window{position:relative}.settings-window>.window-close-button,.menu-window>.window-close-button{width:26px;height:26px;font-size:16px;top:3px;right:6px}.settings-titlebar,.character-menu-screen.is-lobby .menu-window-titlebar{padding-right:44px}.room-setup-header{padding-right:56px;position:relative}.room-setup-header>.window-close-button{top:50%;right:14px;transform:translateY(-50%)}.match-result-panel>.window-close-button{top:10px;right:10px}.fullscreen-invitation{padding-right:46px}@media (height<=520px){.menu-window>.window-close-button{top:6px;right:calc(6px + var(--safe-area-right));width:30px;height:30px}.character-menu-screen.is-lobby .menu-profile-bar{padding-right:calc(48px + var(--safe-area-right))}}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img,canvas{-webkit-user-drag:none}body:has(.match-end-screen:not([hidden])) .spectator-strip{display:none}.team-upload-hud{z-index:40;pointer-events:none;font-family:var(--font-code);position:fixed;inset:0}.team-upload-hud[hidden]{display:none}.team-upload-scoreboard{align-items:stretch;gap:6px;display:flex;position:absolute;top:50px;left:50%;transform:translate(-50%)}.team-upload-side{border:1px solid var(--team-color);color:#f8fafc;background:#080c14c7;border-radius:8px;align-items:center;gap:10px;min-width:150px;padding:4px 10px;display:flex}.team-upload-side:last-child{text-align:right;flex-direction:row-reverse}.team-upload-side.is-local-team{box-shadow:0 0 0 2px var(--team-color)}.team-upload-side-labels{gap:1px;display:grid}.team-upload-side-name{color:var(--team-color);font:700 12px/1.2 var(--font-code)}.team-upload-side-role{font:600 10px/1.2 var(--font-code);letter-spacing:.08em;color:#cbd5e1}.team-upload-side-score{font:800 26px/1 var(--font-code);color:var(--team-color)}.team-upload-side-members{gap:3px;display:flex}.team-upload-side:last-child .team-upload-side-members{justify-content:flex-end}.team-upload-member{border:1px solid var(--team-color);opacity:.45;border-radius:50%;width:9px;height:9px}.team-upload-member.is-alive{background:var(--team-color);opacity:1}.team-upload-member.is-local-player{outline-offset:1px;outline:1px solid #f8fafc}.team-upload-clock{color:#f8fafc;min-width:128px;font:700 14px/1.3 var(--font-code);background:#080c14c7;border:1px solid #94a3b880;border-radius:8px;place-items:center;padding:4px 12px;display:grid}.team-upload-clock.is-urgent{color:#fca5a5;border-color:#ef4444}.team-upload-objective{color:#a7f3d0;font:600 13px/1.4 var(--font-code);white-space:nowrap;background:#080c14b3;border-radius:999px;padding:3px 12px;position:absolute;top:104px;left:50%;transform:translate(-50%)}.team-upload-objective[hidden],.team-upload-progress[hidden],.team-upload-hint[hidden],.team-upload-notice[hidden]{display:none}.team-upload-progress{color:#f8fafc;width:260px;font:700 13px/1.3 var(--font-code);justify-items:center;gap:4px;display:grid;position:absolute;top:calc(50% + 46px);left:50%;transform:translate(-50%)}.team-upload-progress-bar{background:#080c14cc;border:1px solid #10b981;border-radius:999px;width:100%;height:8px;overflow:hidden}.team-upload-progress-fill{width:calc(var(--fill-fraction,0) * 100%);background:#10b981;height:100%}.team-upload-hint{color:#f8fafc;font:700 15px/1.3 var(--font-code);background:#080c14d9;border:1px solid #10b981;border-radius:8px;padding:6px 14px;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}.team-upload-notice{color:#f8fafc;font:800 24px/1.3 var(--font-code);letter-spacing:.04em;text-align:center;background:#0f172aeb;border:2px solid #94a3b899;border-radius:10px;padding:10px 24px;position:absolute;top:26%;left:50%;transform:translate(-50%)}.team-upload-notice[data-tone=victory]{color:#bbf7d0;border-color:#22c55e}.team-upload-notice[data-tone=defeat]{color:#fecaca;border-color:#ef4444}.team-upload-notice[data-tone=swap]{color:#fef08a;border-color:#facc15}.team-upload-touch-button{--touch-scale:var(--touch-controls-scale,1);right:calc(env(safe-area-inset-right,0px) + 196px * var(--touch-scale));bottom:calc(env(safe-area-inset-bottom,0px) + 96px * var(--touch-scale));z-index:45;width:calc(46px * var(--touch-scale));height:calc(46px * var(--touch-scale));color:#f8fafc;font:800 20px/1 var(--font-code);touch-action:none;background:#080c14b3;border:2px solid #10b981;border-radius:50%;position:fixed}body[data-touch-action-side=left] .team-upload-touch-button{right:auto;left:calc(env(safe-area-inset-left,0px) + 196px * var(--touch-scale))}.team-upload-touch-button[hidden]{display:none}.team-upload-lobby-panel{gap:6px;display:grid}.team-upload-lobby-panel [hidden]{display:none}.team-upload-lobby-teams{grid-template-columns:1fr 1fr;gap:8px;display:grid}.team-upload-lobby-team{border:1px solid var(--team-color);border-radius:var(--radius-control);font:12px/1.4 var(--font-code);padding:6px}.team-upload-lobby-team strong{color:var(--team-color)}.team-upload-lobby-team ul{margin:4px 0 0;padding:0;list-style:none}.team-upload-lobby-team li{justify-content:space-between;align-items:center;gap:4px;padding:1px 0;display:flex}.team-upload-lobby-team li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-nameplate.is-team-ally:before{content:"";border-top:10px solid var(--player-color);filter:drop-shadow(0 0 2px #000c);border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;margin:0 auto 2px;display:block}.player-nameplate.is-team-enemy .player-nameplate-nickname{color:#fca5a5}.team-upload-touch-button.is-drop-button{bottom:calc(env(safe-area-inset-bottom,0px) + 150px * var(--touch-scale));font:700 11px/1 var(--font-code);border-color:#facc15}.door-interaction-prompt{z-index:30;color:#f8fafc;font:600 13px/1.3 var(--font-code);white-space:pre;pointer-events:none;background:#080c149e;border:1px solid #f8fafc59;border-radius:6px;padding:4px 10px;position:fixed;top:calc(50% + 34px);left:50%;transform:translate(-50%)}.door-interaction-prompt[hidden]{display:none}.door-touch-button{--touch-scale:var(--touch-controls-scale,1);right:calc(env(safe-area-inset-right,0px) + 196px * var(--touch-scale));bottom:calc(env(safe-area-inset-bottom,0px) + 96px * var(--touch-scale));z-index:45;width:calc(46px * var(--touch-scale));height:calc(46px * var(--touch-scale));color:#f8fafc;font:700 11px/1 var(--font-code);touch-action:none;background:#080c14b3;border:2px solid #f59e0b;border-radius:50%;position:fixed}body[data-touch-action-side=left] .door-touch-button{right:auto;left:calc(env(safe-area-inset-left,0px) + 196px * var(--touch-scale))}.door-touch-button[hidden]{display:none}.arena-mode-hud{z-index:40;pointer-events:none;font-family:var(--font-code);position:fixed;inset:0}.arena-mode-hud[hidden],.arena-mode-info[hidden],.arena-mode-status[hidden],.arena-mode-queue[hidden]{display:none}.arena-mode-side-detail{font:600 10px/1.2 var(--font-code);letter-spacing:.06em;color:#cbd5e1}.arena-mode-info{color:#a7f3d0;font:600 13px/1.4 var(--font-code);white-space:nowrap;background:#080c14b3;border-radius:999px;padding:3px 12px;position:absolute;top:104px;left:50%;transform:translate(-50%)}.arena-mode-status{color:#f8fafc;font:700 15px/1.3 var(--font-code);background:#080c14d9;border:1px solid #10b981;border-radius:8px;padding:6px 14px;position:absolute;top:calc(50% + 46px);left:50%;transform:translate(-50%)}.arena-mode-queue{color:#e2e8f0;min-width:160px;font:600 12px/1.4 var(--font-code);background:#080c14b8;border:1px solid #94a3b866;border-radius:8px;gap:2px;padding:6px 10px;display:grid;position:absolute;top:140px;right:16px}.arena-mode-queue-title{color:#94a3b8;letter-spacing:.08em;font-size:11px}.arena-mode-queue ol{margin:0;padding-left:18px}.arena-mode-queue li.is-local-player{color:#facc15}.kill-feed{top:calc(84px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:fixed}.kill-feed-entry{border:1px solid var(--color-panel-border);border-radius:var(--radius-control);background:var(--color-panel);max-width:min(420px,100vw - 32px);font:600 12px var(--font-code);align-items:center;gap:8px;padding:3px 8px 3px 3px;transition:opacity;display:flex}.kill-feed-entry.is-local{border-color:var(--color-highlight)}.kill-feed-entry.is-leaving{opacity:0}.kill-feed-participant{min-width:0;color:var(--kill-feed-color,var(--color-text));align-items:center;gap:6px;display:inline-flex}.kill-feed-participant.is-eliminated{flex-direction:row-reverse}.kill-feed-nickname{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.kill-feed-participant.is-eliminated .kill-feed-nickname{opacity:.8}.kill-feed-portrait{border:2px solid var(--kill-feed-color,var(--color-panel-border));width:26px;height:26px;color:var(--color-text-muted);background-color:#020617b3;background-position:50% 3%;background-repeat:no-repeat;background-size:320%;border-radius:6px;flex:none;place-items:center;display:inline-grid}.kill-feed-portrait .game-icon{width:16px;height:16px}.kill-feed-cause{color:var(--color-text-muted);flex:none;display:inline-flex}.kill-feed-cause .game-icon{width:16px;height:16px}.minimap{top:calc(60px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));z-index:4;border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);background:var(--color-panel);cursor:default;pointer-events:none;margin:0;padding:0;display:block;position:absolute;overflow:hidden}.minimap.is-touch{pointer-events:auto;touch-action:manipulation}.minimap-canvas{display:block}.minimap-badge{color:var(--color-text-muted);font:600 10px var(--font-code);background:#020617bf;border-radius:4px;align-items:center;gap:3px;padding:1px 4px;display:inline-flex;position:absolute;bottom:4px;right:4px}.minimap-badge .game-icon{width:12px;height:12px}.minimap-badge kbd{font:inherit}.full-map{z-index:30;pointer-events:none;background:#0206178c;place-content:center;justify-items:center;gap:8px;display:grid;position:fixed;inset:0}.is-touch-device .full-map{pointer-events:auto}.full-map-canvas{border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);background:var(--color-panel);display:block}.full-map-hint{color:var(--color-text-muted);font:600 12px var(--font-code);margin:0}@media (height<=520px){.minimap{top:calc(52px + env(safe-area-inset-top))}.kill-feed{top:calc(64px + env(safe-area-inset-top))}.kill-feed-entry{font-size:11px}.kill-feed-nickname{max-width:80px}}@media (prefers-reduced-motion:reduce){.kill-feed-entry{transition:none}}.wall-scan-banner{top:calc(56px + env(safe-area-inset-top));z-index:5;color:#bbf7d0;text-align:center;pointer-events:none;background:#052e16d9;border:1px solid #22c55e;border-radius:6px;max-width:calc(100vw - 32px);padding:6px 14px;font-size:14px;font-weight:600;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 0 14px #22c55e73}.wall-scan-banner[hidden],.wall-scan-exposure[hidden]{display:none}.wall-scan-exposure{top:calc(96px + env(safe-area-inset-top));z-index:5;color:#fecaca;pointer-events:none;background:#7f1d1dd9;border-radius:999px;padding:4px 10px;font-size:13px;animation:.7s ease-in-out infinite alternate wall-scan-exposure-pulse;position:fixed;left:50%;transform:translate(-50%)}@keyframes wall-scan-exposure-pulse{to{opacity:.6}}.player-nameplate.is-display-nickname .health-bar,.player-nameplate-low-health-marker{display:none}.player-nameplate.is-display-lowHealthMarker{box-shadow:none;background:0 0;border:0;padding:0}.player-nameplate.is-display-lowHealthMarker>:not(.player-nameplate-low-health-marker){display:none}.player-nameplate.is-display-lowHealthMarker .player-nameplate-low-health-marker{background:#ef4444;border:2px solid #fecaca;width:14px;height:14px;animation:.9s ease-in-out infinite alternate low-health-marker-pulse;display:block;transform:rotate(45deg);box-shadow:0 0 12px #ef4444d9}@keyframes low-health-marker-pulse{to{opacity:.55}}.game-menu-button{top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));pointer-events:auto;align-items:center;gap:8px;display:inline-flex;position:absolute}.game-menu-button kbd{border:1px solid var(--color-panel-border);color:var(--color-text-muted);font:600 11px var(--font-code);border-radius:4px;padding:0 5px}.is-touch-device .game-menu-button kbd{display:none}.settings-panel.game-menu{z-index:30;padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));background:#050914db}.settings-window.game-menu-window{grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1100px,100%);height:100%;max-height:none}.game-menu-tabs{border-bottom:1px solid #16273a;gap:4px;padding:8px 14px 0;display:flex}.game-menu-tab{color:var(--color-text-muted);font:600 14px var(--font-code);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;margin:0;padding:9px 16px}.game-menu-tab[aria-selected=true]{color:var(--color-accent);background:#38bdf81a;border-color:#16273a}.game-menu-page{min-height:0;padding:14px;overflow-y:auto}.game-menu-page[hidden],.game-menu-window .settings-content[hidden]{display:none}.game-menu-window .settings-content{min-height:0;overflow-y:auto}.game-menu .room-hud{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:start;width:auto;max-height:none;display:grid;position:static;overflow:visible;transform:none}.game-menu .room-hud[hidden]{display:none}.room-hud-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.owner-controls-panel{gap:8px;display:grid}.owner-controls-panel[hidden]{display:none}.owner-settings-summary{font-family:var(--font-code)}.room-setup-screen{z-index:40;padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));pointer-events:auto;background:#050914eb;place-items:center;display:grid;position:absolute;inset:0}.room-setup-screen[hidden]{display:none}.room-setup-window{border-radius:var(--radius-panel);background:#090e1bf5;border:1px solid #1f3a52;grid-template-rows:auto minmax(0,1fr) auto;width:min(1100px,100%);height:100%;display:grid;overflow:hidden;box-shadow:0 24px 70px #0000008c}.room-setup-header{border-bottom:1px solid #16273a;gap:2px;padding:14px 18px;display:grid}.room-setup-kicker{color:var(--color-accent);font:600 12px var(--font-code)}.room-setup-title{font:800 22px var(--font-code);margin:0}.room-setup-content{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-areas:"mode participants""map participants""map summary";align-content:start;gap:14px 20px;min-height:0;padding:16px 18px;display:grid;overflow-y:auto}.room-setup-content>:first-child{grid-area:mode}.room-setup-content>:nth-child(2){grid-area:map}.room-setup-content>:nth-child(3){grid-area:participants}.room-setup-content>:nth-child(4){grid-area:summary}.room-setup-section{align-content:start;gap:8px;min-width:0;display:grid}.room-setup-section[hidden],.room-setup-visibility[hidden]{display:none}.room-setup-visibility{border-bottom:1px solid #16273a;gap:8px;padding-bottom:10px;display:grid}.room-setup-hint.is-warning{color:var(--color-highlight)}.room-setup-section-title{color:var(--color-text-muted);font:600 13px var(--font-code);margin:0}.room-setup-hint,.room-setup-summary{color:var(--color-text-muted);margin:0;font-size:12px}.room-setup-summary{border:1px dashed var(--color-panel-border);color:var(--color-text);font:600 13px/1.5 var(--font-code);border-radius:8px;align-self:end;padding:10px 12px}.room-setup-segmented{flex-wrap:wrap;gap:6px;display:flex}.room-setup-segment{border:1px solid var(--color-panel-border);color:var(--color-text);font:600 14px var(--font-code);cursor:pointer;background:#0f172acc;border-radius:8px;margin:0;padding:9px 14px}.room-setup-segment:hover{border-color:var(--color-accent)}.room-setup-segment[aria-pressed=true]{background:#16653459;border-color:#22c55e}.room-setup-map-list{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:8px;display:grid}.room-setup-fields{gap:12px;display:grid}.room-setup-field{gap:6px;display:grid}.room-setup-field[hidden]{display:none}.room-setup-label{color:var(--color-text-muted);font:600 13px var(--font-code)}.room-setup-number,.room-setup-select{width:min(180px,100%)}.room-setup-actions{border-top:1px solid #16273a;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.room-setup-actions .primary-button,.room-setup-actions .secondary-button{margin:0}.match-end-screen{z-index:8;padding:24px 16px calc(28px + env(safe-area-inset-bottom));pointer-events:none;background:#05091473;grid-template-rows:minmax(0,1fr);place-items:end center;display:grid;position:absolute;inset:0}.match-end-screen[hidden]{display:none}.match-end-screen.is-host{pointer-events:auto;background:#0509149e;align-items:center}.match-end-center{text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(640px,100%);min-height:0;max-height:100%;display:flex}.match-end-center>*{flex:none}.match-end-kicker{color:var(--color-highlight);font:600 13px var(--font-code)}.match-end-winner{font:800 clamp(22px, 4vw, 38px) / 1.2 var(--font-code);text-shadow:0 2px 18px #000000b3;margin:0}.match-end-waiting{border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);background:var(--color-panel);font:600 16px var(--font-code);margin:0;padding:10px 16px}.match-end-waiting[hidden],.match-end-host-actions[hidden]{display:none}.match-end-host-actions{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));align-self:stretch;gap:12px;width:100%;margin-top:8px;display:grid}.match-end-button{min-height:64px;margin:0;font-size:18px}.match-end-screen.has-summary{background:#050914cc;align-items:safe center;overflow-y:auto}.match-end-summary-slot{display:contents}.match-end-summary-slot .match-result-panel.is-docked{text-align:left;flex:0 auto;width:min(460px,100%);min-height:min(220px,100%);max-height:none;position:relative;top:auto;left:auto;overflow:hidden;transform:none}.match-end-summary-slot .match-result-panel.is-docked[hidden]{display:none}.match-end-secondary-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.match-end-secondary-actions[hidden],.match-end-summary-button[hidden]{display:none}.match-end-summary-button{pointer-events:auto;margin:0}@media (width<=760px){.room-setup-content{grid-template-columns:minmax(0,1fr);grid-template-areas:"mode""map""participants""summary"}}@media (height<=520px){.room-setup-header{padding:8px 14px}.room-setup-title{font-size:18px}.room-setup-content{padding:10px 14px}.game-menu-page{padding:10px}.game-menu-button{top:calc(6px + env(safe-area-inset-top));left:calc(6px + env(safe-area-inset-left))}.match-end-button{min-height:48px}.match-end-screen.has-summary{padding:calc(8px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}.match-end-center.has-summary{grid-template:"summary kicker""summary winner""summary reopen""summary waiting""summary actions"1fr/minmax(0,1.15fr) minmax(0,1fr);align-items:start;column-gap:14px;width:min(900px,100%);display:grid}.match-end-center.has-summary .match-end-kicker{grid-area:kicker}.match-end-center.has-summary .match-end-winner{grid-area:winner;font-size:20px}.match-end-center.has-summary .match-end-secondary-actions{grid-area:reopen}.match-end-center.has-summary .match-end-waiting{grid-area:waiting;font-size:13px}.match-end-center.has-summary .match-end-host-actions{grid-area:actions;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:0}.match-end-summary-slot .match-result-panel.is-docked{width:100%;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));grid-area:summary;gap:8px;padding:10px 12px}.match-end-summary-slot .match-result-panel.is-docked .match-result-content{gap:8px}.match-end-summary-slot .match-result-panel.is-docked .match-result-placement{font-size:30px}}.ability-slot-summary{color:var(--color-text-muted);font:600 11px var(--font-code);margin:0 0 -4px}.combat-hud .combat-actions-row .ability-slot.is-empty-ability-slot{color:#64748b;width:38px;min-width:0;min-height:0;font:600 9px var(--font-code);text-align:center;background:0 0;border-style:dashed;flex:none;grid-template-columns:auto;align-content:center;align-self:stretch;justify-items:center;gap:2px;padding:4px 2px}.ability-empty-slot-icon{width:14px;height:14px}.is-touch-device .ability-slot-summary,.is-touch-device .ability-slot.is-empty-ability-slot .ability-empty-slot-text,.is-touch-device .combat-hud .combat-actions-row .ability-slot.is-empty-ability-slot{display:none}.is-touch-device .combat-hud .combat-actions-row .ability-slot.ultimate-slot{flex-grow:1.25}.combat-hud .combat-actions-row .ability-slot.is-locked-ability-slot{opacity:.7}.combat-hud .combat-actions-row .ability-slot.is-empty-ability-slot .ability-sentence,.combat-hud .combat-actions-row .ability-slot.is-empty-ability-slot .ability-cooldown{display:none}.is-touch-device .ability-empty-slot-icon{width:10px;height:10px}@media (height<=520px){.ability-slot-summary,.ability-slot.is-empty-ability-slot .ability-empty-slot-text{display:none}.combat-hud .combat-actions-row .ability-slot.is-empty-ability-slot{width:22px}}.ability-loadout-picker{border-top:1px solid var(--color-panel-border);gap:6px;margin-top:10px;padding-top:8px;display:grid}.ability-loadout-title{font:700 13px var(--font-code);margin:0}.ability-loadout-hint{color:var(--color-text-muted);margin:0;font-size:11px}.ability-loadout-row{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;font-size:12px;display:grid}.ability-loadout-label{color:var(--color-text-muted);font-family:var(--font-code)}.ability-loadout-select{width:100%;min-width:0;display:block}.ability-loadout-select .game-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ability-loadout-locked{color:#94a3b8;font-style:italic}.production-freeze-notice{z-index:6;border-radius:var(--radius-control);color:#e0f2fe;font:800 16px var(--font-code);text-align:center;pointer-events:none;background:#082f49d9;border:1px solid #38bdf8;padding:8px 16px;position:absolute;top:18%;left:50%;transform:translate(-50%)}.production-freeze-notice.is-frozen{background:#0c4a6ee6;border-color:#7dd3fc}.paid-abilities-room-notice{color:#fbbf24;font:700 12px var(--font-code);margin:4px 0 0}@media (height<=720px){#character-details{grid-template-rows:minmax(140px,200px) auto auto;overflow-y:auto}#character-details .character-details-content{overflow:visible}}.crosshair .crosshair-shape{position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.crosshair.is-disabled .crosshair-shape{display:none}.crosshair-preview-row{flex-wrap:wrap;gap:10px;display:flex}.crosshair-preview-tile{border:1px solid var(--color-panel-border);border-radius:var(--radius-control);background:#475569;width:120px;height:84px;display:grid;position:relative;overflow:hidden}.crosshair-preview-tile.is-crosshair-disabled .crosshair{opacity:.35}.crosshair-preview-tile .crosshair{pointer-events:none}.crosshair-preview-label{color:#e2e8f0;font:600 11px var(--font-code);position:absolute;bottom:4px;left:6px}.crosshair-choice-group{border:1px solid var(--color-panel-border);border-radius:var(--radius-control);background:#0f172a;flex-wrap:wrap;justify-self:start;gap:2px;padding:3px;display:inline-flex}.crosshair-choice{color:var(--color-text-muted);font:600 13px var(--font-code);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.crosshair-choice[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-text)}.crosshair-choice:focus-visible,.crosshair-stepper-button:focus-visible{outline:2px solid var(--color-highlight);outline-offset:1px}.crosshair-color-swatch{border:1px solid #0009;border-radius:50%;width:12px;height:12px}.crosshair-stepper{border:1px solid var(--color-panel-border);border-radius:var(--radius-control);background:#0f172a;justify-self:start;align-items:center;gap:4px;padding:3px;display:inline-flex}.crosshair-stepper-button{width:32px;height:28px;color:var(--color-text);font:700 16px var(--font-code);cursor:pointer;background:#1e293b;border:0;border-radius:6px}.crosshair-stepper-button:disabled{color:#475569;cursor:default}.crosshair-stepper-value{min-width:64px;color:var(--color-highlight);font:700 14px var(--font-code);text-align:center}.crosshair-restore-button{justify-self:start}.match-result-placement{color:var(--color-text);font:800 clamp(34px, 6vw, 52px) / 1 var(--font-interface);letter-spacing:-.5px;margin:4px 0 0;animation:.42s ease-out match-result-placement-enter}.match-result-panel.is-victory .match-result-placement{color:var(--color-highlight)}.match-result-placement-detail{color:var(--color-text);font:700 15px var(--font-code);margin:6px 0 0}@keyframes match-result-placement-enter{0%{opacity:0;transform:scale(1.18)}}.match-result-details{gap:14px;display:grid}.match-result-panel:not(.is-details-revealed) .match-result-details{display:none}.match-result-panel.is-details-revealed .match-result-details{animation:.32s ease-out match-result-details-enter}@keyframes match-result-details-enter{0%{opacity:0;transform:translateY(8px)}}.match-result-level-title.is-level-up{color:var(--color-health);animation:.48s ease-out match-result-level-up}@keyframes match-result-level-up{40%{transform:scale(1.12)}}.placement-banner{z-index:7;border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);pointer-events:none;background:#080d1adb;justify-items:center;gap:4px;padding:14px 28px;animation:.36s ease-out placement-banner-enter;display:grid;position:absolute;top:26%;left:50%;transform:translate(-50%)}.placement-banner-placement{color:var(--color-text);font:800 clamp(40px, 8vw, 72px) / 1 var(--font-interface)}.placement-banner-detail{color:var(--color-text-muted);font:600 14px var(--font-code)}@keyframes placement-banner-enter{0%{opacity:0;transform:translate(-50%)scale(1.2)}}.match-scoreboard-panel{z-index:45;width:min(620px,100vw - 24px);max-height:calc(var(--app-viewport-height,100dvh) - 24px);border:1px solid var(--color-panel-border);border-radius:var(--radius-panel);pointer-events:auto;background:#0b1222;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:18px 20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #0000008c}.match-scoreboard-panel>.window-close-button{top:10px;right:10px}.match-scoreboard-title{font:800 22px var(--font-interface);margin:0;padding-right:40px}.match-scoreboard-table-wrapper{overscroll-behavior:contain;min-height:0;overflow-y:auto}.match-scoreboard-table{border-collapse:collapse;width:100%;font:600 14px var(--font-code)}.match-scoreboard-table th{color:var(--color-text-muted);text-align:left;background:#0b1222;padding:6px 8px;font-size:12px;position:sticky;top:0}.match-scoreboard-table td{border-top:1px solid #1e293b;padding:7px 8px}.match-scoreboard-table .is-placement{white-space:nowrap;width:1%}.match-scoreboard-table .is-number{text-align:right;white-space:nowrap;width:1%}.match-scoreboard-table .is-nickname{overflow-wrap:anywhere}.match-scoreboard-table tr.is-winner .is-placement{color:var(--color-highlight)}.match-scoreboard-table tr.is-local-player td{background:#22c55e1f}.match-scoreboard-team{background:var(--team-color);border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.match-scoreboard-bot,.match-scoreboard-you{color:var(--color-text-muted);background:#1e293b;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:11px}.match-scoreboard-you{color:var(--color-health);background:#22c55e33}.match-scoreboard-back{margin:0}@media (height<=520px){.match-scoreboard-panel{gap:8px;padding:10px 14px}.match-scoreboard-title{font-size:18px}.match-scoreboard-table td{padding:5px 8px}}
