/* A flat actor plane makes solo priority authoritative over idle 3D hover depth.
   Each performer stays transparent and returns to the normal stack with the clock. */
.team-scene[data-battle-state=attack] .team-plane,
.team-scene[data-reactor-front=true] .team-plane{transform-style:flat}
.team-scene[data-battle-state=attack] .team-plane>.team-character.is-performing{z-index:30;isolation:isolate;background:transparent}
/* Both matador lanes clear the idle team, while still circling Corruption. */
.team-scene[data-precision-member=magnific] .team-plane>.team-character.is-performing{z-index:32}
.team-scene[data-precision-member=magnific] .team-plane>.team-character.is-performing[data-matador-lane=behind]{z-index:30}
.team-scene[data-precision-member=magnific] .team-plane>.team-corruption{z-index:31}
/* Reactor also leads the coordinated team super. */
.team-scene[data-reactor-front=true] .team-reactor{z-index:30!important;isolation:isolate;background:transparent}
.time-grenade-effects{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:visible}
.time-grenade-effects>*{position:absolute;left:0;top:0;opacity:var(--tg-alpha,0);transform:translate3d(var(--tg-x,0px),var(--tg-y,0px),0) translate(-50%,-50%) rotate(var(--tg-angle,0deg)) scale(var(--tg-scale,1));transform-origin:center;pointer-events:none}
.framebreaker-shot{width:clamp(14px,2.8vw,35px);height:5px;border-radius:50%;background:#fff8c9;box-shadow:0 0 5px #fff1a2,8px 0 10px #ffb150}
.framebreaker-contact{width:40px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff8dc,#ffb651 25%,#ed925200 65%);box-shadow:0 0 14px #ffc97d}
.time-grenade{width:clamp(21px,3vw,36px);height:clamp(26px,3.6vw,44px);border:2px solid #ffd7f0;border-radius:39% 39% 45% 45%;background:radial-gradient(circle at 34% 26%,#ffeaf8 4%,#ff9dd6 20%,#f94ea7 53%,#a82072);box-shadow:inset -3px -3px 2px #7b185a70,0 0 13px #ff8bd3a0;color:#fff8fc;display:grid;place-items:center;font:900 16px/1 system-ui,sans-serif}
.time-grenade>i{position:absolute;top:-7px;left:25%;width:50%;height:8px;border:2px solid #fff0d4;border-radius:3px;background:#d0ae72;transform:rotate(-12deg)}
.time-grenade>b{border:1px solid #fff4f9b0;border-radius:50%;width:74%;aspect-ratio:1;display:grid;place-items:center;text-shadow:0 1px 2px #8a1658}
.time-gum-trap{position:absolute;inset:0;width:100%;height:100%;z-index:8;overflow:visible;opacity:var(--gum-alpha,0);transform:scale(var(--gum-scale,1));transform-origin:59% 95%;pointer-events:none;filter:drop-shadow(0 2px 2px #8e165788)}
.gum-floor{fill:#f661bf;stroke:#ffb5e3;stroke-width:5}
.gum-wrap{fill:#ff84cf;stroke:#ffcbeb;stroke-width:6;stroke-linejoin:round}
.gum-strands{fill:none;stroke:#ffdcf1;stroke-width:9;stroke-linecap:round}
.gum-bubble{fill:#ffb8e5;stroke:#ffe8f5;stroke-width:4}
.time-gum-caption{width:max-content;max-width:190px;padding:4px 7px;border:1px solid #ffc8e4;border-radius:5px;background:#701447e8;color:#fff2fa;font:800 clamp(8px,.85vw,11px)/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em;text-align:center;box-shadow:0 2px 7px #160b2699}
/* Gum remains anchored to the original soles while the body takes hit reactions. */
.team-scene .team-corruption.is-gum-trapped .team-character-float{animation:none!important;transform:none}
@media(max-width:600px){.time-gum-caption{max-width:132px;padding:3px 4px;font-size:8px}.time-grenade{width:21px;height:26px}.time-grenade>b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.time-grenade,.framebreaker-shot,.framebreaker-contact{display:none}.time-gum-trap{transform:none}}
