:root{--ink:#140a18;--panel:#1c1022db;--panel-2:#2c1a34eb;--cream:#f4e6c8;--dim:#b9a3b8;--orange:#ff9a3a;--red:#e0453a;--green:#7bdc5a;--gold:#e8b830;--purple:#b45cff;--warrior:#d9643a;--priest:#e8dcb8;--mage:#9aa8ff;--rogue:#62d6b4;--slot:56px;--slot-item:46px;--slot-jump:80px}*{box-sizing:border-box}html,body{height:100%;color:var(--cream);-webkit-user-select:none;user-select:none;background:#120a18;margin:0;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;overflow:hidden}#game{width:100vw;height:100vh;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}#hud #plates,#hud #floats,#hud #alert,#hud #countdown,#hud #aggro,#hud #combo,#hud #boss-frame,#hud #boss-cast,#hud #me,#hud #help,#hud #tip{pointer-events:none}kbd{border:2px solid var(--ink);min-width:1.5em;color:var(--ink);text-align:center;box-shadow:0 2px 0 var(--ink);background:#f4e6c8;border-radius:4px;padding:0 4px;font:700 11px/16px Consolas,monospace;display:inline-block}.panel{background:var(--panel);border:3px solid var(--ink);border-radius:8px;box-shadow:0 4px #0000008c,inset 0 0 0 1px #ffdcb414}.panel.small{padding:8px 10px;font-size:12px}.dim{color:var(--dim)}.good{color:var(--green)}.warn{color:#ffc46a}#boss-frame,#boss-cast,#board,#board-btn,#party,#me,#actionbar,#player-cast,#combo,#help,#help-chip,#info,#plates,#aggro,#stick-zone{opacity:0;transition:opacity .25s}#hud.in-fight #boss-frame,#hud.in-fight #boss-cast,#hud.in-fight #board,#hud.in-fight #board-btn,#hud.in-fight #party,#hud.in-fight #me,#hud.in-fight #actionbar,#hud.in-fight #player-cast,#hud.in-fight #combo,#hud.in-fight #help,#hud.in-fight #help-chip,#hud.in-fight #info,#hud.in-fight #plates,#hud.in-fight #aggro,#hud.in-fight #stick-zone{opacity:1}#hud:not(.in-fight) #board,#hud:not(.in-fight) #board-btn,#hud:not(.in-fight) #party,#hud:not(.in-fight) #actionbar,#hud:not(.in-fight) #help-chip,#hud:not(.in-fight) #info,#hud:not(.in-fight) #stick-zone{pointer-events:none}.chip{color:var(--dim);white-space:nowrap;background:#140a1a99;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1.5;position:absolute}.chip kbd{min-width:16px;margin-right:5px;font-size:10px;line-height:13px}.bar{border:2px solid var(--ink);background:#2a1620;border-radius:4px;height:18px;position:relative;overflow:hidden}.bar .fill{background:linear-gradient(#e0574a,#a8302c);transition:width 80ms linear;position:absolute;inset:0 auto 0 0}.bar .absorb{background:repeating-linear-gradient(45deg,#fff0bef2 0 4px,#ffd26ed9 4px 8px);position:absolute;top:0;bottom:0}.bar .txt{text-shadow:0 1px #000,0 0 3px #000;white-space:nowrap;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.bar.hp .fill{background:linear-gradient(#7ee05a,#3f9a32)}.bar.big{height:24px}.bar.big .fill{background:linear-gradient(#e86a3a,#a83a22)}.bar.res{height:11px;margin-top:3px}.bar.res .txt{font-size:9px}.bar.res.rage .fill{background:linear-gradient(#e0403a,#8a1a1a)}.bar.res.mana .fill{background:linear-gradient(#5a9aff,#2a4fb0)}.bar.res.energy .fill{background:linear-gradient(#ffe36a,#c8921a)}.pips{align-items:center;gap:5px;display:flex}.pips i{border:2px solid var(--ink);background:#2a1620;border-radius:2px;flex:none;width:11px;height:11px;transition:background 80ms,box-shadow 80ms;transform:rotate(45deg)}.pips i.grp{margin-right:6px}.pips i.on{background:radial-gradient(circle at 35% 35%,#fff4b8,#ffc83a 45%,#d8641a);box-shadow:0 0 6px #ffbe3cd9}#combo{bottom:calc(var(--slot) + 52px);background:var(--panel);border:2px solid var(--ink);border-radius:8px;padding:4px 10px;display:none;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 3px #0000008c}#combo.on{display:flex}#combo.full i.on{animation:.45s infinite alternate pipfull}@keyframes pipfull{to{filter:brightness(1.3);box-shadow:0 0 11px #ff6a2a,0 0 2px #fff}}.pips.mini{gap:3px;height:9px;margin-top:4px;padding-left:2px}.pips.mini i{border-width:1px;border-radius:1px;width:6px;height:6px}.pips.mini i.grp{margin-right:4px}.pips.mini i.on{box-shadow:0 0 3px #ffbe3cd9}#boss-frame{width:min(560px,100vw - 500px);min-width:300px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.boss-top{white-space:nowrap;height:24px;text-shadow:0 2px 0 var(--ink), 0 0 6px #000;align-items:flex-end;gap:10px;margin-bottom:4px;display:flex}.boss-name{letter-spacing:2px;color:#ffd9a0;font-size:20px;font-weight:900;line-height:1}.boss-attempt{text-overflow:ellipsis;min-width:0;color:var(--dim);padding-bottom:1px;font-size:12px;overflow:hidden}.boss-right{align-items:flex-end;gap:8px;margin-left:auto;display:flex}.boss-auras{align-self:center;gap:3px;display:flex}.boss-auras .aura{width:18px;height:18px;font-size:10px}.boss-auras .aura i{display:none}.boss-hpn{color:var(--dim);font-variant-numeric:tabular-nums;padding-bottom:1px;font-size:12px}.boss-pct{color:#fff;font-variant-numeric:tabular-nums;font-size:20px;line-height:1}.boss-bar{position:relative}.boss-bar .bar.big{height:16px}.notch{background:#ffffff8c;width:2px;height:16px;margin-left:-1px;position:absolute;top:0}.notch em{color:var(--dim);white-space:nowrap;text-shadow:0 1px #000,0 0 3px #000;font-size:10px;font-style:normal;position:absolute;top:19px;left:50%;transform:translate(-50%)}.notch.past{background:#fff3}.notch.past em{color:#ff9a7a}.k-dodge{--k:var(--c-danger);--kg:color-mix(in srgb, var(--c-danger) 55%, transparent)}.k-tank{--k:var(--c-tank);--kg:color-mix(in srgb, var(--c-tank) 55%, transparent)}.k-jump{--k:var(--c-jump);--kg:color-mix(in srgb, var(--c-jump) 60%, transparent)}.k-mark{--k:var(--c-mark);--kg:color-mix(in srgb, var(--c-mark) 60%, transparent)}.k-interrupt{--k:var(--c-mark);--kg:color-mix(in srgb, var(--c-mark) 75%, transparent)}.k-other{--k:var(--c-other);--kg:color-mix(in srgb, var(--c-other) 50%, transparent)}.kd{border:2px solid var(--ink);background:var(--k);color:#fff;text-shadow:0 1px #00000080;border-radius:4px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:900;display:inline-flex}.kd.k-jump{color:var(--ink);text-shadow:none}.kd.k-tank{clip-path:polygon(0 12%,12% 0,25% 10%,38% 0,50% 10%,62% 0,75% 10%,88% 0,100% 12%,90% 25%,100% 38%,90% 50%,100% 62%,90% 75%,100% 88%,88% 100%,75% 90%,62% 100%,50% 90%,38% 100%,25% 90%,12% 100%,0 88%,10% 75%,0 62%,10% 50%,0 38%,10% 25%);border-radius:1px}#boss-cast{width:min(420px,60vw);display:none;position:absolute;top:74px;left:50%;transform:translate(-50%)}#boss-cast.on{display:block}#boss-cast .bar{height:28px;box-shadow:0 0 0 2px var(--k), 0 0 14px var(--kg);background:#1e1018}#boss-cast .fill{background:linear-gradient(color-mix(in srgb, var(--k) 85%, white), color-mix(in srgb, var(--k) 70%, black));opacity:.55}#boss-cast .row{white-space:nowrap;text-shadow:0 1px #000,0 0 4px #000;align-items:center;gap:8px;padding:0 10px 0 2px;display:flex;position:absolute;inset:0}#boss-cast .cn{text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:900;overflow:hidden}#boss-cast .ctag{color:var(--dim);font-size:11px}#boss-cast .ct{font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px}#boss-cast .hint{text-shadow:0 1px #000,0 0 4px #000;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:6px;font-size:12px;font-weight:700;display:flex}#boss-cast .hint kbd{min-width:15px;padding:0 3px;font-size:10px;line-height:12px}.who{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.who:before{content:"";border:1.5px solid;border-radius:50%;width:8px;height:8px}.who.ok{color:#c8ffb0}.who.ok:before{background:var(--green);box-shadow:0 0 6px var(--green);border-color:#0000}.who.wait{opacity:.75}#board{z-index:3;background:#180d1e94;border-width:2px;width:216px;padding:0 0 6px;transition:background .15s;position:absolute;top:10px;right:12px;box-shadow:0 3px #00000059}#board:hover{background:#180d1ee0}.bh{border-bottom:1px solid #f4e6c81f;align-items:stretch;gap:2px;padding:4px 4px 0;display:flex}.tab{text-align:center;color:var(--dim);cursor:pointer;border-radius:5px 5px 0 0;flex:1;padding:3px 0 4px;font-size:12px;font-weight:700}.tab:hover{color:var(--cream)}.tab.on{color:#ffd9a0;background:#ffd9a01a;box-shadow:inset 0 -2px #ffd9a0}.fold{width:22px;color:var(--dim);cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:11px;display:flex}.fold:hover{color:var(--cream)}.bb{padding:5px 6px 0;display:none}#board[data-tab=deck] .bb.deck,#board[data-tab=dmg] .bb.meter,#board[data-tab=heal] .bb.meter{display:block}#board.folded{padding-bottom:0}#board.folded .bh{border-bottom:0}#board.folded .tab.on{box-shadow:none}#board.folded .bb.deck,#board.folded .bb.meter{display:none}.bb .foot{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;padding:0 2px;font-size:10px;overflow:hidden}.dr{white-space:nowrap;cursor:help;border-radius:5px;align-items:center;gap:7px;height:22px;padding:0 4px;font-size:12px;display:flex}.dr .kd{border-width:1.5px;width:17px;height:17px;font-size:9.5px}.dr .ds{text-overflow:ellipsis;min-width:40px;max-width:76px;color:var(--dim);flex:none;font-size:11px;overflow:hidden}.dr b{text-overflow:ellipsis;color:#ffe6b8;min-width:0;overflow:hidden}.dr.on{background:color-mix(in srgb, var(--k) 30%, transparent);box-shadow:inset 0 0 0 1.5px var(--k)}.mrows{flex-direction:column;gap:3px;display:flex}.mr{white-space:nowrap;background:#ffffff0a;border-radius:4px;align-items:center;gap:6px;height:20px;padding:0 6px;font-size:12px;display:flex;position:relative;overflow:hidden}.mr .mf{background:var(--cc);opacity:.36;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.mr>span{position:relative}.mr .mn{text-overflow:ellipsis;min-width:0;color:var(--cc);text-shadow:0 1px #000;font-weight:800;overflow:hidden}.mr .mv{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px #000;margin-left:auto;font-weight:700}.mr .mp{text-align:right;width:30px;color:var(--dim);font-variant-numeric:tabular-nums;font-size:10px}.mr.me{box-shadow:inset 0 0 0 1px #ffe08a99}.mr.dead{opacity:.5}.unit-frame.warrior,.mr.warrior{--cc:var(--warrior)}.unit-frame.priest,.mr.priest{--cc:var(--priest)}.unit-frame.mage,.mr.mage{--cc:var(--mage)}.unit-frame.rogue,.mr.rogue{--cc:var(--rogue)}#board-btn{color:#ffd9a0;cursor:pointer;background:#180d1ea6;border-width:2px;align-items:center;gap:5px;height:32px;padding:0 10px;font-size:12px;font-weight:800;display:none;position:absolute}#board-btn:after{content:"▾";color:var(--dim);font-size:10px}#board-btn.open:after{content:"▴"}#party{flex-direction:column;gap:4px;width:212px;display:flex;position:absolute;top:10px;left:12px}.unit-frame{cursor:pointer;border-width:2px;border-radius:7px;padding:4px 8px 6px 11px;transition:transform .1s;position:relative}.unit-frame:hover{transform:translate(3px)}.uf-stripe{background:var(--cc);border-radius:5px 0 0 5px;width:4px;position:absolute;top:0;bottom:0;left:0}.unit-frame.me{border-color:#ffe08a;box-shadow:0 4px #0000008c,0 0 0 2px #ffe08a4d}.unit-frame.targeted{outline-offset:2px;outline:2px dashed #8aff9a}.unit-frame.dead{filter:grayscale()brightness(.7)}.unit-frame:after{content:"";transform-origin:0;pointer-events:none;background:#ffe08a;border-radius:2px;height:3px;position:absolute;bottom:1px;left:4px;right:4px;transform:scaleX(0)}.unit-frame.pressing:after{transition:transform var(--press-ms,.5s) linear;transform:scaleX(1)}.unit-frame.low{box-shadow:0 0 0 2px #ff4a3a,0 0 12px #ff4a3a}.unit-frame.low .bar.hp,#me.low .bar.hp{animation:.6s infinite alternate lowpulse}@keyframes lowpulse{to{box-shadow:0 0 10px #ff4040}}.uf-top{white-space:nowrap;align-items:center;gap:5px;height:14px;margin-bottom:3px;font-size:12px;font-weight:800;display:flex}.uf-name{text-overflow:ellipsis;max-width:100px;color:var(--cc);flex:none;overflow:hidden}.uf-top .aura:nth-child(n+6){display:none}.uf-you{color:var(--ink);background:#ffe08a;border-radius:3px;padding:0 4px;font-size:10px;line-height:14px;display:none}.unit-frame.me .uf-you{display:inline-block}.uf-aggro{color:#ff9a3a;text-shadow:0 1px #000;font-size:12px;display:none}.unit-frame.aggro .uf-aggro{display:inline}.uf-top .pips.mini{height:auto;margin:0 0 0 2px;padding:0}.uf-top .auras{flex-wrap:nowrap;gap:2px;margin-left:auto}.uf-top .aura{border-width:1.5px;width:15px;height:15px;font-size:9px}.uf-top .aura i{display:none}.uf-top .aura sup{font-size:8px;top:-5px;right:-4px}.unit-frame .bar.hp{border-width:1.5px;border-radius:3px;height:12px}.unit-frame .bar.hp .txt{justify-content:flex-end;padding-right:5px;font-size:9.5px}.unit-frame.dead .bar.hp .txt{color:#ffb0a0;justify-content:flex-start;padding-left:5px}.unit-frame .bar.res{border-width:0;border-radius:2px;height:4px;margin-top:2px}.auras{flex-wrap:wrap;gap:3px;display:flex}.aura{border:2px solid var(--ink);background:var(--c);color:#fff;text-shadow:0 1px #000;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:900;display:flex;position:relative}.aura.debuff{box-shadow:0 0 0 1px #ff5050}.aura sup{background:var(--ink);border-radius:3px;padding:0 2px;font-size:9px;position:absolute;top:-6px;right:-4px}.aura i{color:var(--cream);font-size:9px;font-style:normal;position:absolute;bottom:-9px}.tbar{border-radius:1px;height:2px;position:absolute;bottom:1px;left:11px;right:8px;overflow:hidden}.tbar .fill{background:#b08a5abf;height:100%}.tbar .fill.top{background:var(--red)}#me{left:50%;bottom:calc(var(--slot) + 20px);gap:3px;width:min(360px,40vw);display:grid;position:absolute;transform:translate(-50%)}#me .bar.hp{height:14px}#me .bar.res{height:9px;margin-top:0}#me .bar.res .txt{font-size:8px}#actionbar{align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.slot{width:var(--slot);height:var(--slot);border:3px solid var(--ink);background:radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--c) 50%, #2c1934) 0%, color-mix(in srgb, var(--c) 18%, #1c1022) 56%, #120814 100%);cursor:pointer;border-radius:12px;position:relative;box-shadow:0 3px #0000008c}.slot:after{content:"";z-index:1;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--c) 65%, transparent), inset 0 3px 0 #ffffff14;pointer-events:none;border-radius:9px;position:absolute;inset:0}.slot.item{width:var(--slot-item);height:var(--slot-item);margin-left:12px}.slot .icon{color:#fff;text-shadow:0 2px 0 var(--ink), 0 0 6px #00000080;border-radius:9px;justify-content:center;align-items:center;font-size:0;font-weight:900;display:flex;position:absolute;inset:0;overflow:hidden}.slot .icon img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:114%;max-width:none;height:114%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slot.noimg .icon{font-size:25px}.slot.item.noimg .icon{font-size:21px}.slot .cd{z-index:2;background:conic-gradient(#0a040ec7 var(--p,0%), transparent 0);border-radius:9px;position:absolute;inset:0}.slot .cdtxt{z-index:3;color:#fff;text-shadow:0 2px #000;justify-content:center;align-items:center;font-size:22px;font-weight:900;display:flex;position:absolute;inset:0}.slot kbd{z-index:4;min-width:16px;font-size:10px;line-height:13px;position:absolute;top:3px;left:3px}.slot.nores .icon{color:#9ab0ff}.slot.nores .icon img{filter:grayscale()brightness(.5)}.slot.far .icon{color:#ff7a6a}.slot.far .icon:after{content:"";mix-blend-mode:multiply;background:#ff281e8c;position:absolute;inset:0}.slot.far kbd{background:#ff7a6a}.slot.casting{box-shadow:0 3px #0000008c,0 0 0 3px #ffe08a,0 0 14px 3px #ffe08a}.slot.call{box-shadow:0 0 0 3px #e2c8ff, 0 0 18px 5px var(--c-mark);animation:.55s infinite alternate callpulse}@keyframes callpulse{to{box-shadow:0 0 0 3px #fff, 0 0 26px 9px var(--c-mark)}}.slot:active{transform:translateY(2px)}.castbar{border:2px solid var(--ink);visibility:hidden;background:#24141e;border-radius:4px;height:18px;position:relative;overflow:hidden}.castbar .fill{position:absolute;inset:0 auto 0 0}.castbar .txt{text-shadow:0 1px #000,0 0 3px #000;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0}#player-cast{bottom:calc(var(--slot) + 88px);width:300px;height:20px;position:absolute;left:50%;transform:translate(-50%)}#player-cast .fill{background:linear-gradient(#ffe08a,#c89a2a)}#plates{position:absolute;inset:0}.plate{text-align:center;width:64px;margin-top:-26px;margin-left:-32px;position:absolute;top:0;left:0}.plate .pname{text-shadow:0 1px #000,0 0 3px #000;font-size:11px;font-weight:800}.plate.warrior .pname{color:#ffb08a}.plate.mage .pname{color:#b8c2ff}.plate.rogue .pname{color:#8ae8c8}.plate.me .pname{color:#ffe08a}.pbar{border:1px solid var(--ink);background:#2a1620;border-radius:2px;height:6px;position:relative;overflow:hidden}.pbar .fill{background:#6ad04a;position:absolute;inset:0 auto 0 0}.pbar .absorb{background:#ffe6a0;position:absolute;top:0;bottom:0}.pcast{border:1px solid var(--ink);visibility:hidden;background:#2a1620;height:4px;margin-top:2px}.pcast .fill{background:#ffd870;height:100%}#aggro{color:#ff4a3a;text-shadow:0 2px #000;margin-top:-40px;margin-left:-10px;font-size:18px;animation:.5s infinite alternate bob;position:absolute;top:0;left:0}@keyframes bob{to{margin-top:-46px}}#floats{position:absolute;inset:0;overflow:hidden}.float{white-space:nowrap;text-shadow:0 2px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink), 0 -2px 0 var(--ink);will-change:transform;margin-left:-20px;font-size:18px;font-weight:900;position:absolute;top:0;left:0}.float.out{color:#fff3d8}.float.crit{color:#ffd23a;font-size:26px}.float.in{color:#ff6a5a;font-size:16px}.float.heal{color:#8cff6a;font-size:16px}.float.absorb{color:#ffe6a0;font-size:13px}.float.interrupt{color:#d8a8ff;font-size:28px}.float.buff{color:#8ad0ff;font-size:15px}.float.debuff{color:#e0a0ff;font-size:16px}.float.warn{color:#ff8a5a;font-size:18px}.float.dodge{color:#e6f2ff;text-shadow:0 0 6px #6aa8ff,0 1px #000;font-size:18px}#alert{letter-spacing:1px;text-shadow:0 3px 0 var(--ink), 0 0 12px #000000b3;opacity:0;white-space:nowrap;font-size:24px;font-weight:900;transition:opacity .2s,transform .2s;position:absolute;top:132px;left:50%;transform:translate(-50%)scale(.9)}#alert.show{opacity:1;transform:translate(-50%)scale(1)}#alert.danger{color:#ff6a4a}#alert.warn{color:#ffc46a}#alert.good{color:#9aff7a}#alert .arr{margin-right:5px;font-style:normal}#alert .arr:empty{display:none}#alert.world{letter-spacing:0;background:#140a1ac7;border:2px solid;border-radius:8px;padding:4px 10px;font-size:17px;transform:translate(-50%,-100%)scale(.9)}#alert.world.show{transform:translate(-50%,-100%)scale(1)}#alert.world:after{content:"";border:6px solid #0000;border-top-color:currentColor;border-bottom:0;margin-left:-6px;position:absolute;bottom:-8px;left:50%}#alert.world.edge:after{display:none}#countdown{color:#ffe6b8;text-shadow:0 6px 0 var(--ink);font-size:120px;font-weight:900;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}#help{max-width:min(440px,40vw);line-height:1.9;position:absolute;bottom:44px;left:12px}#help-chip{cursor:pointer;bottom:12px;left:12px}#help-chip:hover{color:var(--cream)}#help.hidden{display:none}#help b{color:#ffd9a0}.legend{align-items:center;gap:6px;margin-top:2px;display:flex}.legend i{border:2px solid var(--c);background:color-mix(in srgb, var(--c) 30%, transparent);border-radius:50%;width:12px;height:12px;display:inline-block}.legend i.jag{border-style:dashed}#info{text-align:right;pointer-events:none;bottom:12px;right:12px}#tip{z-index:10;max-width:290px;line-height:1.6;display:none;position:absolute}#tip b{font-size:13px}#overlay{background:radial-gradient(#140a1a59,#0a040ed1);justify-content:center;align-items:center;display:none;position:absolute;inset:0}#overlay.show{display:flex}#overlay.gallery-label{pointer-events:none;background:0 0;align-items:flex-start;padding-top:16px}.menu{text-align:center;width:min(1000px,96vw);padding:22px 26px}.menu h1{letter-spacing:2px;color:#ffd9a0;text-shadow:0 3px 0 var(--ink);margin:0 0 6px;font-size:34px;font-weight:900}.menu h1 small{color:var(--dim);letter-spacing:0;margin-left:8px;font-size:15px}.boss-preview{border:2px solid var(--ink);background:#00000040;border-radius:8px;margin:14px auto;padding:10px}.boss-preview .cards{justify-content:center;margin:8px 0}.pick{justify-content:center;gap:14px;margin:16px 0 8px;display:flex}.pick-card{text-align:left;max-width:290px;font:inherit;color:var(--cream);background:var(--panel-2);border:3px solid var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--ink);border-radius:10px;flex-direction:column;flex:1;gap:6px;padding:14px;transition:transform .1s,border-color .1s;display:flex}.pick-card:hover{border-color:#ffd9a0;transform:translateY(-3px)}.pick-card b{font-size:18px}.pick-card.warrior b{color:var(--warrior)}.pick-card.priest b{color:var(--priest)}.pick-card.mage b{color:var(--mage)}.pick-card.rogue b{color:var(--rogue)}.pick-card span{font-size:13px}.recap table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}.recap th,.recap td{text-align:right;border-bottom:1px solid #ffffff14;padding:6px}.recap th:first-child,.recap td:first-child{text-align:left}.recap th{color:var(--dim);font-weight:700}.recap td.warrior{color:var(--warrior);font-weight:800}.recap td.priest{color:var(--priest);font-weight:800}.recap td.mage{color:var(--mage);font-weight:800}.recap td.rogue{color:var(--rogue);font-weight:800}.recap.win h1{color:#b8ff8a}.recap.lose h1{color:#ff8a6a}.btns{justify-content:center;gap:10px;margin-top:8px;display:flex}.btns button{font:inherit;color:var(--ink);border:3px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#ffd9a0;border-radius:8px;padding:9px 16px;font-weight:800}.btns button.ghost{color:var(--cream);background:0 0}.btns button:hover{filter:brightness(1.1);transform:translateY(-1px)}#loading{color:var(--cream);z-index:50;background:#120a18;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:16px;display:flex;position:fixed;inset:0}#loading .bar2{border:2px solid var(--ink);background:#2a1620;border-radius:4px;width:260px;height:10px;overflow:hidden}#loading .bar2 div{background:var(--orange);width:0;height:100%;transition:width .1s}@media (max-width:960px){html:not(.touch) #board-btn{display:flex;top:10px;right:12px}html:not(.touch) #board{display:none;top:48px}html:not(.touch) #board.open{display:block}html:not(.touch) .fold{display:none}#party{width:180px}#boss-frame{width:calc(100vw - 440px)}html:not(.touch){--slot:52px;--slot-item:44px}}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}.ui-overlay{pointer-events:auto;background:radial-gradient(#140a1a59,#0a040ed1);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.menu{max-height:calc(100% - 20px);position:relative;overflow:auto}.menu .lang{gap:4px;display:flex;position:absolute;top:12px;right:14px}.menu .lang button,.fn-pick button{font:inherit;color:var(--cream);background:var(--panel-2);border:2px solid var(--ink);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:2px 8px 2px 4px;font-size:12px;font-weight:700;display:inline-flex}.skill-ico{pointer-events:none;flex:none;width:22px;height:22px;margin:-4px 0}.menu .lang button.on,.fn-pick button.on{color:var(--ink);background:#ffd9a0}.pick-card.chosen{box-shadow:0 4px 0 var(--ink), 0 0 0 3px #ffd9a059;border-color:#ffd9a0}.pick-card.taken{opacity:.45;cursor:not-allowed}.fn-pick{flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;display:flex}.toggles{color:var(--dim);justify-content:center;gap:18px;margin:6px 0 4px;font-size:13px;display:flex}.toggles input{vertical-align:-2px}.online-box{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:14px;display:flex}.online-box input{font:inherit;color:var(--cream);border:2px solid var(--ink);background:#00000059;border-radius:6px;width:140px;padding:7px 10px}.online-box input.code{text-transform:uppercase;letter-spacing:3px;width:150px;font-weight:800}.online-box button,.btns button:disabled{font:inherit;color:var(--ink);border:3px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#ffd9a0;border-radius:8px;padding:7px 14px;font-weight:800}.online-box button:disabled,.btns button:disabled{opacity:.45;cursor:not-allowed}.ping{text-align:center;margin:8px 0 0}.room-code{letter-spacing:6px;color:var(--ink);-webkit-user-select:all;user-select:all;background:#ffd9a0;border-radius:6px;margin-left:6px;padding:0 10px;display:inline-block}.lobby table.members{border-collapse:collapse;width:100%;margin:10px 0;font-size:14px}.lobby table.members td{text-align:left;border-bottom:1px solid #ffffff14;padding:6px}.lobby table.members tr.me td:first-child{color:#ffd9a0;font-weight:800}.lobby td.warrior{color:var(--warrior);font-weight:800}.lobby td.priest{color:var(--priest);font-weight:800}.lobby td.mage{color:var(--mage);font-weight:800}.lobby td.rogue{color:var(--rogue);font-weight:800}.bad{color:#ff8a6a}.small{font-size:12px}.recap ul{text-align:left;margin:2px 0 0;padding-left:18px}.unit-frame.ai .uf-name:after{content:" · AI";color:var(--dim);font-weight:400}#debug{z-index:20;min-width:280px;line-height:1.7;position:fixed;bottom:14px;left:14px}#debug.hidden{display:none}#debug select{font:inherit;margin-left:4px}#debug .dbg-fx summary,#debug .dbg-outline summary{cursor:pointer}#debug .dbg-bench-out{font:inherit;white-space:pre;margin:4px 0 0}#debug .dbg-btns button{font:inherit;margin-right:4px}#debug .dbg-sliders label,#debug label.dbg-row{grid-template-columns:70px 1fr 44px;align-items:center;gap:6px;display:grid}#debug .dbg-sliders input,#debug label.dbg-row input{width:100%}@media (max-height:520px){.menu{padding:12px 18px}.menu h1{margin-bottom:2px;font-size:24px}.menu h1 small{font-size:12px}.menu p{margin:6px 0}.menu>p{font-size:13px}.pick{gap:8px;margin:8px 0 4px}.pick-card{gap:2px;padding:7px 8px}.pick-card b{font-size:14px}.pick-card span{font-size:11px;line-height:1.4}.fn-pick{gap:3px;margin-top:2px}.fn-pick button{padding:1px 5px 1px 3px;font-size:11px}.skill-ico{width:18px;height:18px}.online-box{margin-top:8px}.recap table,.lobby table.members{margin:6px 0;font-size:12px}.recap th,.recap td,.lobby table.members td{padding:3px 5px}}.seat-picker{pointer-events:auto;flex-direction:column;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:10px 14px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.seat-picker .seats{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.seat-picker .seats button{min-width:112px;font:inherit;text-align:left;color:var(--cream);background:var(--panel-2);cursor:pointer;border:2px solid #6a4a78;border-radius:7px;flex-direction:column;align-items:flex-start;padding:6px 10px;display:flex}.seat-picker .seats button:not(:disabled):hover{border-color:#ffd9a0;transform:translateY(-2px)}.seat-picker .seats button:disabled{opacity:.45;cursor:not-allowed}.seat-picker .seats .warrior b{color:var(--warrior)}.seat-picker .seats .priest b{color:var(--priest)}.seat-picker .seats .mage b{color:var(--mage)}.seat-picker .seats .rogue b{color:var(--rogue)}.seat-picker>button.ghost{font:inherit;color:var(--cream);border:2px solid var(--ink);cursor:pointer;background:0 0;border-radius:6px;padding:3px 12px;font-size:12px}html.touch .seat-picker{gap:5px;padding:6px 10px;bottom:8px}html.touch .seat-picker .seats button{min-width:92px;padding:4px 8px}html.touch{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}html.touch #game,html.touch #hud{touch-action:none}html.touch kbd,html.touch #help,#rotate{display:none}@media (orientation:portrait){html.touch #rotate{z-index:100;text-align:center;background:#120a18;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:fixed;inset:0}}#rotate b{letter-spacing:1px;color:#ffd9a0;text-shadow:0 2px 0 var(--ink);font-size:22px}#rotate span{max-width:280px;color:var(--dim);font-size:14px;line-height:1.6}#rotate .phone{border:4px solid var(--cream);width:46px;height:80px;box-shadow:0 4px 0 var(--ink);border-radius:9px;margin-bottom:18px;animation:2.4s ease-in-out infinite turn-phone;position:relative}#rotate .phone:after{content:"";background:var(--cream);border-radius:2px;width:14px;height:3px;margin-left:-7px;position:absolute;bottom:4px;left:50%}@keyframes turn-phone{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}#stick-zone{display:none}html.touch #stick-zone{width:42%;height:64%;display:block;position:absolute;bottom:0;left:0}#stick-zone .stick{left:calc(max(16px, env(safe-area-inset-left)) + 60px);opacity:.6;background:radial-gradient(circle,#140a1a1f,#140a1a80);border:3px solid #f4e6c84d;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .15s;position:absolute;top:calc(100% - 78px)}#stick-zone .stick.on{opacity:1;transition:none}#stick-zone .knob{border:3px solid var(--ink);background:radial-gradient(circle at 35% 30%, #fff4dc, var(--cream) 45%, #b9a3b8);border-radius:50%;width:50px;height:50px;margin:-25px 0 0 -25px;position:absolute;top:50%;left:50%;box-shadow:0 3px #00000080}html.touch{--slot:60px}html.touch #actionbar{left:auto;right:calc(max(12px, env(safe-area-inset-right)) + 8px);width:var(--slot-jump);height:var(--slot-jump);box-shadow:none;background:0 0;border:0;gap:0;padding:0;bottom:14px;transform:none}html.touch .slot{width:var(--slot);height:var(--slot);margin:calc(var(--slot) / -2) 0 0 calc(var(--slot) / -2);border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 3px #00000080}html.touch .slot:after,html.touch .slot .icon,html.touch .slot .cd{border-radius:50%}html.touch .slot .icon img{width:106%;height:106%}html.touch .slot.noimg .icon{font-size:22px}html.touch .slot .cdtxt{font-size:20px}html.touch .slot.jump{--c:#8fb2d8;width:var(--slot-jump);height:var(--slot-jump);margin:calc(var(--slot-jump) / -2) 0 0 calc(var(--slot-jump) / -2)}html.touch #player-cast{width:min(260px,32vw);height:16px;bottom:16px}html.touch #player-cast .txt{font-size:10px}html.touch #combo{border-width:2px;padding:4px 9px;bottom:10px}html.touch #party{left:max(8px, env(safe-area-inset-left));gap:3px;width:152px;top:6px}html.touch .unit-frame{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:5px;padding:2px 6px 4px 9px}html.touch .unit-frame:hover{transform:none}html.touch .uf-stripe{width:3px}html.touch .uf-top{gap:4px;height:12px;margin-bottom:1px;font-size:10.5px}html.touch .uf-you{padding:0 2px;font-size:8px;line-height:11px}html.touch .uf-top .aura{border-width:1px;width:12px;height:12px;font-size:7px}html.touch .uf-top .pips.mini{display:none}html.touch .uf-name{max-width:64px}html.touch .uf-top .aura:nth-child(n+4){display:none}html.touch .unit-frame .bar.hp{height:10px}html.touch .unit-frame .bar.hp .txt{font-size:8px}html.touch .unit-frame .bar.res{height:3px;margin-top:1px}html.touch .tbar{left:9px;right:6px}html.touch #me,html.touch #help-chip{display:none}html.touch #boss-frame{width:min(380px,44vw);min-width:0;top:5px}html.touch .boss-top{gap:6px;height:17px;margin-bottom:3px}html.touch .boss-name{letter-spacing:1px;font-size:14px}html.touch .boss-attempt{font-size:9.5px}html.touch .boss-hpn{display:none}html.touch .boss-pct{font-size:14px}html.touch .boss-auras .aura{width:14px;height:14px;font-size:8px}html.touch .boss-bar .bar.big,html.touch .notch{height:11px}html.touch .notch em{display:none}html.touch #boss-cast{width:min(300px,38vw);top:40px}html.touch #boss-cast .bar{height:22px}html.touch #boss-cast .kd{width:16px;height:16px;font-size:9px}html.touch #boss-cast .cn{font-size:12px}html.touch #boss-cast .ctag{display:none}html.touch #boss-cast .ct{font-size:13px}html.touch #boss-cast .hint{gap:3px 8px;margin-top:4px;font-size:10px}html.touch #board-btn{top:6px;right:max(8px, env(safe-area-inset-right));display:flex}html.touch #board{top:44px;right:max(8px, env(safe-area-inset-right));width:200px;display:none}html.touch #board.open{display:block}html.touch .fold{display:none}html.touch .tab{padding:5px 0 6px}html.touch .dr{height:24px}html.touch .mr{height:22px}html.touch #info{top:42px;bottom:auto;right:max(8px, env(safe-area-inset-right));padding:2px 6px;font-size:9px;line-height:1.4}html.touch #alert{font-size:18px;top:92px}html.touch #alert.world{padding:3px 7px;font-size:13px}html.touch #countdown{font-size:72px;top:45%}html.touch #tip{max-width:240px;font-size:11px}.pick-card{position:relative}.pick-card>b{padding-right:52px}.cd-open{font:inherit;color:#ffd9a0;cursor:pointer;background:#00000047;border:2px solid #ffd9a0;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800;line-height:1.4;position:absolute;top:10px;right:10px}.cd-open:hover,.cd-open:focus-visible{color:var(--ink);background:#ffd9a0}.cd-back{z-index:5;background:#08030c9e;justify-content:center;align-items:center;padding:10px 16px;display:flex;position:absolute;inset:0}.cd{overscroll-behavior:contain;text-align:left;width:min(780px,100%);max-height:100%;padding:14px 18px 16px;overflow:auto}.cd-tabs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.cd-tabs button{font:inherit;color:var(--dim);background:var(--panel-2);border:2px solid var(--ink);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:800}.cd-tabs button.on{color:var(--ink);background:#ffd9a0}.cd-tabs .cd-x{min-width:36px;color:var(--cream);margin-left:auto;padding:4px 10px;font-size:18px;line-height:1}.cd-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.cd-class{font-size:24px;font-weight:900}.cd.warrior .cd-class{color:var(--warrior)}.cd.priest .cd-class{color:var(--priest)}.cd.mage .cd-class{color:var(--mage)}.cd.rogue .cd-class{color:var(--rogue)}.cd-role{color:#ffd9a0;background:#ffd9a024;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800}.cd-pitch{margin:6px 0 2px;font-size:14px;line-height:1.55}.cd h3{letter-spacing:1px;color:var(--dim);margin:12px 0 6px;font-size:13px;font-weight:800}.cd-skills{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:8px;display:grid}.cd-skill{text-align:left;font:inherit;color:var(--cream);background:var(--panel-2);border:2px solid var(--ink);border-radius:8px;align-items:flex-start;gap:10px;padding:9px 10px;display:flex}button.cd-skill{cursor:pointer}button.cd-skill:hover{border-color:#ffd9a099}.cd-skill.on{border-color:#ffd9a0;box-shadow:0 0 0 2px #ffd9a047}.cd-icon{border:2px solid var(--ink);background:radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--c) 50%, #2c1934) 0%, color-mix(in srgb, var(--c) 18%, #1c1022) 56%, #120814 100%);width:46px;height:46px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--c) 65%, transparent), 0 2px 0 #00000080;border-radius:10px;flex:none;position:relative;overflow:hidden}.cd-icon .skill-ico{width:114%;height:114%;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cd-text{flex-direction:column;gap:3px;min-width:0;display:flex}.cd-name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cd-name b{font-size:15px}.cd-picked{color:var(--ink);background:#ffd9a0;border-radius:4px;padding:0 6px;font-size:11px;font-weight:800}.cd-meta{color:#ffd9a0;font-size:12px}.cd-desc{font-size:13px;line-height:1.5}.cd-common{margin:10px 0 0}.cd-foot{justify-content:flex-end;align-items:center;margin-top:12px}@media (max-height:520px){.cd-back{padding:6px 10px}.cd{padding:10px 12px 12px}.cd-tabs{margin-bottom:6px}.cd-tabs button{padding:3px 10px;font-size:12px}.cd-class{font-size:19px}.cd-pitch{font-size:12px;line-height:1.45}.cd h3{margin:8px 0 4px;font-size:12px}.cd-skills{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px}.cd-skill{gap:8px;padding:6px 8px}.cd-icon{width:36px;height:36px}.cd-name b{font-size:14px}.cd-desc{font-size:12px;line-height:1.4}.cd-foot{margin-top:8px}.cd-foot button{padding:6px 12px}.pick-card>b{padding-right:44px}.cd-open{padding:1px 7px;font-size:11px;top:6px;right:6px}}
