/* Scoped currency and refusal feedback. */
.gold{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.gold .paper-symbol{width:18px;height:20px;vertical-align:middle}
[data-action=refresh]>.paper-symbol{width:18px;height:20px;vertical-align:middle;margin-left:3px}
.ticket-price .paper-symbol{margin-left:3px}
.manager-refusal{position:absolute;left:50%;bottom:100%;transform:translateX(-50%) rotate(-3deg);padding:8px 12px;background:#fff0d0;color:#503b2d;border:1px solid #aa8353;box-shadow:2px 3px 0 #4c362755;white-space:nowrap;font-size:15px;font-weight:600}
.manager-refusing img{animation:manager-cling .24s ease-in-out infinite alternate}
@keyframes manager-cling{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
/* Original image halves; no colored substitute panels. */
.stage-master-curtain{z-index:50;pointer-events:auto;overflow:hidden;background:none}
.master-half{position:absolute;top:0;bottom:0;width:calc(50% + 1px);overflow:hidden;will-change:transform}
.master-half img{display:block;position:absolute;top:0;height:100%;width:100%;max-width:none;object-fit:fill}
.master-left{left:0}.master-right{right:0}
.master-half img{width:auto;object-fit:contain}.master-left img{right:0}.master-right img{left:0}
.stage-master-curtain.is-opening .master-left{animation:master-open-left .8s cubic-bezier(.45,0,.2,1) both}
.stage-master-curtain.is-opening .master-right{animation:master-open-right .8s cubic-bezier(.45,0,.2,1) both}
@keyframes master-open-left{to{transform:translateX(-102%)}}@keyframes master-open-right{to{transform:translateX(102%)}}
@media(prefers-reduced-motion:reduce){.manager-refusing img{animation:none}.stage-master-curtain{display:none}}
/* Four footprint rows sit on the deck of the approved full stage. */
.is-playfield .stage-wrap{padding:0;background:#263c43}
.is-playfield #arena.arena{width:100%;max-width:100%;height:clamp(470px,76svh,610px);background-color:#263c43;background-image:url('assets/stage/battle-stage-full.webp');background-repeat:no-repeat;background-position:center;background-size:auto 100%;overflow:hidden}
.is-playfield #arena .unit{width:78px;height:82px}
.is-playfield #arena .unit img{height:62px;max-width:76px}
.is-playfield #arena .unit:before{left:10px;right:10px;height:7px;bottom:8px;opacity:.8}
.is-playfield #arena .pips{gap:2px}.is-playfield #arena .pips i{width:6px;height:6px}
.is-playfield #arena .box{width:70px;height:54px;z-index:7}
.is-playfield #arena .box img{width:62px;height:50px;object-fit:contain}
.is-playfield #arena .team-label{top:43%;left:3%;font-size:10px;background:#263c43ce;padding:2px 4px;color:#fff0ce}
.is-playfield #arena .team-label.ally{top:80%;bottom:auto;left:auto;right:3%}
.is-playfield #arena .systems-state,.is-playfield #arena .paper-event,.is-playfield #arena .pair-performance{z-index:30}
.is-playfield #arena .fx{z-index:25}.is-playfield #arena .damage-pop{z-index:35}
.is-playfield #arena .stage-master-curtain{z-index:100}
@media(min-width:700px){.is-playfield .stage-wrap{max-width:960px;margin-inline:auto}.is-playfield #arena.arena{height:auto;aspect-ratio:4/3;background-size:contain}.is-playfield #arena .unit{width:104px;height:105px}.is-playfield #arena .unit img{height:84px;max-width:100px}.is-playfield #arena .pips i{width:7px;height:7px}}
@media(max-width:350px){.is-playfield #arena.arena{height:470px}.is-playfield #arena .unit{width:68px;height:74px}.is-playfield #arena .unit img{height:54px;max-width:66px}.is-playfield #arena .box{width:60px;height:48px}.is-playfield #arena .box img{width:56px;height:44px}}
.is-playfield #arena .team-label{transform:none}
.is-playfield #arena .unit .pips{visibility:hidden}
.stage-health{position:absolute;display:flex;justify-content:center;gap:2px;transform:translate(-50%,-100%);z-index:40;pointer-events:none;padding:1px 2px;background:#f3e4c1c9;border-radius:4px;box-shadow:0 1px 2px #392d2455}
.stage-health i{display:block;width:6px;height:6px;background:#52786e;border:1px solid #fff2d3;border-radius:50%}
.stage-health i.empty{background:#806f6144;border-color:#a69376}
.is-playfield .recruit-tools>[data-action=refresh]{display:inline-flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap;padding-inline:9px}
.is-playfield .recruit-tools>[data-action=refresh] .reroll-mark{width:29px;flex:none;margin-right:0}
.is-playfield .recruit-tools>[data-action=refresh]>.paper-symbol{flex:none;margin-left:0;width:17px}
.reroll-cost{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;flex:none}
.reroll-cost .paper-symbol{width:17px;height:20px;flex:none;margin:0}
