/* V4: shared boss energy HUD, special abilities, cinematic effects. */
.battle-hud{background:linear-gradient(110deg,#23233e,#292c50);padding:14px 21px 13px;border-bottom:1px solid #ffffff23;color:#f8f0ff}
.battle-info,.battle-hud-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}
.battle-info>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.battle-info strong{font-size:13px}.battle-kicker{color:#aeedff;font-weight:900;letter-spacing:1px;font-size:10px}.battle-hp{font-size:15px!important;font-variant-numeric:tabular-nums;color:#f1daff}
.battle-track{height:15px;background:#11182f;border:1px solid #aca2e15e;border-radius:99px;margin:10px 0 7px;box-shadow:inset 0 2px 5px #0007;position:relative;overflow:hidden}
.battle-fill{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,#73dbc3 0%,#a8f3b5 65%,#e1ffd2 100%);box-shadow:0 0 18px #9bf1b97e;transition:width .4s ease,background .25s}
.battle-track-shine{position:absolute;inset:2px 5px auto 5px;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,#ffffff7a,transparent);pointer-events:none}
.battle-hud.boss-on{background:linear-gradient(110deg,#51273f,#332148)}.battle-hud.boss-on .battle-kicker{color:#ffcf7d}.battle-hud.boss-on .battle-fill{background:linear-gradient(90deg,#fb6d67,#ffaf6d,#fff1a9);box-shadow:0 0 20px #ff9a686f}
.battle-hud.boss-on.boss-phase-2{background:linear-gradient(110deg,#60243d,#3f203d)}.battle-hud.boss-on.boss-phase-2 .battle-fill{background:linear-gradient(90deg,#ff5564,#f073a3,#ffa66a)}
.battle-hud-footer{color:#a9afcf;font-size:10px;line-height:1.4}.battle-countdown{font-weight:900;font-variant-numeric:tabular-nums;color:#c3ffd1;white-space:nowrap}.battle-hud.boss-on .battle-countdown{color:#ffdc94}
.ultimate-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:22px 3px 11px}.ultimate-heading span{font-weight:900;letter-spacing:1.2px;color:#fbd28e;font-size:11px}.ultimate-heading small{color:#98a1c0;font-size:10px}.ultimate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ultimate-button{border:1px solid #ffffff52;min-height:92px;border-radius:17px;display:flex;align-items:center;gap:13px;padding:17px;position:relative;overflow:hidden;text-align:left;color:#251e3c;box-shadow:0 8px 28px #02061759;transition:transform .2s,box-shadow .2s}
.ultimate-button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 15px 35px #0007}.ultimate-button:disabled{filter:saturate(.55);opacity:.65;cursor:not-allowed}
.ultimate-boxing{background:linear-gradient(125deg,#ffe09d,#ff985f)}.ultimate-paint{background:linear-gradient(125deg,#b59bff,#f5a8ff)}.ultimate-icon{font-size:42px;filter:drop-shadow(0 7px 7px #0003)}.ultimate-button>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.ultimate-button strong{font-size:12px;letter-spacing:.3px}.ultimate-button small{font-size:10px;line-height:1.5;font-weight:700;opacity:.74}.ultimate-button em{position:absolute;right:12px;top:10px;font-style:normal;color:#301e459e;font-size:8px;letter-spacing:.8px;font-weight:900}
.boss-launch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px;padding:16px 19px;border-radius:19px;border:1px solid #ffca8380;background:radial-gradient(circle at 10% 50%,#8e5b5d39,transparent 70%),linear-gradient(120deg,#252340,#31223d);box-shadow:0 5px 25px #0003}.boss-launch>div{display:flex;flex-direction:column;gap:5px}.boss-launch>div>span{font-size:9px;font-weight:900;letter-spacing:1px;color:#ffcd79}.boss-launch strong{font-size:13px;color:#fff4e9}.boss-launch small{font-size:10px;color:#bcb7d1;line-height:1.4}.boss-launch button{background:linear-gradient(120deg,#ffb969,#ff7d80);border:0;border-radius:11px;padding:13px 15px;white-space:nowrap;font-size:11px;font-weight:900;color:#35162d;box-shadow:0 5px 18px #ff8a6955;transition:transform .2s}.boss-launch button:not(:disabled):hover{transform:translateY(-2px)}.boss-launch button:disabled{opacity:.5;cursor:not-allowed}
.slow-badge{position:absolute;top:82px;left:50%;transform:translateX(-50%) scale(.85);z-index:18;pointer-events:none;opacity:0;white-space:nowrap;padding:8px 15px;background:#131d36d9;color:#b4e9ff;border:1px solid #a9e7ffad;border-radius:99px;font:900 11px Outfit,sans-serif;letter-spacing:1px;text-shadow:0 0 8px #6cdbff}
.slow-badge.show{animation:fxv4SlowBadge 1.15s ease-out forwards}
.boss-banner{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) scale(.75);z-index:19;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;opacity:0;pointer-events:none;width:min(80%,410px);padding:22px 26px;background:#1c1e37ef;border:2px solid #ffc67e90;border-radius:25px;box-shadow:0 15px 90px #070b2e99,0 0 65px #ffaf7d23;transition:opacity .24s,transform .24s}.boss-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.boss-banner>span{font-size:40px}.boss-banner>strong{font-size:clamp(18px,3vw,32px);letter-spacing:1px;color:#ffe69d;text-shadow:0 3px #a25e54}.boss-banner>small{font-size:12px;color:#f1e8ff}
.stage.boss-stage{background:radial-gradient(ellipse at 50% 34%,#8f5272 0%,#4e2a6d 38%,#201a4a 80%,#14122f 100%)}.stage.boss-stage .center-halo{box-shadow:0 0 0 17px #ffd6a012,0 0 0 69px #ffa4a411,inset 0 0 110px #ffb57e54}.stage.boss-stage .fx-light-ribbon{background:#ffb166;color:#ffb166}.stage.boss-stage .character-wrap:after{content:'👑';font-size:36px;position:absolute;left:50%;top:-68px;transform:translateX(-50%);filter:drop-shadow(0 5px 7px #0007);animation:fxv4Crown 1.6s ease-in-out infinite alternate;pointer-events:none}
.stage.boss-stage.boss-rage .character-wrap:after{content:'🔥👑';font-size:37px}.stage.slow-impact .center-halo{filter:brightness(1.3)}
.fxv4-rain-drop{position:absolute;width:20px;height:27px;border-radius:54% 46% 51% 49%/50% 40% 60% 50%;box-shadow:inset -4px -5px 6px #28265b44,0 0 12px #ffffff66;z-index:14;pointer-events:none}.fxv4-rain-splat{position:absolute;width:45px;height:38px;border-radius:39% 61% 53% 47%/45% 53% 47% 55%;filter:drop-shadow(0 0 8px #e8daff55);z-index:14;pointer-events:none}
.fxv4-rain-splat:before,.fxv4-rain-splat:after{content:'';position:absolute;border-radius:50%;background:inherit}.fxv4-rain-splat:before{width:14px;height:13px;left:-6px;top:4px}.fxv4-rain-splat:after{width:10px;height:14px;right:-5px;bottom:2px}
@keyframes fxv4SlowBadge{0%{opacity:0;transform:translateX(-50%) scale(.7)}20%,70%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(1.04)}}@keyframes fxv4Crown{from{transform:translateX(-50%) translateY(0) rotate(-7deg)}to{transform:translateX(-50%) translateY(-9px) rotate(6deg)}}
@media (max-width:950px){.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-launch{flex-wrap:wrap}.boss-launch button{width:100%}}
@media (max-width:580px){.battle-hud{padding:11px 13px}.battle-info>div{gap:5px}.battle-info strong{font-size:11px}.battle-hp{font-size:13px!important}.battle-kicker{font-size:9px}.battle-hud-footer{font-size:9px}.battle-track{height:13px}.ultimate-grid{grid-template-columns:1fr}.ultimate-button{min-height:80px}.ultimate-heading{flex-wrap:wrap}.ultimate-heading small{font-size:9px}.boss-banner{padding:15px 17px;top:44%}.boss-banner>span{font-size:30px}.boss-banner>small{font-size:10px}.slow-badge{top:73px;font-size:9px}.stage.boss-stage .character-wrap:after{top:-58px}}
@media (prefers-reduced-motion:reduce){.battle-fill,.boss-banner,.slow-badge,.ultimate-button,.boss-launch button{transition:none!important;animation:none!important}.slow-badge.show{opacity:1;transform:translateX(-50%)}.stage.boss-stage .character-wrap:after{animation:none!important}}
