/* Fitted purple gradient panels with bright lettering floating on its own foreground plane. */
.rally-layers,.team-finale{--scene-pointer-scale:1;--speech-text-depth:64px;--speech-anchor-x:0px;perspective:1600px;transform-style:preserve-3d}
.lifted-speech{perspective:900px;transform-style:preserve-3d;isolation:auto;background:linear-gradient(145deg,#7444b7 0%,#4f2688 62%,#271640 100%);border:1px solid #d5b7ff;border-radius:11px;box-shadow:inset 0 2px 0 #dab8ff,inset -2px -4px 0 #1d082e66,0 5px 0 #9b62e1,0 9px 0 #432360,9px 26px 18px #04031170,18px 44px 38px #04031160}
.lifted-speech:before,.lifted-speech:after{display:none}
.lifted-speech p{display:grid;grid-template-columns:max-content;row-gap:7px;color:#fff;text-shadow:-1px 0 0 #3a1b58,0 1px 0 #3a1b58,1px 2px 0 #3a1b58,2px 4px 0 #2d1046,4px 7px 0 #240d39,5px 9px 0 #1b082d,7px 13px 7px #11051ecc,10px 20px 15px #11051e99;transform-style:preserve-3d;transform-origin:50% 65%;will-change:transform,opacity}
.rally-speech.lifted-speech p,.finale-speech.lifted-speech p{padding:24px 40px 26px 28px;text-align:left;font-size:inherit;line-height:1.15;letter-spacing:.01em}
/* The bold line sizes the card; the supporting sentence wraps within that width. */
.lifted-speech p .speech-lead{display:block;width:0;min-width:100%;white-space:normal;color:#fff;font-size:clamp(16px,1.5cqw,22px);font-weight:550;line-height:1.3;letter-spacing:.005em;text-shadow:0 1px 0 #331449,1px 3px 0 #331449,2px 5px 0 #220d36,4px 8px 5px #11051ecc,7px 14px 10px #11051e88}
.lifted-speech .speech-punch{display:block;margin-top:0;color:#fff;font-size:clamp(26px,3.5cqw,52px);font-weight:850;line-height:1.1;letter-spacing:.018em;transform:translateZ(18px)}
.lifted-speech .speech-punch span{display:block;white-space:nowrap}
.rally-background{transform:translate3d(calc(var(--rally-progress,0)*-24px + var(--team-x)*var(--scene-pointer-scale)*-10px),calc(var(--rally-progress,0)*-9px + var(--team-y)*var(--scene-pointer-scale)*-6px),-16px) scale(calc(1.11 + var(--rally-progress,0)*.04))}
.rally-light{transform:translate3d(calc(var(--team-x)*var(--scene-pointer-scale)*-5px),calc(var(--team-y)*var(--scene-pointer-scale)*-4px),8px) scale(calc(1.06 + var(--rally-progress,0)*.06))}
.rally-editor-plane{transform:translate3d(calc(var(--rally-progress,0)*12px + var(--team-x)*var(--scene-pointer-scale)*18px),calc(var(--rally-progress,0)*-7px + var(--team-y)*var(--scene-pointer-scale)*10px),28px) rotateY(calc(var(--team-x)*var(--scene-pointer-scale)*-1deg)) scale(calc(1 + var(--rally-progress,0)*.07))}
.rally-speech.lifted-speech{left:52%;top:10%;width:max-content;max-width:39%;transform:translate3d(calc(var(--speech-anchor-x) + var(--rally-lift-x,0px) + var(--team-x)*var(--scene-pointer-scale)*25px),calc((1 - var(--rally-bubble,0))*22px + var(--rally-lift-y,0px) + var(--team-y)*var(--scene-pointer-scale)*14px),64px) rotateX(calc(var(--rally-pitch,-4deg) - var(--team-y)*.8deg)) rotateY(calc(-3deg + var(--team-x)*1deg)) rotateZ(calc(-2deg + var(--rally-progress,0)*.8deg)) scale(calc(.91 + var(--rally-bubble,0)*.09));transform-origin:10% 100%}
.rally-speech.lifted-speech p{opacity:var(--rally-lettering,0);transform:translate3d(calc(var(--rally-text-x,0px) + var(--team-x)*var(--scene-pointer-scale)*3px),calc((1 - var(--rally-lettering,0))*8px + var(--rally-text-y,-4px) + var(--team-y)*var(--scene-pointer-scale)*2px),var(--speech-text-depth)) rotateZ(-.15deg) scale(1.003)}
.rally-clip-callout{position:absolute;left:0;top:calc(100% + 34px);width:100%;z-index:5;display:flex;flex-wrap:wrap;justify-content:center;gap:.18em .3em;color:#fff;font:850 italic clamp(22px,2.35cqw,32px)/1.15 system-ui,sans-serif;letter-spacing:.025em;text-align:center;text-shadow:0 2px 0 #9864d4,1px 4px 0 #633497,3px 7px 0 #321a51,6px 12px 8px #080311ad;transform:translate3d(calc(var(--rally-text-x,0px)*-.5),calc(var(--rally-lift-y,0px)*-.3),28px) rotateZ(2deg);transform-style:preserve-3d}
.rally-clip-callout span{display:block;white-space:nowrap;opacity:var(--rally-callout-0,0);transform:translate3d(0,calc((1 - var(--rally-callout-0,0))*14px),18px) scale(calc(.9 + var(--rally-callout-0,0)*.1))}
.rally-clip-callout span:nth-child(2){opacity:var(--rally-callout-1,0);transform:translate3d(0,calc((1 - var(--rally-callout-1,0))*14px),24px) scale(calc(.9 + var(--rally-callout-1,0)*.1))}
.rally-clip-callout span:nth-child(3){opacity:var(--rally-callout-2,0);transform:translate3d(0,calc((1 - var(--rally-callout-2,0))*14px),30px) scale(calc(.9 + var(--rally-callout-2,0)*.1))}

.team-finale{position:absolute;inset:0;z-index:11;pointer-events:none;overflow:hidden;isolation:isolate;container-type:inline-size;background:#100d23;opacity:var(--finale-reveal,0);transform:scale(calc(1 + (1 - var(--finale-reveal,0))*.025));transform-origin:40% 60%}
.finale-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.85);transform:translate3d(calc(var(--finale-progress,0)*-26px + var(--team-x)*var(--scene-pointer-scale)*-12px),calc(var(--finale-progress,0)*-10px + var(--team-y)*var(--scene-pointer-scale)*-7px),-16px) scale(calc(1.12 + var(--finale-progress,0)*.035));transform-origin:60% 60%}
.finale-light{position:absolute;inset:0;background:radial-gradient(ellipse at 31% 58%,#9ee7ff38,transparent 42%),radial-gradient(ellipse at 80% 72%,#c58afd33,transparent 46%),linear-gradient(0deg,#060512e8,transparent 30%,#080a2099);transform:translate3d(calc(var(--finale-drift-x,0px)*-1 + var(--team-x)*var(--scene-pointer-scale)*-5px),calc(var(--finale-drift-y,0px)*-1 + var(--team-y)*var(--scene-pointer-scale)*-4px),8px) scale(1.1);z-index:1}
.finale-ensemble{position:absolute;inset:0;z-index:2;perspective:1800px}
.finale-character{position:absolute;left:var(--finale-x);bottom:var(--finale-bottom);width:var(--finale-size);aspect-ratio:1;z-index:var(--finale-order,2);opacity:var(--pose-reveal,0);transform:translate3d(calc(-50% + var(--team-x)*var(--scene-pointer-scale)*var(--pose-parallax,12px)),calc((1 - var(--pose-reveal,0))*26px + var(--pose-lift,0px) + var(--team-y)*var(--scene-pointer-scale)*var(--pose-parallax,12px)*.55),var(--finale-depth,24px)) rotateZ(var(--pose-sway,0deg)) scale(calc(.96 + var(--pose-reveal,0)*.04));transform-origin:50% 85%;will-change:transform,opacity}
.finale-character:before{content:'';position:absolute;left:8%;right:8%;bottom:-10%;height:18%;z-index:-1;background:radial-gradient(ellipse,#05051199,transparent 70%);transform:translate(5px,10px)}
.finale-sprite{position:absolute;inset:-16.6667%;background-image:var(--finale-sheet);background-size:200% 200%;background-position:var(--sprite-x) var(--sprite-y);background-repeat:no-repeat}
.finale-character.team-higgsfield,.finale-character.team-elevenlabs,.finale-character.team-openart,.finale-character.team-editor{--finale-sheet:url('/assets/super-team-vector-victory-front.webp')}
.finale-character.team-tripo,.finale-character.team-magnific,.finale-character.team-pixverse,.finale-character.team-reactor{--finale-sheet:url('/assets/super-team-vector-victory-back.webp')}
.finale-art-ready .finale-character.team-higgsfield,.finale-art-ready .finale-character.team-elevenlabs,.finale-art-ready .finale-character.team-openart,.finale-art-ready .finale-character.team-editor{--finale-sheet:url('/assets/super-team-finale-front.webp')}
.finale-art-ready .finale-character.team-tripo,.finale-art-ready .finale-character.team-magnific,.finale-art-ready .finale-character.team-pixverse,.finale-art-ready .finale-character.team-reactor{--finale-sheet:url('/assets/super-team-finale-back.webp')}
/* The foreground Editor uses a full-resolution cutout instead of a 627px atlas cell. */
.finale-editor-ready .finale-character.team-editor .finale-sprite{background-image:url('/assets/editor-finale-detail.webp');background-size:contain;background-position:center}
.finale-character.team-tripo{--finale-x:17%;--finale-bottom:22%;--finale-size:23%;--finale-depth:14px;--pose-parallax:8px;--finale-order:1}
.finale-character.team-reactor{--finale-x:91%;--finale-bottom:15%;--finale-size:24%;--finale-depth:14px;--pose-parallax:8px;--finale-order:1}
.finale-character.team-pixverse{--finale-x:55%;--finale-bottom:17%;--finale-size:22%;--finale-order:2}
.finale-character.team-magnific{--finale-x:74%;--finale-bottom:17%;--finale-size:22%;--finale-order:2}
.finale-character.team-higgsfield{--finale-x:9%;--finale-bottom:1%;--finale-size:27%;--finale-depth:20px;--finale-order:3}
.finale-character.team-elevenlabs{--finale-x:62%;--finale-bottom:-5%;--finale-size:28%;--finale-depth:20px;--finale-order:3}
.finale-character.team-openart{--finale-x:84%;--finale-bottom:-5%;--finale-size:28%;--finale-depth:20px;--finale-order:3}
.finale-character.team-tencentcloud{--finale-x:46%;--finale-bottom:27%;--finale-size:21%;--finale-depth:24px;--finale-order:1;--finale-sheet:url('/assets/tencent-cloud-character.webp')}
.finale-character.team-tencentcloud .finale-sprite{background-size:209.3489% 200%;background-position:100% 100%}
.finale-character.team-editor{--finale-x:34%;--finale-bottom:-16%;--finale-size:46%;--finale-depth:55px;--pose-parallax:22px;--finale-order:5}
.finale-kicker{position:absolute;left:5%;top:7%;z-index:3;margin:0;color:#d8eaff;font:500 clamp(11px,1.15cqw,15px)/1.55 ui-monospace,SFMono-Regular,monospace;letter-spacing:.17em;text-shadow:2px 5px 8px #050512;transform:translate3d(calc(var(--finale-drift-x,0px)*-.4),calc(var(--finale-drift-y,0px)*-.4),0)}
.finale-kicker strong{color:#fff;font-weight:700;letter-spacing:.1em}
.finale-speech{position:absolute;left:51%;top:9%;width:max-content;max-width:40%;z-index:6;opacity:var(--finale-card,0);transform:translate3d(calc(var(--speech-anchor-x) + var(--finale-drift-x,0px) + var(--team-x)*var(--scene-pointer-scale)*26px),calc((1 - var(--finale-card,0))*24px + var(--finale-drift-y,0px) + var(--team-y)*var(--scene-pointer-scale)*15px),66px) rotateX(calc(var(--finale-pitch,-4deg) - var(--team-y)*.8deg)) rotateY(calc(-2deg + var(--team-x)*1deg)) rotateZ(-1.6deg) scale(calc(.93 + var(--finale-card,0)*.07));transform-origin:10% 100%}
.finale-speech:before,.finale-speech:after{content:'';position:absolute;left:9%;bottom:-30px;width:49px;height:37px;clip-path:polygon(25% 0,100% 0,0 100%);background:#4e3969}
.finale-speech:after{left:calc(9% + 4px);bottom:-22px;width:38px;height:31px;background:#f8f3ff}
.finale-speech p{position:relative;margin:0;opacity:var(--finale-lettering,0);transform:translate3d(calc(var(--finale-text-x,0px) + var(--team-x)*var(--scene-pointer-scale)*3px),calc((1 - var(--finale-lettering,0))*10px + var(--finale-text-y,-4px) + var(--team-y)*var(--scene-pointer-scale)*2px),var(--speech-text-depth)) rotateZ(-.15deg) scale(1.003)}
.finale-speech p span{display:block;white-space:nowrap}
.finale-dust{position:absolute;inset:0;z-index:4;overflow:hidden}
.finale-spark{position:absolute;left:var(--spark-x,50%);top:var(--spark-y,80%);width:4px;height:4px;border-radius:50%;background:var(--spark-color);box-shadow:0 0 8px var(--spark-color);opacity:var(--spark-alpha,0);transform:scale(var(--spark-size,1))}
.finale-spark:nth-child(4n){width:9px;height:9px;border-radius:0;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.finale-signoff{position:absolute;left:5%;right:5%;bottom:4%;z-index:7;margin:0;color:#c7bbdf;text-align:right;font:500 clamp(10px,1.1cqw,14px)/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em;text-shadow:0 3px 7px #050512}
.finale-signoff strong{color:#fff;font-weight:650}
@media(max-width:1050px) and (min-width:761px){
  .rally-speech.lifted-speech{left:51%;top:10%;max-width:40%}
  .finale-speech{left:50%;top:9%;max-width:40%}
  .finale-character.team-editor{--finale-size:51%;--finale-bottom:-10%}
  .finale-character.team-tripo{--finale-bottom:26%;--finale-size:26%}.finale-character.team-reactor{--finale-bottom:23%;--finale-size:26%}
  .finale-character.team-pixverse,.finale-character.team-magnific{--finale-bottom:25%;--finale-size:25%}
  .finale-character.team-tencentcloud{--finale-bottom:32%;--finale-size:24%;--finale-x:46%}
  .finale-character.team-higgsfield{--finale-size:30%;--finale-bottom:8%}.finale-character.team-elevenlabs,.finale-character.team-openart{--finale-size:31%;--finale-bottom:5%}
}
@media(max-width:760px){
  .rally-layers,.team-finale{--scene-pointer-scale:.45;--speech-text-depth:52px;--speech-anchor-x:-50%}
  .rally-speech.lifted-speech{left:50%;top:8%;max-width:80%;transform-origin:50% 100%}
  .lifted-speech{box-shadow:inset 0 2px 0 #dab8ff,0 4px 0 #9b62e1,0 8px 0 #432360,6px 23px 16px #04031170,10px 35px 25px #04031155}
  .lifted-speech p{row-gap:6px;text-shadow:-1px 0 0 #3a1b58,0 1px 0 #3a1b58,1px 2px 0 #3a1b58,2px 4px 0 #2d1046,3px 6px 0 #240d39,4px 8px 0 #1b082d,6px 12px 7px #11051ecc,8px 16px 12px #11051e99}
  .rally-speech.lifted-speech p,.finale-speech.lifted-speech p{padding:30px 28px 24px}
  .rally-clip-callout{top:calc(100% + 24px);font-size:clamp(20px,5.6cqw,27px);gap:.18em .28em}
  .lifted-speech p .speech-lead{font-size:clamp(16px,4.4cqw,19px)}
  .lifted-speech .speech-punch{font-size:clamp(25px,7.3cqw,41px);line-height:1.1}
  .finale-background{object-position:60% center;filter:brightness(.45) saturate(.85)}
  .finale-kicker{top:4%;left:7%;font-size:clamp(10px,3cqw,14px);line-height:1.3}.finale-kicker br{display:none}.finale-kicker strong{margin-left:7px}
  .finale-speech{left:50%;top:10%;max-width:80%;border-radius:11px;transform-origin:50% 100%}
  .finale-speech:before{left:39%;bottom:-27px;width:38px;height:33px;clip-path:polygon(0 0,100% 0,75% 100%)}.finale-speech:after{left:calc(39% + 3px);bottom:-20px;width:30px;height:28px;clip-path:polygon(0 0,100% 0,75% 100%)}
  .finale-character.team-tripo{--finale-x:16%;--finale-bottom:38%;--finale-size:39%}
  .finale-character.team-reactor{--finale-x:85%;--finale-bottom:39%;--finale-size:39%}
  .finale-character.team-pixverse{--finale-x:39%;--finale-bottom:38%;--finale-size:37%}
  .finale-character.team-magnific{--finale-x:62%;--finale-bottom:38%;--finale-size:38%}
  .finale-character.team-higgsfield{--finale-x:12%;--finale-bottom:19%;--finale-size:45%}
  .finale-character.team-elevenlabs{--finale-x:61%;--finale-bottom:20%;--finale-size:42%}
  .finale-character.team-openart{--finale-x:88%;--finale-bottom:17%;--finale-size:47%}
  .finale-character.team-tencentcloud{--finale-x:49.5%;--finale-bottom:49%;--finale-size:29%;--finale-order:1}
  .finale-character.team-editor{--finale-x:34%;--finale-bottom:-4%;--finale-size:77%;--finale-depth:20px}
  .finale-signoff{bottom:3%;text-align:center;font-size:clamp(10px,2.9cqw,13px);letter-spacing:.08em}
  .finale-spark{width:3px;height:3px}.finale-spark:nth-child(4n){width:7px;height:7px}
}
@media(prefers-reduced-motion:reduce){
  .rally-speech.lifted-speech,.rally-background,.rally-light,.rally-editor-plane,.team-finale,.finale-background,.finale-light,.finale-kicker,.finale-speech{transform:none}
  .rally-speech.lifted-speech,.finale-speech{transform:translateX(var(--speech-anchor-x))}
  .rally-clip-callout,.rally-clip-callout span,.rally-clip-callout span:nth-child(2),.rally-clip-callout span:nth-child(3){transform:none}
  .lifted-speech p{transform:translateZ(var(--speech-text-depth))}
  .finale-character{transform:translateX(-50%)}
  .finale-dust{display:none}
}
