#floor3-mechanics{padding:.45rem .7rem;border-left:3px solid #998168;background:#26241feb;color:#ded3bd;font-size:.84rem;line-height:1.45}#floor3-mechanics p{margin:.15rem 0}.floor3-enemy-note{display:block;position:relative;color:#ded3bd;background:#171916e6;padding:.2rem .4rem;max-width:250px;font-size:.7rem;line-height:1.4;z-index:3}.floor3-core-marker{position:absolute;bottom:0;width:2px;height:6px;background:#ce9e70}.floor3-actor-host img{object-fit:contain!important;object-position:center bottom;height:calc(100% * var(--floor3-height,1));max-height:100%;width:100%;filter:drop-shadow(0 8px 4px #0006)}#floor3-controlled-lane{position:absolute;right:35%;bottom:9%;width:22%;height:80%;z-index:8;pointer-events:none}#floor3-controlled-lane .floor3-controlled{position:absolute!important;inset:0!important;margin:0!important;width:100%!important;height:100%!important;opacity:1!important;transform:none!important}#floor3-controlled-lane figcaption{color:#dcab94}.floor3-impact{position:absolute;inset:0;z-index:20;pointer-events:none;overflow:hidden;border-radius:inherit}.floor3-impact canvas{width:100%;height:100%;object-fit:contain}.floor3-impact:empty{display:none}@media(max-width:600px){#floor3-mechanics{font-size:.75rem}.floor3-enemy-note{font-size:.62rem;max-width:150px}#floor3-controlled-lane{right:31%;width:24%}}@media(prefers-reduced-motion:reduce){.floor3-controlled{transition:none!important}}
.floor3-local-state{position:absolute;inset:30% 32%;pointer-events:none;z-index:12;border-left:3px solid #ad695c;border-right:2px solid #906b5c;transform:rotate(-12deg)}.floor3-local-state[data-effect="ControlActivate"],.floor3-local-state[data-effect="ControlRelease"]{inset:15% 20%;border-color:#b6a081}.floor3-local-state[data-effect="CancelPursuit"]{border-style:dashed;border-color:#898b7c}.floor3-actor-host{overflow:visible}.floor3-actor-host>span:not(.floor3-local-state){position:absolute;bottom:-1.5rem;left:0;right:0}.floor3-actor-host .floor3-enemy-note{position:absolute;top:100%;margin-top:1.5rem;left:0;right:0}
.floor3-cart-receipt{position:absolute;z-index:24;inset:18% 20%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1d211bef;color:#decda9;border-radius:8px;padding:12px;text-align:center;pointer-events:none}.floor3-cart-receipt img{height:65%;max-width:100%;object-fit:contain}.floor3-cart-receipt strong{font-size:18px}.floor3-cart-receipt small{font-size:12px}

/* Keep third-floor actors on the inherited arena floor; reserve separate minion slots. */
#event-scene.combat-scene #battle-enemy.floor3-actor-host{position:absolute}
#event-scene.combat-scene .enemy-minion.floor3-actor-host{right:calc(31% + var(--floor3-minion-slot,0)*13%);width:12%}
@media(max-width:650px){#event-scene.combat-scene .enemy-minion.floor3-actor-host{right:calc(31% + var(--floor3-minion-slot,0)*14%);width:13%}}

#event-scene.combat-scene .floor3-actor-host>span:not(.floor3-local-state){left:0;right:0;width:100%;transform:none;text-align:center;padding-left:0;padding-right:0}

#event-scene.combat-scene .battle-arena:has(.floor3-actor-host){overflow-x:clip}

/* Share the original close-up surface and feedback palette. Keep vitals outside it. */
.floor3-impact{z-index:22;isolation:isolate;background:rgba(5,7,8,.65);backdrop-filter:blur(2px)}
.floor3-impact canvas{display:block;object-fit:fill}
.has-floor3-impact #battle-party,.has-floor3-impact #battle-enemy,
.has-floor3-impact .enemy-minion,.has-floor3-impact #minion,
.has-floor3-impact #floor3-controlled-lane{visibility:hidden!important}

/* The controlled participant shares the arena ground and retains their original HUD. */
#event-scene.combat-scene #floor3-controlled-lane{right:29%;bottom:10px;width:20%;height:calc(80% - 28px);max-height:310px;z-index:4}
#floor3-controlled-lane .floor3-controlled{filter:none;animation:none}
#floor3-controlled-lane .floor3-controlled{transform:scaleX(-1)!important}
#floor3-controlled-lane figcaption{left:0;right:0;width:100%;transform:scaleX(-1);text-align:center}
#event-scene.combat-scene .floor3-control-layout #battle-party>.battle-player:only-child{left:0;top:0;transform:none;width:100%;filter:none}
body #event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-control-layout .battle-hud-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:6px}
body #event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-control-layout #battle-player-huds{grid-template-columns:minmax(0,1fr)}
#floor3-controlled-hud{min-width:0;padding:6px;border:1px solid #b18770;background:#30221fdb;align-self:start;overflow-wrap:anywhere}
#event-scene.combat-scene #floor3-controlled-hud .fighter-hud{position:static;width:auto;text-align:center;margin:0}
.floor3-control-badge{display:block;color:#e6b99d;font-size:12px;line-height:1.5;text-align:center}
.floor3-controlled-intent{font-size:12px;line-height:1.6;color:#e9d4bb;margin:5px 0 0;text-align:center}
#event-scene.combat-scene [data-floor3-control-target] figcaption{border-color:#d19c7a;color:#efd1a9}
#event-scene.combat-scene [data-floor3-control-target] figcaption::after{content:' · 受控攻击目标'}
@media(max-width:600px){.floor3-control-badge,.floor3-controlled-intent{font-size:11px}#floor3-controlled-hud{padding:3px}#event-scene.combat-scene #floor3-controlled-lane{right:29%;width:22%}}
@media(max-width:600px){
 body:has(.floor3-battle-layout) #player-stats#player-stats#player-stats{display:none!important}
 body #event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-control-layout .battle-arena{min-height:190px!important}
 body #event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-control-layout .battle-hud-row{padding-top:36px;max-height:27dvh!important}
 body #event-scene#event-scene#event-scene.combat-scene .floor3-control-layout #enemy-intent{font-size:11px!important;line-height:1.4!important;padding:5px;margin:3px 0}
 #event-scene.combat-scene .floor3-control-layout .effect-strip{gap:2px}
 #event-scene.combat-scene .floor3-control-layout .effect-chip{font-size:10px;padding:2px}
 body #event-scene#event-scene#event-scene.combat-scene .floor3-control-layout .effect-chip small{font-size:10px!important;line-height:1.2!important}
 body #event-scene#event-scene#event-scene.combat-scene .floor3-control-layout .effect-chip{min-width:0;padding:2px!important;grid-template-columns:14px auto}
 #event-scene.combat-scene .floor3-control-layout .effect-chip .status-icon{width:14px;height:14px}
}
/* Keep phone battles in content flow throughout ordinary, controlled and released rounds. */
body #event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-control-layout .battle-hud-row{padding-top:64px!important}
@media(max-width:600px){
 body:has(#battle-stage#battle-stage.floor3-battle-layout){height:auto!important;min-height:100dvh!important;overflow-y:auto!important}
 body:has(#battle-stage#battle-stage.floor3-battle-layout) main.app-shell{height:auto!important;min-height:100dvh!important}
 body:has(#battle-stage#battle-stage.floor3-battle-layout) #game-panel{height:auto!important;flex:none!important}
 body:has(#battle-stage#battle-stage.floor3-battle-layout) #map-stage-page#map-stage-page#map-stage-page#map-stage-page{display:flex!important;flex-direction:column!important;height:auto!important;flex:none!important}
 body #event-scene#event-scene#event-scene#event-scene#event-scene.combat-scene:has(.floor3-battle-layout){height:auto!important;flex:none!important;overflow:visible!important}
 body #event-scene#event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-battle-layout{height:auto!important;flex:none!important}
 body #event-scene#event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-battle-layout .battle-hud-row{padding-top:64px!important;max-height:none!important;overflow:visible!important}
 body #event-scene#event-scene#event-scene#event-scene#event-scene.combat-scene .floor3-battle-layout .battle-arena{height:220px!important;min-height:220px!important;flex:none!important}
 body #event-scene#event-scene#event-scene#event-scene#event-scene.combat-scene:has(.floor3-battle-layout) .event-scene-copy{max-height:none!important;flex:none!important;overflow:visible!important}
}
