:root{color-scheme:dark;--page: #05070d;--bg: #0b0f1a;--surface: #151b2c;--surface-2: #1d2540;--surface-3: #2a3560;--line: #36446f;--text: #f3f6fd;--muted: #b0bad4;--hp: #3ddc84;--hp-mid: #ffc53d;--hp-low: #ff5a5f;--mp: #4db2ff;--gold: #ffd25a;--accent: #8f72ff;--good: #3ddc84;--bad: #ff5a5f;--common: #9aa6c4;--rare: #4db2ff;--epic: #c58bff;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);font-family:system-ui,-apple-system,Segoe UI,Roboto,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif}*,*:before,*:after{box-sizing:border-box;touch-action:manipulation}html{height:100%;background:var(--page);overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{height:100%;margin:0;overflow:hidden;background:var(--page);color:var(--text);font-size:16px;line-height:1.35;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#root{display:flex;justify-content:center;height:100vh;height:100dvh}.app{position:relative;display:flex;flex-direction:column;width:100%;max-width:480px;height:100%;min-height:0;padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);overflow:hidden;background:var(--bg)}@media(min-width:481px){.app{border-right:1px solid var(--line);border-left:1px solid var(--line)}}.screen{flex:1 1 0;min-height:0;animation:screen-in .2s ease-out}button{margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}button:disabled{cursor:not-allowed}button:focus-visible{outline:3px solid #fff;outline-offset:2px}h1,h2,p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px 16px;border-radius:14px;font-weight:800}.btn-primary{background:linear-gradient(160deg,#8f72ff,#5a44dc);box-shadow:0 4px #00000061,inset 0 1px #ffffff47;color:#fff}.btn:active:not(:disabled){box-shadow:0 1px #00000061,inset 0 1px #ffffff47;transform:translateY(3px)}.btn-xl{width:100%;min-height:60px;font-size:19px}.lang-toggle{display:inline-flex;flex:none;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:14px;font-weight:800}.bar{--bar: var(--mp);position:relative;flex:1;min-width:0;height:24px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#080b14}.bar[data-level=high]{--bar: #23a862}.bar[data-level=mid]{--bar: #c58a0c}.bar[data-level=low]{--bar: #d4343b}.bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bar);transform:scaleX(var(--p));transform-origin:left;transition:transform .2s ease-out}.bar[data-level=mp] .bar-fill{background:#2a7fd0}.bar-text{position:relative;display:block;overflow:hidden;font-size:13px;font-weight:800;line-height:22px;text-align:center;text-shadow:0 1px 2px #000;white-space:nowrap}.toast{display:block;position:absolute;top:calc(var(--safe-top) + 12px);left:50%;z-index:100;max-width:calc(100% - 24px);padding:10px 16px;border-radius:12px;background:#f3f6fd;box-shadow:0 8px 24px #00000080;color:#0b0f1a;font-size:14px;font-weight:800;text-align:center;pointer-events:none;transform:translate(-50%);animation:toast-in .2s ease-out}.app[data-phase=home] .toast,.app[data-phase=loot] .toast,.app[data-phase=dead] .toast{top:calc(var(--safe-top) + 84px)}.boot-error{flex:none;padding:8px 12px;border-bottom:1px solid #b3303a;background:#5a1d22;color:#ffd6d6;font-size:13px;font-weight:700;overflow-wrap:anywhere}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.screen,.toast{animation:none}.bar-fill{transition:none}}.menu{display:flex;flex-direction:column}.topbar{display:flex;flex:none;align-items:center;gap:8px;padding:8px 12px 6px}.topbar-main{flex:1;min-width:0}.topbar-title{margin:0;overflow:hidden;font-size:20px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.gold-title{color:var(--gold);font-size:28px}.topbar-sub{color:var(--muted);font-size:13px;font-weight:600}.status-line{display:flex;flex-wrap:wrap;gap:2px 12px}.scroll{display:flex;flex:1 1 0;flex-direction:column;gap:12px;min-height:0;padding:4px 12px 16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.scroll>*{flex:none}.panel{padding:10px 8px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.panel-head{display:flex;align-items:baseline;gap:8px;padding:0 4px 6px}.panel-title{margin:0;font-size:16px;font-weight:800}.panel-count{margin-left:auto;color:var(--muted);font-size:13px;font-weight:700}.panel-hint{margin:0 4px 10px;color:var(--muted);font-size:13px}.stat-line{display:flex;flex-wrap:wrap;gap:2px 14px;margin:0 4px 4px;font-size:13px;font-weight:700}.empty{margin:4px;padding:14px 8px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:14px;text-align:center}.notice{display:block;margin:0 0 8px;padding:10px 12px;border:1px solid rgb(255 176 32 / .65);border-radius:12px;background:#ffb02029;color:#ffd48a;font-size:14px;font-weight:700}.pile{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.pile-card{display:flex;flex-direction:column;gap:8px;padding:10px 10px 10px 8px;border:1px solid var(--line);border-left:5px solid var(--common);border-radius:12px;background:var(--surface-2)}.pile-card[data-rarity=rare]{border-left-color:var(--rare)}.pile-card[data-rarity=epic]{border-left-color:var(--epic)}.pile-head{display:flex;align-items:flex-start;gap:10px;min-width:0}.pile-icon{flex:none;width:38px;font-size:32px;line-height:1.1;text-align:center}.pile-body{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.pile-name,.pile-line,.pile-desc,.pile-memory{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.pile-name{font-size:15px;font-weight:800}.pile-slot{align-self:flex-start;padding:1px 8px;border-radius:999px;background:#8f72ff38;color:#d6cbff;font-size:11.5px;font-weight:800}.pile-slot[data-loot]{background:#ffffff1a;color:var(--muted)}.pile-line{color:#cdbfff;font-size:13px;font-weight:700}.pile-meta{color:var(--muted);font-size:12px;font-weight:700}.pile-desc,.pile-memory{color:var(--muted);font-size:12.5px}.pile-memory{font-style:italic}.pile-value{flex:none;color:var(--gold);font-size:14px;font-weight:800;white-space:nowrap}.compare{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid rgb(143 114 255 / .4);border-radius:10px;background:#8f72ff1f;font-size:12.5px}.compare p{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}.compare-swap{color:var(--muted)}.compare-skill{color:#cdbfff;font-weight:700}.delta{font-size:13px;font-weight:800}.delta[data-sign=up]{color:#7bf0ac}.delta[data-sign=down]{color:#ff8a8a}.delta-none{color:var(--muted)}.pile-actions{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px}.act{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:52px;padding:4px 6px;border-radius:12px;box-shadow:0 3px #00000061,inset 0 1px #ffffff38;font-size:14px;font-weight:900;line-height:1.2}.act small{font-size:12px;font-weight:800}.act:active:not(:disabled){box-shadow:0 1px #00000061,inset 0 1px #ffffff38;transform:translateY(2px)}.act-equip{background:linear-gradient(160deg,#8f72ff,#5a44dc);color:#fff}.act-bag{background:var(--surface-3);color:var(--text)}.act-sell{background:linear-gradient(160deg,#ffd25a,#f0a21a);color:#2a1c00}.act:disabled{background:#242b45;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}.act:disabled small{color:#ffc46b}.upgrades{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.upgrade{display:flex;align-items:center;gap:10px;min-height:68px;padding:8px 8px 8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.up-icon{flex:none;width:34px;font-size:26px;text-align:center}.up-text{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.up-name{font-size:15px;font-weight:800}.up-desc{color:var(--muted);font-size:12.5px}.up-meta{font-size:12.5px;font-weight:700}.up-buy{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;min-width:84px;min-height:48px;padding:4px 8px;border-radius:12px;background:linear-gradient(160deg,#ffd25a,#f0a21a);box-shadow:0 3px #00000061;color:#2a1c00;font-size:15px;font-weight:900;line-height:1.2}.up-buy small{font-size:11px;font-weight:800}.up-buy:active:not(:disabled){box-shadow:0 1px #00000061;transform:translateY(2px)}.up-buy:disabled{border:1px solid var(--line);background:#242b45;box-shadow:none;color:var(--muted)}.upgrade[data-state=poor] .up-buy small{color:#ffc46b}.upgrade[data-state=max] .up-buy:disabled{color:var(--good)}.verdict{padding:4px 0;text-align:center}.verdict-icon{font-size:56px;line-height:1}.verdict-title{margin:8px 0 2px;font-size:24px;font-weight:900}.verdict-sub{margin:0;color:var(--muted);font-size:14px}.plain-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.plain-row{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;border-radius:12px;background:var(--surface-2)}.panel-kept .plain-row{box-shadow:inset 4px 0 0 var(--good)}.panel-lost .plain-row{box-shadow:inset 4px 0 0 var(--bad)}.panel-lost .plain-icon,.panel-lost .plain-name{opacity:.65}.plain-icon{flex:none;font-size:26px;line-height:1}.plain-text{display:flex;flex:1;flex-direction:column;min-width:0}.plain-name{overflow:hidden;font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.plain-sub{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.plain-value{flex:none;color:var(--gold);font-size:13px;font-weight:800}.footer{flex:none;padding:10px 12px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--bg)}.footer-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.decide{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0;min-height:84px;padding:8px 12px;border-radius:16px;box-shadow:0 4px #00000061,inset 0 1px #ffffff47;color:#fff;text-align:left}.decide:active:not(:disabled){box-shadow:0 1px #00000061,inset 0 1px #ffffff47;transform:translateY(3px)}.decide-home{background:linear-gradient(160deg,#2fbf71,#178a52)}.decide-go{background:linear-gradient(160deg,#ff9a3c,#d4501c)}.decide:disabled{background:#242b45;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}.decide-main{font-size:17px;font-weight:900;white-space:nowrap}.decide-sub{font-size:12.5px;font-weight:700;line-height:1.25}.gold-pop{display:inline-block;animation:gold-pop .42s ease-out}.panel-count[data-full]{color:#ffc46b}.note-slot{flex:none;color:#d6cbff;font-weight:800}.panel-gear{display:flex;flex-direction:column;gap:8px}.gear-note{color:var(--text);font-size:14px;font-weight:700}.gear-dots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.gear-dot{display:flex;gap:6px;align-items:center;min-width:0;padding:6px 8px;border-radius:10px;background:var(--surface-2)}.gear-dot[data-empty]{background:transparent;box-shadow:inset 0 0 0 1px #ffffff24;opacity:.6}.gear-dot-icon{flex:none;font-size:22px;line-height:1.2}.gear-dot-name{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}@keyframes gold-pop{0%{transform:scale(1)}40%{color:var(--gold);transform:scale(1.35)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.gold-pop{animation:none}}.dive{display:flex;flex-direction:column}.hud{display:flex;flex:none;flex-direction:column;gap:4px;padding:6px 8px 2px}.hud-row{display:flex;align-items:center;gap:6px;min-width:0}.hud-floor{font-size:17px;font-weight:800;white-space:nowrap}.hud-gold{color:var(--gold);font-size:15px;font-weight:800;white-space:nowrap}.hud-spacer{flex:1}.hud-btn{min-width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:17px;font-weight:800}.hud-btn[aria-pressed=true]{border-color:var(--accent);background:#36307a}.seg{display:flex;gap:4px;min-width:0;margin:0;padding:0;border:0}.map-wrap{position:relative;display:flex;flex:1 1 0;flex-direction:column;min-height:0}.replay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9}.pause-overlay{position:absolute;top:6px;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:14px;background:#080b14b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-weight:800}.pause-title{font-size:24px}.pause-hint{color:var(--muted);font-size:14px}.banner{display:block;position:absolute;top:40%;left:50%;z-index:10;padding:10px 20px;border-radius:16px;box-shadow:0 8px 24px #00000080;font-size:22px;font-weight:900;white-space:nowrap;transform:translate(-50%,-50%);animation:banner-in .26s ease-out}.banner[data-tone=good]{background:#18864f}.banner[data-tone=bad]{background:#b3303a}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-30%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.dock{display:flex;flex:none;flex-direction:column;gap:4px;padding:4px 8px calc(8px + var(--safe-bottom))}@media(prefers-reduced-motion:reduce){.banner{animation:none}}.bag-strip{position:relative;display:flex;align-items:center;gap:6px;height:34px;padding:0 2px}.bag-count{flex:none;font-size:13px;font-weight:800;white-space:nowrap}.bag-shield{flex:none;font-size:13px;line-height:1}.bag-chips{display:flex;flex:1;gap:3px;min-width:0;margin:0;padding:0;list-style:none}.bag-chip{display:grid;flex:1 1 0;place-items:center;min-width:0;max-width:34px;height:28px;border:1px dashed rgb(255 255 255 / .2);border-radius:8px;font-size:16px;line-height:1}.bag-chip[data-filled]{border-style:solid;border-color:#ffffff29;background:var(--surface-2)}.bag-chip[data-safe]{border-color:#3ddc84bf;background:#3ddc8424}.bag-chip[data-safe][data-filled]{background:#3ddc843d}.bag-alert{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:10px;box-shadow:0 0 0 3px #ffb020,0 0 14px 3px #ffb020b3;pointer-events:none;animation:bag-alert .65s ease-out forwards}.bag-list{--row-h: 112px;--divider-h: 26px;position:relative;height:calc(var(--rows) * var(--row-h) + var(--divider-h));margin:0;padding:0;list-style:none}.brow,.safe-zone{position:absolute;top:0;right:0;left:0}.safe-zone{z-index:0;right:-3px;left:-3px;height:calc(var(--safe) * var(--row-h) + var(--divider-h) + 3px);border-top:2px dashed rgb(61 220 132 / .8);border-radius:10px;background:#3ddc841c;transition:height .26s cubic-bezier(.22,.8,.25,1);pointer-events:none}.safe-label{display:block;overflow:hidden;padding:0 6px;height:var(--divider-h);color:#86f5b4;font-size:12px;font-weight:800;line-height:var(--divider-h);text-align:center;text-overflow:ellipsis;white-space:nowrap}.brow{z-index:1;height:var(--row-h);transform:translateY(calc(var(--slot) * var(--row-h) + var(--divider-h)));transition:transform .26s cubic-bezier(.22,.8,.25,1);animation:row-in .24s ease-out}.brow-card{position:absolute;top:1.5px;right:0;bottom:1.5px;left:0;display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 1px #ffffff12}.brow-head{display:flex;flex:1 1 auto;gap:8px;align-items:flex-start;min-width:0;min-height:0;overflow:hidden}.brow-icon{flex:none;font-size:30px;line-height:1.1}.brow-text{display:flex;flex:1;flex-direction:column;min-width:0}.brow-name,.brow-sub,.brow-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brow-name{font-size:15px;font-weight:800;line-height:1.2}.brow-sub{color:var(--muted);font-size:12px;line-height:1.3}.brow-note{display:flex;gap:8px;font-size:12px;line-height:1.3}.brow-value{flex:none;color:var(--gold);font-size:13px;font-weight:800;white-space:nowrap}.brow-actions{display:flex;flex:none;gap:4px;align-items:center;height:44px}.brow-move{display:flex;flex:none;gap:4px}.brow-tail{display:flex;flex:none;gap:4px;margin-left:auto}.icon-btn{display:grid;flex:none;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--surface-3);font-size:16px}.icon-btn-text{font-size:12.5px;font-weight:800}.icon-btn:active:not(:disabled),.row-btn:active:not(:disabled){background:var(--accent);transform:scale(.96)}.icon-btn:disabled{opacity:.4}.row-btn{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;min-width:56px;height:44px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-3);font-size:12.5px;font-weight:800;line-height:1.2}.row-btn small{color:var(--gold);font-size:11.5px;font-weight:800}.row-btn-gold{border-color:#ffd25a80}.row-btn-equip{border-color:transparent;background:linear-gradient(160deg,#8f72ff,#5a44dc);color:#fff}@keyframes row-in{0%{opacity:0}to{opacity:1}}@keyframes bag-alert{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.brow,.safe-zone{transition:none;animation:none}}.map-area{flex:1 1 0;min-height:0;display:grid;place-items:center;padding:10px 8px 2px;container-type:size}.board{--cell: min( calc((min(100vw, 480px) - 16px) / var(--cols)), calc((100dvh - 330px) / var(--rows)) );position:relative;width:calc(var(--cell) * var(--cols));height:calc(var(--cell) * var(--rows))}@supports (width: 1cqw){.board{--cell: min(100cqw / var(--cols), 100cqh / var(--rows))}}.board-floor{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:12px;background:linear-gradient(to bottom,rgb(255 255 255 / .13),transparent calc(var(--cell) * .9)),repeating-conic-gradient(#222d4a 0,#222d4a 25%,#1b2543 0,#1b2543 50%) 0 0 / calc(var(--cell) * 2) calc(var(--cell) * 2);box-shadow:inset 0 0 0 2px var(--line),0 10px 28px #00000080}.actor{position:absolute;top:0;left:0;z-index:1;width:var(--cell);height:var(--cell);transform:translate(calc(var(--x) * 100%),calc(var(--y) * 100%));transition:transform var(--tick-ms) linear;will-change:transform}.actor.hero{z-index:2}.actor-body{position:absolute;top:9%;right:9%;bottom:9%;left:9%;display:grid;place-items:center;border-radius:28%;background:var(--tone);box-shadow:inset 0 -3px #00000047}.hero{--tone: #2f6bed}.monster{--tone: #b3303a}.actor-icon{font-size:calc(var(--cell) * .56);line-height:1}.monster[data-boss] .actor-body{box-shadow:0 0 0 2px var(--gold),inset 0 -3px #00000047}.monster[data-stunned] .actor-body,.hero[data-stunned] .actor-body{filter:saturate(.5) brightness(.85)}.monster[data-winding] .actor-body{box-shadow:0 0 0 2px #ff4b4b,0 0 14px 4px #ff4b4bd9;animation:ring-pulse .55s ease-in-out infinite alternate}.countdown-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.countdown{position:absolute;top:0;left:0;width:var(--cell);height:var(--cell);transform:translate(calc(var(--x) * 100%),calc(var(--y) * 100%))}.windup{position:absolute;top:0;left:50%;display:grid;place-items:center;min-width:max(22px,calc(var(--cell) * .72));height:max(22px,calc(var(--cell) * .72));border:2px solid #fff;border-radius:999px;background:#e5242b;box-shadow:0 2px 6px #0000008c;color:#fff;font-size:max(14px,calc(var(--cell) * .5));font-weight:900;line-height:1;transform:translate(-50%,-48%);animation:windup-pulse .55s ease-in-out infinite alternate}.actor-hp{position:absolute;top:1%;right:14%;left:14%;height:max(3px,8%);overflow:hidden;border-radius:3px;background:#000000b3}.actor-hp-fill{width:100%;height:100%;background:var(--hp);transform:scaleX(var(--p));transform-origin:left;transition:transform .2s ease-out}.badge{position:absolute;padding:1px 3px;border-radius:6px;background:#000000b8;color:#fff;font-size:max(10px,calc(var(--cell) * .32));font-weight:800;line-height:1.1}.badge-stun{top:14%;left:0}.badge-block{right:0;bottom:4%;background:#1c6fa8}.badge-carry{right:-2%;bottom:2%;background:#fffffff0;font-size:max(11px,calc(var(--cell) * .38))}.actor-flash{position:absolute;top:9%;right:9%;bottom:9%;left:9%;border-radius:28%;opacity:0;pointer-events:none;animation:actor-flash .32s ease-out}.actor-flash[data-tone=hurt]{background:#fff}.actor-flash[data-tone=block]{background:#7fdcff}.actor-flash[data-tone=heal]{background:#5dffa0}.actor-flash[data-tone=stun]{background:#ffe066}.actor-flash[data-tone=drain]{background:#6cc4ff}.fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.fx{position:absolute;top:0;left:0;display:flex;align-items:flex-start;justify-content:center;width:var(--cell);height:var(--cell);transform:translate(calc(var(--x) * 100%),calc(var(--y) * 100%))}.fx-body{display:flex;flex-direction:column;align-items:center;margin-top:calc(var(--lane) * var(--cell) * -.42);color:#fff;font-size:max(13px,calc(var(--cell) * .42));font-weight:800;line-height:1.05;white-space:nowrap;text-shadow:0 0 3px #000,0 1px 0 #000,1px 0 0 #000,-1px 0 0 #000,0 -1px 0 #000;animation:fx-float var(--fx-ms) ease-out both;animation-delay:calc(var(--lane) * .11s)}.fx-body small{font-size:.72em;letter-spacing:.04em}.fx-body[data-kind=hit][data-side=foe]{color:#fff3b0}.fx-body[data-kind=hit][data-side=hero]{color:#ff6b6b}.fx-body[data-crit=true]{font-size:max(17px,calc(var(--cell) * .56))}.fx-body[data-crit=true][data-side=foe]{color:#ffb020}.fx-body[data-heavy=true]{font-size:max(18px,calc(var(--cell) * .6))}.fx-body[data-kind=skillHit]{color:#e0b3ff}.fx-body[data-kind=heal]{color:#5dffa0}.fx-body[data-kind=drain],.fx-body[data-kind=block]{color:#8fe3ff}.fx-body[data-kind=skill]{padding:2px 9px;border-radius:999px;background:#7c5cffeb;box-shadow:0 2px 6px #00000080;text-shadow:none}.fx-body[data-kind=stun]{color:#ffe066}.fx-body[data-kind=topple],.fx-body[data-kind=steal],.fx-body[data-kind=escape]{color:#ffb066}.fx-body[data-kind=drop]{color:var(--gold)}.fx-body[data-kind=puff]{font-size:calc(var(--cell) * .95);animation-name:fx-puff}@keyframes fx-float{0%{opacity:0;transform:translateY(5px) scale(.7)}14%{opacity:1;transform:translateY(-2px) scale(1.12)}72%{opacity:1}to{opacity:0;transform:translateY(calc(var(--cell) * -.9)) scale(1)}}@keyframes fx-puff{0%{opacity:.95;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}@keyframes fx-fade{0%{opacity:0}10%,80%{opacity:1}to{opacity:0}}@keyframes actor-flash{0%{opacity:.85}to{opacity:0}}@keyframes ring-pulse{0%{filter:brightness(1)}to{filter:brightness(1.35)}}@keyframes windup-pulse{0%{transform:translate(-50%,-48%) scale(1)}to{transform:translate(-50%,-48%) scale(1.16)}}@media(prefers-reduced-motion:reduce){.actor,.actor-hp-fill{transition:none}.monster[data-winding] .actor-body,.windup{animation:none}.fx-body,.fx-body[data-kind=puff]{animation-name:fx-fade}}.skill-grid{--btn-h: clamp(56px, 8dvh, 84px);display:grid;grid-auto-rows:var(--btn-h);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.skill-cell{display:flex;min-width:0;min-height:0}.skill-btn,.skill-face{position:relative;display:flex;flex:1;align-items:center;gap:5px;min-width:0;padding:4px 6px;overflow:hidden;border-radius:14px;text-align:left}.skill-btn{background:linear-gradient(160deg,#8f72ff,#5a44dc);box-shadow:0 3px #00000061,inset 0 1px #ffffff47;color:#fff;animation:skill-ready .26s ease-out}.skill-btn:active:not(:disabled){box-shadow:0 1px #00000061,inset 0 1px #ffffff47;transform:translateY(2px)}.skill-btn:disabled{background:#242b45;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);animation:none}.skill-btn:disabled .skill-icon,.skill-btn:disabled .skill-name{opacity:.6}.skill-cell[data-state=empty] .skill-face{border:1px dashed rgb(255 255 255 / .2);color:var(--muted)}.skill-cell[data-state=empty] .skill-icon{opacity:.35}.skill-cell[data-state=passive] .skill-face{background:var(--surface);box-shadow:inset 0 0 0 1px #ffffff14;color:var(--muted)}.skill-icon{flex:none;font-size:clamp(20px,calc(var(--btn-h) * .42),30px);line-height:1}.skill-text{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.skill-name{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;font-size:12.5px;font-weight:800;line-height:1.12;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.skill-sub{overflow:hidden;font-size:11px;font-weight:700;line-height:1.2;opacity:.92;text-overflow:ellipsis;white-space:nowrap}.skill-sub[data-warn]{color:#ffc46b;opacity:1}.skill-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;transform:scaleY(var(--p));transform-origin:top;transition:transform .2s linear}.skill-cd{position:absolute;top:3px;right:3px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#000000b8;color:#fff;font-size:13px;font-weight:900;line-height:1}.skill-flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#fff;opacity:0;pointer-events:none;animation:skill-flash .32s ease-out}.gear-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.gear-grid>li{display:flex;min-width:0}.gear-cell{--rarity: var(--common);display:flex;flex:1;flex-direction:column;align-items:stretch;gap:3px;min-width:0;min-height:140px;padding:6px;border:1px solid var(--line);border-top:3px solid var(--rarity);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:left}.gear-cell[data-rarity=rare]{--rarity: var(--rare)}.gear-cell[data-rarity=epic]{--rarity: var(--epic)}.gear-cell[data-empty]{align-items:center;justify-content:center;border:1px dashed rgb(255 255 255 / .22);background:transparent;color:var(--muted)}.gear-cell:active:not(:disabled){background:var(--surface-3);transform:scale(.98)}.gear-cell:disabled{opacity:.6}.gear-slot{max-width:100%;overflow:hidden;color:var(--muted);font-size:11.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.gear-icon{align-self:center;font-size:30px;line-height:1.15}.gear-cell[data-empty] .gear-icon{opacity:.35}.gear-name,.gear-sub{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;text-align:center;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.gear-name{font-size:12.5px;font-weight:800;line-height:1.15}.gear-sub{color:var(--muted);font-size:11px;line-height:1.2}.gear-off{align-self:stretch;margin-top:auto;padding:3px 2px;border-radius:8px;background:#ffffff1a;font-size:12px;font-weight:800;line-height:1.2;text-align:center}.gear-off[data-warn]{color:#ffc46b}@keyframes skill-ready{0%{transform:scale(.93)}60%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes skill-flash{0%{opacity:.75}to{opacity:0}}@media(prefers-reduced-motion:reduce){.skill-btn{animation:none}.skill-fill{transition:none}}
