.campaign-equipment-current{display:flex;align-items:center;gap:12px;margin:14px 0;padding:14px;border:1px solid #485746;border-radius:14px;background:#1c2d28}.campaign-equipment-current>span{font-size:32px}.campaign-equipment-current>div{display:grid;gap:4px;flex:1}.campaign-equipment-current small{color:#bed0bd;font-size:11px}.campaign-equipment-current strong{font-size:18px}.campaign-equipment-current button{min-height:44px;font-size:12px}.campaign-equipment-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px}.campaign-equipment-choices[hidden]{display:none}.campaign-equipment-choices button{display:grid;gap:6px;justify-items:center;min-height:120px;padding:10px}.campaign-equipment-choices b{font-size:30px}.campaign-equipment-choices small{font-size:11px;line-height:1.4}.campaign-equipment-choices [aria-pressed=true]{border-color:var(--lime);background:#33472a}
body.campaign-battle-open #mainNavigation{display:none}
#battle.campaign-fight-screen{position:fixed;inset:0;z-index:2200;background:#0c1116;margin:0;width:100%;height:100dvh;overflow:auto;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:36px 64px minmax(230px,1fr) 24px;grid-template-areas:'bar bar' 'person person' 'fight mini' 'status status';gap:8px;isolation:isolate}
.campaign-fight-screen .battle-top{grid-area:bar;display:flex;align-items:center;gap:8px;margin:0}.campaign-fight-screen .battle-top button{min-height:32px;padding:5px 12px}.campaign-fight-screen #turnLabel{margin-right:auto;font-size:10px}.campaign-opponent{grid-area:person;display:flex;align-items:center;gap:12px;padding:3px 12px;border:1px solid #3d5148;border-radius:12px;background:#1d2b27;min-width:0}.campaign-opponent .arena-portrait{width:56px;height:56px;flex:none}.campaign-opponent>div{display:grid;gap:4px;min-width:0}.campaign-opponent strong{font-size:19px;color:var(--lime)}.campaign-opponent small{font-size:12px;color:#c5d3c6}.campaign-opponent>span{margin-left:auto;font-size:13px;white-space:nowrap;color:#d6e7cb}
#battle.campaign-fight-screen .battlefield{grid-area:fight;min-height:0;height:100%;margin:0;padding:80px 12px 12px;align-content:center;gap:10px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);border:1px solid #3e5546;border-radius:14px;background:radial-gradient(ellipse at bottom,#314733,#15222c);overflow:hidden}#battle.campaign-fight-screen .battlefield .echo-art{height:clamp(100px,24vh,230px)}#battle.campaign-fight-screen .battlefield h3{font-size:18px;line-height:1.2}#battle.campaign-fight-screen .battlefield>.vs{font-size:20px;margin-top:65px}#battle.campaign-fight-screen .battlefield .attack-cadence{display:none}#battle.campaign-fight-screen .combatant>small:not(.battle-hp),#battle.campaign-fight-screen .combatant>.badges{display:none}#battle.campaign-fight-screen .battlefield .health{height:12px;margin-top:8px}#battle.campaign-fight-screen .battle-hp{font-size:11px}#campaignMiniGames{grid-area:mini;align-self:center;width:100%;margin:0}#battle.campaign-fight-screen #autoBattleStatus{grid-area:status;font-size:11px;margin:0;text-align:center}
#battle.campaign-fight-screen .battle-outcome,#battle.campaign-fight-screen #battleLogDetails{display:none}#battle.campaign-fight-screen.campaign-finished .battle-outcome{display:flex;position:absolute;inset:0;z-index:25;background:#0c1714ee;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;overflow:auto}#battle.campaign-fight-screen .battle-outcome .claim-message{width:min(560px,100%);max-height:75dvh;overflow:auto}#battle.campaign-fight-screen #again{width:min(400px,100%);min-height:48px}.campaign-change-equipment{min-height:44px}.campaign-defeated-person{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0}.campaign-defeated-person svg{width:95px}.campaign-defeated-person p{font-size:14px}
.campaign-pause{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:#10201bf5}.campaign-pause[hidden]{display:none}.campaign-pause strong{font-size:30px}.campaign-pause button{min-width:200px;min-height:48px}
.campaign-fight-screen.equipment-active #campaignMiniGames{height:110px;min-height:110px;max-height:110px}.campaign-fight-screen.equipment-active .mini-active-power{gap:4px;flex-wrap:wrap}.campaign-fight-screen.equipment-active .mini-active-power p{display:none}.campaign-fight-screen[data-equipment=shield] #combatA .echo-art{outline:3px solid #8de6df;border-radius:50%;box-shadow:0 0 28px #8de6df55}.campaign-fight-screen[data-equipment=pulse] #combatA .echo-art{filter:drop-shadow(0 0 12px #d6fa72)}
@media(max-width:600px) and (orientation:portrait){.campaign-equipment-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-equipment-current{gap:8px;padding:10px}.campaign-equipment-current button{max-width:100px}#battle.campaign-fight-screen{grid-template-columns:minmax(0,1fr);grid-template-areas:'bar' 'person' 'fight' 'status' 'mini';grid-template-rows:32px 60px minmax(180px,1fr) 24px 250px;gap:5px}#battle.campaign-fight-screen.equipment-active{grid-template-rows:32px 60px minmax(180px,1fr) 24px 110px}#battle.campaign-fight-screen .battlefield{padding:70px 8px 8px}#battle.campaign-fight-screen .battlefield .echo-art{height:clamp(80px,18vh,170px)}#battle.campaign-fight-screen .battlefield h3{font-size:15px}#battle.campaign-fight-screen .battlefield>.vs{margin-top:45px}.campaign-opponent{gap:8px;padding:2px 8px}.campaign-opponent strong{font-size:17px}.campaign-opponent small{font-size:11px}.campaign-opponent>span{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){#battle.campaign-fight-screen{grid-template-rows:30px 52px minmax(200px,1fr) 20px;gap:4px}.campaign-opponent .arena-portrait{width:44px;height:44px}#battle.campaign-fight-screen .battlefield{padding-top:55px}#battle.campaign-fight-screen .battlefield .echo-art{height:100px}#battle.campaign-fight-screen .battlefield h3{font-size:14px}#battle.campaign-fight-screen .battlefield>.vs{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.campaign-fight-screen .mini-auto-cannon{animation:none}}
#battle.campaign-fight-screen{top:var(--campaign-top,0);bottom:auto;height:var(--campaign-height,100dvh);overflow:hidden}#battle.campaign-fight-screen .battlefield{min-height:0;overflow:hidden}#battle.campaign-fight-screen .combatant>.modifier-badges{display:none}.campaign-fight-screen .battle-top button{white-space:nowrap}.campaign-fight-screen #turnLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#battle.campaign-fight-screen.equipment-active #campaignMiniGames{height:140px;min-height:0;max-height:140px;padding:10px 12px 18px;grid-template-rows:24px minmax(0,1fr);gap:4px}.campaign-fight-screen.equipment-active .mini-active-power{min-height:0;height:100%;flex-direction:row;flex-wrap:nowrap;gap:10px}.campaign-fight-screen.equipment-active .mini-active-power .mini-auto-cannon{margin:0;transform:scale(.65);transform-origin:center center}
@media(max-width:600px) and (orientation:portrait){#battle.campaign-fight-screen{grid-template-rows:32px 60px minmax(0,1fr) 20px minmax(180px,250px)}#battle.campaign-fight-screen.equipment-active{grid-template-rows:32px 60px minmax(0,1fr) 20px 140px}#battle.campaign-fight-screen .battlefield{padding:55px 8px 8px}#battle.campaign-fight-screen .battlefield .echo-art{height:clamp(75px,16vh,145px)}#battle.campaign-fight-screen .battlefield h3{margin:7px 0 4px;font-size:14px}#battle.campaign-fight-screen .battlefield>.vs{margin-top:32px}#battle.campaign-fight-screen #autoBattleStatus{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.campaign-equipment-shot{position:fixed;z-index:2250;width:20px;height:20px;margin:-10px 0 0 -10px;pointer-events:none;animation:campaignEquipmentFlight .55s ease-in forwards;--shot-x:0px;--shot-y:0px}.campaign-equipment-shot.cannon{border:2px solid #eaf5ff;border-radius:50%;background:radial-gradient(circle at 35% 30%,#adc4d1,#334b5a 45%,#14212c 75%);box-shadow:0 0 10px #ffe69a,0 0 22px #ffa649}.campaign-equipment-shot.spark{font-size:28px;line-height:20px;color:#fff0a0;text-shadow:0 0 12px #ffdc66}.campaign-equipment-impact{position:fixed;z-index:2250;width:38px;height:38px;margin:-19px;border:3px solid #ffe69a;border-radius:50%;pointer-events:none;animation:campaignEquipmentImpact .3s ease-out forwards}@keyframes campaignEquipmentFlight{to{transform:translate(var(--shot-x),var(--shot-y))}}@keyframes campaignEquipmentImpact{to{transform:scale(1.8);opacity:0}}@media(prefers-reduced-motion:reduce){.campaign-equipment-shot{animation-duration:.12s}.campaign-equipment-impact{animation:none;opacity:.7}}
#battle.campaign-fight-screen.campaign-finished .battle-outcome{max-width:none;margin:0}.campaign-fight-screen.equipment-active .mini-active-power{min-height:0;flex-direction:row;flex-wrap:nowrap;gap:12px}.campaign-fight-screen.equipment-active .mini-active-power>span{font-size:36px}.campaign-fight-screen.equipment-active .mini-active-power strong{font-size:16px}.campaign-fight-screen.equipment-active .mini-active-power .mini-auto-cannon{transform:scale(.65);margin:0;transform-origin:center center}

#battle.campaign-fight-screen #campaignMiniGames{min-height:0;overflow:hidden}#battle.campaign-fight-screen:not(.equipment-active) #campaignMiniGames{height:100%;max-height:250px}

#battle.campaign-fight-screen .fragment-reward small{display:block;margin-top:6px;font-size:13px;font-weight:400;line-height:1.4}

#battle.campaign-fight-screen[data-equipment=backup] .arena-helper{width:44%;max-width:150px;height:auto;bottom:0;gap:3px}#battle.campaign-fight-screen[data-equipment=backup] .arena-helper img{height:110px!important}#battle.campaign-fight-screen[data-equipment=backup] .arena-helper>div{position:static;width:100%;height:auto;overflow:visible;clip-path:none;text-align:center}#battle.campaign-fight-screen[data-equipment=backup] .arena-helper strong{font-size:11px;line-height:1.2;overflow-wrap:anywhere;color:#d6fa72;text-shadow:0 1px 3px #07110d}#battle.campaign-fight-screen[data-equipment=backup] .arena-helper span{display:none}#battle.campaign-fight-screen[data-equipment=backup] .fighter-art-row.helper-active>.echo-art{width:56%;margin-left:44%}@media(orientation:landscape) and (max-height:600px){#battle.campaign-fight-screen[data-equipment=backup] .arena-helper img{height:82px!important}}

/* A completed Pulse visibly electrifies the fighter, not just its equipment label. */
#battle.campaign-fight-screen.equipment-active[data-equipment=pulse] #combatA .echo-art{filter:drop-shadow(0 0 12px #71ddff)}
#battle.campaign-fight-screen.equipment-active[data-equipment=pulse] #combatA .echo-art:before{content:"";position:absolute;inset:-8% -12%;z-index:4;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20184%20200%22%3E%3Cg%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M31%208%2015%2042%2037%2036%208%2079%2029%2073%2015%20117%2040%20109%2025%20158%2043%20150%2032%20191%20M150%2012%20167%2048%20145%2043%20177%2085%20154%2080%20168%20119%20145%20114%20164%20158%20143%20149%20153%20189%22%20stroke%3D%22%2371ddff%22%20stroke-width%3D%226%22%2F%3E%3Cpath%20d%3D%22M31%208%2015%2042%2037%2036%208%2079%2029%2073%2015%20117%2040%20109%2025%20158%2043%20150%2032%20191%20M150%2012%20167%2048%20145%2043%20177%2085%20154%2080%20168%20119%20145%20114%20164%20158%20143%20149%20153%20189%22%20stroke%3D%22%23f0fcff%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;filter:drop-shadow(0 0 5px #2ba5ff);animation:campaignPulseLightning 1.1s ease-in-out infinite alternate}
#battle.campaign-fight-screen.equipment-active[data-equipment=pulse] #combatA .echo-art:after{content:"ϟ";position:absolute;right:4%;top:7%;z-index:5;font-size:44px;line-height:1;color:#e7fbff;text-shadow:0 0 8px #71ddff,0 0 18px #299aff;pointer-events:none;animation:campaignPulseLightning 1.5s ease-in-out infinite alternate-reverse}
#battle.campaign-fight-screen.equipment-active[data-equipment=pulse] .arena-projectile:not(.enemy-projectile):not(.helper-projectile){color:#9aeaff;font-size:0}#battle.campaign-fight-screen.equipment-active[data-equipment=pulse] .arena-projectile:not(.enemy-projectile):not(.helper-projectile):after{content:"ϟ";font-size:32px;color:#d8faff;text-shadow:0 0 8px #71ddff,0 0 18px #299aff}
@keyframes campaignPulseLightning{from{opacity:.55;transform:translateY(-3px) scale(.97)}to{opacity:1;transform:translateY(3px) scale(1.03)}}@media(prefers-reduced-motion:reduce){#battle.campaign-fight-screen.equipment-active[data-equipment=pulse] #combatA .echo-art:before,#battle.campaign-fight-screen.equipment-active[data-equipment=pulse] #combatA .echo-art:after{animation:none;opacity:.85}}
