#battleScreen header{border:0;padding:0 2px;margin:0 0 2px;align-items:center;min-height:0}#battleScreen header h1{font-size:1.7rem}#battleScreen .battleMenuToggle{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;font-size:1.1rem}#battleScreen .battleMenuDropdown{top:calc(100% + 8px);left:0;min-width:210px;padding:8px;gap:2px;border-radius:20px;background:hsl(var(--h) 14% 7% / .985);border:1px solid var(--c-line);box-shadow:var(--sh-2);animation:ddIn var(--t-med) var(--ease)}#battleScreen .battleMenuDropdown button{justify-content:flex-start;min-height:46px;border:0;border-radius:12px;background:transparent;color:var(--c-text);padding:0 14px;font-weight:500;font-size:.95rem;width:100%;text-align:left}#battleScreen .battleMenuDropdown button:hover{background:hsl(var(--h) 30% 92% / .08)}#battleScreen .battleMenuDropdown #surrenderBtn{color:var(--c-danger)}#battleScreen .battleMenuDropdown #surrenderBtn:hover{background:var(--c-danger);color:#1a0705}#battleScreen header .status{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5em;padding:6px 16px;border-radius:999px;font:600 .9rem var(--f-body);letter-spacing:0;text-transform:none;color:var(--c-dim);background-image:var(--grain),var(--glass-bg);background-color:var(--glass-fill);border:1px solid var(--c-line);box-shadow:var(--sh-1),inset 0 1px hsl(var(--h) 40% 100% / .09)}#battleScreen header .status b{color:var(--c-text);font-variant-numeric:tabular-nums}#battleScreen header .status #turnSide{color:var(--accent-hi)}#battleScreen header .status .liveMatchTimer{margin-left:4px}#battleScreen{padding:6px 10px;gap:4px}#battleScreen .layout{display:grid;grid-template-columns:clamp(330px,26vw,460px) minmax(0,1fr);gap:10px;flex:1;min-height:0;align-items:stretch}#battleScreen .battleSide{grid-column:1;grid-row:1;flex:none;max-height:none;min-height:0;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.boardCol{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:4px;min-height:0;min-width:0}.boardStage{position:relative;flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}#battleScreen .board-frame{flex:1;min-height:0;border-radius:26px;border:1px solid var(--c-line);box-shadow:var(--sh-2);padding:3px 2px;isolation:isolate}#battleScreen .mapLayer{border-radius:25px}#battleScreen .board-frame:after{content:"";position:absolute;inset:0;border-radius:25px;pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 50% 40%,hsl(var(--h) 20% 5% / .1),hsl(var(--h) 25% 4% / .55))}#battleScreen .battleSide{background-color:hsl(var(--h) 14% 8% / .5);border-color:hsl(var(--h) 40% 80% / .2)}#battleSide .inspStats div,#battleSide .attrBox,#battleSide .hchip,#battleSide .spellCard.inspCard{background-color:hsl(var(--h) 16% 8% / .62)}.inspToggle{display:none}@media(min-width:901px){#battleScreen{--bs-W: calc(100vw / var(--ui-zoom));--bs-H: calc(100dvh / var(--ui-zoom));--bs-pad: 4px;--bs-gap: 8px;--bs-colL: clamp(330px, 26vw, 460px);--bs-gridW: min(calc((var(--bs-H) - 2 * var(--bs-pad) - 8px) * .6453), calc(877.5px / var(--ui-zoom)));--bs-colR: clamp(250px, calc(var(--bs-W) - 2 * var(--bs-pad) - 2 * var(--bs-gap) - var(--bs-gridW) - var(--bs-colL) - 8px), var(--bs-colL));max-width:none;position:relative;padding:var(--bs-pad);column-gap:var(--bs-gap);row-gap:0;display:grid;grid-template-columns:var(--bs-colL) minmax(0,1fr) var(--bs-colR);grid-template-rows:auto auto minmax(0,1fr) auto auto auto}#battleScreen header,#battleScreen .layout,#battleScreen .boardCol,#battleScreen .boardStage,#battleScreen .trayRow{display:contents}#battleScreen:before{content:"";grid-column:3;grid-row:1 / -1;border-radius:22px;pointer-events:none;background-image:var(--grain),var(--glass-bg);background-color:hsl(var(--h) 14% 8% / .5);border:1px solid hsl(var(--h) 40% 80% / .2);box-shadow:inset 0 1px hsl(var(--h) 40% 100% / .1)}#battleScreen .battleSide{grid-column:1;grid-row:1 / -1;padding:66px 14px 12px;border-radius:22px}#battleScreen header .titleRow{grid-column:1;grid-row:1;align-self:start;justify-self:start;z-index:6;margin:12px 0 0 14px}#battleScreen header h1{display:none}#battleScreen header .status{grid-column:3;grid-row:1;justify-self:end;align-self:start;z-index:1;margin:12px 12px 0}#battleScreen .toastWrap{grid-column:2;grid-row:1}#battleScreen .board-frame{grid-column:2;grid-row:1 / -1;padding:2px;border-radius:22px}#battleScreen .mapLayer,#battleScreen .board-frame:after{border-radius:21px}#battleScreen .board{margin-top:0;margin-bottom:0}#battleScreen #deploymentPanel{grid-column:3;grid-row:3;align-self:end;width:auto;margin:12px 12px 18px;z-index:1}#battleScreen .trayRow .spellTray{grid-column:3;grid-row:4;margin:0 12px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;z-index:1}#battleScreen .trayRow .selControls{grid-column:3;grid-row:5;width:auto;min-height:48px;margin:10px 12px 0;display:flex;gap:8px;z-index:1}#battleScreen .trayRow .selControls button{min-height:48px;border-radius:18px}#battleScreen .trayRow #endTurnBtn{grid-column:3;grid-row:6;width:auto;min-height:64px;margin:10px 12px 12px;font-size:1.15rem;z-index:1}.spellCard{height:68px}}@media(min-width:901px)and (max-width:1250px){#battleScreen{--bs-colL: 64px;--bs-colR: clamp(250px, 24vw, 320px)}#battleScreen .battleSide{padding:62px 8px 10px;align-items:center;overflow:hidden}#battleScreen .battleSide:not(.open) .inspPanel>:not(.inspHead),#battleSide:not(.open) .inspHead>:not(.inspPortrait),#battleSide:not(.open) .inspEmpty,#battleSide:not(.open) .hint{display:none}#battleSide:not(.open) .inspPanel{overflow:hidden}#battleSide:not(.open) .inspPortrait,#battleSide:not(.open) .inspPortrait.inspHex{width:48px;height:41.6px}#battleScreen header .titleRow{margin:10px 0 0 12px}.inspToggle{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;flex:none;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%}.inspToggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--t-fast)}#battleScreen #battleSide.open{position:absolute;grid-column:1 / 3;left:0;top:0;bottom:0;width:min(380px,100%);z-index:5;align-items:stretch;padding:66px 14px 12px;background-color:hsl(var(--h) 14% 8% / .97);box-shadow:var(--sh-2)}#battleSide.open .inspToggle{position:absolute;top:11px;right:12px;margin:0;z-index:2}#battleSide.open .inspToggle svg{transform:rotate(180deg)}}#board .tile{background:hsl(var(--h) 16% 10% / .34);border:0}#board .tile.alt{background:hsl(var(--h) 16% 10% / .34)}#board .tile.castle-enemy,#board .tile.castle-player{background:hsl(var(--h) 16% 8% / .5)}.hexOutline polygon{stroke:hsl(var(--h) 30% 88% / .3);stroke-width:3.4;stroke-linejoin:round}.tile.moveable .hexOutline polygon,.tile.attackable .hexOutline polygon,.tile.healable .hexOutline polygon,.tile.swappable .hexOutline polygon{stroke-width:5.5}#board .tile.moveable{background:#5fd38a45}#board .tile.reach-x-move{background:#5fd38a1f}#board .tile.moveable:not(.enemy-inspect):hover{background:#5fd38a80}#board .tile.moveable.enemy-inspect:hover{background:#5fd38a45!important}#board .tile.reach-x-move.enemy-inspect:hover{background:#5fd38a1f!important}.hexReach{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.hexReach polygon{fill:none;stroke:none}.tile.reach-atk .hexReach .hrOut{stroke:var(--enemy-bright);stroke-width:6}.tile.reach-x-atk:not(.reach-atk) .hexReach .hrOut{stroke:var(--enemy-bright);stroke-width:4;stroke-dasharray:7 6;opacity:.85}.tile.attackable .hexReach .hrOut{stroke:var(--enemy-bright);stroke-width:9}.tile.reach-spell .hexReach .hrIn{stroke:var(--tile-spell);stroke-width:4.5}.tile.reach-x-spell:not(.reach-spell) .hexReach .hrIn{stroke:var(--tile-spell);stroke-width:3.5;stroke-dasharray:4 6;opacity:.8}.threatMark{position:absolute;left:7%;top:36%;z-index:2;pointer-events:none;width:1.5em;height:1.5em;display:grid;place-items:center;font-size:clamp(.75rem,2.4vmin,1.1rem);line-height:1;font-weight:700;color:#ffd34d;background:#140e08c7;border:1.5px solid #ffd34d;border-radius:50%}.threatMark.maybe{opacity:.6}.token,.miniToken,.inspHex{--tk-h: 214;--tk-s: 18%;--tk-l: 74%}.token.tk-mine,.miniToken.tk-mine,.inspHex.tk-mine{--tk-h: 212;--tk-s: 80%;--tk-l: 62%}.token.tk-grey,.miniToken.tk-grey,.inspHex.tk-grey{--tk-h: 214;--tk-s: 18%;--tk-l: 74%}.token.tk-enemy,.inspHex.tk-enemy{--tk-h: 18;--tk-s: 92%;--tk-l: 57%}.token.tk-enemydim,.inspHex.tk-enemydim{--tk-h: 20;--tk-s: 36%;--tk-l: 45%}.token.tk-third,.inspHex.tk-third{--tk-h: 276;--tk-s: 62%;--tk-l: 68%}.token,.miniToken{border-radius:0;box-shadow:none;background:#111;overflow:hidden;flex:none;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}#board .token,#battleScreen .miniToken,.tokenDemo .token{position:relative}.token.acted,.token.casting,.token.cast-ready{filter:none;box-shadow:none;animation:none}.token.active-pick{transform:none;box-shadow:none}.token .heroPortrait,.miniToken .heroPortrait,.inspHex .heroPortrait{position:absolute;inset:0;width:100%;height:100%;border-radius:0;box-shadow:none}.token.tk-dim .heroPortrait{filter:saturate(.55) brightness(.8)}.inspPortrait.inspHex{width:78px;height:67.5px;border:0;border-radius:0;position:relative;overflow:hidden;background:#111;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.hcHead .inspPortrait.inspHex{width:92px;height:79.7px}.devPfRow{display:flex;flex-wrap:wrap;gap:10px}.devPfRow label{display:inline-flex;align-items:center;gap:6px}.devPfRow input{width:76px}.tokenDemo.devPfPreview .token{width:140px;height:121.2px}.tokBevel{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.tokBevel .tbOut,.tokBevel .tbIn{fill:none;stroke:#0009;stroke-width:.9;vector-effect:non-scaling-stroke}.selRing{position:absolute;pointer-events:none;z-index:4}.selRing svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 4px hsl(var(--h) 55% 70% / .7))}.selRing polygon{fill:none;stroke:var(--accent-hi);stroke-width:2.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}#board [class*=hexAt-],.tokenDemo [class*=hexAt-]{transform:translate(-50%,-50%)}#board .hexAt-bl.tempoBadge,.tokenDemo .hexAt-bl.tempoBadge{transform:translate(calc(-100% + 10px),-50%)}.encReadBoard{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}.encTokenDemo{position:relative;flex:none;max-width:100%}.encReadList{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;color:var(--c-dim);flex:1 1 280px;min-width:0}.encReadList b{color:var(--c-text)}.encReadList .encTones{list-style:none;margin-left:-18px;display:flex;flex-wrap:wrap;gap:8px 14px}.encToneSw{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.encToneSw .tokenDemo{display:inline-block}.badge.unitMark{font:700 .56rem/1.6 var(--f-body);letter-spacing:.05em;padding:0 .45em;border-radius:999px;color:var(--c-text);background:hsl(var(--h) 25% 10% / .95);border:1px solid hsl(var(--h) 30% 80% / .3);box-shadow:0 2px 6px #00000080;white-space:nowrap}.badge.unitMark.rage{background:#482460f7;color:#e6ccff;border-color:#ba8cd980}.badge.tempoBadge{z-index:4;display:inline-flex;align-items:center;gap:1px;padding:0 .3em;border-radius:999px;font-size:.8rem;line-height:1.45;background:hsl(var(--h) 30% 10% / .38);border:1px solid hsl(var(--h) 55% 70% / .35);white-space:nowrap}.badge.tempoBadge .tpI{display:inline-flex;filter:drop-shadow(0 1px 1px rgba(0,0,0,.85))}.badge.tempoBadge .tpI.off{opacity:.35;filter:grayscale(1)}.badge.tempoBadge .itemArt{width:1.1em;height:1.1em}.badge.hpchip.e,.hpchip.e{background:#742d25f5}.badge{font-family:var(--f-body);font-variant-numeric:tabular-nums}.badge.atk,.badge.mana{min-width:1.35em;text-align:center;border-radius:999px;padding:0 .4em;font-size:.68rem;font-weight:700;line-height:1.5;color:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 2px 6px #00000080}.badge.atk{background:#952e23f2}.badge.mana{background:#2762a5f2}.hpchip{min-width:2.1em;text-align:center;border-radius:999px;padding:0 .55em;font-size:.68rem;font-weight:700;line-height:1.5;color:#fff;border:1px solid rgba(255,255,255,.2);background:#224f40f2;box-shadow:0 2px 6px #00000080;font-variant-numeric:tabular-nums}.token.enemy~.hpchip{background:#742d25f5}.hpchip.hurt{color:hsl(0 100% calc(97% - var(--hpLost, 0) * 37%));text-shadow:0 1px 2px rgba(0,0,0,.85)}.hpchip.e.hurt,.token.enemy~.hpchip.hurt{color:hsl(0 100% calc(97% - var(--hpLost, 0) * 24%));text-shadow:0 1px 2px rgba(0,0,0,1),0 0 3px rgba(0,0,0,.9)}@media(min-width:901px){#battleScreen .hpchip{-webkit-text-stroke:.35px currentColor}}@keyframes hpLowPulse{0%,to{scale:1}50%{scale:1.18}}.hpPulseOn .hpchip.low{animation:hpLowPulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hpPulseOn .hpchip.low{animation:none}}.keepHpChip{font:700 .72rem/1.25 var(--f-body);color:var(--c-text);text-shadow:none;padding:2px 9px;border-radius:999px;background:hsl(var(--h) 25% 7% / .88);border:1px solid var(--c-line);box-shadow:0 3px 10px #00000080}.trayRow{flex:none;display:flex;gap:12px;align-items:stretch;padding:8px 0 4px}.trayRow .spellTray{flex:1;min-width:0;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trayRow .selControls{flex:none;width:clamp(110px,10vw,150px);display:flex;align-items:stretch;gap:8px}.trayRow .selControls:empty{display:block}.trayRow .selControls button,.trayRow #endTurnBtn{flex:1;min-height:80px;border-radius:22px;font:700 1rem var(--f-display);white-space:nowrap}.trayRow #endTurnBtn{flex:none;width:clamp(110px,10vw,150px)}.trayRow .selControls .selInspect{display:none}.spellCard{height:68px;border-radius:20px;border:1px solid var(--c-line);color:var(--c-text);background-image:var(--grain),var(--glass-bg);background-color:hsl(var(--h) 16% 8% / .86);box-shadow:var(--sh-1),inset 0 1px hsl(var(--h) 40% 100% / .09)}.spellCard .sc-body{padding:7px 14px;justify-content:center;gap:2px;border-radius:20px}.spellCard .sc-title{font:700 .98rem/1.12 var(--f-display);letter-spacing:0;color:var(--c-text);gap:8px;white-space:normal;min-width:0;padding-right:10px}.spellCard .sc-title .scName{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-width:0}.spellCard .sc-title>span:first-child{font-size:1.15rem}.spellCard .sc-title .heroPortrait{width:24px;height:24px}.spellCard .sc-stats{gap:8px;font:600 .85rem var(--f-body);font-variant-numeric:tabular-nums}.spellCard .sc-dmg{font-weight:800;font-size:1rem}.spellCard .sc-tag{background:none;padding:0;gap:3px;font-weight:700}.spellCard .sc-mod{width:19px;height:19px;font-size:.68rem;background:#2d5842f2;color:#d6f2dc;border:1px solid hsl(150 40% 50% / .5)}.spellCard:not(.disabled):not(.emptySlot):hover{transform:translateY(-4px);border-color:hsl(var(--h) 45% 64% / .6);box-shadow:var(--sh-1)}.spellCard{transition:transform var(--t-med) var(--ease),border-color var(--t-med),box-shadow var(--t-med)}.spellCard.active{border-color:#ee7563;box-shadow:0 0 0 2px #ec65518c,var(--sh-1)}.spellCard.active .sc-title{color:#f29688}.spellCard.disabled{opacity:.42;filter:grayscale(.5)}.spellCard.emptySlot{background:none;border:1px dashed var(--c-line);box-shadow:none;backdrop-filter:none;display:flex;align-items:center;justify-content:center}.scEmpty{margin:auto;text-align:center;font:500 .8rem/1.35 var(--f-body);color:var(--c-dim);opacity:.8;padding:0 8px}.spellCard .sc-rooted{position:absolute;top:-9px;left:-9px;z-index:1;width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;background:radial-gradient(circle at 35% 30%,#bc814e,#5c371f);border:2px solid hsl(var(--h) 20% 8%);box-shadow:0 2px 6px #00000080}.spellCard .sc-rooted~.sc-casttime{left:17px}.spellCard.inspCard .sc-rooted{width:20px;height:20px;font-size:.64rem}.spellCard.inspCard .sc-rooted~.sc-casttime{left:15px}.spellCard .sc-mana,.spellCard .sc-casttime,.spellCard .sc-cooldown,.spellCard .sc-needsclick{border:2px solid hsl(var(--h) 20% 8%);box-shadow:0 2px 6px #00000080}#battleScreen .deploymentPanel{position:relative;z-index:8;padding:12px 14px;margin:0;border-radius:20px;background-image:var(--grain),var(--glass-bg);background-color:hsl(var(--h) 16% 8% / .78);border:1px solid var(--c-line);box-shadow:inset 0 1px hsl(var(--h) 40% 100% / .09)}#battleScreen .deploymentPanel.hidden{display:none}#battleScreen .deploymentPanel h3{font:700 1rem var(--f-display);margin:0 0 10px;color:var(--c-text);white-space:nowrap}#battleScreen .deploymentPanel .depCap{font:500 .76rem var(--f-body);color:var(--c-dim);margin-left:6px}#battleScreen .deployRoster{display:grid;grid-template-columns:repeat(3,minmax(0,96px));gap:10px;justify-content:start}#battleScreen .miniToken{width:100%;height:auto;aspect-ratio:2 / 1.732}#battleScreen .miniToken.armed{--tk-h: var(--h);--tk-s: 55%;--tk-l: 74%}.depCount{display:none}.depGrip{display:none;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;flex:none;color:var(--c-dim)}.depGrip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:900px){#battleScreen .deploymentPanel{position:absolute;left:50%;top:8px;bottom:auto;width:auto;max-width:calc(100% - 16px);transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background-color:hsl(var(--h) 16% 8% / .9);box-shadow:var(--sh-2),inset 0 1px hsl(var(--h) 40% 100% / .09)}#battleScreen .deploymentPanel.hidden{display:none}#battleScreen .deploymentPanel.atBottom{top:auto;bottom:8px}#battleScreen .deploymentPanel h3{display:none}#battleScreen .deployRoster{display:flex;flex-wrap:nowrap;gap:8px}#battleScreen .miniToken{width:64px;height:auto;flex:none}.depGrip{display:inline-flex}.depCount{display:inline;font:600 .74rem var(--f-body);color:var(--c-dim);white-space:nowrap}}@media(max-width:600px){#battleScreen .deploymentPanel{gap:6px;padding-right:10px}#battleScreen .deployRoster{flex:0 1 auto;min-width:0;gap:6px}#battleScreen .miniToken{width:50px;flex:0 1 50px;min-width:0}#battleScreen .depCount{flex:none}#battleScreen .deploymentPanel.atBottom.depUnderGrid{top:var(--depTop);bottom:auto;left:4px;right:4px;max-width:none;transform:none;background-color:hsl(var(--h) 16% 8% / .96)}}.inspPanel{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:2px 0 0}.inspEmpty{margin:auto;text-align:center;display:flex;flex-direction:column;gap:8px;color:var(--c-dim);font:500 .88rem/1.5 var(--f-body)}.inspEmpty b{font:700 1rem var(--f-display);color:var(--c-text)}.inspHead{display:flex;gap:14px;align-items:center}.inspHead b{display:block;font:700 1.2rem/1.15 var(--f-display);color:var(--accent-hi)}.inspHead span{font:500 .8rem/1.4 var(--f-body);color:var(--c-dim)}.inspPortrait{flex:none;width:68px;height:68px;min-height:0;padding:0;border-radius:50%;overflow:hidden;background:#111;border:3px solid hsl(178 42% 58%);cursor:var(--cur-click, pointer)}.inspPortrait.e{border-color:#d45c49}.inspPortrait .heroPortrait{width:100%;height:100%;border-radius:0;box-shadow:none;-webkit-user-drag:none;user-select:none;pointer-events:none}.inspNote{margin:0;font:400 .88rem/1.5 var(--f-body);color:var(--c-dim)}.inspNote b{color:var(--c-text)}.inspStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}.inspStats div{padding:8px 6px;border-radius:14px;background:hsl(var(--h) 25% 96% / .06);text-align:center}.inspStats span{display:block;font:500 .7rem var(--f-body);color:var(--c-dim);white-space:nowrap}.inspStats b{font:700 .98rem var(--f-body);font-variant-numeric:tabular-nums}.flask{width:1.05em;height:1.05em;vertical-align:-.17em;display:inline-block}.inspLine{font:500 .82rem var(--f-body);color:var(--c-dim)}.inspLine.casting{color:#ad8adf}.inspLine.ready{color:var(--accent-hi)}.attrBox{display:flex;flex-direction:column;border-radius:16px;background:hsl(var(--h) 25% 96% / .04);border:1px solid var(--c-line);padding:4px 12px}.attrRow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 0;border-bottom:1px dashed hsl(var(--h) 20% 90% / .1);font:500 .84rem var(--f-body);color:var(--c-dim)}.attrRow:last-child{border-bottom:0}.attrRow b{color:var(--c-text);font-weight:600;text-align:right}.inspSec h5{margin:2px 0 6px;font:700 .72rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-dim)}.inspSp{display:flex;gap:6px;flex-wrap:wrap}.hchip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--c-line);background:hsl(var(--h) 25% 96% / .07);color:var(--c-text);font:600 .82rem var(--f-body);cursor:var(--cur-click, pointer);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;transition:background var(--t-fast),border-color var(--t-fast)}.hchip:hover,.hchip.held{background:hsl(var(--h) 40% 70% / .16);border-color:hsl(var(--h) 45% 64% / .6)}.hchip.debuff{color:#e8955f}.hchip.buff{color:#7fd4cc}.holdVal{color:var(--c-text);border-bottom:2px dotted hsl(var(--h) 45% 70% / .55);cursor:var(--cur-click, pointer);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;padding-bottom:1px}.holdVal:hover,.holdVal.held{color:var(--accent-hi);border-bottom-color:var(--accent-hi)}.holdHint{margin:0;font:400 .76rem/1.45 var(--f-body);color:var(--c-dim);opacity:.8}.inspCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;padding:10px}.spellCard.inspCard{height:76px;flex:none;border-radius:16px;cursor:var(--cur-click, pointer);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.spellCard.inspCard:hover{transform:none}.spellCard.inspCard.held{border-color:hsl(var(--h) 45% 64% / .7)}.spellCard.inspCard .sc-body{padding:8px}.spellCard.inspCard .sc-title{font-size:.8rem;gap:4px;padding-right:6px;white-space:normal;line-height:1.15;overflow:visible}.spellCard.inspCard .sc-title>span:first-child{font-size:1rem}.spellCard.inspCard .sc-stats{gap:4px;font-size:.76rem}.spellCard.inspCard .sc-mana,.spellCard.inspCard .sc-casttime,.spellCard.inspCard .sc-cooldown{min-width:20px;height:20px;font-size:.64rem}.holdPop{position:fixed;z-index:300;width:min(310px,calc(100vw / var(--ui-zoom, 1) - 16px));padding:16px 16px 12px;border-radius:22px;pointer-events:none;background-image:var(--grain),var(--glass-bg);background-color:hsl(var(--h) 14% 7% / .97);border:1px solid hsl(var(--h) 40% 70% / .35);box-shadow:var(--sh-2),inset 0 1px hsl(var(--h) 40% 100% / .1);animation:ddIn var(--t-fast) var(--ease)}.holdPop[hidden]{display:none}.holdPop.art{width:min(300px,calc(100vw / var(--ui-zoom, 1) - 16px));padding:8px 8px 12px}.hpHead{display:flex;gap:12px;align-items:center;margin-bottom:10px}.hpIcon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:1.4rem;background:hsl(var(--h) 25% 96% / .08);border:1px solid var(--c-line)}.hpHead b{display:block;font:700 1.08rem var(--f-display);color:var(--accent-hi)}.hpHead small{font:500 .76rem var(--f-body);color:var(--c-dim)}.hpRow{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed hsl(var(--h) 20% 90% / .1);font:500 .84rem var(--f-body);color:var(--c-dim)}.hpRow b{color:var(--c-text);font-weight:600;text-align:right}.holdPop p{margin:10px 0 0;font:400 .84rem/1.5 var(--f-body);color:var(--c-dim)}.hpFoot{display:block;margin-top:10px;font:600 .68rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-dim);opacity:.6}.hpArt{display:block;width:100%;max-height:calc(100dvh / var(--ui-zoom, 1) - 90px);object-fit:contain;border-radius:16px;background:#0b0e0c}.hpCap{margin-top:8px;text-align:center;font:700 1rem var(--f-display);color:var(--accent-hi)}@media(max-width:900px){#battleScreen{padding:3px 3px 4px;gap:2px}#battleScreen header{margin:0}#battleScreen header h1{font-size:1.35rem}#battleScreen .battleMenuToggle{width:36px;height:36px;min-height:36px}#battleScreen .layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:4px}#battleScreen .board-frame{padding:2px 0;border-radius:16px}#battleScreen .mapLayer,#battleScreen .board-frame:after{border-radius:15px}.boardCol{gap:2px}.boardCol{grid-column:1}#battleScreen .battleSide{display:none}.trayRow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 8px;padding:6px 0 2px;grid-template-areas:"tray tray tray" "end sel sel"}.trayRow .spellTray{grid-area:tray;gap:8px}.trayRow #endTurnBtn{grid-area:end;width:auto;min-height:46px}.trayRow .selControls{grid-area:sel;width:auto}.trayRow .selControls:empty{display:block}.trayRow .selControls button{min-height:46px}.trayRow .selControls .selInspect{display:inline-flex}.spellCard{height:54px;border-radius:14px}.spellCard .sc-body{padding:5px 10px;border-radius:14px;gap:1px}.spellCard .sc-title{font-size:.8rem;line-height:1.02;gap:5px}.spellCard .sc-title>span:first-child{font-size:.95rem}.spellCard .sc-stats{font-size:.7rem;gap:5px}.spellCard .sc-dmg{font-size:.82rem}#battleScreen header .status{padding:4px 12px;font-size:.82rem}}@media(min-width:601px)and (max-width:900px){#battleScreen{padding:4px;display:grid;gap:6px 8px;grid-template-columns:104px minmax(0,1fr) 150px;grid-template-rows:minmax(0,1fr) auto auto}#battleScreen header,#battleScreen .layout,#battleScreen .boardCol,#battleScreen .trayRow{display:contents}#battleScreen .boardStage{grid-column:1 / -1;grid-row:1}#battleScreen header h1{display:none}#battleScreen header .titleRow{grid-column:1;grid-row:1;align-self:start;justify-self:start;z-index:9;margin:8px 0 0 8px}#battleScreen header .status{grid-column:3;grid-row:2;justify-self:stretch;justify-content:center;padding:2px 6px;font-size:.7rem;gap:.3em}#battleScreen .toastWrap{grid-column:2 / -1;grid-row:1}#battleScreen .trayRow .selControls{grid-column:1;grid-row:2 / 4;width:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px}#battleScreen .trayRow .spellTray{grid-column:2;grid-row:2 / 4;align-self:stretch}#battleScreen .trayRow #endTurnBtn{grid-column:3;grid-row:3;width:auto;min-height:44px;border-radius:14px;font-size:1.05rem}#battleScreen .trayRow .selControls button{min-height:44px;height:100%;padding:0;border-radius:14px;font-size:0}#battleScreen .trayRow .selControls .selInspect:before{content:"ⓘ";font-size:1.25rem}#battleScreen .trayRow .selControls .selUnselect:before{content:"✕";font-size:1.1rem}.spellCard{height:68px;border-radius:16px}.spellCard .sc-body{padding:7px 12px;border-radius:16px;gap:2px}.spellCard .sc-title{font-size:.92rem;line-height:1.1}}@media(max-width:480px){#battleScreen header h1{font-size:1.3rem}}@media(max-height:640px)and (min-width:901px){.spellCard{height:62px}#battleScreen .trayRow #endTurnBtn{min-height:52px}}@media(prefers-reduced-motion:reduce){.spellCard{transition:none}.holdPop,#battleScreen .battleMenuDropdown{animation:none}}.inspSp .hchip{flex:none;width:auto}.overlay:has(.fModal){background:hsl(var(--h) 25% 3% / .66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:18px}.overlay.show:has(.fModal){animation:ovIn .28s var(--ease)}@keyframes ovIn{0%{opacity:0}to{opacity:1}}html.liteUi .overlay,html.liteUi .overlay:has(.fModal){backdrop-filter:none;-webkit-backdrop-filter:none}html.liteUi .overlay:has(.fModal){background:hsl(var(--h) 25% 3% / .8)}.modal.fModal{position:relative;width:min(100%,440px);max-width:none;max-height:calc(100dvh - 36px);overflow:auto;padding:30px 28px 26px;border-radius:30px;text-align:center;display:flex;flex-direction:column;gap:14px;background-image:var(--grain),var(--glass-bg);background-color:hsl(var(--h) 14% 8% / .94);border:1px solid var(--c-line);box-shadow:var(--sh-2),inset 0 1px hsl(var(--h) 40% 100% / .1)}.overlay.show .modal.fModal{animation:modalIn .34s var(--ease)}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.modal.fModal h2{font:700 2rem/1.1 var(--f-display);letter-spacing:-.01em;color:var(--c-text);margin:0}.modal.fModal p{color:var(--c-dim);font:400 1rem/1.55 var(--f-body);margin:0}.modal.fModal .hint{font-size:.85rem;border:0;padding:0}.modal.fModal>div[style*="justify-content:center"]{flex-wrap:wrap}.modal.fModal>div[style*="justify-content:center"] button{flex:1 1 120px}.modal.fModal.wide{width:min(100%,520px);text-align:left}.modal.fModal.wide h2,.modal.fModal.wide h3{font-size:1.5rem;padding-right:56px;margin:0}.modal.fModal.battleLogModal{width:min(100%,900px)}.modal.fModal .closeX{position:absolute;top:16px;right:16px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;float:none;z-index:2}.crest{width:64px;height:64px;margin:0 auto;border-radius:50%;display:grid;place-items:center;flex:none;background:hsl(var(--h) 24% 96% / .06);border:1px solid var(--c-line);color:var(--accent-hi)}.crest svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.modal.win .crest{box-shadow:0 0 0 6px hsl(var(--h) 40% 60% / .1)}.modal.win h2{color:var(--accent-hi)}.modal.lose .crest{color:var(--c-danger);box-shadow:0 0 0 6px #e065521a}.modal.lose h2{color:var(--c-danger)}#endlessWaveClearOverlay .modal>div[style*="flex-direction:column"]{width:100%;max-width:280px;margin:6px auto 0;gap:10px!important}#battleAudioOverlay .modal h2{padding-right:56px}.battleLogModal .log{text-align:left;border-radius:18px;background:hsl(var(--h) 14% 6% / .7);border:1px solid var(--c-line);padding:6px 14px}#heroCardContent{display:flex;flex-direction:column;gap:12px}.hcHead{display:flex;gap:16px;align-items:center;padding-right:48px}.hcHead .inspPortrait{width:84px;height:84px}.hcHead b{display:block;font:700 1.6rem var(--f-display);color:var(--accent-hi)}.hcHead span{color:var(--c-dim);font:500 .85rem var(--f-body)}.hcBox{border-radius:20px;border:1px solid var(--c-line);background:hsl(var(--h) 24% 96% / .04);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.hcBox h4{font:700 .95rem var(--f-display);color:var(--accent-hi);margin:0}.hcBox .attrBox{border:0;padding:0;background:none}.hcBox .inspSec+.inspSec{margin-top:2px}.hcBox .inspStats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.hcBox .inspCards{padding:10px}.xpBarOuter{height:8px;border-radius:999px;background:hsl(var(--h) 25% 6% / .9);border:1px solid var(--c-line);overflow:hidden}.xpBarInner{height:100%;background:var(--btn-fill)}.xpLabel{font:500 .85rem var(--f-body);color:var(--c-dim)}@media(max-width:900px){#heroCardOverlay{padding:0;align-items:stretch}#heroCardOverlay .modal.fModal{width:100%;max-width:none;max-height:100dvh;height:100%;border-radius:0;border-left:0;border-right:0;padding:24px 14px 20px;justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.overlay.show:has(.fModal),.overlay.show .modal.fModal{animation:none}}.hpIcon{overflow:hidden}.hpIcon .heroPortrait{width:100%;height:100%;border-radius:14px;box-shadow:none;object-fit:cover;-webkit-user-drag:none}.spellReticle{position:absolute;z-index:6;pointer-events:none;transform:translate(-50%,-50%);color:hsl(var(--h) 62% 68%);opacity:0;filter:drop-shadow(0 3px 4px rgba(0,0,0,.6));transition:left .11s ease-out,top .11s ease-out,width .24s cubic-bezier(.3,1.4,.5,1),height .24s cubic-bezier(.3,1.4,.5,1),color .22s ease,filter .24s ease,opacity .15s ease}.spellReticle.srInstant{transition:none}.spellReticle.shown{opacity:1}.spellReticle.no{color:#ff8d5c}.spellReticle.onUnit{filter:drop-shadow(0 12px 10px rgba(0,0,0,.6))}.spellReticle i{position:absolute;display:block}.spellReticle .srRing{inset:0;border:3px solid currentColor;border-radius:50%;box-sizing:border-box}.spellReticle .srTick{background:currentColor;border-radius:2px}.spellReticle .srT,.spellReticle .srB{left:50%;width:3px;height:12px;margin-left:-1.5px}.spellReticle .srT{top:-7px}.spellReticle .srB{bottom:-7px}.spellReticle .srL,.spellReticle .srR{top:50%;width:12px;height:3px;margin-top:-1.5px}.spellReticle .srL{left:-7px}.spellReticle .srR{right:-7px}.spellReticle .srMark{left:50%;top:50%;width:0;height:0}.spellReticle.ok .srMark{width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:currentColor}.spellReticle.no .srMark:before,.spellReticle.no .srMark:after{content:"";position:absolute;left:-9px;top:-1.5px;width:18px;height:3px;border-radius:2px;background:currentColor;transform:rotate(45deg)}.spellReticle.no .srMark:after{transform:rotate(-45deg)}@media(prefers-reduced-motion:reduce){.spellReticle{transition:opacity .15s ease}}.actPreview{position:absolute;z-index:7;pointer-events:none;transform:translate(-50%,-105%);padding:2px 9px;border-radius:999px;white-space:nowrap;font:700 .85rem/1.25 var(--f-body);font-variant-numeric:tabular-nums;color:#fff;background:#b3261e;border:1.5px solid #fff;box-shadow:0 3px 8px #0000008c}.actPreview{display:inline-flex;align-items:center;gap:6px}.actPreview .apBuff{display:inline-flex;align-items:center;gap:2px;padding-left:6px;border-left:1px solid rgba(255,255,255,.5)}.actPreview .apBuff:first-child{padding-left:0;border-left:0}.actPreview .apBuff .itemArt{width:1.15em;height:1.15em;object-fit:contain}.actPreview.kill{background:#5c0f0b}.actPreview.heal{background:#1f7a45}.actPreview.none{background:#3a3f45}.movePath{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:5}.movePath .mpLine{fill:none;stroke:#e6c56e;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.movePath .mpHead{fill:#e6c56e}.movePath .mpStrike{stroke:var(--enemy-bright);stroke-width:4;stroke-dasharray:7 5;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.movePath .mpStrikeHead{fill:var(--enemy-bright)}.movePath .mpLand{fill:#e6c56e59;stroke:#e6c56e;stroke-width:2.5}.swapArrows{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:6}.swapArrows .swLine{fill:none;stroke:var(--gold, #e6c56e);stroke-width:6;stroke-linecap:round;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.swapArrows .swHead{fill:var(--gold, #e6c56e)}.movePath .mpCand{fill:none;stroke:#e6c56e;stroke-width:2;stroke-dasharray:4 4;opacity:.85}.tile.attackable-far .hexReach .hrOut{stroke:var(--enemy-bright);stroke-width:9;stroke-dasharray:10 7}.tile.attackable.spell-act .hexOutline polygon{stroke:var(--tile-spell)}.tile.attackable.spell-act .hexReach .hrOut,.tile.attackable-far.spell-act .hexReach .hrOut{stroke:var(--tile-spell)}#board .tile.attackable.spell-act:hover{background:#5aa8ff42}#board .tile.spell-range-preview{background:#5aa8ff2e}.tile.spell-range-preview .hexOutline polygon{stroke:var(--tile-spell);stroke-width:5.5}#board .tile.splash-zone{background:#ff9d3d52}.tile.splash-zone .hexOutline polygon,.tile.spell-range-preview.splash-zone .hexOutline polygon{stroke:#ff9d3d;stroke-width:5.5}#board.spellPeek .hexReach{display:none}#board .tile.splash-zone.splash-out{background:#aaaaaa47}.tile.splash-zone.splash-out .hexOutline polygon,.tile.spell-range-preview.splash-zone.splash-out .hexOutline polygon{stroke:#aaa;stroke-dasharray:4 3}.uiMotion .overlay:has(>.modal):not(#overlay){transition:opacity .2s ease,display .2s allow-discrete}.uiMotion .overlay:has(>.modal):not(#overlay):not(.show){opacity:0;pointer-events:none}.uiMotion .overlay:has(>.modal):not(#overlay)>.modal{transition:transform .2s ease}.uiMotion .overlay:has(>.modal):not(#overlay):not(.show)>.modal{transform:translateY(10px) scale(.98)}.uiMotion .overlay.show:has(>.modal:not(.fModal)){animation:ovIn .24s var(--ease)}.uiMotion .overlay.show>.modal:not(.fModal){animation:modalIn .3s var(--ease)}@media(max-width:900px){.uiMotion #heroCardOverlay.show .modal.fModal{animation:sheetUp .34s cubic-bezier(.16,1,.3,1)}.uiMotion #heroCardOverlay{transition:opacity .14s ease .12s,display .26s allow-discrete}.uiMotion #heroCardOverlay>.modal.fModal{transition:transform .26s cubic-bezier(.4,0,1,1)}.uiMotion #heroCardOverlay:not(.show)>.modal.fModal{transform:translateY(100%)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}#heroCardOverlay.boardPeek{opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease)}.uiMotion #heroCardOverlay.boardPeek{transition:opacity var(--t-fast) var(--ease)}@media(max-width:900px){.holdPop.boardPeek{left:8px!important;right:8px;top:calc(8px + env(safe-area-inset-top,0px))!important;width:auto;max-height:30vh;overflow:hidden}}@media(max-width:1100px)and (orientation:portrait){.holdPop.boardPeek{background-image:none;background-color:hsl(var(--h) 14% 7% / .18);box-shadow:none;border-color:hsl(var(--h) 40% 70% / .2)}.holdPop.boardPeek *{text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9)}}.encReach .hexDiagramBoard .tile.encr-move{background:#5fd38a52}.encReach .hexDiagramBoard .tile.encr-spell{background:#5aa8ff38}.encReach .hexDiagramBoard .tile.encr-spell .hexOutline polygon{stroke:var(--tile-spell);stroke-width:5}.encReach .hexDiagramBoard .tile.encr-reach .hexOutline polygon{stroke:var(--enemy-bright);stroke-width:6}.encReach .hexDiagramBoard .tile.encr-unit{background:#2066b6}.encReach .hexDiagramBoard .tile.encr-enemy{background:#b34719}.encReach .hexDiagramBoard .tile.encr-target .hexOutline polygon{stroke:var(--enemy-bright);stroke-width:11}.encReach .hexDiagramBoard .tile.encr-far .hexOutline polygon{stroke:var(--enemy-bright);stroke-width:10;stroke-dasharray:10 7}.encrLegend{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px;color:var(--c-dim)}.encrLegend li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}.encrLegend b{color:var(--c-text)}.encrSw{width:30px;height:26px;display:grid;place-items:center;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:hsl(var(--h) 16% 18%);font-size:.8rem;font-weight:700}.encrSw.encr-move{background:#5fd38a8c}.encrSw.encr-reach{background:var(--enemy-bright);box-shadow:inset 0 0 0 5px var(--enemy-bright);background:radial-gradient(circle,hsl(var(--h) 16% 18%) 52%,var(--enemy-bright) 54%)}.encrSw.encr-target{background:radial-gradient(circle,hsl(var(--h) 16% 18%) 38%,var(--enemy-bright) 40%)}.encrSw.encr-far{background:repeating-conic-gradient(var(--enemy-bright) 0 20deg,hsl(var(--h) 16% 18%) 20deg 40deg)}.encrSw.encr-spell{background:radial-gradient(circle,rgba(90,168,255,.35) 50%,var(--tile-spell) 52%)}.encrSw.encr-area{background:#ff9d3d99}.encrSw.encr-maybe{background:repeating-linear-gradient(45deg,var(--enemy-bright) 0 4px,hsl(var(--h) 16% 18%) 4px 8px)}.encrSw.encrWarn{color:#ffd34d}.encrSw.encrPill{background:#b3261e;color:#fff;font-size:.62rem}.encrSw.encrCard{color:var(--tile-spell)}.encrSub{margin:4px 0 8px;color:var(--c-dim)}.encReachBtns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}@media(max-width:560px){.encReachBtns{grid-template-columns:repeat(2,minmax(0,1fr))}}.encReachBtn{font:600 .9rem var(--f-body);color:var(--c-dim);background:hsl(var(--h) 16% 12%);border:1px solid var(--c-line);border-radius:14px;padding:8px 12px;min-height:44px;width:100%;cursor:var(--cur-click, pointer)}.encReachBtn.active{color:var(--c-text);border-color:hsl(var(--h) 45% 64% / .8);background:hsl(var(--h) 30% 20%)}.encrCaption{margin:10px 0 0;color:var(--c-dim);max-width:70ch}.overlay.endScreen,.overlay.endScreen:has(.fModal){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:16px;overflow:hidden}.overlay.show.endScreen,.overlay.show.endScreen .modal.fModal{animation:none}.esFx{position:absolute;inset:0;pointer-events:none;overflow:hidden}.esVeil{position:absolute;inset:0;will-change:opacity}.esWin .esVeil{background:radial-gradient(ellipse at 50% 30%,#241d0f9e,hsl(var(--h) 25% 3% / .9) 70%)}.esLose .esVeil{background:radial-gradient(ellipse at 50% 30%,#1f1f1fc7,#050505f0 70%)}.esRays{position:absolute;left:50%;top:28%;width:min(150vmin,1100px);aspect-ratio:1;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,hsl(43 95% 62% / .16) 0 6deg,transparent 6deg 18deg);-webkit-mask-image:radial-gradient(circle,#000 8%,transparent 62%);mask-image:radial-gradient(circle,#000 8%,transparent 62%);will-change:transform,opacity}.esDust{position:absolute;inset:0;width:100%;height:100%}.overlay.endScreen .modal.fModal{position:relative;z-index:1;background:none;border:0;box-shadow:none;padding:8px 4px;gap:12px;width:min(100%,620px);overflow:visible auto;max-height:calc(100dvh - 32px)}.overlay.endScreen .crest{display:none}.overlay.endScreen #overTitle{font:800 clamp(2.6rem,11vw,4.6rem)/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase}#overTitle span{display:inline-block;will-change:transform,opacity}.esWin #overTitle{color:#ffdb70;text-shadow:0 2px 0 hsl(32 80% 30%),0 0 28px hsl(43 95% 55% / .55)}.esLose #overTitle{color:#b8b8b8;text-shadow:0 3px 0 hsl(0 0% 12%)}.overlay.endScreen #overTitle{position:relative}.esCrack{position:absolute;left:14%;right:14%;top:52%;height:3px;border-radius:2px;transform:rotate(-4deg);transform-origin:left center;pointer-events:none;background:linear-gradient(90deg,transparent,#c9473d 20%,#ff8a7a 50%,#c9473d 80%,transparent);box-shadow:0 0 8px #e62e1999}.esSub{font:600 .8rem var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--c-dim);min-height:1em}.esPanel{display:flex;flex-direction:column;align-items:center;gap:14px;will-change:transform,opacity}.esHasSummary #overText{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.esFriendly{color:var(--c-dim);font:400 .95rem/1.45 var(--f-body)}.esHeroes{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:12px 10px;width:100%}.esHero{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.esPf{position:relative;width:58px;height:58px}.esPf .heroPortrait{width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 2px #5199ec}.esHero.dead .esPf .heroPortrait{opacity:.45;box-shadow:0 0 0 2px #666}.esHero b{font:700 .78rem var(--f-display);color:var(--c-text);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.esXp{font:700 .74rem var(--f-body);color:var(--accent-hi);font-variant-numeric:tabular-nums}.esLose .esXp{color:#a1afa8}.esBar{width:100%;max-width:92px;height:5px;border-radius:99px;background:#ffffff1a;overflow:hidden}.esBar i{display:block;height:100%;width:100%;border-radius:inherit;transform-origin:left center;will-change:transform;background:linear-gradient(90deg,#39ac6b,#70db9f)}.esLose .esBar i{background:linear-gradient(90deg,#55625c,#7c8a83)}.esLvl{position:absolute;left:50%;top:-9px;transform:translate(-50%);z-index:1;white-space:nowrap;font:800 .58rem var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:#241500;background:linear-gradient(180deg,#ffe59a,#f0b23e);border-radius:99px;padding:2px 7px;box-shadow:0 0 12px #f9bb1fb3}.esTotals{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 26px}.esTot{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.esTot small{font:600 .7rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-dim)}.esTot b{font:700 1.45rem var(--f-display);color:var(--c-text)}.esTot.esGold b{color:#ffd452}.esDelta{display:inline-block;font:800 .74rem var(--f-body);border-radius:99px;padding:2px 8px}.esDelta.up{color:#062b12;background:#47d175}.esDelta.down{color:#2b0703;background:#e76455}.esUnlock{display:flex;align-items:center;gap:14px}.esCard{position:relative;width:74px;height:111px;transform:rotateY(180deg);transform-style:preserve-3d;will-change:transform}.esUnlock{perspective:600px}.esFace{position:absolute;inset:0;border-radius:10px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid hsl(45 90% 60%)}.esBack{display:grid;place-items:center;font-size:1.8rem;background:repeating-linear-gradient(45deg,#192e22 0 8px,#203c2c 8px 16px)}.esFront{transform:rotateY(180deg);box-shadow:0 0 22px #f9bb1f99}.esFront .heroCardArt{width:100%;height:100%}.esUnlockTag{text-align:left;font:700 1rem var(--f-display);color:#ffdb70}.esUnlockTag small,.esNote small{display:block;font:600 .66rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-dim)}.esNote{font:700 .9rem var(--f-display);color:#ffdb70}.overlay.endScreen .modal.fModal>div[style*="justify-content:center"]{margin-top:6px}@media(max-width:560px){.overlay.endScreen .modal.fModal{gap:10px}.esHeroes{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 6px}.esPf{width:48px;height:48px}.esHero b{display:none}.esXp{font-size:.68rem}.esTot b{font-size:1.2rem}.esLvl{font-size:.5rem;padding:2px 5px;top:-8px}}.esInfo{color:var(--c-dim);font:400 .88rem/1.45 var(--f-body);max-width:420px}.esNotes{display:flex;flex-direction:column;align-items:center;gap:6px}.esNotes:empty{display:none}@media(max-width:560px)and (min-height:640px){.overlay.endScreen .modal.fModal{height:calc(100dvh - 32px);justify-content:flex-start;gap:10px;padding:0 4px}.overlay.endScreen #overTitle{margin-top:10dvh}.esPanel{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(130px,1fr) 100px 56px 52px;grid-template-areas:"unlock" "heroes" "totals" "notes";align-items:center;justify-items:center;gap:0;margin-top:6px}.esUnlock{grid-area:unlock}.esHeroes,.esFriendly{grid-area:heroes}.esTotals{grid-area:totals}.esNotes{grid-area:notes;display:flex}.overlay.endScreen .modal.fModal>div[style*="justify-content:center"]{margin-top:auto;margin-bottom:7dvh}.esHasSummary .modal.fModal>div[style*="justify-content:center"]{margin-top:8px}}.roomGhost{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;padding:inherit;box-sizing:border-box;pointer-events:auto;background:hsl(var(--h) 22% 7%);border-radius:inherit;overflow:hidden;will-change:transform,opacity}.roomGhost>*{pointer-events:none}.board-frame.roomSliding{overflow:hidden}.board-frame.roomSliding #board{pointer-events:none}.board-frame.roomSliding>#mapLayer,.board-frame.roomSliding>#board,.board-frame.roomSliding>#towerLayer{will-change:transform,opacity}#battleScreen.roomTransiting{pointer-events:none}#roomIntroOverlay .roomIntroPos{font:600 .74rem var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--c-dim);margin-bottom:-6px}.waveBanner{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;border-radius:inherit}.waveBanner .wbBand{position:absolute;left:0;right:0;top:50%;height:clamp(120px,28%,170px);transform:translateY(-50%);transform-origin:center;pointer-events:auto;will-change:transform,opacity;background:linear-gradient(90deg,transparent,hsl(var(--h) 25% 5% / .9) 14%,hsl(var(--h) 25% 5% / .9) 86%,transparent);border-block:1px solid hsl(var(--h) 45% 64% / .4);box-shadow:0 0 40px hsl(var(--h) 60% 40% / .25)}.waveBanner .wbText{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform,opacity;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;white-space:nowrap;pointer-events:none}.waveBanner small{font:600 .72rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--c-dim)}.waveBanner .wbWave{font:800 clamp(2rem,9vw,3rem)/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-hi);text-shadow:0 2px 0 hsl(var(--h) 40% 12%),0 0 24px hsl(var(--h) 70% 50% / .45)}.waveBanner .wbRun{font:500 .86rem var(--f-body);color:var(--c-text);font-variant-numeric:tabular-nums}.waveBanner .wbRun b{font-weight:700}.waveBanner .wbGold{color:#ffd452}.waveBanner .wbFirst{font:600 .74rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-dim)}.resumeCard{position:absolute;inset:0;z-index:9;overflow:hidden;border-radius:inherit}.resumeCard .rcVeil{position:absolute;inset:0;background:hsl(var(--h) 25% 4%);opacity:.8;will-change:opacity}.resumeCard .rcBox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform,opacity;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18px 28px 16px;min-width:min(78%,280px);max-width:90%;border-radius:16px;background:hsl(var(--h) 25% 7% / .96);border:1px solid hsl(var(--h) 45% 64% / .4);box-shadow:0 12px 40px #00000080,0 0 30px hsl(var(--h) 60% 40% / .2)}.resumeCard small{font:600 .7rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--c-dim)}.resumeCard b{font:800 clamp(1.4rem,6vw,2rem)/1.1 var(--f-display);letter-spacing:.03em;color:var(--accent-hi);text-shadow:0 2px 0 hsl(var(--h) 40% 12%),0 0 20px hsl(var(--h) 70% 50% / .4)}.resumeCard .rcRule{width:60%;height:1px;background:linear-gradient(90deg,transparent,hsl(var(--h) 55% 64% / .7),transparent);margin:2px 0}.resumeCard .rcLine{font:600 .8rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text)}.connStatus{position:absolute;left:50%;top:10px;z-index:9;transform:translate(-50%);pointer-events:none;display:flex;align-items:center;gap:8px;white-space:nowrap;max-width:calc(100% - 20px);padding:7px 14px;border-radius:999px;font:600 .78rem var(--f-body);color:var(--c-text);background:hsl(var(--h) 25% 6% / .94);border:1px solid hsl(var(--h) 45% 64% / .35);box-shadow:0 6px 18px #0006}.connStatus .csText{overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.connStatus .csDot{width:8px;height:8px;border-radius:50%;flex:none;background:#fab938;animation:csPulse 1.1s ease-in-out infinite}.connStatus[data-tone=bad] .csDot{background:#f04e42}.connStatus[data-tone=ok] .csDot{background:#47d15e;animation:none}@keyframes csPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@media(prefers-reduced-motion:reduce){.connStatus .csDot{animation:none}}.rewardReveal{position:fixed;inset:0;z-index:8500;display:grid;place-items:center;cursor:var(--cur-click, pointer);padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);padding-inline:16px}.rewardReveal .rrVeil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#241d0fc7,hsl(var(--h) 25% 3% / .94) 70%);will-change:opacity}.rewardReveal .rrBox{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:min(560px,100%)}.rewardReveal .rrEyb{font:600 .72rem var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--c-dim)}.rewardReveal .rrTitle{margin:0;font:800 clamp(1.7rem,7vw,2.6rem)/1.1 var(--f-display);color:#ffdb70;text-shadow:0 2px 0 hsl(40 40% 12%),0 0 24px hsl(43 95% 55% / .45);text-wrap:balance}.rewardReveal .rrCards{display:flex;gap:clamp(10px,3vw,22px);justify-content:center;flex-wrap:wrap;margin-top:6px}.rewardReveal .rrHero{display:flex;flex-direction:column;align-items:center;gap:8px;perspective:700px}.rewardReveal .rrHero b{font:700 1rem var(--f-display);color:var(--c-text)}.rewardReveal .rrCard{position:relative;width:clamp(96px,26vw,140px);aspect-ratio:2 / 3;transform:rotateY(180deg);transform-style:preserve-3d;will-change:transform}.rewardReveal .rrFace{position:absolute;inset:0;border-radius:12px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid hsl(45 90% 60%)}.rewardReveal .rrBack{display:grid;place-items:center;font-size:2rem;background:linear-gradient(160deg,hsl(var(--h) 25% 14%),hsl(var(--h) 25% 6%))}.rewardReveal .rrFront{transform:rotateY(180deg);box-shadow:0 0 26px #f9bb1f8c}.rewardReveal .rrFront .heroCardArt{width:100%;height:100%}.rewardReveal img{-webkit-user-drag:none;user-select:none}.rewardReveal .rrLine{display:flex;flex-direction:column;gap:2px;font:700 1.1rem var(--f-display);color:#ffdb70}.rewardReveal .rrLine small,.rewardReveal .rrSub{font:600 .7rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-dim)}.rewardReveal .rrMore{font:600 .85rem var(--f-body);color:var(--c-dim)}.rewardReveal .rrGold{font:800 1.6rem var(--f-display);color:#ffd452;font-variant-numeric:tabular-nums}.rewardReveal .rrXp{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.rewardReveal .rrXpHero{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:72px}.rewardReveal .rrFaceP{display:block;width:56px;height:56px}.rewardReveal .rrFaceP .heroPortrait{width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 2px hsl(var(--h) 45% 64% / .5)}.rewardReveal .rrXpHero b{font:700 .9rem var(--f-body);color:var(--c-text);font-variant-numeric:tabular-nums}.rewardReveal .rrLvl{font:700 .66rem var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:#64d88b}.rewardReveal .rrTap{margin-top:8px;font:600 .74rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-dim)}.uiMotion #spellTray .spellCard.trayIn{animation:trayCardIn .28s cubic-bezier(.16,1,.3,1) both}@keyframes trayCardIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.turnBanner{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;border-radius:inherit}.turnBanner .tbBand{position:absolute;left:0;right:0;top:50%;height:clamp(64px,14%,92px);transform:translateY(-50%);will-change:transform,opacity;background:linear-gradient(90deg,transparent,hsl(var(--h) 25% 5% / .82) 18%,hsl(var(--h) 25% 5% / .82) 82%,transparent);border-block:1px solid hsl(var(--h) 45% 64% / .35)}.turnBanner.theirs .tbBand{background:linear-gradient(90deg,transparent,hsl(4 30% 6% / .82) 18%,hsl(4 30% 6% / .82) 82%,transparent);border-color:#e05b5259}.turnBanner .tbText{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;will-change:transform,opacity}.turnBanner b{font:800 clamp(1.4rem,6vw,2.1rem)/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-hi);text-shadow:0 2px 0 hsl(var(--h) 40% 12%),0 0 20px hsl(var(--h) 70% 50% / .4)}.turnBanner.theirs b{color:#f2685f;text-shadow:0 2px 0 hsl(4 40% 12%),0 0 20px hsl(4 80% 50% / .4)}.turnBanner small{font:600 .7rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--c-dim)}.matchFound{position:fixed;inset:0;z-index:8900;pointer-events:none}.matchFound .mfVeil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,hsl(var(--h) 30% 10% / .7),hsl(var(--h) 25% 3% / .9) 70%)}.matchFound .mfRing{position:absolute;left:50%;top:50%;width:min(60vmin,360px);aspect-ratio:1;border-radius:50%;border:2px solid hsl(var(--h) 60% 65% / .8);transform:translate(-50%,-50%);will-change:transform,opacity}.matchFound .mfTitle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font:800 clamp(1.8rem,8vw,3rem)/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-hi);text-shadow:0 2px 0 hsl(var(--h) 40% 12%),0 0 26px hsl(var(--h) 70% 50% / .5);will-change:transform,opacity}.encFly{position:fixed;inset:0;z-index:60;pointer-events:none}.encFlyIc{position:absolute;transform-origin:0 0;will-change:transform;display:grid;place-items:center;overflow:hidden;border-radius:12px}.encFlyIc>*{width:100%;height:100%}.challengeNotice{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top,0px));transform:translate(-50%);z-index:45;display:flex;align-items:center;gap:12px;width:min(440px,calc(100% - 24px));padding:10px 10px 10px 12px;border-radius:18px;background-image:var(--grain),var(--glass-bg);background-color:hsl(var(--h) 14% 8% / .97);border:1px solid hsl(var(--h) 45% 64% / .45);box-shadow:0 12px 34px #00000080}.challengeNotice .cnFace{flex:none;width:44px;height:44px;display:grid;place-items:center;font-size:1.3rem}.challengeNotice .cnFace .heroPortrait{width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 2px hsl(var(--h) 55% 62% / .6)}.challengeNotice .cnText{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.challengeNotice .cnText b{font:700 .95rem var(--f-display);color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challengeNotice .cnText small{font:500 .74rem var(--f-body);color:var(--c-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challengeNotice .cnSee{flex:none;min-height:38px;padding:0 14px}.challengeNotice .cnClose{flex:none;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%}.glowRing{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;will-change:opacity;box-shadow:inset 0 0 0 3px hsl(var(--h) 70% 62% / .85),inset 0 0 26px hsl(var(--h) 70% 55% / .45)}.encCard,.dCard{position:relative}.floatDelta{position:fixed;z-index:70;pointer-events:none;will-change:transform,opacity;white-space:nowrap;font:700 .85rem var(--f-body);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.7)}.floatDelta.up{color:#64d88b}.floatDelta.down{color:#ee6c63}
