/* Original RPG artwork. Each character has independent float and action planes. */
.super-team{margin:0 0 80px;position:relative}
.team-intro{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:34px}
.team-intro h2{font-size:clamp(36px,4vw,54px);margin-bottom:0}
.team-intro>p{max-width:405px;margin:0;color:#b5b5c7;font-size:16px}
.team-scene{--team-x:0;--team-y:0;--victory:0;--enemy-fade:1;--ko:0;--battle-progress:0%;position:relative;aspect-ratio:1.75;isolation:isolate;perspective:1400px;border-radius:18px;overflow:visible;background:#080b13;border:1px solid #716087;box-shadow:0 28px 60px #0007,0 1px 0 #e9d8ff33 inset}
/* Clip the battlefield independently so the HUD portraits can cross its frame. */
.battle-viewport{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;isolation:isolate;perspective:inherit}
.team-scene>.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.team-art-ready .team-plane{opacity:1}
.team-plane{position:absolute;inset:0;opacity:0;z-index:2;transform-style:preserve-3d;transform:rotateX(calc(var(--team-y)*-1deg)) rotateY(calc(var(--team-x)*1.6deg)) scale(var(--super-zoom,1))}
.team-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 18% 43%,#811c443a,transparent 38%),radial-gradient(ellipse at 77% 38%,#56349266,transparent 50%),linear-gradient(#171126,#0d172c 56%,#111324);transform:translate3d(calc(var(--team-x)*-3px),calc(var(--team-y)*-2px),-24px) scale(1.035)}
.team-backdrop:before{content:'';position:absolute;inset:0;opacity:.4;background-image:radial-gradient(#e2d4ff80 .65px,transparent .8px);background-size:49px 47px;mask-image:linear-gradient(#000,transparent 78%)}
.team-backdrop:after{content:'';position:absolute;inset:30% 0 15%;background:linear-gradient(135deg,#43517b33,#492e6722);clip-path:polygon(0 54%,12% 33%,22% 55%,32% 18%,39% 38%,53% 4%,63% 33%,73% 18%,82% 46%,91% 28%,100% 42%,100% 100%,0 100%);border-bottom:1px solid #aabbed22}
.team-floor{position:absolute;inset:58% -20% -24%;background:repeating-linear-gradient(90deg,transparent 0 8%,#b4a3d91d 8% 8.12%),repeating-linear-gradient(0deg,transparent 0 18%,#c9b2ef22 18% 18.4%);transform:rotateX(58deg);transform-origin:center top;box-shadow:0 -1px 0 #c3a1e633}
.team-floor:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,transparent 0 44%,rgb(var(--floor-rgb,159 231 255) / calc(var(--floor-band-2,0)*.2)) 45% 55%,transparent 56% 62%,rgb(var(--floor-rgb,159 231 255) / calc(var(--floor-band-1,0)*.2)) 63% 73%,transparent 74% 80%,rgb(var(--floor-rgb,159 231 255) / calc(var(--floor-band-0,0)*.2)) 81% 91%,transparent 92%);filter:blur(3px)}
.battle-timeline{position:absolute;left:4%;right:4%;bottom:19%;height:18%;border:1px solid #b7a4e94d;border-radius:5px;background:#070b17a6;transform:rotateX(40deg);box-shadow:0 0 25px #8865f029,0 9px 0 #080b14a0;padding:9px 3%;display:grid;gap:5px}
.battle-track{position:relative;display:flex;gap:1%;border-radius:3px;opacity:calc(.65 + var(--band-glow,0)*.35);background:rgb(var(--band-rgb,159 231 255) / calc(var(--band-glow,0)*.08));box-shadow:0 0 18px rgb(var(--band-rgb,159 231 255) / calc(var(--band-glow,0)*.3))}
.battle-track:after{content:'';position:absolute;top:-2px;bottom:-2px;left:calc(var(--band-position,.5)*72%);width:28%;border-radius:4px;background:linear-gradient(90deg,transparent,rgb(var(--band-rgb,159 231 255) / .6),transparent);opacity:var(--band-glow,0);mix-blend-mode:screen;filter:blur(3px);pointer-events:none}
.battle-track i{width:23%;border-radius:2px;background:linear-gradient(90deg,#50416f,#74609d);border-top:1px solid #c7a7f480;box-shadow:inset 0 -1px 0 rgb(var(--band-rgb,159 231 255) / calc(var(--band-glow,0)*.8)),0 0 11px rgb(var(--band-rgb,159 231 255) / calc(var(--band-glow,0)*.25));filter:brightness(calc(1 + var(--band-glow,0)*.8))}
.battle-track i:nth-child(2){width:14%;background:#357085}.battle-track i:nth-child(3){width:29%;background:#3f7273}.battle-track i:nth-child(4){width:18%;background:#917064}.battle-track i:nth-child(5){width:11%;background:#77568f}
.battle-track:nth-child(2){padding-left:8%}.battle-track:nth-child(3){padding-left:3%}
.battle-playhead{position:absolute;top:-8px;bottom:-7px;left:var(--battle-progress);width:1px;background:#e2d5ff;box-shadow:0 0 8px #c9a2ff}
.battle-playhead:before{content:'';position:absolute;left:-3px;top:-1px;width:7px;height:7px;background:#e3ccff;border-radius:1px}
.battle-track-label{position:absolute;left:3%;bottom:-18px;font:8px ui-monospace,monospace;letter-spacing:.12em;color:#a69bbf}
.battle-hud{position:absolute;left:24px;right:24px;top:22px;display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);gap:30px;align-items:center;z-index:5}
.battle-energy-card{padding:15px 18px 16px;background:linear-gradient(145deg,#202139ed,#101322ed);border:1px solid #9585be70;border-radius:7px;box-shadow:0 5px 0 #070a13,0 9px 19px #0004,0 1px 0 #eee4ff2e inset}
.enemy-energy-card{border-color:#ce789470}.hero-energy-card{border-color:#aabfea70}
.battle-energy-name{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.battle-energy-name strong{font-size:16px;letter-spacing:.035em;color:#f1eafb;line-height:1.2}
.battle-energy-name>span{font:7px ui-monospace,monospace;letter-spacing:.09em;color:#b3a8c7}
.enemy-energy-card .battle-energy-name strong{color:#ffc2ce}
.battle-energy-meta{display:flex;justify-content:space-between;align-items:baseline;margin:11px 0 5px;font:8px ui-monospace,monospace;letter-spacing:.1em;color:#a29bbb}
.battle-energy-meta b{font-size:11px;color:#ebe2ff;font-weight:500;letter-spacing:.02em}
.battle-energy{--energy-level:100%;height:10px;border:1px solid #78628c;border-radius:2px;background:#070911;box-shadow:0 1px 3px #000b inset;overflow:hidden}
.battle-energy>span{display:block;width:var(--energy-level);height:100%;background:linear-gradient(90deg,#a93862,#ed8e9e);box-shadow:0 0 8px #ef889f80;transition:width .32s ease-out}
.hero-energy-card .battle-energy{border-color:#627893}.hero-energy-card .battle-energy>span{background:linear-gradient(90deg,#565cae,#72c6df);box-shadow:0 0 8px #8ccfe880}
.battle-energy.is-low>span{background:linear-gradient(90deg,#9c2946,#f18862)}
.battle-round{text-align:center;color:#b9a5df}.battle-round>span{display:block;font-size:29px;color:#c7acff;text-shadow:0 0 16px #a688ef80;line-height:1}
.battle-round strong{display:block;font:9px ui-monospace,monospace;letter-spacing:.16em;margin-top:8px}.battle-round small{display:block;font:7px ui-monospace,monospace;letter-spacing:.09em;color:#817895;margin-top:6px}
.team-character{--sprite-x:0%;--sprite-y:0%;--lift:5px;--duration:11s;--delay:0s;--z:30px;--move-x:0px;--move-y:0px;--attack-angle:0deg;--attack-scale:1;--battle-depth:0px;--battle-texture:url('/assets/super-team-vector-front.webp');--victory-texture:url('/assets/super-team-vector-victory-front.webp');position:absolute;width:var(--size);aspect-ratio:1;left:calc(var(--x) - var(--size)/2);bottom:var(--bottom,24%);transform:translate3d(calc(var(--team-x)*var(--parallax,4px)),calc(var(--team-y)*var(--parallax,4px)),calc(var(--z) + var(--battle-depth)));pointer-events:none;z-index:var(--order,2)}
.team-character-float,.team-character-action{width:100%;height:100%;transform-style:preserve-3d}
.team-character-action{position:relative;transform:translate3d(var(--move-x),var(--move-y),0) rotate(var(--attack-angle)) scale(var(--attack-scale));transform-origin:50% 80%}
/* Keep the ink plane unfiltered: filters rasterize moving art before its 3D projection.
   Floor shadows and energy light have independent gradient planes behind the figures. */
.team-character-action:before{content:'';position:absolute;left:8%;right:8%;bottom:3%;height:10%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#02041099,transparent 70%);transform:translateY(13px)}
.team-character-action:after{content:'';position:absolute;inset:-5%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 65%,#d4b7ff66,transparent 66%);opacity:var(--art-energy,0)}
/* Compensate for the atlases' transparent gutters without clipping equipment. */
.team-sprite,.team-sprite-victory{position:absolute;inset:-16.6667%;display:block;background-image:var(--battle-texture);background-size:200% 200%;background-position:var(--sprite-x) var(--sprite-y);background-repeat:no-repeat;opacity:calc((1 - var(--victory))*var(--art-tone,1));transform:none}
.team-sprite-victory{background-image:var(--victory-texture);opacity:calc(var(--victory)*var(--art-tone,1))}
.team-tripo,.team-magnific,.team-pixverse,.team-reactor{--battle-texture:url('/assets/super-team-vector-back.webp');--victory-texture:url('/assets/super-team-vector-victory-back.webp')}
.team-corruption{--x:20%;--size:30.8%;--bottom:24%;--z:34px;--lift:3px;--duration:15s;--delay:-5s;--order:3}
.team-corruption .team-sprite{inset:0;background-image:url('/assets/corruption-vector.webp');background-size:contain;background-position:center;opacity:var(--enemy-fade)}
.team-corruption .team-sprite-damage{background-image:url('/assets/corruption-vector-damaged.webp');opacity:0}
.team-corruption .team-character-action:before{opacity:var(--enemy-fade)}
.team-damage-ready .team-corruption[data-enemy-pose=damaged] .team-sprite-idle{opacity:0}
.team-damage-ready .team-corruption[data-enemy-pose=damaged] .team-sprite-damage{opacity:var(--enemy-fade)}
/* Every size is 70% of the previous battle pose size. The gap is the attack lane. */
.team-tripo{--x:59%;--size:19.6%;--bottom:46%;--sprite-x:0%;--sprite-y:0%;--z:18px;--duration:14s;--delay:-3s;--order:1}
.team-magnific{--x:81%;--size:18.2%;--bottom:46%;--sprite-x:100%;--sprite-y:0%;--z:20px;--duration:12s;--delay:-6s;--order:1}
.team-pixverse{--x:70%;--size:18.2%;--bottom:46%;--sprite-x:0%;--sprite-y:100%;--z:23px;--duration:13s;--delay:-9s;--order:1}
.team-reactor{--x:88%;--size:20.3%;--bottom:43%;--sprite-x:100%;--sprite-y:100%;--z:12px;--duration:16s;--delay:-2s;--order:0}
.team-editor{--x:57%;--size:21%;--sprite-x:100%;--sprite-y:100%;--z:45px;--duration:10s;--delay:-1s;--order:5}
.team-higgsfield{--x:69%;--size:21.7%;--sprite-x:0%;--sprite-y:0%;--z:39px;--duration:12s;--delay:-4s;--order:4}
.team-elevenlabs{--x:81%;--size:20.3%;--sprite-x:100%;--sprite-y:0%;--z:42px;--duration:11s;--delay:-7s;--order:4}
.team-openart{--x:87%;--size:20.3%;--sprite-x:0%;--sprite-y:100%;--z:44px;--duration:13s;--delay:-10s;--order:6}
.team-tencentcloud{--x:46%;--size:18%;--bottom:41%;--z:25px;--duration:15s;--delay:-5s;--order:2;--battle-texture:url('/assets/tencent-cloud-character.webp');--victory-texture:url('/assets/tencent-cloud-character.webp');--sprite-x:0%;--sprite-y:0%}
/* Independent UV regions retain the wide wind dress without pulling in another pose. */
.team-tencentcloud .team-sprite{background-size:214.726% 200%;background-position:100% 0%}
.team-scene[data-battle-turn='9'] .team-tencentcloud .team-sprite,.team-scene[data-battle-state='super'] .team-tencentcloud .team-sprite,.combo-card.team-tencentcloud .combo-portrait{background-size:187.1642% 200%;background-position:0% 0%}
.team-tencentcloud .team-sprite-victory{background-size:191.4504% 200%;background-position:0% 100%}
.team-scene:not(.team-cloud-ready) .team-tencentcloud .team-sprite,.team-scene:not(.team-cloud-ready) .team-tencentcloud .team-sprite-victory,.team-scene:not(.team-cloud-ready) .team-tencentcloud .combo-portrait,.team-scene:not(.team-cloud-ready) .team-tencentcloud .finale-sprite{visibility:hidden}
.team-character.is-attacking{--battle-depth:115px;z-index:10}
.team-character.is-combo{--art-energy:calc(var(--super-charge,0)*.34)}
.team-character.is-attacking:after{content:attr(data-display-name);position:absolute;left:50%;top:92%;font:8px ui-monospace,monospace;letter-spacing:.07em;color:#ede3ff;background:#0d1026dc;border:1px solid #bea1ea80;border-radius:3px;padding:4px 7px;white-space:nowrap;transform:translate(calc(-50% + var(--move-x)),var(--move-y));box-shadow:0 4px 8px #0007}
.team-scene[data-focused] .team-character:not(.is-focused):not(.is-attacking):not(.is-combo):not(.team-corruption){--art-tone:.72}
.team-character.is-focused,.team-character.is-attacking{--art-energy:.22}
.battle-knockout{position:absolute;left:3%;bottom:23%;width:35%;height:22%;background:url('/assets/corruption-vector-knockout.webp') center bottom/contain no-repeat;opacity:var(--ko);transform:translate3d(0,calc((1 - var(--ko))*15px),36px);z-index:4}
.battle-knockout:before{content:'';position:absolute;left:4%;right:4%;bottom:-8%;height:30%;z-index:-1;background:radial-gradient(ellipse,#020410b3,transparent 70%)}
.battle-projectile,.battle-impact{--effect-color:#d0b6ff;position:absolute;pointer-events:none;z-index:4;left:var(--effect-x,30%);top:var(--effect-y,50%);opacity:var(--effect-opacity,0);transform:translate(-50%,-50%) rotate(var(--effect-angle,0deg)) scale(var(--effect-scale,1));color:var(--effect-color);filter:drop-shadow(0 0 5px var(--effect-color))}
.battle-projectile{width:25px;height:25px;background:currentColor;border:2px solid #f9efff;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 20%,transparent)}
.battle-projectile:after{content:'';position:absolute;left:65%;top:30%;width:65px;height:35%;border-radius:50%;background:linear-gradient(90deg,currentColor,transparent);transform-origin:left center}
.battle-projectile i,.battle-projectile b{position:absolute;inset:-8px;border:1px solid currentColor;border-radius:50%}.battle-projectile b{inset:-15px;opacity:.4}
.battle-projectile[data-kind=higgsfield]{width:37px;height:8px;border-radius:5px;border-width:1px}.battle-projectile[data-kind=higgsfield] i{inset:11px 5px -11px;border-radius:5px;background:currentColor}.battle-projectile[data-kind=higgsfield] b{display:none}
.battle-projectile[data-kind=elevenlabs]{background:#b076e7;width:37px;height:37px}.battle-projectile[data-kind=elevenlabs] i{inset:-10px;border-width:2px}
.battle-projectile[data-kind=openart]{background:conic-gradient(#fc997e,#ffe175,#75dcb9,#79b4ed,#d98ce8,#fc997e);width:30px;height:30px}
.battle-projectile[data-kind=tripo]{border-radius:2px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:43px;height:43px;background:linear-gradient(135deg,#e5f9ff,#59a6e2)}
.battle-projectile[data-kind=magnific]{width:65px;height:48px;background:none;border:0;border-left:7px solid currentColor;border-radius:50%;transform:translate(-50%,-50%) rotate(-35deg) scale(var(--effect-scale,1))}.battle-projectile[data-kind=magnific] i,.battle-projectile[data-kind=magnific] b{display:none}
.battle-projectile[data-kind=pixverse]{background:#17112c;border-color:#cbabff;box-shadow:0 0 0 4px #b68af090,14px -8px 0 -3px #ffe5a0}.battle-projectile[data-kind=pixverse] b{border-color:#efd49a}
.battle-projectile[data-kind=reactor]{width:43px;height:43px;background:#78d5f1;border:4px solid #e8f7ff}.battle-projectile[data-kind=reactor] i{inset:-8px;border-width:3px;border-style:dashed}
.battle-projectile[data-kind=editor]{width:38px;height:22px;border-radius:2px;background:linear-gradient(90deg,#8b87d8 50%,#aadae3 50%);border:2px solid #e5edff}.battle-projectile[data-kind=editor] i,.battle-projectile[data-kind=editor] b{border-radius:2px}
.battle-projectile[data-kind=tencentcloud]{width:51px;height:29px;border:1px solid #f1fcff;background:radial-gradient(ellipse,#fff 5%,#d7f5ff80 28%,#b3eaff16 65%,transparent 70%);border-radius:50%;box-shadow:0 0 13px #c9efff55}
.battle-projectile[data-kind=tencentcloud] i{inset:-5px 3px;border-width:2px;border-color:#c6f4ff transparent #c6f4ff #c6f4ff;transform:rotate(-22deg)}
.battle-projectile[data-kind=tencentcloud] b{inset:3px -8px;border-color:#f6faff99 #d5f5ff transparent;transform:rotate(19deg);opacity:.8}
.battle-impact{width:82px;height:82px;filter:drop-shadow(0 0 8px var(--effect-color));background:radial-gradient(circle,#fff1d9 0 8%,color-mix(in srgb,currentColor 55%,transparent) 9% 16%,transparent 32%)}
.battle-impact:before,.battle-impact:after{content:'';position:absolute;inset:8px;border:2px solid currentColor;border-radius:50%}.battle-impact:after{inset:-7px;border-width:1px;opacity:.55}
.battle-impact i,.battle-impact b,.battle-impact>span{position:absolute;left:48%;top:-12%;width:3px;height:124%;background:linear-gradient(transparent,currentColor 45%,#fff 50%,currentColor 55%,transparent);transform:rotate(36deg)}
.battle-impact b{transform:rotate(98deg)}.battle-impact>span{transform:rotate(150deg)}
.battle-damage{position:absolute;z-index:4;left:var(--damage-x,22%);top:var(--damage-y,43%);opacity:var(--damage-opacity,0);transform:translate(-50%,var(--damage-rise,0px));font-size:clamp(18px,2.8vw,36px);font-weight:800;letter-spacing:.025em;color:#fff0c7;text-shadow:0 3px 0 #3a1529,0 7px 15px #000}
.team-sparks{position:absolute;inset:0;pointer-events:none;z-index:3}.team-spark{position:absolute;left:var(--spark-x);top:var(--spark-y);width:3px;height:3px;border-radius:50%;background:var(--spark-color,#c5a6ff);opacity:0;box-shadow:0 0 5px currentColor;color:var(--spark-color,#c5a6ff)}
.battle-victory{position:absolute;z-index:3;left:5%;top:29%;width:32%;opacity:var(--victory);text-align:center;transform:translateY(calc((1 - var(--victory))*10px));pointer-events:none}
.battle-victory>span{font-size:32px;color:#dceaad;text-shadow:0 0 16px #ccea9d70}.battle-victory strong{display:block;font-size:clamp(20px,3vw,41px);line-height:1.08;letter-spacing:.01em;color:#e4edbe;text-shadow:0 4px 12px #000}.battle-victory small{display:block;font:8px ui-monospace,monospace;letter-spacing:.12em;color:#b5bea7;margin-top:12px}
.battle-console{position:absolute;z-index:5;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:17px 20px;background:linear-gradient(140deg,#24223beb,#101323f5);border:1px solid #9a84ba85;border-radius:7px;box-shadow:0 5px 0 #080b12,0 8px 20px #0005,0 1px 0 #e6dcff26 inset}
.battle-action-copy>span{display:block;font:8px ui-monospace,monospace;letter-spacing:.12em;color:#b8a2dc;margin-bottom:6px}.battle-action-copy>strong{display:block;font-size:20px;font-weight:700;letter-spacing:.025em;line-height:1.2;color:#f1eaff}.battle-action-copy>p{font-size:11px;line-height:1.4;color:#a9a4bd;margin:5px 0 0}
.battle-turns{width:190px;flex-shrink:0}.battle-turns>span{display:block;font:8px ui-monospace,monospace;letter-spacing:.12em;color:#968bae;margin-bottom:9px}.battle-turns>div{display:flex;gap:5px}.battle-turns i{display:block;flex:1;height:10px;border:1px solid #84729980;background:#181829;border-radius:2px}.battle-turns i.is-complete{background:#625079;border-color:#b499d0}.battle-turns i.is-current{background:#c0a1ec;border-color:#e3d1ff;box-shadow:0 0 8px #b892f366}
.battle-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:17px 0 22px;font-size:11px;color:#9790ab}.battle-controls>div{display:flex;gap:8px;flex-shrink:0}.battle-controls button{border:1px solid #554665;background:#17121e;color:#d4c7ec;border-radius:4px;padding:9px 12px;min-height:38px;font:11px Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer}.battle-controls button span{margin-left:8px;color:#b8a1db}.battle-controls button:hover{background:#2a1e3c;border-color:#9474bd}.battle-controls button:disabled{opacity:.5;cursor:default}
.battle-controls [hidden]{display:none}
.team-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.team-roster button{display:flex;align-items:center;gap:9px;padding:12px 14px;min-height:44px;background:#ffffff03;border:1px solid #353041;border-radius:6px;color:#bfb7d1;font-size:12px;text-align:left;line-height:1.3}
.team-brand-icon{display:inline-block;width:22px;height:22px;object-fit:contain;flex:0 0 auto;border-radius:5px;vertical-align:middle;background:#f4f1fa;box-shadow:0 1px 4px #0004}
.team-brand-icon[hidden]{display:none}
.team-roster button:before{display:none}
.team-roster .team-brand-icon{box-shadow:0 1px 5px #0005,0 0 0 1px #ddd1fa22}
.combo-card>strong{display:flex;align-items:center;justify-content:center;gap:4px}
.combo-card .team-brand-icon{width:13px;height:13px;border-radius:3px}
.battle-action-copy #battle-turn-label{display:flex;align-items:center;gap:7px;min-height:10px}
#battle-turn-label .team-brand-icon{width:13px;height:13px;border-radius:3px}
#team-member-title .team-brand-icon{width:20px;height:20px;margin-right:8px}
.team-roster button span{margin-left:auto;color:#7e738f}.team-roster button[aria-pressed=true]{border-color:#9b7dc8;background:#3e2d593d;color:#f2eaff}.team-roster button.is-current-turn{border-color:var(--member-color,#baa2ee);background:#32254170;color:#f2eaff}
.team-member-copy{display:flex;align-items:baseline;gap:24px;min-height:76px;padding:20px 2px 0}.team-member-copy strong{min-width:170px;font-size:14px;color:#e1d2f6;line-height:1.4}.team-member-copy p{font-size:13px;color:#9790a8;margin:0;max-width:780px}.team-caption{font:10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.025em;color:#777184;margin:0}
@media(prefers-reduced-motion:no-preference){
  html.motion-enabled .team-art-ready .team-character-float{animation:team-character-float var(--duration) var(--delay) ease-in-out infinite both;animation-play-state:paused}
  html.motion-enabled .team-art-ready .team-spark{animation:team-spark-drift var(--spark-duration,9s) var(--spark-delay,0s) ease-in-out infinite;animation-play-state:paused}
  html.motion-enabled:not(.motion-paused):not(.motion-hidden) .team-art-ready.team-in-view .team-character-float,
  html.motion-enabled:not(.motion-paused):not(.motion-hidden) .team-art-ready.team-in-view .team-spark{animation-play-state:running}
  html.motion-enabled .team-art-ready.team-in-view .team-character.is-attacking .team-character-float{animation-play-state:paused}
  html.motion-enabled .team-scene[data-battle-state=defeat] .team-corruption .team-character-float{animation-play-state:paused}
  html.motion-enabled .team-damage-ready .team-corruption[data-enemy-pose=damaged] .team-character-float{animation-play-state:paused}
  @keyframes team-character-float{0%,100%{transform:translate3d(0,1px,0) rotate(-.2deg)}50%{transform:translate3d(1px,calc(var(--lift)*-1),4px) rotate(.25deg)}}
  @keyframes team-spark-drift{0%,100%{opacity:0;transform:translate(0,10px) scale(.4)}25%{opacity:.65}75%{opacity:.45}90%{opacity:0;transform:translate(-25px,-18px) scale(.2)}}
}
@media(max-width:1050px){
  .team-intro{gap:30px}.team-intro>p{max-width:330px;font-size:14px}.team-scene{aspect-ratio:1.45}.team-character{--parallax:3px}
  .battle-hud{gap:18px;grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);left:18px;right:18px;top:18px}.battle-energy-card{padding:12px}.battle-energy-name{display:block}.battle-energy-name>span{display:block;margin-top:5px}.battle-energy-meta{margin-top:9px}
  .battle-console{left:18px;right:18px;bottom:18px;padding:15px 17px}.battle-turns{width:160px}
}
.battle-controls{flex-wrap:wrap}
.battle-controls>div{flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%;margin-left:auto}
.battle-controls #battle-sound-toggle[aria-pressed=true]{color:#def6ec;border-color:#81c8b1;background:linear-gradient(140deg,#1c3637,#231731)}
.battle-controls #battle-sound-toggle[aria-pressed=true]>span:last-child{color:#9de9c8}
@media(max-width:760px){
  .super-team{margin-bottom:52px}.team-intro{display:block;margin-bottom:25px}.team-intro h2{font-size:37px}.team-intro>p{max-width:100%;margin-top:22px;font-size:14px}
  .team-scene{aspect-ratio:.8;perspective:1100px;border-radius:12px}
  .battle-hud{left:12px;right:12px;top:12px;gap:12px;grid-template-columns:1fr 1fr;align-items:start}.battle-round{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:center;gap:8px}.battle-round>span{font-size:14px}.battle-round strong{font-size:7px;margin:0;letter-spacing:.14em}.battle-round small{display:none}
  .battle-energy-card{padding:11px 10px 12px;box-shadow:0 3px 0 #070a13,0 5px 12px #0004}.battle-energy-name strong{font-size:13px}.battle-energy-name>span{font-size:6px;letter-spacing:.04em;margin-top:5px}.battle-energy-meta{font-size:7px;margin-top:9px;margin-bottom:4px}.battle-energy-meta b{font-size:9px}.battle-energy{height:8px}
  .team-character{--parallax:2px;--z:14px;--lift:3px;--bottom:25%}
  .team-corruption{--x:20%;--size:40.6%;--bottom:25%;--z:22px}
  .team-editor{--x:53%;--size:30.8%;--z:28px}.team-higgsfield{--x:66%;--size:28%;--z:25px}.team-elevenlabs{--x:80%;--size:28%;--z:26px}.team-openart{--x:82.5%;--size:28%;--bottom:36%;--z:30px}
  .team-tripo{--x:54%;--size:24.5%;--bottom:48%;--z:9px}.team-magnific{--x:80%;--size:24.5%;--bottom:48%;--z:8px}.team-pixverse{--x:67%;--size:24.5%;--bottom:48%;--z:10px}.team-reactor{--x:84%;--size:25.9%;--bottom:46%;--z:5px}
  .team-tencentcloud{--x:43%;--size:25%;--bottom:48%;--z:13px;--order:2}
  .team-character.is-attacking{--battle-depth:50px}.team-character.is-attacking:after{font-size:6px;padding:3px 5px}
  .battle-timeline{left:3%;right:3%;bottom:22%;height:17%;padding:6px 3%;gap:3px}.battle-track-label{font-size:6px;bottom:-14px}.battle-knockout{left:0;bottom:24%;width:42%;height:16%}
  .battle-projectile{scale:.65}.battle-impact{scale:.62}.battle-projectile:after{width:40px}.battle-damage{font-size:21px}
  .battle-victory{left:3%;width:35%;top:33%}.battle-victory>span{font-size:21px}.battle-victory strong{font-size:21px}.battle-victory small{font-size:6px;letter-spacing:.06em;line-height:1.6;margin-top:8px}
  .battle-console{left:12px;right:12px;bottom:12px;gap:8px;display:block;padding:12px}.battle-action-copy>span{font-size:6px;letter-spacing:.07em;margin-bottom:5px}.battle-action-copy>strong{font-size:15px}.battle-action-copy>p{font-size:9px;margin-top:4px}.battle-turns{width:100%;margin-top:10px}.battle-turns>span{display:none}.battle-turns>div{gap:5px}.battle-turns i{height:5px}
  .battle-controls{display:block;margin:14px 0 20px;font-size:10px;line-height:1.5}.battle-controls>div{margin-top:10px;margin-left:0;justify-content:flex-start}.battle-controls button{font-size:10px;min-height:40px}
  .team-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.team-roster button{padding:11px;font-size:11px}.team-member-copy{display:block;min-height:108px;padding-top:18px}.team-member-copy strong{display:block;margin-bottom:7px;font-size:13px}.team-member-copy p{font-size:12px}.team-caption{font-size:9px}
  .team-roster button:last-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  .team-plane,.team-backdrop,.team-character{transform:none}.team-character-action{transform:none}.team-sparks,.battle-projectile,.battle-impact,.battle-damage{display:none}.battle-energy>span{transition:none}
}
.team-art-unavailable .team-plane{display:none}

/* Original arcade-style team super. All reveals and effects use the battle clock. */
.combo-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--super-frame,0);background:radial-gradient(ellipse at 70% 42%,#7049a977,transparent 60%),linear-gradient(115deg,#110c23aa,#0b143580 60%,#31205066)}
.combo-speedlines{position:absolute;inset:13% -20% 14%;opacity:calc(var(--super-charge,0)*.35);background:repeating-linear-gradient(-8deg,transparent 0 19px,#bdd3ff22 20px 21px,transparent 22px 54px);background-position:var(--super-lines,0px) 0;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 85%,transparent)}
.combo-cutscene{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:var(--super-cut-in,0);background:radial-gradient(ellipse at 50% 48%,#443264,#151326 62%,#080b14);overflow:hidden}
.combo-cutscene:before{content:'';position:absolute;inset:13% -10%;background:repeating-linear-gradient(-14deg,transparent 0 24px,#b39fe717 25px 26px,transparent 27px 68px);background-position:var(--super-lines,0px) 0}
.combo-kicker{position:absolute;left:5%;right:5%;top:21%;margin:0;text-align:center;font:9px ui-monospace,monospace;letter-spacing:.2em;color:#d2c4ed}
.combo-lineup{position:absolute;left:3.5%;right:3.5%;top:26%;height:37%;display:grid;grid-template-columns:repeat(var(--team-count,9),minmax(0,1fr));gap:5px}
.combo-card{--battle-texture:url('/assets/super-team-vector-front.webp');position:relative;isolation:isolate;min-width:0;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--member-color) 28%,#151222),#101425 80%);border-top:2px solid var(--member-color);border-bottom:1px solid color-mix(in srgb,var(--member-color) 60%,transparent);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);opacity:var(--card-reveal,0);transform:translateY(calc((1 - var(--card-reveal,0))*55px)) scale(calc(.92 + var(--card-reveal,0)*.08));box-shadow:0 12px 18px #0008}
.combo-card.team-tripo,.combo-card.team-magnific,.combo-card.team-pixverse,.combo-card.team-reactor{--battle-texture:url('/assets/super-team-vector-back.webp')}
.combo-card.team-tencentcloud{--battle-texture:url('/assets/tencent-cloud-character.webp');--sprite-x:0%;--sprite-y:0%}
.combo-card:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#090b17 75%);z-index:1}
.combo-portrait{position:absolute;top:-8%;left:-28%;width:156%;aspect-ratio:1;background:var(--battle-texture) var(--sprite-x,0%) var(--sprite-y,0%)/200% 200% no-repeat}
.combo-card>strong,.combo-card>small{position:absolute;left:5%;right:8%;bottom:15%;z-index:2;text-align:center;color:#fff0ff;font-size:clamp(7px,.8vw,11px);line-height:1.1;letter-spacing:.025em}
.combo-card>small{bottom:6%;font:6px ui-monospace,monospace;letter-spacing:.035em;color:var(--member-color)}
.combo-title{position:absolute;left:3%;right:3%;bottom:19%;text-align:center;color:#f5eaff;opacity:var(--super-title,0);transform:translateY(calc((1 - var(--super-title,0))*15px)) scale(calc(.94 + var(--super-title,0)*.06));text-shadow:0 4px 0 #211234,0 9px 20px #000b}
.combo-title>span{display:block;font:12px ui-monospace,monospace;letter-spacing:.24em;color:#9cdef5}
.combo-title>strong{display:block;font-size:clamp(30px,5.4vw,72px);font-weight:850;font-style:italic;line-height:1.05;letter-spacing:.015em;text-transform:uppercase;margin-top:4px;color:#efe1ff;text-shadow:0 3px 0 #63467e,0 8px 20px #000b}
.combo-title>small{display:block;font:8px ui-monospace,monospace;letter-spacing:.16em;color:#b6a8ce;margin-top:10px}
.combo-frame{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:var(--super-frame,0)}
.combo-frame:before,.combo-frame:after{content:'';position:absolute;left:0;right:0;height:2.3%;background:#050710;border-bottom:1px solid #cfb6fa55}
.combo-frame:before{top:0}.combo-frame:after{bottom:0;border-bottom:0;border-top:1px solid #cfb6fa55}
.team-scene[data-battle-state=super] .battle-hud,.team-scene[data-battle-state=super] .battle-console{z-index:9}
.team-scene[data-battle-state=super] .hero-energy-card{border-color:#c7b5ff;box-shadow:0 4px 0 #070a13,0 0 18px #a192df55}
.team-scene[data-battle-state=super] .battle-energy-name strong{color:#e5d5ff}
.combo-assault,.combo-fragments{position:absolute;inset:0;z-index:4;pointer-events:none}
.combo-projectile{z-index:1}
.combo-impact{z-index:6;width:105px;height:105px}
.combo-fragment{position:absolute;left:var(--fragment-x,25%);top:var(--fragment-y,45%);width:4px;height:12px;border-radius:1px;background:var(--fragment-color);opacity:var(--fragment-opacity,0);transform:translate(-50%,-50%) rotate(var(--fragment-angle,0deg));box-shadow:0 0 7px var(--fragment-color)}
.combo-counter{position:absolute;top:23%;right:5%;z-index:5;text-align:right;opacity:var(--super-counter,0);transform:translateX(calc((1 - var(--super-counter,0))*20px));pointer-events:none;color:#f0e2ff;text-shadow:0 3px 12px #000}
.combo-counter>span,.combo-counter>small{display:block;font:8px ui-monospace,monospace;letter-spacing:.12em;color:#c4b1e4}.combo-counter>strong{display:block;font-weight:800;font-style:italic;font-size:clamp(24px,3.8vw,48px);line-height:1.2;letter-spacing:.02em}.combo-counter b{color:#aee5fa}
.combo-result{position:absolute;left:4%;top:27%;width:34%;z-index:6;pointer-events:none;opacity:var(--super-finish,0);text-align:center;transform:scale(calc(.9 + var(--super-finish,0)*.1));text-shadow:0 4px 0 #251539,0 6px 18px #000}
.combo-result>span,.combo-result>small{display:block;font:9px ui-monospace,monospace;letter-spacing:.16em;color:#d8c0ff}
.combo-result>strong{display:block;font-size:clamp(32px,5.3vw,70px);font-style:italic;font-weight:850;letter-spacing:.025em;line-height:1.1;color:#c6edfa}.combo-result>small{color:#eae0ff;font-size:7px;margin-top:7px}
.battle-controls #battle-super{background:#2a203b;border-color:#9d7bca;color:#f0e3ff}.battle-controls #battle-super span{color:#d2b6ff}.battle-controls #battle-super:hover{background:#39284f;border-color:#c6a2f6}
@media(prefers-reduced-motion:no-preference){
  html.motion-enabled .team-art-ready.team-in-view .team-character.is-combo .team-character-float,
  html.motion-enabled .team-scene.team-art-ready[data-battle-state=super] .team-corruption .team-character-float{animation-play-state:paused}
}
@media(max-width:1050px){
  .battle-controls{align-items:start}.battle-controls>span{max-width:250px;line-height:1.5}.battle-controls>div{flex-wrap:wrap;justify-content:flex-end}
  .combo-kicker{top:23%;font-size:8px}.combo-lineup{top:28%;height:33%}.combo-title{bottom:20%}.combo-title>strong{font-size:clamp(32px,5vw,58px)}
}
@media(max-width:760px){
  .battle-controls{display:block}.battle-controls>span{display:block;max-width:none;margin-bottom:12px}.battle-controls>div{justify-content:start;gap:7px}.battle-controls button{font-size:10px;padding:9px 10px;min-height:42px}
  .combo-kicker{top:28%;font-size:6px;letter-spacing:.11em}.combo-lineup{left:5%;right:5%;top:32%;height:32%;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:5px}
  .team-scene[data-battle-state=super] .battle-round{opacity:calc(1 - var(--super-cut-in,0))}
  .team-scene[data-super-phase=cut-in] .battle-turns{display:none}
  .team-scene[data-super-phase=cut-in] #battle-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
  .combo-card{clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}.combo-portrait{top:-37%;left:-15%;width:130%}.combo-card>strong{bottom:14%;font-size:7px}.combo-card>small{font-size:4px;bottom:5%;letter-spacing:0}
  .combo-card.team-tencentcloud .combo-portrait{top:-18%}
  .combo-card.team-tripo .combo-portrait,.combo-card.team-magnific .combo-portrait{top:-60%}
  .combo-card>strong{gap:3px}.combo-card .team-brand-icon{width:11px;height:11px;border-radius:2px}
  .combo-title{bottom:20%;left:5%;right:5%}.combo-title>span{font-size:8px;letter-spacing:.18em}.combo-title>strong{font-size:clamp(23px,6.3vw,42px);margin-top:4px;letter-spacing:.005em}.combo-title>small{font-size:5px;letter-spacing:.1em;margin-top:6px}
  .combo-counter{top:30%;right:5%}.combo-counter>span,.combo-counter>small{font-size:6px}.combo-counter>strong{font-size:25px}
  .combo-result{top:38%;left:3%;width:37%}.combo-result>span{font-size:6px;letter-spacing:.07em}.combo-result>strong{font-size:31px}.combo-result>small{font-size:5px;letter-spacing:.06em}.combo-impact{width:64px;height:64px}.combo-fragment{width:3px;height:8px}
}
@media(prefers-reduced-motion:reduce){
  .combo-speedlines,.combo-assault,.combo-impact,.combo-fragments{display:none}.combo-card,.combo-title,.combo-frame,.combo-counter,.combo-result{transform:none}
}

/* The approved rally frame, rebuilt as independent image, light, speech and spark planes. */
.rally-cutscene{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden;container-type:inline-size;opacity:var(--rally-reveal,0);background:#17112a;transform:scale(calc(1.018 + (1 - var(--rally-reveal,0))*.025));transform-origin:40% 50%}
.rally-layers{position:absolute;inset:0;opacity:1;isolation:isolate}
.rally-layers img[hidden]{display:none}
.rally-art-ready .rally-cutscene{background:#17112a}
.rally-art-ready .rally-layers{opacity:1}
.rally-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate(calc(var(--rally-progress,0)*-9px),calc(var(--rally-progress,0)*-4px)) scale(calc(1.055 + var(--rally-progress,0)*.035));transform-origin:64% 50%;filter:brightness(.82) saturate(.95)}
.rally-light{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 44% 44%,#748bea33,transparent 48%),linear-gradient(0deg,#08091a70,transparent 45%,#0c091d1a);transform:scale(calc(1 + var(--rally-progress,0)*.09))}
.rally-editor-plane{position:absolute;inset:0;z-index:2;transform:translate(calc(var(--rally-progress,0)*-8px),calc(var(--rally-progress,0)*-3px)) scale(calc(1 + var(--rally-progress,0)*.055));transform-origin:31% 46%}
.rally-editor-plane:before{content:'';position:absolute;inset:16% 27% 2% 8%;z-index:-1;background:radial-gradient(ellipse,#05051566,transparent 68%);transform:translate(12px,18px)}
.rally-editor-plane img{display:block;width:100%;height:100%;object-fit:fill}
.rally-speech{position:absolute;left:50%;top:6%;width:46%;z-index:4;opacity:var(--rally-bubble,0);background:#fffdfd;border:3px solid #382155;border-radius:22px 25px 22px 18px;box-shadow:0 7px 0 #8652c466,8px 23px 25px #09061866;transform:translateY(calc((1 - var(--rally-bubble,0))*16px)) rotate(calc(-2deg + var(--rally-progress,0)*.7deg)) scale(calc(.91 + var(--rally-bubble,0)*.09));transform-origin:10% 100%}
.rally-speech:before{content:'';position:absolute;left:4%;bottom:-32px;width:47px;height:38px;clip-path:polygon(25% 0,100% 0,0 100%);background:#382155}
.rally-speech:after{content:'';position:absolute;left:calc(4% + 4px);bottom:-24px;width:36px;height:31px;clip-path:polygon(25% 0,100% 0,0 100%);background:#fffdfd}
.rally-speech p{position:relative;margin:0;padding:21px 14px 24px;text-align:center;font-size:clamp(23px,4.65cqw,70px);font-weight:850;line-height:1.07;letter-spacing:.005em;color:#140c2c;text-shadow:0 1px 0 #fff}
.rally-speech p span{display:block;white-space:nowrap}
.rally-dust{position:absolute;inset:0;z-index:3;overflow:hidden}
.rally-spark{position:absolute;left:var(--rally-spark-x,43%);top:var(--rally-spark-y,52%);width:4px;height:4px;border-radius:50%;color:var(--rally-spark-color,#edc986);background:currentColor;box-shadow:0 0 6px currentColor;opacity:var(--rally-spark-opacity,0);transform:scale(var(--rally-spark-scale,1));will-change:transform,opacity}
.rally-spark:nth-child(3n){width:9px;height:9px;border-radius:0;clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%)}
@media(max-width:1050px) and (min-width:761px){
  .rally-editor-plane{inset:auto auto -2% -4%;width:110%;aspect-ratio:1672/941}
  .rally-speech{top:8%;left:48%;width:48%}.rally-speech p{font-size:4.65cqw;padding:17px 12px 21px}
}
@media(max-width:760px){
  .rally-background{object-position:64% center;filter:brightness(.72) saturate(.95)}
  .rally-editor-plane{inset:auto auto -1% -7%;width:168%;aspect-ratio:1672/941;transform-origin:31% 48%}
  .rally-speech{top:7%;left:7%;width:86%;border-width:2px;border-radius:18px;box-shadow:0 5px 0 #8652c466,4px 17px 22px #09061877;transform-origin:50% 100%}
  .rally-speech p{padding:16px 8px 18px;font-size:clamp(21px,7.45cqw,45px);line-height:1.12;letter-spacing:.005em}
  .rally-speech:before{left:34%;bottom:-28px;width:39px;height:34px;clip-path:polygon(0 0,100% 0,75% 100%)}
  .rally-speech:after{left:calc(34% + 3px);bottom:-21px;width:31px;height:29px;clip-path:polygon(0 0,100% 0,75% 100%)}
  .rally-spark{width:3px;height:3px}.rally-spark:nth-child(3n){width:7px;height:7px}
}
@media(prefers-reduced-motion:reduce){
  .rally-cutscene,.rally-background,.rally-light,.rally-editor-plane,.rally-speech{transform:none}
  .rally-dust{display:none}
}
