/* The combat viewport stays bounded; the portraits and HUD keep their own depth. */
.team-scene{--hud-content-space:46px;--hud-cutscene-top:188px}
.battle-hud{--hud-portrait-overhang:16px;--hud-portrait-raise:16px;--hud-power-space:27px}
.battle-energy-card{padding-left:72px}
.hero-energy-card{padding-left:14px;padding-right:72px}
.hud-portrait{bottom:calc(2px + var(--hud-portrait-raise) + var(--hud-power-space))}
.battle-power{--power-color:#bb96ff;position:relative;margin-top:7px;transform:translate3d(0,calc(var(--hud-meter-lift,0px)*var(--hud-direction)*var(--hud-motion-scale)),18px)}
.power-team{--power-color:#9dffc1}
.battle-power-heading{display:flex;justify-content:space-between;align-items:baseline;gap:5px;font:700 8px/1.3 ui-monospace,monospace;letter-spacing:.025em;color:var(--power-color);white-space:nowrap}
.battle-power-heading b{font-variant-numeric:tabular-nums;color:#f5edff;font-weight:750}
.battle-power-gauge{--power-fill:0%;position:relative;height:7px;margin-top:4px;border:1px solid color-mix(in srgb,var(--power-color) 45%,#281d3c);background:#070d19;border-radius:2px;box-shadow:0 2px 0 #030712,inset 0 1px 2px #0009;overflow:hidden}
.power-anti .battle-power-gauge{--power-fill:100%}
.battle-power-gauge i{position:absolute;inset:0 auto 0 0;width:var(--power-fill);background:linear-gradient(100deg,transparent 15%,#fff8 50%,transparent 85%),linear-gradient(0deg,color-mix(in srgb,var(--power-color) 65%,#152644),var(--power-color));background-size:100px 100%,100% 100%;background-position:calc(var(--energy-flow,0px)*.65) 0,0 0;box-shadow:0 0 8px var(--power-color)}
.power-team .battle-power-gauge i{left:auto;right:0}
.battle-power-gauge:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(11.111% - 1px),#07102388 calc(11.111% - 1px) 11.111%);pointer-events:none}
.battle-energy-meta{margin-top:7px}

.battle-viewport{perspective:1050px}
.team-plane{transform:rotateX(calc(var(--team-y)*-2deg)) rotateY(calc(var(--team-x)*3.6deg)) scale(var(--super-zoom,1))}
.team-backdrop{transform:translate3d(calc(var(--team-x)*-8px),calc(var(--team-y)*-5px),-70px) scale(1.095)}
.team-character{--parallax:12px;transform:translate3d(calc(var(--team-x)*var(--parallax)),calc(var(--team-y)*var(--parallax)*.65 + var(--inspection-shift,0px)),calc(var(--z) + var(--battle-depth) + var(--inspection-depth,0px))) scale(var(--inspection-scale,1));transform-origin:50% 80%}
.team-tripo,.team-magnific,.team-pixverse{--parallax:7px}
.team-reactor{--parallax:9px}
.team-character.is-inspected{z-index:9;--art-energy:.25}
.team-character.is-attacking{z-index:10}
.team-editor{--fighter-idle-texture:url('/assets/fighters/editor-idle.webp')}
.team-editor[data-editor-pose=editing][data-fighter-idle-detail=ready] .team-sprite{background-image:var(--fighter-idle-texture);background-size:var(--fighter-size) var(--fighter-size);background-position:var(--fighter-position);transform:translateY(var(--editor-work-y,0px)) rotate(var(--editor-work-tilt,0deg));transform-origin:45% 42%}

/* Raised console, lettering and gauge planes, driven by the same paused clock. */
.battle-console{bottom:10px;perspective:1050px;perspective-origin:50% 75%;transform-style:preserve-3d;transform:translate3d(calc(var(--team-x)*1.6px),calc(var(--hud-float,0px)*.5),8px) rotateX(calc(var(--team-y)*-1.2deg)) rotateY(calc(var(--team-x)*.8deg));box-shadow:0 4px 0 #050918,0 5px 0 #b4a0df50,0 12px 19px #02040bcc,inset 0 1px 0 #f3e7ff35}
.battle-console:before{content:'';position:absolute;inset:5px -1px -4px 1px;border:1px solid #b6a3d344;border-radius:inherit;background:#080b1b;transform:translateZ(-8px);pointer-events:none}
.battle-action-copy{position:relative;transform:translateZ(12px)}
.battle-action-copy>strong{text-shadow:0 1px 0 #6a587f,0 3px 0 #2a2239,0 6px 8px #040714b3}
.battle-turns{transform:translateZ(10px)}
.battle-super-panel{transform:translateZ(20px)}

.battle-audio-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px}
.battle-soundtrack{min-width:0;flex-shrink:1}
.battle-equalizer{flex:1;width:clamp(200px,30vw,430px);min-width:160px;height:48px;gap:4px;margin-left:10px}
.battle-equalizer i:nth-child(n){--eq-color:#80e9ff}
.battle-equalizer i:nth-child(n+8){--eq-color:#9aff68}.battle-equalizer i:nth-child(n+15){--eq-color:#ffe852}.battle-equalizer i:nth-child(n+22){--eq-color:#ff9169}.battle-equalizer i:nth-child(n+28){--eq-color:#df8bff}
.battle-audio-stat{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;min-width:136px;padding:8px 11px;border:1px solid #a59aca66;border-radius:5px;background:linear-gradient(135deg,#322747,#111d2c);box-shadow:0 3px 0 #090c19,inset 0 1px 0 #eee6ff2b}
.battle-audio-stat>span{font:700 9px/1.2 ui-monospace,monospace;letter-spacing:.12em;color:#c0e6fb}
.battle-audio-stat>strong{grid-column:2;grid-row:1/3;font:900 italic 29px/1 system-ui,sans-serif;color:#ebff97;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 #555e2e,0 5px 8px #0008}
.battle-audio-stat>small{font:7px/1.3 ui-monospace,monospace;letter-spacing:.06em;color:#d0c4e4}
.battle-audio-options{grid-column:1/-1;width:100%}
.battle-audio-controls>.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

@media(max-width:1050px){
  .team-scene{--hud-cutscene-top:192px}
  .battle-hud{--hud-portrait-overhang:14px;--hud-portrait-raise:13px}
  .battle-energy-card{padding-left:58px}.hero-energy-card{padding-left:10px;padding-right:58px}
  .team-character{--parallax:8px}.team-tripo,.team-magnific,.team-pixverse{--parallax:5px}
}
@media(max-width:760px){
  .team-scene{--hud-cutscene-top:174px}
  .battle-hud{--hud-portrait-overhang:7px;--hud-portrait-raise:7px;--hud-power-space:23px}
  .battle-energy-card{padding-left:37px}.hero-energy-card{padding-left:8px;padding-right:37px}
  .hud-portrait{bottom:calc(3px + var(--hud-portrait-raise) + var(--hud-power-space))}
  .battle-power{margin-top:8px}.battle-power-heading{font-size:6.5px;letter-spacing:0;gap:3px}.battle-power-gauge{height:5px;margin-top:3px}
  .battle-console{perspective:900px;transform:translate3d(0,calc(var(--hud-float,0px)*.25),3px)}
  .battle-action-copy{transform:translateZ(6px)}.battle-super-panel{transform:translateZ(10px)}
  .team-character{--parallax:5px}.team-tripo,.team-magnific,.team-pixverse{--parallax:3px}
  .battle-audio-controls{grid-template-columns:minmax(0,1fr);gap:12px}
  .battle-soundtrack{display:grid;grid-template-columns:36px minmax(0,1fr);width:100%;gap:8px 12px}
  .battle-equalizer{grid-column:1/-1;width:100%;min-width:0;margin:2px 0 0;gap:3px}
  .battle-audio-stat{grid-template-columns:1fr auto 1fr;gap:10px;min-width:0}.battle-audio-stat>strong{grid-column:auto;grid-row:auto;font-size:24px}.battle-audio-stat>small{text-align:right}
}
@media(prefers-reduced-motion:reduce){
  .battle-viewport{perspective:none}
  .team-plane,.team-backdrop,.team-character,.battle-console,.battle-action-copy,.battle-turns,.battle-super-panel,.battle-power{transform:none}
  .team-editor[data-editor-pose=editing][data-fighter-idle-detail=ready] .team-sprite{transform:none}
}
