/* HARUNA V5.413: VICTORY-only TSUKUBA sponsor 1v1 celebration.
 * JS adds sponsorGridVictoryV5413 only for the actual winner (outcome === 'win').
 * Pure CSS after race finished; the regular run, defeat, and all other results are untouched.
 */
#runResultOverlay.sponsorGridVictoryV5413{
 overflow:hidden;
 background:radial-gradient(ellipse at 50% 33%,rgba(95,56,8,.57),rgba(15,8,1,.96) 62%,rgba(0,0,0,.99) 100%);
 backdrop-filter:none;
 isolation:isolate;
}
#runResultOverlay.sponsorGridVictoryV5413::before{
 content:"";pointer-events:none;position:absolute;inset:-75vmax;z-index:0;
 background:repeating-conic-gradient(from 8deg at 50% 50%,rgba(255,221,76,.13) 0deg,rgba(255,174,12,.04) 7deg,transparent 10deg,transparent 23deg);
 animation:sponsorVictoryRaysV5413 24s linear infinite;
}
#runResultOverlay.sponsorGridVictoryV5413::after{
 content:"";pointer-events:none;position:absolute;inset:-15%;z-index:1;
 background:radial-gradient(circle at 50% 50%,rgba(255,255,240,.98) 0,rgba(255,231,123,.7) 14%,rgba(255,180,38,.28) 34%,transparent 62%);
 animation:sponsorVictoryFlashV5413 1.2s ease-out both;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultPanel{
 position:relative;z-index:3;width:min(770px,95vw);max-height:calc(100dvh - 20px);
 overflow-y:auto;overflow-x:hidden;
 border:2px solid #ffdc69;border-radius:20px;
 padding:28px 26px 22px;
 background:linear-gradient(150deg,rgba(63,37,0,.97),rgba(9,13,14,.98) 40%,rgba(38,22,0,.98) 88%);
 box-shadow:0 0 0 2px #a96e18,0 0 0 6px rgba(255,216,73,.12),0 0 45px rgba(255,192,25,.9),0 0 130px rgba(255,146,0,.38),inset 0 0 65px rgba(255,170,6,.2);
 animation:sponsorVictoryPanelV5413 .75s cubic-bezier(.16,1.35,.34,1) both,sponsorVictoryHaloV5413 3.5s ease-in-out 1s infinite alternate;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultPanel::before{
 content:"";position:absolute;inset:-80% -70%;pointer-events:none;z-index:0;
 background:linear-gradient(105deg,transparent 46%,rgba(255,248,165,.03) 48%,rgba(255,251,208,.29) 50%,rgba(255,229,101,.03) 52%,transparent 55%);
 transform:translateX(-85%);animation:sponsorVictorySweepV5413 3.8s ease-in-out 1s infinite;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultPanel::after{
 content:"★  ★  ★";position:absolute;top:8px;left:0;right:0;z-index:1;pointer-events:none;
 color:#ffd35a;font:1000 clamp(13px,2.3vw,21px)/1 system-ui,sans-serif;letter-spacing:.5em;
 text-align:center;text-shadow:0 0 12px #fff0a0,0 0 30px #d98500;
 animation:sponsorVictoryStarsV5413 1.7s ease-in-out infinite alternate;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultPanel>*{position:relative;z-index:2}
#runResultOverlay.sponsorGridVictoryV5413 .runResultKicker{
 padding-top:12px;color:#ffe6a4;letter-spacing:.24em;
 text-shadow:0 0 12px rgba(255,171,16,.85);
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultTitle{
 margin:14px 0 0;font:1000 italic clamp(42px,8vw,86px)/1.08 Impact,'Arial Black','Yu Gothic UI',sans-serif;
 letter-spacing:.015em;
 background:linear-gradient(180deg,#fffef5 0%,#fff5bd 15%,#ffda42 29%,#ffe990 42%,#d98200 56%,#ffe37b 75%,#fffdf2 90%);
 -webkit-background-clip:text;background-clip:text;color:transparent;
 -webkit-text-stroke:clamp(.6px,.12vw,2px) #8f4700;
 filter:drop-shadow(0 4px 1px #231200) drop-shadow(0 0 20px rgba(255,177,0,.95));
 animation:sponsorVictoryTitleV5413 1.1s cubic-bezier(.12,1.6,.18,1) both,sponsorVictoryTitleGlowV5413 2.3s ease-in-out 1.2s infinite alternate;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultTitle::before{
 content:"✦ CHAMPION ✦";display:block;margin-bottom:5px;
 font:1000 normal clamp(15px,2.8vw,23px)/1.25 ui-monospace,Consolas,monospace;
 letter-spacing:.20em;-webkit-text-stroke:0;color:#fff4c1;
 text-shadow:0 0 10px #ffae00,0 0 24px #ffdb63;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultPrimaryLabel{
 color:#e9c17b;letter-spacing:.22em;margin-top:12px;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultPrimary{
 margin:4px 0 10px;font-size:clamp(62px,12vw,110px);line-height:1;
 color:#ffdf51;text-shadow:0 0 15px #ffb900,0 0 38px rgba(255,148,0,.7);
 animation:sponsorVictoryRankV5413 .8s cubic-bezier(.14,1.75,.27,1) .25s both;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultLines{max-width:610px}
#runResultOverlay.sponsorGridVictoryV5413 .runResultLine{
 border-top:1px solid rgba(255,220,106,.24);color:#dfcfaf;background:rgba(255,201,55,.04);
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultLine b{color:#fff6db}
#runResultOverlay.sponsorGridVictoryV5413 .runResultOk{
 position:relative;background:linear-gradient(#fa4949,#d51019 53%,#850b0f);
 color:#fff;border:3px solid #ffe6a5;border-radius:12px;
 box-shadow:0 0 0 2px rgba(255,233,172,.35),0 0 27px rgba(255,203,54,.52),inset 0 2px 0 rgba(255,255,255,.35);
 text-shadow:0 2px 2px #490000;
}
#runResultOverlay.sponsorGridVictoryV5413 .runResultOk:hover{filter:brightness(1.2)}
/* Falling confetti uses only compositor-friendly transform and opacity. Not active in-race. */
#runResultOverlay .sponsorVictoryConfettiV5413{display:none;pointer-events:none;position:absolute;inset:0;z-index:4;overflow:hidden}
#runResultOverlay.sponsorGridVictoryV5413 .sponsorVictoryConfettiV5413{display:block}
#runResultOverlay.sponsorGridVictoryV5413 .sponsorVictoryConfettiV5413 i{
 position:absolute;top:-22px;left:calc(var(--x)*1%);height:calc(var(--h)*1px);width:calc(var(--w)*1px);
 border-radius:1px;background:var(--c);opacity:0;
 box-shadow:0 0 4px rgba(255,250,207,.4);
 animation:sponsorVictoryConfettiV5413 calc(var(--d)*1s) linear calc(var(--delay)*1s) infinite;
}
@keyframes sponsorVictoryRaysV5413{to{transform:rotate(360deg)}}
@keyframes sponsorVictoryFlashV5413{0%{opacity:.95;transform:scale(.65)}55%{opacity:.40}100%{opacity:0;transform:scale(1.7)}}
@keyframes sponsorVictoryPanelV5413{from{opacity:0;transform:translateY(40px) scale(.76) rotate(-2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes sponsorVictoryHaloV5413{to{box-shadow:0 0 0 2px #edb433,0 0 0 7px rgba(255,216,73,.18),0 0 75px rgba(255,192,25,1),0 0 175px rgba(255,146,0,.49),inset 0 0 75px rgba(255,192,30,.28)}}
@keyframes sponsorVictorySweepV5413{0%,12%{transform:translateX(-80%)}52%,100%{transform:translateX(80%)}}
@keyframes sponsorVictoryStarsV5413{from{opacity:.45;transform:scale(.85)}to{opacity:1;transform:scale(1.1)}}
@keyframes sponsorVictoryTitleV5413{from{opacity:0;transform:scale(2.1) rotate(-6deg);filter:brightness(3)}to{opacity:1;transform:scale(1) rotate(0deg)}}
@keyframes sponsorVictoryTitleGlowV5413{to{filter:drop-shadow(0 4px 1px #231200) drop-shadow(0 0 36px rgba(255,217,63,1))}}
@keyframes sponsorVictoryRankV5413{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}
@keyframes sponsorVictoryConfettiV5413{
 0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(0deg) rotateY(0deg)}
 8%{opacity:1}86%{opacity:1}
 100%{opacity:0;transform:translate3d(calc(var(--drift)*1vw),115vh,0) rotate(calc(var(--spin)*1deg)) rotateY(720deg)}
}
@media(max-width:560px){
 #runResultOverlay.sponsorGridVictoryV5413 .runResultTitle{font-size:clamp(28px,8vw,36px);letter-spacing:-.035em;white-space:nowrap}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultTitle::before{letter-spacing:.10em}
}
@media(max-height:540px){
 #runResultOverlay.sponsorGridVictoryV5413{padding:3px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPanel{padding:12px 15px 10px;max-height:calc(100dvh - 6px)}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPanel::after{top:2px;font-size:11px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultKicker{padding-top:6px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultTitle{font-size:clamp(30px,6vw,54px);margin-top:5px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultTitle::before{font-size:12px;margin:0}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPrimaryLabel{margin-top:4px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPrimary{font-size:clamp(43px,9vw,70px);margin-bottom:2px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultLines{margin-top:4px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultLine{padding:4px 8px}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultOk{margin-top:6px;padding:9px 6px}
}
@media(prefers-reduced-motion:reduce){
 #runResultOverlay.sponsorGridVictoryV5413::before,
 #runResultOverlay.sponsorGridVictoryV5413::after,
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPanel,
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPanel::before,
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPanel::after,
 #runResultOverlay.sponsorGridVictoryV5413 .runResultTitle,
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPrimary,
 #runResultOverlay.sponsorGridVictoryV5413 .sponsorVictoryConfettiV5413 i{animation:none!important}
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPanel,
 #runResultOverlay.sponsorGridVictoryV5413 .runResultTitle,
 #runResultOverlay.sponsorGridVictoryV5413 .runResultPrimary{opacity:1;transform:none}
 #runResultOverlay.sponsorGridVictoryV5413 .sponsorVictoryConfettiV5413{display:none}
}
