:root{--bg: #0d1117;--panel: rgba(16, 22, 32, .86);--panel-solid: #141b26;--line: rgba(255, 255, 255, .08);--text: #e8edf5;--muted: #8b97a8;--accent: #ffc145;--accent-ink: #1b1300;--blue: #4c97ff;--red: #ff5d6b;--ok: #4ade80;--radius: 12px;--edge: rgba(214, 186, 128, .14);--edge-strong: rgba(214, 186, 128, .28);--gold: #d6b46a;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Bahnschrift SemiCondensed", "Bahnschrift", "Avenir Next Condensed", "Roboto Condensed", "sans-serif-condensed", "Arial Narrow", var(--font);--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);user-select:none;-webkit-user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}button,[role=button]{touch-action:manipulation}#game{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}#world-overlay,#hud,#ui,#toasts{position:fixed;inset:0;pointer-events:none}#ui>*,#hud button,.toast{pointer-events:auto}.icon{width:1em;height:1em;flex:none;display:block}.screen{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(20px + env(safe-area-inset-top)) calc(clamp(16px,4vw,48px) + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(clamp(16px,4vw,48px) + env(safe-area-inset-left));background:radial-gradient(ellipse 120% 90% at 50% 40%,#070a108c,#070a10eb),linear-gradient(#070a1040,#070a1040);overflow-y:auto}.screen-center{align-items:center;justify-content:center}.panel,.card{position:relative;background:linear-gradient(180deg,#151c28f0,#0c1018f2);border:1px solid var(--edge);border-radius:3px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px -24px #000c,inset 0 1px #ffffff09}.panel:before,.panel:after{content:"";position:absolute;width:12px;height:12px;border:0 solid var(--gold);pointer-events:none}.panel:before{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}.panel:after{right:-1px;bottom:-1px;border-right-width:2px;border-bottom-width:2px}h2,h3{margin:0}h2{font-size:18px}h3{font-size:15px}.muted{color:var(--muted);margin:0}.small{font-size:12px}.hint{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}.hint b{color:var(--text);font-weight:700}kbd{font-family:var(--mono);font-size:11px;padding:1px 5px;border-radius:3px;border:1px solid var(--edge-strong);border-bottom-width:2px;color:var(--text)}.section-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1;font-family:var(--display);font-stretch:condensed;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--edge-strong),transparent)}.section-count{font-family:var(--mono);font-size:11px;letter-spacing:0;color:var(--muted)}.section-count:empty{display:none}.brand{display:flex;align-items:center;gap:14px}.emblem{width:64px;height:64px;flex:none;filter:drop-shadow(0 4px 14px rgba(255,193,69,.18))}.logo{margin:0;display:flex;flex-direction:column;font-family:var(--display);font-stretch:condensed;font-weight:800;text-transform:uppercase;line-height:.86;color:#f3ead6}.logo span:first-child{font-size:58px;letter-spacing:.03em}.logo span:last-child{margin-top:6px;font-size:17px;letter-spacing:.62em;color:var(--accent)}.brand-sm{gap:10px}.brand-sm .emblem{width:34px;height:34px}.brand-sm .logo{flex-direction:row;align-items:baseline;gap:7px}.brand-sm .logo span:first-child{font-size:24px}.brand-sm .logo span:last-child{margin:0;font-size:13px;letter-spacing:.4em}.screen-title{justify-content:center;align-items:flex-start;padding-left:calc(clamp(16px,7vw,120px) + env(safe-area-inset-left));background:linear-gradient(90deg,#070a10f2 0,#070a10d1 30%,#070a1040 62%,#070a1014)}.title-panel{width:min(380px,100%);display:flex;flex-direction:column;gap:14px}.tagline{margin:2px 0 18px;padding-left:2px;font-size:14px;color:#b4bccb}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-family:var(--display);font-stretch:condensed;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.kbd-hint{margin:-4px 0 0;font-size:12px;color:var(--muted);text-align:center}.is-touch .kbd-hint{display:none}.title-foot{position:absolute;left:calc(clamp(16px,7vw,120px) + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));display:flex;gap:14px;font-family:var(--display);font-stretch:condensed;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#d6c8aa8c}.title-foot span+span:before{content:"";display:inline-block;width:4px;height:4px;margin-right:14px;vertical-align:middle;transform:rotate(45deg);background:var(--gold);opacity:.6}@media(max-width:700px){.screen-title{align-items:center;padding-left:calc(20px + env(safe-area-inset-left));background:linear-gradient(0deg,#070a10f2 0,#070a10cc 55%,#070a1059)}.title-foot{left:0;right:0;justify-content:center}}@media(max-height:520px){.title-panel{gap:10px}.emblem{width:46px;height:46px}.logo span:first-child{font-size:42px}.logo span:last-child{font-size:13px;margin-top:4px}.tagline{margin:0 0 4px;font-size:13px}.title-foot{display:none}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-right:48px}.player-chip{display:flex;align-items:center;gap:8px;min-width:0;padding:4px 12px 4px 4px;border:1px solid var(--edge);border-radius:3px;background:#0a0e14bf;font-size:13px}.player-avatar{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:2px;background:linear-gradient(160deg,#ffd56b,#d8961f);color:var(--accent-ink);font-family:var(--display);font-weight:800;font-size:15px}.player-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-id{font-family:var(--mono);font-size:11px;color:var(--muted)}.input{width:100%;background:#03060a8c;border:1px solid var(--edge-strong);border-radius:2px;color:var(--text);padding:10px 12px;font:inherit;outline:none;user-select:text;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:#8b97a899}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ffc1451f}.input-lg{font-size:18px;padding:13px 14px}.input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}.input-wrap>.icon{position:absolute;left:11px;width:16px;height:16px;color:var(--muted);pointer-events:none}.input-wrap>.input{padding-left:36px}.btn{font:inherit;font-weight:700;border:1px solid transparent;border-radius:8px;padding:10px 16px;cursor:pointer;transition:transform .06s ease,filter .15s ease,background .15s ease,border-color .15s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{background:#ffffff0f;color:var(--text);border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:#ffffff1f}.btn-lg{font-size:18px;padding:14px}.btn-sm{padding:6px 12px;font-size:13px}.screen .btn,.install-box .btn{--cut: 9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:2px;font-family:var(--display);font-stretch:condensed;font-size:15px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.screen .btn .icon,.install-box .btn .icon{width:17px;height:17px}.screen .btn-primary,.install-box .btn-primary{border:0;background:linear-gradient(180deg,#ffd978,#f6b532 55%,#e29a1d);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #78420059;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}.screen .btn-primary:disabled,.install-box .btn-primary:disabled{opacity:1;background:#2a3240;color:#7d8797;box-shadow:none}.screen .btn-ghost{background:#ffffff08;border-color:var(--edge-strong);color:#d9dfe8}.screen .btn-ghost:hover:not(:disabled){background:#ffc14514;border-color:#ffc14580;color:#fff}.screen .btn-lg{--cut: 12px;font-size:19px;padding:14px 18px}.screen .btn-sm{--cut: 6px;font-size:13px;padding:6px 10px;gap:4px}.screen .btn-sm .icon{width:14px;height:14px}.screen .btn-play{justify-content:space-between;padding-left:22px;padding-right:18px}.screen .btn-play .icon{width:22px;height:22px;transition:transform .15s ease}.screen .btn-play:hover:not(:disabled) .icon{transform:translate(3px)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{font:inherit;width:34px;height:34px;flex:none;display:inline-grid;place-items:center;padding:0;border-radius:2px;border:1px solid var(--edge-strong);background:#ffffff08;color:#c9d1dd;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.icon-btn:hover{color:var(--accent);border-color:#ffc14580}.icon-btn .icon{width:17px;height:17px}.icon-btn-sm{width:28px;height:28px;border-color:transparent;background:transparent}.icon-btn.is-spinning .icon{animation:spin .6s ease-out}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segmented-2{grid-template-columns:repeat(2,1fr)}.seg{font:inherit;display:flex;align-items:center;justify-content:center;gap:7px;color:#b9c2cf;background:#ffffff06;border:1px solid var(--edge);border-radius:2px;padding:9px 0;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.seg .icon{width:16px;height:16px}.seg:hover{color:var(--text);border-color:var(--edge-strong)}.seg.is-active{color:var(--accent);border-color:#ffc14599;background:#ffc14514;box-shadow:inset 0 -2px 0 var(--accent)}.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mode-card{font:inherit;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 8px;border-radius:2px;border:1px solid var(--edge);background:#ffffff06;color:#9aa5b5;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.mode-card .mode-icon{width:34px;height:34px;margin-bottom:3px}.mode-card strong{font-family:var(--display);font-stretch:condensed;font-size:18px;letter-spacing:.04em;color:var(--text)}.mode-card span{font-size:11px}.mode-card:hover{border-color:var(--edge-strong)}.mode-card.is-active{color:var(--accent);border-color:#ffc14599;background:linear-gradient(180deg,#ffc1451f,#ffc14508);box-shadow:inset 0 -2px 0 var(--accent)}.mode-card.is-active strong{color:#fff3d2}.browser{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.panel-create{width:330px;max-width:100%}.panel-list{flex:1 1 300px;min-width:0;min-height:300px}.panel-create .section-title+.input{margin-top:2px}.panel-create>.btn-primary{margin-top:4px}.panel-create>.section-title:not(:first-child){margin-top:12px}@media(max-width:700px){.panel-create{width:100%}}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-end{display:flex;justify-content:flex-end;gap:10px}.join-code{display:flex;gap:8px}.join-code .input-code{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase}.lobby-list{display:flex;flex-direction:column;gap:6px}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:44px 16px;text-align:center;border:1px dashed var(--edge);border-radius:2px}.empty strong{font-family:var(--display);font-stretch:condensed;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:#c8cfda}.empty-icon{width:40px;height:40px;margin-bottom:4px;color:#d6be8c66}.lobby-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:9px 10px 9px 9px;border-radius:2px;background:#ffffff06;border:1px solid var(--edge);border-left:2px solid rgba(255,193,69,.45);transition:background .15s ease,border-color .15s ease}.lobby-row:hover{background:#ffffff0d}.lobby-row.is-playing{border-left-color:#ffffff1f}.lobby-row-mode{display:flex;align-items:center;gap:8px;color:var(--accent)}.lobby-row-mode .mode-icon{width:30px;height:30px}.lobby-row-mode b{font-family:var(--display);font-stretch:condensed;font-size:16px;color:var(--text);min-width:2.2em}.lobby-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.lobby-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-row-host{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);min-width:0}.lobby-row-host span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-row-host .icon{width:12px;height:12px;color:#ffc145b3}.lobby-row-fill{display:flex;align-items:center;gap:8px}.pips{display:flex;gap:3px}.pips i{width:5px;height:12px;border-radius:1px;background:#ffffff1a}.pips i.on{background:var(--accent)}.lobby-row-count{font-family:var(--mono);font-size:12px;color:var(--muted);min-width:3.4em;text-align:right}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);min-width:5em}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-open{color:var(--ok)}.status-live{color:#f59e42}.lobby-row .btn-sm{min-width:78px}.panel-list{container-type:inline-size}.panel-list>.row-between{margin:-7px 0 -2px}@container (max-width: 640px){.pips,.lobby-row .status{display:none}.lobby-row{grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px}}@container (max-width: 420px){.lobby-row-mode b{display:none}.lobby-row-count{min-width:0}}.lobby-room{width:min(1280px,100%);margin:0 auto;gap:16px}.room-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px}.room-title{display:flex;align-items:center;gap:12px;min-width:0}.room-title h2{font-family:var(--display);font-stretch:condensed;font-size:24px;letter-spacing:.02em;overflow-wrap:anywhere}.room-mode-icon{width:44px;height:44px;flex:none;color:var(--accent)}.room-code{display:flex;align-items:center;gap:8px}.vis-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:2px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#9fd0a8;background:#4ade8014;border:1px solid rgba(74,222,128,.22)}.vis-pill.is-private{color:#c9b8ff;background:#a78bfa1a;border-color:#a78bfa4d}.vis-pill .icon{width:14px;height:14px}.code-box{font:inherit;display:inline-flex;align-items:center;gap:10px;padding:5px 10px;border-radius:2px;border:1px dashed rgba(255,193,69,.45);background:#ffc1450d;color:var(--muted);cursor:pointer;transition:background .15s ease}.code-box:hover{background:#ffc1451f;color:var(--accent)}.code-box .icon{width:16px;height:16px}.code-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.code-value{font-family:var(--mono);font-size:17px;font-weight:700;letter-spacing:.22em;color:#fff3d2;user-select:all}.teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.team-col{--team-c: var(--blue);border-radius:2px;padding:0 12px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--team-c) 9%,transparent),transparent 70%),#0000002e;border:1px solid var(--edge);border-top:2px solid var(--team-c);display:flex;flex-direction:column;gap:8px}.team-col.team-1{--team-c: var(--red)}.team-head{display:flex;align-items:center;gap:10px;min-height:44px}.team-head h3{font-family:var(--display);font-stretch:condensed;font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--team-c)}.team-count{font-family:var(--mono);font-size:12px;color:var(--muted)}.team-head .btn{margin-left:auto;min-height:0}.slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.slot{display:flex;align-items:center;gap:10px;padding:5px 8px 5px 5px;border-radius:2px;background:#080b118c;border:1px solid transparent;min-height:46px}.slot.is-me{border-color:#ffc14573;background:linear-gradient(90deg,#ffc1451a,#080b118c 60%)}.slot-face{--hero: #3a4252;position:relative;width:36px;height:36px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:2px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--hero) 55%,#1b2230),#0c1018);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hero) 70%,transparent);font-family:var(--display);font-weight:800;font-size:17px;color:#fffc}.slot-face img{width:100%;height:100%;object-fit:cover;pointer-events:none}.slot-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.slot-name,.slot-hero{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-name{font-size:14px}.slot-hero{font-size:12px;font-weight:700}.slot-state{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}.slot-state .icon{width:15px;height:15px}.slot-state.is-host{color:var(--accent)}.slot-state.is-ready{color:var(--ok)}.slot-empty{color:#8b97a8b3;font-size:13px;background:transparent;border:1px dashed var(--edge)}.slot-empty .slot-face{background:#ffffff05;box-shadow:none}.slot-actions{display:flex;gap:4px}.slot-act{font:inherit;width:28px;height:28px;display:grid;place-items:center;padding:0;border-radius:2px;border:1px solid var(--edge);background:#ffffff08;color:#b9c2cf;cursor:pointer}.slot-act .icon{width:15px;height:15px}.slot-act:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.slot-act:disabled{opacity:.35;cursor:default}.slot-kick:hover:not(:disabled){border-color:var(--red);color:var(--red)}.room-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.room-status{margin-right:auto}.btn-wide{min-width:190px}.panel-notice{width:min(380px,100%);align-items:center;text-align:center;padding:30px 26px 26px}.panel-notice h2{font-family:var(--display);font-stretch:condensed;font-size:24px;letter-spacing:.08em;text-transform:uppercase}.panel-notice .btn{align-self:stretch;margin-top:6px}.notice-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,93,107,.35);background:#ff5d6b14;color:var(--red)}.notice-icon .icon{width:26px;height:26px}.badge{font-weight:800;font-size:12px;padding:4px 8px;border-radius:6px;background:#ffc14526;color:var(--accent)}.count{font-family:var(--mono);color:var(--muted)}#toasts{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding-top:18px;z-index:10}.toast{background:var(--panel-solid);border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-size:14px;transition:opacity .4s ease,transform .4s ease}.toast-error{border-color:#ff5d6b99}.toast-out{opacity:0;transform:translateY(-6px)}.hud-top-left{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.hud-title{font-weight:800;font-size:14px;text-shadow:0 1px 2px #000}.hud-stats{margin:0;font-family:var(--mono);font-size:11px;line-height:1.5;padding:8px 10px;border-radius:8px;background:#00000080;color:#cfe3ff}.hud-top-right{position:absolute;top:12px;right:12px;display:flex;gap:8px;align-items:center}.hud-badge{font-size:12px;font-weight:700;padding:6px 10px;border-radius:6px;background:#00000080}.hud-badge.is-free{color:var(--accent)}kbd{font-family:var(--mono);font-size:11px;padding:1px 5px;border-radius:4px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18)}.nameplate{position:absolute;left:0;top:0;width:76px;will-change:transform;display:flex;flex-direction:column;align-items:stretch;gap:2px}.np-name{font-size:11px;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #000,0 0 2px #000}.np-hp,.np-mana{position:relative;background:#000000b3;border:1px solid rgba(0,0,0,.9);border-radius:2px;overflow:hidden}.np-hp{height:8px}.np-mana{height:3px}.np-hp .bar-fill,.np-mana .bar-fill,.bar-shield{position:absolute;top:0;bottom:0;left:0;transition:width .12s linear}.bar-shield{background:#e8f1ff}.np-mana .bar-fill{background:#4c8dff}.rel-self .np-name{color:#c9ffd9}.rel-self .np-hp .bar-fill{background:linear-gradient(#7dff9e,#3fcf68)}.rel-ally .np-name{color:#a9cdff}.rel-ally .np-hp .bar-fill{background:linear-gradient(#7ab6ff,#3d7be0)}.rel-enemy .np-name{color:#ffb3ba}.rel-enemy .np-hp .bar-fill{background:linear-gradient(#ff7b86,#d63a48)}.dmg{position:absolute;left:0;top:0;font-weight:900;font-size:15px;will-change:transform,opacity;text-shadow:0 1px 2px #000,0 0 3px #000;pointer-events:none}.dmg-phys{color:#ffb366}.dmg-magic{color:#c69bff}.dmg-true{color:#fff}.dmg-self{color:#ff5a5a}.dmg-heal{color:#7dff9a}.dmg-big{font-size:20px}.hud-layer{position:absolute;inset:0;pointer-events:none}.hud-help{position:absolute;bottom:12px;left:12px;font-size:11px;line-height:1.9;color:#d7dde6;background:#00000073;padding:6px 10px;border-radius:8px}.hud-alert{position:absolute;left:50%;bottom:168px;transform:translate(-50%);font-weight:800;font-size:15px;color:#ffd2d2;text-shadow:0 1px 3px #000;opacity:0;transition:opacity .2s ease}.hud-alert.is-on{opacity:1}.death-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:radial-gradient(ellipse at center,#28000026,#1400008c);filter:saturate(.6)}.death-title{font-size:34px;font-weight:900;letter-spacing:.04em;color:#ff6b6b;text-shadow:0 2px 8px #000}.death-timer{font-size:16px;font-weight:700;text-shadow:0 1px 3px #000}body.cursor-attack #game{cursor:crosshair}.scorebar{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:6px 14px;border-radius:8px;background:#0000008c;font-weight:900;font-size:18px}.sc-blue{color:var(--blue)}.sc-red{color:var(--red)}.sc-clock{font-family:var(--mono);font-size:13px;font-weight:600;color:#cfd6e0}.scoreboard{position:absolute;top:60px;left:50%;transform:translate(-50%);width:min(720px,calc(100vw - 24px));display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:14px;border-radius:12px;background:#0a0e14eb;border:1px solid var(--line)}.sb-team h3{margin-bottom:8px}.sb-team.team-0 h3{color:var(--blue)}.sb-team.team-1 h3{color:var(--red)}.sb-team table{width:100%;border-collapse:collapse;font-size:13px}.sb-team th{text-align:left;color:var(--muted);font-weight:600;font-size:11px;padding:4px 6px}.sb-team td{padding:6px;border-top:1px solid var(--line)}.sb-team tr.is-me td{background:#ffc14514}.sb-hero{font-weight:800}.sb-kda{font-family:var(--mono)}.killfeed{position:absolute;top:56px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.kf-row{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;background:#0009;font-size:12px;transition:opacity .4s ease}.kf-row.kf-self{outline:1px solid rgba(255,193,69,.6)}.kf-out{opacity:0}.kf-name.team-0{color:#a9cdff}.kf-name.team-1{color:#ffb3ba}.kf-sword{color:#ddd}.abilitybar{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;gap:10px;padding:10px;border-radius:14px;background:#0a0e14db;border:1px solid var(--line);pointer-events:auto}.ab-portrait{width:74px;height:74px;align-self:center;border-radius:50%;border:2px solid;background:linear-gradient(160deg,#2b3445,#141b26);display:flex;flex-direction:column;align-items:center;justify-content:center}.ab-portrait-face{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}.ab-portrait.has-face .ab-portrait-initial,.ab-portrait.has-face .ab-portrait-role{display:none}.ab-portrait-initial{font-size:34px;font-weight:900;font-style:italic;line-height:1}.ab-portrait-role{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.ab-main{display:flex;flex-direction:column;gap:6px}.ab-row{display:flex;gap:6px}.ab-slot{position:relative;width:52px;height:52px;border-radius:8px;background:linear-gradient(160deg,#3a4560,#1c2333);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;overflow:hidden}.ab-passive{width:38px;background:linear-gradient(160deg,#4a3a20,#241b10)}.ab-abbr{font-weight:900;font-size:17px;color:#f1e3c0}.ab-key{position:absolute;left:3px;top:2px;font-size:10px;font-weight:800;color:#ffd27a}.ab-cost{position:absolute;right:3px;bottom:2px;font-size:9px;color:#8fb7ff}.ab-stacks{position:absolute;right:3px;bottom:2px;font-size:11px;font-weight:900;color:#ffd27a}.ab-cd{position:absolute;inset:0;background:conic-gradient(rgba(0,0,0,.72) var(--p, 0%),transparent 0);pointer-events:none}.ab-cd-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:#fff;text-shadow:0 1px 2px #000;pointer-events:none}.ab-slot.is-nomana{box-shadow:inset 0 0 0 2px #4c8dffb3;filter:saturate(.4)}.ab-slot.is-locked{filter:grayscale(1) brightness(.6)}.ab-slot.is-aiming{border-color:var(--accent);box-shadow:0 0 12px #ffc14599}.ab-bar{position:relative;height:14px;border-radius:4px;background:#0009;overflow:hidden}.ab-bar-mana{height:10px}.ab-fill{position:absolute;top:0;bottom:0;left:0;transition:width .12s linear}.ab-hp{background:linear-gradient(#6be08a,#2f9e52)}.ab-shield{background:#e8f1ff}.ab-mana{background:linear-gradient(#6fa3ff,#2f63c9)}.ab-bar-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;text-shadow:0 1px 1px #000}.ab-stats{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-content:center;font-size:11px}.ab-stat{display:contents}.ab-stat span{color:var(--muted)}.ab-stat b{font-family:var(--mono);text-align:right}.ab-tooltip{position:fixed;transform:translate(-50%,-100%);width:260px;padding:10px 12px;border-radius:8px;background:#0a0e14f5;border:1px solid rgba(255,193,69,.35);font-size:12px;pointer-events:none;z-index:5}.ab-tooltip p{margin:6px 0 0;line-height:1.4}.ab-tt-meta{color:var(--muted);font-size:11px;margin-top:2px}@media(max-width:760px){.ab-stats,.hud-help{display:none}.ab-slot{width:44px;height:44px}.ab-portrait{width:54px;height:54px}}.hero-select{--team: var(--accent);display:grid;grid-template-columns:minmax(230px,.9fr) minmax(260px,1fr) minmax(320px,1.25fr);gap:14px;align-items:stretch;min-height:460px}.hs-roster,.hs-details{display:flex;flex-direction:column;gap:10px;min-width:0}.hs-filters{display:flex;flex-wrap:wrap;gap:2px 4px;border-bottom:1px solid var(--edge)}.hs-chip{font:inherit;font-size:12px;font-weight:600;padding:5px 2px 6px;margin-right:10px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.hs-chip:hover{color:var(--text)}.hs-chip.is-active{color:var(--accent);border-bottom-color:var(--accent)}.hs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;align-content:start}.hs-tile{--hero: #888;font:inherit;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;border-radius:3px;background:linear-gradient(170deg,color-mix(in srgb,var(--hero) 22%,transparent),#ffffff08);border:2px solid var(--edge);cursor:pointer;transition:transform .08s ease,border-color .15s ease,background .15s ease}.hs-tile[hidden]{display:none}.hs-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--hero) 70%,transparent)}.hs-tile.is-picked{border-color:var(--team);box-shadow:0 0 0 1px var(--team),0 0 14px color-mix(in srgb,var(--team) 45%,transparent)}.hs-tile-emblem{position:relative;overflow:hidden;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;color:#10131a;background:var(--hero)}.hs-tile-emblem.has-face{background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--hero) 55%,#1b2230),#10131a);box-shadow:inset 0 0 0 2px var(--hero)}.hs-tile-face{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;pointer-events:none}.hs-tile-name{font-weight:800;font-size:13px}.hs-tile-class{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.hs-stage{position:relative;border-radius:3px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--team) 18%,#1b2232),#0d121b 75%);border:1px solid var(--edge);min-height:360px;max-height:560px}.hero-preview-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.hero-preview-canvas:active{cursor:grabbing}.hs-stage-hint{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:11px;color:var(--muted);pointer-events:none}.hs-details{overflow-y:auto;max-height:560px;padding-right:4px}.hs-name-row{display:flex;align-items:center;gap:10px}.hs-name-row h2{font-size:26px;font-weight:900}.hs-difficulty{display:flex;gap:3px;margin-left:auto}.hs-difficulty i{width:14px;height:6px;border-radius:3px;background:#ffffff26}.hs-difficulty i.on{background:var(--accent)}.hs-title{margin:2px 0 6px;font-style:italic;color:#cdd6e3}.hs-tags{display:flex;flex-wrap:wrap;gap:5px}.hs-tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:#ffffff0f;color:#cdd6e3}.hs-tag-class{background:#ffc14526;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.hs-tag-sm{font-size:10px;padding:2px 6px;color:var(--muted)}.hs-weapon{margin-top:6px}.hs-lore{margin:0;font-size:13px;line-height:1.5;color:#b9c4d4}.hs-section{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.hs-level-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.hs-level{width:110px;accent-color:var(--accent)}.hs-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.hs-stat{display:grid;grid-template-columns:92px 1fr 42px;align-items:center;gap:8px;font-size:12px}.hs-stat-label{color:var(--muted)}.hs-stat b{text-align:right;font-family:var(--mono)}.hs-stat-bar{height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.hs-stat-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 60%,#fff),var(--accent))}.hs-abilities{display:flex;gap:6px}.hs-ability{font:inherit;position:relative;width:46px;height:46px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,#3a4560,#1c2333);color:#f1e3c0;cursor:pointer}.hs-ability:first-child{background:linear-gradient(160deg,#4a3a20,#241b10)}.hs-ability.is-active{border-color:var(--accent);box-shadow:0 0 10px #ffc1458c}.hs-ability-abbr{font-weight:900;font-size:15px}.hs-ability-key{position:absolute;left:3px;top:2px;font-size:10px;font-weight:800;color:#ffd27a}.hs-ability-detail{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:#ffffff0a;border:1px solid var(--line)}.hs-slot-label{font-size:11px;font-weight:800;color:var(--accent);text-transform:uppercase}.hs-desc{margin:0;font-size:13px;line-height:1.5}@media(max-width:1100px){.hero-select{grid-template-columns:1fr 1fr}.hs-details{grid-column:1 / -1;max-height:none}}@media(max-width:700px){.hero-select{grid-template-columns:1fr}.hs-stage{min-height:300px}.hs-stats{grid-template-columns:1fr}}@media(max-width:1100px){.scorebar{top:58px}.killfeed{top:100px}}.minimap,.shop,.end-screen,.ab-gold,.ab-item{pointer-events:auto}.minimap{position:absolute;right:12px;bottom:12px;border-radius:8px;border:2px solid rgba(255,255,255,.16);box-shadow:0 4px 16px #00000080;cursor:crosshair;transform-origin:bottom right}@media(max-width:1100px){.minimap{transform:scale(.7)}}.ab-portrait{position:relative}.ab-level{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);min-width:24px;padding:1px 6px;border-radius:999px;background:#141b26;border:1px solid var(--accent);color:var(--accent);font-weight:900;font-size:12px;text-align:center}.ab-xp{position:absolute;top:6px;bottom:6px;right:-7px;width:4px;border-radius:2px;background:#0009;display:flex;align-items:flex-end;overflow:hidden}.ab-xp-fill{width:100%;background:linear-gradient(#d8b4ff,#8a5cff);transition:height .2s ease}.ab-side{display:flex;flex-direction:column;gap:6px;justify-content:space-between}.ab-inventory{display:grid;grid-template-columns:repeat(3,32px);gap:4px}.ab-item{position:relative;width:32px;height:32px;border-radius:6px;overflow:hidden;background:linear-gradient(160deg,#3d3220,#1d170e);border:1px solid rgba(255,210,122,.35)}.ab-item-icon,.ab-item-img{position:absolute;inset:0;width:100%;height:100%}.ab-item-key{position:absolute;left:2px;top:0;font-size:9px;font-weight:900;color:#ffffffbf;text-shadow:0 0 2px #000,0 0 2px #000;pointer-events:none}.ab-item.is-empty .ab-item-key{color:#fff3}.ab-item-count{position:absolute;right:2px;bottom:0;font-size:10px;font-weight:900;color:#fff;text-shadow:0 0 2px #000,0 0 3px #000;pointer-events:none}.ab-item-cd{position:absolute;left:0;right:0;bottom:0;height:0;background:#0000009e;pointer-events:none}.ab-item-cd-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff;text-shadow:0 0 3px #000;pointer-events:none}.ab-item.has-active{cursor:pointer}.ab-item.is-empty{background:#00000059;border-color:#ffffff14}.ab-item.can-sell{cursor:pointer}.ab-gold{font:inherit;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:#ffc1451f;border:1px solid rgba(255,193,69,.35);color:var(--accent);cursor:pointer}.ab-gold:hover{background:#ffc14538}.ab-coin{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff2b8,#e0a72e)}.ab-gold-value{font-weight:900;font-family:var(--mono)}.ab-shop-label{font-size:9px;color:var(--muted);margin-left:auto}.ab-slot.is-ultlocked{filter:grayscale(1) brightness(.45)}.ab-pips{position:absolute;left:3px;right:3px;bottom:2px;display:flex;gap:2px;pointer-events:none}.ab-pips i{flex:1;height:3px;border-radius:2px;background:#ffffff2e}.ab-pips i.on{background:#ffd27a}.ab-slot .ab-cost{bottom:7px}.ab-rankup{display:none;position:absolute;right:2px;top:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#ffc145;color:#1a1206;font-weight:900;font-size:14px;line-height:18px;cursor:pointer;z-index:2;box-shadow:0 0 8px #ffc145e6;animation:rankup-pulse 1s ease-in-out infinite}.ab-slot.can-rank .ab-rankup{display:block}.ab-slot.is-ultlocked.can-rank{filter:none}.ab-slot.is-recast{border-color:#b98cff;box-shadow:0 0 12px #b98cffbf}@keyframes rankup-pulse{50%{transform:scale(1.15)}}.dmg-gold{color:#ffd34d;font-size:13px}.sb-level{font-family:var(--mono);color:var(--accent)}.shop{position:absolute;top:70px;left:50%;transform:translate(-50%);width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 260px);overflow-y:auto;padding:16px;border-radius:12px;background:#0a0e14f2;border:1px solid rgba(255,193,69,.3);display:flex;flex-direction:column;gap:10px;z-index:4}.shop h3{margin:6px 0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.shop-status{margin:0;font-size:13px;color:var(--accent)}.shop-tabs{display:flex;flex-wrap:wrap;gap:6px}.shop-tab{font:inherit;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:#ffffff0d;border:1px solid var(--line);color:var(--muted);cursor:pointer}.shop-tab.is-active{color:#1a1206;background:var(--accent);border-color:var(--accent)}.shop-body{display:grid;grid-template-columns:1fr 260px;grid-template-rows:minmax(0,1fr);gap:14px;flex:1 1 auto;min-height:0}.shop-list{min-width:0;overflow-y:auto;padding-right:4px}.shop-detail{overflow-y:auto;max-height:100%}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}.shop-card{font:inherit;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 3px;border-radius:8px;background:#ffffff08;border:1px solid transparent;cursor:pointer}.shop-card:hover{background:#ffc14514}.shop-card.is-selected{border-color:var(--accent);background:#ffc1451f}.shop-card.is-blocked .shop-card-icon{filter:grayscale(.7) brightness(.6)}.shop-card.is-owned:after{content:"✓";position:absolute;top:2px;right:4px;font-size:11px;font-weight:900;color:#7dff9a}.shop-card-icon{width:48px;height:48px}.shop-price{font-size:11px;font-weight:800;font-family:var(--mono);color:var(--accent)}.shop-card.is-blocked .shop-price{color:var(--muted)}.shop-detail{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;background:#ffffff0a;border:1px solid var(--line);align-self:start;position:sticky;top:0}.shop-detail-head{display:flex;gap:10px;align-items:center}.shop-detail-icon{width:64px;height:64px;flex:none}.shop-tier{font-size:11px;color:var(--muted)}.shop-tier.tier-1{color:#e0a070}.shop-tier.tier-2{color:#cfd8e2}.shop-tier.tier-3{color:#ffd24a}.shop-lines{margin:0;padding-left:16px;font-size:12px;color:#b9d3ff;display:flex;flex-direction:column;gap:3px}.shop-detail h4{margin:4px 0 0;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.shop-tree .shop-children,.shop-into{display:flex;gap:6px;flex-wrap:wrap}.shop-node{display:flex;flex-direction:column;align-items:center;gap:4px}.shop-node>.shop-children{padding-top:4px;border-top:1px solid var(--line)}.shop-mini{padding:0;border:2px solid transparent;border-radius:7px;background:none;cursor:pointer;line-height:0}.shop-mini.is-owned{border-color:#7dff9a}.shop-mini-icon{width:34px;height:34px}.shop-buy-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;margin-top:4px}.shop-buy-row>:first-child{margin-right:auto}.shop-queue.is-on{color:var(--accent);border-color:#ffc14580}.shop-loadout{display:flex;flex-wrap:wrap;gap:8px 24px}.shop-group h3{margin:0 0 4px}.shop-slots{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px}.shop-slot{position:relative;width:38px;height:38px;padding:0;border-radius:6px;overflow:hidden;background:linear-gradient(160deg,#3d3220,#1d170e);border:1px solid rgba(255,210,122,.35);cursor:pointer}.shop-slot.is-empty{background:#00000059;border-color:#ffffff14;cursor:default}.shop-slot.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.shop-slot-icon{position:absolute;inset:0;width:100%;height:100%}.shop-slot-count{position:absolute;right:2px;bottom:0;font-size:10px;font-weight:900;color:#fff;text-shadow:0 0 2px #000,0 0 3px #000;pointer-events:none}.shop-queued{position:relative}.shop-unqueue{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#2a1414;color:#ff9d9d;font:inherit;font-size:13px;font-weight:900;line-height:15px;cursor:pointer}.is-touch .shop-unqueue{width:22px;height:22px;line-height:19px}.shop-cost{font-weight:800;color:var(--accent);font-family:var(--mono);font-size:13px}@media(max-width:640px){.shop-body{grid-template-columns:1fr}}.end-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;background:#05080cc7;z-index:6}.end-title{font-size:clamp(48px,10vw,96px);font-weight:900;font-style:italic;letter-spacing:.06em}.is-victory .end-title{background:linear-gradient(180deg,#fff3c4,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.is-defeat .end-title{color:#ff6b6b}.end-sub{margin:0;color:#d7dde6}.end-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;width:min(720px,100%);padding:14px;border-radius:12px;background:#0a0e14e6}@media(max-width:1100px){.abilitybar{left:12px;transform:none}.hud-help,.ab-stats{display:none}}.reconnect-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:14px 22px;border-radius:10px;background:#0a0e14eb;border:1px solid rgba(255,193,69,.45);color:var(--accent);font-weight:800;z-index:20;pointer-events:none}.settings-root{position:fixed;top:12px;right:12px;z-index:15;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.settings-button{width:36px;height:36px;display:grid;place-items:center;padding:0;border-radius:3px;border:1px solid var(--edge-strong);background:#0a0e14bf;color:#c9d1dd;cursor:pointer;transition:color .15s ease,border-color .15s ease}.settings-button .icon{width:20px;height:20px;transition:transform .3s ease}.settings-button:hover,.settings-button.is-open{color:var(--accent);border-color:#ffc1458c}.settings-button.is-open .icon{transform:rotate(45deg)}.settings-panel{width:272px;padding:6px 14px 12px;border-radius:3px;background:linear-gradient(180deg,#151c28fa,#0c1018fa);border:1px solid var(--edge-strong);border-top:2px solid var(--gold);box-shadow:0 18px 40px -12px #000c;display:flex;flex-direction:column}.set-head{display:flex;align-items:center;justify-content:space-between;padding:4px 0 6px}.set-head h3{font-family:var(--display);font-stretch:condensed;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.set-row{display:flex;align-items:center;gap:10px;min-height:40px;font-size:13px;border-top:1px solid var(--line);cursor:pointer}.set-row>.icon{width:16px;height:16px;color:var(--muted)}.set-row>span:nth-child(2){flex:1}.set-row input[type=range]{width:96px;accent-color:var(--accent)}.set-select{width:96px;padding:5px 6px;border-radius:2px;border:1px solid var(--edge-strong);background:#03060a8c;color:inherit;font:inherit}.set-select option{background:#141b26;color:var(--text)}.set-value{min-width:34px;text-align:right;font-family:var(--mono);font-size:12px;color:var(--muted)}.switch{appearance:none;-webkit-appearance:none;position:relative;width:36px;height:20px;margin:0;flex:none;border-radius:10px;background:#ffffff1f;cursor:pointer;transition:background .15s ease}.switch:before{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#c9d1dd;transition:transform .15s ease,background .15s ease}.switch:checked{background:var(--accent)}.switch:checked:before{transform:translate(16px);background:var(--accent-ink)}.switch:focus-visible{outline:2px solid rgba(255,193,69,.6);outline-offset:2px}.hud-top-right{right:56px!important}.hud-icon{width:20px;height:20px;display:block}.hud-leave{display:inline-flex;align-items:center;gap:6px}.hud-leave .hud-icon{width:18px;height:18px}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.hud-confirm{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:16px;background:#0000008c;pointer-events:auto}.hud-confirm.is-on{display:flex}.hud-confirm-box{width:min(320px,100%);padding:18px 20px;border-radius:var(--radius);background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 10px 30px #0009;text-align:center}.hud-confirm-box h3{margin:0 0 6px;font-size:18px}.hud-confirm-box p{margin:0 0 16px;color:var(--muted);font-size:14px}.hud-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ability-icon{--hero: #8a93a3;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;color:#fff6e3;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.18),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--hero) 62%,#1c2333),color-mix(in srgb,var(--hero) 20%,#0b0f17));pointer-events:none}.ability-icon svg{width:66%;height:66%;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.75))}.ability-icon.slot-P{color:#ffe6a8;background:radial-gradient(circle at 50% 30%,rgba(255,220,140,.2),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--hero) 40%,#5a4320),#1d150a);box-shadow:inset 0 0 0 2px #ffc45c8c}.ability-icon.slot-R{box-shadow:inset 0 0 0 2px #ffffff59,inset 0 0 10px color-mix(in srgb,var(--hero) 60%,transparent)}.ab-key,.ab-cost,.ab-stacks,.hs-ability-key{z-index:1;text-shadow:0 1px 2px #000}.hs-ability{overflow:hidden}.hs-ability .ability-icon{inset:0}#game{touch-action:none}.touch-only,.touch-controls,.rotate-hint{display:none}.is-touch .touch-only{display:inline-flex}.is-touch .set-row.touch-only{display:flex}.is-touch .settings-root{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right))}.is-touch.in-match .settings-root{right:calc(var(--touch-map-w) + 16px + env(safe-area-inset-right))}.is-touch .screen{padding-top:calc(14px + env(safe-area-inset-top));padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right));padding-bottom:calc(14px + env(safe-area-inset-bottom));touch-action:pan-y;-webkit-overflow-scrolling:touch}.is-touch .input{font-size:16px}.is-touch .btn{min-height:40px}.is-touch .hs-chip{padding:8px 3px;font-size:13px}@media(max-height:520px){.hs-stage{min-height:240px}.hs-details{max-height:none}}.is-touch .hud-help,.is-touch .hud-title,.is-touch .hud-badge,.is-touch .ab-stats,.is-touch .ab-tooltip,.is-touch .ab-key,.is-touch .ab-slot:not(.ab-passive) .ab-cost,.is-touch .ab-portrait-role,.is-touch .ab-shop-label,.is-touch .hud-top-right>.btn:first-child{display:none!important}.is-touch .hud-top-left{top:calc(50px + env(safe-area-inset-top));left:auto;right:calc(var(--touch-map-w) + 16px + env(safe-area-inset-right))}.is-touch .hud-top-right{top:calc(8px + env(safe-area-inset-top));right:calc(var(--touch-map-w) + 60px + env(safe-area-inset-right))!important;gap:6px}.is-touch .hud-top-right .btn{min-height:34px;padding:6px 10px;font-size:12px}.is-touch .hud-top-right .hud-icon-btn,.is-touch .hud-top-right .hud-leave{width:36px;height:36px;padding:0;justify-content:center;align-items:center}.is-touch .hud-leave{display:inline-flex}.is-touch .hud-leave-label{display:none}.is-touch .abilitybar{top:calc(6px + env(safe-area-inset-top));left:calc(6px + env(safe-area-inset-left));bottom:auto;transform:none;gap:6px;padding:6px;border-radius:10px}.is-touch .ab-portrait{width:52px;height:52px}.is-touch .ab-main{width:140px;gap:4px}.is-touch .ab-bar{height:12px}.is-touch .ab-bar-text{font-size:9px}.is-touch .ab-slot.ab-passive{width:30px;height:30px}.is-touch .ab-gold{min-height:0;padding:4px 8px}.is-touch .abilitybar{display:grid;grid-template-columns:52px 140px;column-gap:6px;row-gap:4px;align-items:start}.is-touch .ab-portrait{grid-row:1 / span 2;align-self:center}.is-touch .ab-main{grid-column:2;grid-row:1}.is-touch .ab-side{display:contents}.is-touch .ab-gold{grid-column:2;grid-row:1;justify-self:end;height:30px}.is-touch .ab-inventory{grid-column:2;grid-row:2;grid-template-columns:repeat(6,20px);justify-content:space-between;gap:0}.is-touch .ab-item{width:20px;height:20px;border-radius:4px}.is-touch .ab-item-key{display:none}.is-touch .ab-item-count{font-size:9px}.is-touch .ab-item-cd-text{font-size:10px}.ab-quick-items{display:none}.is-touch .ab-quick-items{position:fixed;right:calc(112px + env(safe-area-inset-right));bottom:calc(198px + env(safe-area-inset-bottom));display:flex;flex-direction:row-reverse;gap:8px;z-index:3;pointer-events:none}.ab-quick{display:none;position:relative;width:44px;height:44px;border-radius:50%;overflow:hidden;background:linear-gradient(160deg,#3d3220,#1d170e);border:2px solid rgba(255,210,122,.6);box-shadow:0 3px 10px #0000008c;pointer-events:auto;touch-action:none}.ab-quick.is-on{display:block}.ab-quick.is-cd{border-color:#ffffff40}.ab-quick:active{transform:scale(.92)}.ab-quick .ab-item-cd-text{font-size:16px}.ab-quick .ab-item-count{right:50%;transform:translate(50%);bottom:2px}.is-touch .ab-slot:not(.ab-passive){--size: 60px;position:fixed;width:var(--size);height:var(--size);border-radius:50%;touch-action:none;z-index:3;border:2px solid rgba(255,255,255,.28);box-shadow:0 3px 10px #0000008c;transition:transform .08s ease}.is-touch .ab-row>.ab-slot:nth-child(2){right:calc(130px + env(safe-area-inset-right));bottom:calc(30px + env(safe-area-inset-bottom))}.is-touch .ab-row>.ab-slot:nth-child(3){right:calc(112px + env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom))}.is-touch .ab-row>.ab-slot:nth-child(4){right:calc(68px + env(safe-area-inset-right));bottom:calc(124px + env(safe-area-inset-bottom))}.is-touch .ab-row>.ab-slot:nth-child(5){right:calc(12px + env(safe-area-inset-right));bottom:calc(132px + env(safe-area-inset-bottom))}.is-touch .ab-slot[data-pressed],.is-touch .ab-slot.is-aiming{transform:scale(1.12);border-color:var(--accent)}.is-touch .ab-pips{left:16px;right:16px;bottom:6px}.is-touch .ab-rankup{width:30px;height:30px;right:50%;top:0;transform:translate(50%,-8px);font-size:20px;line-height:30px;animation:none}.is-touch .ab-rankup:after{content:"";position:absolute;inset:-10px;border-radius:50%}.is-touch .ab-slot.can-rank{overflow:visible}.is-touch .ab-cd-text{font-size:20px}.is-touch .touch-controls{display:block;position:absolute;inset:0;pointer-events:none}.tc-joy{position:absolute;left:0;top:0;width:124px;height:124px;margin:-62px 0 0 -62px;border-radius:50%;background:radial-gradient(circle,#ffffff0d,#ffffff1f);border:2px solid rgba(255,255,255,.28);opacity:0;transition:opacity .12s ease;pointer-events:none}.is-touch .tc-joy{opacity:.35}.is-touch .tc-joy.is-on{opacity:1}.tc-joy-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#ffffff59;border:2px solid rgba(255,255,255,.7);box-shadow:0 2px 8px #0006}.tc-attack{position:absolute;right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff3d6;background:radial-gradient(circle at 50% 35%,#d1584f,#6d1f1f);border:3px solid rgba(255,220,180,.55);box-shadow:0 4px 14px #0009;pointer-events:auto;touch-action:none;transition:transform .08s ease}.tc-attack svg{width:46px;height:46px;filter:drop-shadow(0 1px 2px #000)}.tc-attack.is-pressed{transform:scale(.92);border-color:var(--accent)}.tc-cancel{position:absolute;right:calc(40px + env(safe-area-inset-right));bottom:calc(214px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;background:#280a0abf;border:2px solid rgba(255,90,90,.6);opacity:0;transform:scale(.8);transition:opacity .1s ease,transform .1s ease;pointer-events:none}.tc-cancel.is-on{opacity:1;transform:scale(1)}.tc-cancel.is-hot{background:#c62828;transform:scale(1.15)}.is-touch{--touch-map-w: 105px}.is-touch .minimap{top:calc(8px + env(safe-area-inset-top));bottom:auto;right:calc(8px + env(safe-area-inset-right));transform:scale(.55);transform-origin:top right}.is-touch .scorebar{top:auto;bottom:calc(6px + env(safe-area-inset-bottom));padding:4px 10px;font-size:15px}.is-touch .killfeed{top:calc(50px + env(safe-area-inset-top));right:auto;left:50%;transform:translate(-50%);align-items:center}.is-touch .kf-row{font-size:11px;padding:3px 8px}.is-touch .hud-alert{bottom:50%}.is-touch .shop{top:calc(48px + env(safe-area-inset-top));max-height:calc(100% - 60px - env(safe-area-inset-top));padding:10px 12px;gap:6px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.is-touch .shop-body{flex:0 0 auto;height:max(220px,calc(100vh - 120px))}.is-touch .shop h2{margin:0;font-size:18px}.is-touch .shop-help{display:none}.is-touch .scoreboard{top:calc(48px + env(safe-area-inset-top));max-height:calc(100% - 60px);overflow-y:auto}.is-touch .death-title{font-size:26px}@media(orientation:portrait){.is-touch .rotate-hint{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#080b10f0;pointer-events:auto;text-align:center;padding:24px}.rotate-hint p{margin:0;font-weight:800;font-size:17px}.rotate-phone{width:46px;height:78px;border:4px solid var(--accent);border-radius:10px;animation:rotate-phone 1.6s ease-in-out infinite}}@keyframes rotate-phone{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media(max-height:380px){.is-touch .ab-slot:not(.ab-passive){--size: 54px}.ab-quick{width:40px;height:40px}.tc-attack{width:76px;height:76px}}.target-frame{position:absolute;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:170px;padding:4px 6px 5px 8px;border-radius:8px;background:#0d1117c7;border:1px solid rgba(255,193,69,.5);box-shadow:0 2px 8px #00000073;pointer-events:auto;z-index:4}.is-touch .target-frame{top:calc(48px + env(safe-area-inset-top));left:auto;right:calc(122px + env(safe-area-inset-right));transform:none;width:136px}.tf-head{display:flex;align-items:center;gap:4px;margin-bottom:3px}.tf-titles{flex:1;min-width:0;display:flex;align-items:baseline;gap:5px;line-height:1.1;white-space:nowrap;overflow:hidden}.tf-name{flex:0 1 auto;font-weight:800;font-size:11px;color:#ff8a80;overflow:hidden;text-overflow:ellipsis}.tf-detail{flex:1 1 0;min-width:0;font-size:9px;color:var(--muted, #9aa4b2);overflow:hidden;text-overflow:ellipsis}.tf-clear{flex:none;position:relative;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:#ffffff1a;color:#e8edf5;font-size:9px;line-height:16px;cursor:pointer}.tf-clear:after{content:"";position:absolute;inset:-10px}.tf-bar{position:relative;height:8px;border-radius:4px;overflow:hidden;background:#ffffff1a}.tf-fill{height:100%;background:linear-gradient(#e5534b,#a8322c);transition:width .15s ease}.tf-hp-text{position:absolute;inset:0;font-size:7px;line-height:8px;text-align:center;color:#fff;text-shadow:0 1px 1px #000}.tc-target{position:absolute;right:calc(200px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ffd27a;background:#141820c7;border:2px solid rgba(255,193,69,.6);box-shadow:0 3px 10px #0000008c;pointer-events:auto;touch-action:none;transition:transform .08s ease}.tc-target svg{width:28px;height:28px}.tc-target.is-pressed{transform:scale(.9);border-color:var(--accent)}.room-actions{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));z-index:2;margin:0 -20px -20px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--edge);background:#0a0d14f5}@media(max-height:520px){.screen{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}.topbar{margin-bottom:10px}.lobby-room{gap:10px;padding:14px}.room-actions{bottom:calc(-10px - env(safe-area-inset-bottom));margin:0 -14px -14px;padding:8px 14px calc(8px + env(safe-area-inset-bottom))}.room-title h2{font-size:19px}.room-mode-icon{width:34px;height:34px}.team-col{padding:0 8px 8px;gap:5px}.team-head{min-height:36px}.slots{gap:4px}.slot{min-height:38px;padding:3px 6px 3px 3px}.slot-face{width:30px;height:30px}.hero-select{min-height:0}.hs-stage{min-height:220px;max-height:300px}}@media(max-width:700px){.lobby-room{padding:14px}.room-actions{margin:0 -14px -14px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.room-actions{flex-wrap:wrap;gap:6px 8px}.room-status{width:100%;margin:0;text-align:center}.room-actions .btn{flex:1}.room-actions .btn-ghost{flex:0 0 auto}.btn-wide{min-width:0}.teams{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.team-col{padding:0 6px 6px;gap:5px}.team-head{min-height:36px;gap:6px}.team-head h3{font-size:13px;letter-spacing:.08em}.team-head h3{white-space:nowrap}.team-head .btn{padding:5px 7px}.team-head .btn span{display:none}.slots{gap:4px}.slot{flex-wrap:wrap;gap:6px;min-height:40px;padding:4px 5px 4px 4px}.slot-face{width:30px;height:30px}.slot-name{font-size:12px}.slot-hero{font-size:11px}.slot-state span{display:none}.slot-main{flex:1 1 64px}.slot-actions{margin-left:auto}.slot-act{width:26px;height:26px}.hs-stage{min-height:260px}}.ab-buffs{position:absolute;left:0;bottom:calc(100% + 8px);display:flex;gap:8px;pointer-events:auto}.is-touch .ab-buffs{bottom:auto;top:calc(100% + 8px)}.ab-queue{position:absolute;right:0;bottom:calc(100% + 8px);display:flex;gap:8px;pointer-events:auto}.is-touch .ab-queue{bottom:auto;top:calc(100% + 8px)}.ab-qbuy{position:relative;width:38px;height:38px;border-radius:8px;background:linear-gradient(160deg,#3d3220,#1d170e);border:1px solid rgba(255,255,255,.18);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.ab-qbuy>.ab-item-img{border-radius:7px;filter:grayscale(.85) brightness(.7)}.ab-qbuy.is-ready{border:2px solid var(--accent);animation:qbuy-ready 1.4s ease-in-out infinite}.ab-qbuy.is-ready>.ab-item-img{filter:none}.ab-qbuy.is-blocked{opacity:.5}.ab-qbuy:active{transform:scale(.92)}.ab-qbuy-target{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.45);background:#141b26}.ab-qbuy-cost{position:absolute;left:50%;bottom:-7px;transform:translate(-50%);padding:0 4px;border-radius:6px;background:#0a0e14eb;color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:700;line-height:13px;pointer-events:none}.ab-qbuy.is-ready .ab-qbuy-cost{color:var(--accent)}@keyframes qbuy-ready{0%,to{box-shadow:0 0 4px #ffc14559}50%{box-shadow:0 0 14px #ffc145d9}}.ab-buff{position:relative;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--buff) calc(var(--left, 1) * 360deg),rgba(255,255,255,.12) 0);box-shadow:0 0 10px color-mix(in srgb,var(--buff) 45%,transparent)}.ab-buff:before{content:"";position:absolute;inset:3px;border-radius:50%;background:#10151d}.ab-buff-icon{position:relative;display:grid;width:20px;height:20px;color:var(--buff);filter:drop-shadow(0 0 4px var(--buff))}.ab-buff-icon svg{width:100%;height:100%}.ab-buff-time{position:absolute;right:-7px;bottom:-5px;min-width:16px;padding:0 3px;border-radius:6px;border:1px solid var(--buff);background:#0a0e14eb;color:#fff;font-size:10px;font-weight:700;line-height:14px;text-align:center}.install-cta{font:inherit;display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px 9px 9px;border-radius:2px;border:1px solid var(--edge-strong);background:#0a0e1499;color:var(--text);text-align:left;cursor:pointer}.install-cta:active{background:#ffc1451a}.install-cta-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:2px;background:#ffc1451a;color:var(--accent)}.install-cta-icon .icon{width:20px;height:20px}.install-cta-text{flex:1;display:flex;flex-direction:column;gap:1px;font-size:12px;color:var(--muted)}.install-cta-text strong{font-size:14px;color:var(--text)}.install-cta-arrow{width:18px;height:18px;color:var(--muted)}.install-guide{position:fixed;inset:0;z-index:40;display:none;align-items:center;justify-content:center;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:#0009;pointer-events:auto}.install-guide.is-on{display:flex}.install-box{position:relative;width:min(420px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:3px;background:linear-gradient(180deg,#161d2a,#0e131c);border:1px solid var(--edge-strong);border-top:2px solid var(--gold);box-shadow:0 12px 36px #0009;user-select:text;-webkit-user-select:text}.ig-close{position:absolute;top:10px;right:10px;border-color:transparent;background:transparent}.ig-head{display:flex;align-items:center;gap:12px;padding-right:32px}.ig-head h3{font-size:18px;margin-bottom:3px}.ig-app-icon{width:52px;height:52px;flex:none;border-radius:12px}.ig-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ig-steps li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.55}.ig-num{flex:none;width:24px;height:24px;margin-top:1px;border-radius:50%;display:grid;place-items:center;background:#ffc14529;color:var(--accent);font-size:13px;font-weight:800}.ig-text b{color:var(--text);font-weight:800}.ig-glyph{display:inline-flex;width:22px;height:22px;vertical-align:-6px;padding:2px;border-radius:6px;background:#4c97ff29;color:#8cc0ff}.ig-glyph svg{width:100%;height:100%}.ig-note{margin-top:-4px}.ig-or{text-align:center;margin:-6px 0 -4px}.ig-copy{vertical-align:middle}@media(max-height:520px){.install-box{gap:10px;padding:14px 16px}.ig-app-icon{width:40px;height:40px}.ig-tabs .seg{padding:7px 0}.ig-steps{gap:6px}.ig-steps li{line-height:1.45}}
