/* Championship afterparty: all motion stays within this self-contained game. */
.league-dunk{position:relative;padding:100px 5.5% 105px;background:#d6ff42;color:#0c211a;overflow:hidden;isolation:isolate}
.league-dunk:before{content:'22';position:absolute;right:-.05em;top:-.09em;z-index:-1;font:700 640px/.8 var(--sport,Impact,sans-serif);letter-spacing:-.08em;color:#10241b08;transform:rotate(9deg);pointer-events:none}
.dunk-heading{display:flex;justify-content:space-between;align-items:end;max-width:1300px;margin:0 auto 36px;gap:30px}
.dunk-kicker{display:flex;gap:9px;align-items:center;margin:0 0 18px;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.13em}
.dunk-kicker>span{width:7px;height:7px;background:#0c211a;border-radius:50%;box-shadow:0 0 0 4px #10241b16}
.league-dunk h2{font:700 clamp(75px,9.8vw,153px)/.77 var(--sport,Impact,sans-serif);letter-spacing:-.025em;margin:0;text-transform:uppercase}
.league-dunk h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.7px #0c211a}
.dunk-intro{padding:0 4px 4px;flex:none;transform:rotate(-3deg)}
.dunk-intro>p{font:700 clamp(23px,2.8vw,38px)/.96 var(--sport,Impact,sans-serif);margin:0 0 15px;letter-spacing:-.015em}
.dunk-intro>span{font:12px/1.6 Arial,sans-serif;display:block}
.dunk-arena{position:relative;max-width:1300px;margin:0 auto;background:#0b2119;color:#f3f0df;border:2px solid #0c211a;box-shadow:8px 8px 0 #0b211935}
.dunk-marquee{padding:13px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#0a1814;border-bottom:1px solid #6b836455;font:700 8px/1.2 Arial,sans-serif;letter-spacing:.14em}
.dunk-marquee>span:first-child{display:flex;align-items:center;gap:8px}
.dunk-marquee i{width:5px;height:5px;background:#d6ff42;border-radius:50%}
.dunk-marquee>span:nth-child(2){color:#91a894;font-size:7px}
.dunk-marquee b{font:700 22px/1 var(--sport,Impact,sans-serif);letter-spacing:0;color:#d6ff42;margin-left:8px;vertical-align:middle}
.dunk-stage{display:grid;grid-template-columns:minmax(0,1fr) 25%;align-items:center;padding:22px 2% 0;position:relative;background:radial-gradient(ellipse at 30% 30%,#29503944,transparent 65%),repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#a8c18a0d calc(20% - 1px),#a8c18a0d 20%)}
.dunk-tank{position:relative;aspect-ratio:760/560;min-width:0;isolation:isolate}
.dunk-structure,.dunk-tank-front{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.dunk-structure{z-index:0}.dunk-tank-front{z-index:4}
.dunk-seat{position:absolute;left:13%;top:56%;width:74%;height:3%;min-height:13px;z-index:1;background:#9762fb;box-shadow:0 5px 0 #57339c;transform-origin:50% 10%;transition:transform .45s cubic-bezier(.45,0,.8,1);backface-visibility:hidden}
.dunk-seat:after{content:'';position:absolute;left:7%;top:100%;height:24px;width:86%;border-left:4px solid #9db39a;border-right:4px solid #9db39a}
.dunk-seat>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 clamp(4px,.48vw,7px)/1 Arial,sans-serif;letter-spacing:.09em;color:#f5ecff}
.dunk-rivals{position:absolute;inset:0;z-index:3;pointer-events:none}
.dunk-rival{position:absolute;left:var(--ready-x);top:var(--ready-y);width:10.4%;margin:0;transform:translate(-50%,-50%) rotate(var(--tilt));transition:top .65s cubic-bezier(.4,0,.9,.6),left .8s ease,width .65s ease,opacity .16s;transition-delay:var(--delay);will-change:auto}
.dunk-rival img{width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;border:3px solid #f3f0df;box-shadow:0 4px 0 #0006;display:block;position:relative;z-index:2}
.dunk-rival figcaption{position:absolute;top:calc(100% - 2px);left:50%;transform:translateX(-50%) rotate(calc(var(--tilt) * -1));padding:3px 7px;background:#f3f0df;color:#0b2119;font:700 clamp(7px,.78vw,10px)/1.1 Arial,sans-serif;white-space:nowrap;z-index:3;box-shadow:2px 2px 0 #0005}
.dunk-float{position:absolute;bottom:-7%;left:-18%;width:136%;height:35%;background:#d6ff42;border:3px solid #96b32e;border-radius:50%;box-shadow:0 3px 0 #12454d;opacity:0;transform:scale(.5);transition:opacity .3s,transform .3s;z-index:1}
.dunk-rival:nth-child(2n) .dunk-float{background:#a680ef;border-color:#6840a7}
.dunk-tank-label{position:absolute;left:50%;top:77%;transform:translate(-50%,-50%) rotate(-3deg);z-index:5;display:flex;flex-direction:column;text-align:center;min-width:35%;padding:8px 20px;background:#d6ff42;color:#0c211a;box-shadow:5px 5px 0 #092b3170}
.dunk-tank-label strong{font:700 clamp(20px,3.8vw,48px)/.95 var(--sport,Impact,sans-serif);letter-spacing:-.02em;white-space:nowrap}
.dunk-tank-label>span{font:700 clamp(4px,.57vw,7px)/1 Arial,sans-serif;letter-spacing:.17em;margin-top:5px;white-space:nowrap}
.dunk-booth{height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-top:10px}
.dunk-target-wrap{position:relative;width:min(83%,210px);aspect-ratio:1;margin:20px auto 0;z-index:10;flex:none}
.dunk-target{display:block;position:relative;z-index:3;width:100%;height:100%;padding:7%;border-radius:50%;border:3px solid #d4ff49;background:#163626;box-shadow:6px 7px 0 #0007,inset 0 0 0 2px #294834;color:#fff;transition:transform .18s,filter .18s;touch-action:manipulation}
.dunk-target:not(:disabled):hover{transform:rotate(5deg) scale(1.04);filter:brightness(1.12)}
.dunk-target:not(:disabled):active{transform:scale(.95)}
.dunk-target:focus-visible,.dunk-reset:focus-visible{outline:3px solid #fff;outline-offset:7px}
.dunk-target:disabled{opacity:1;color:#fff}
.dunk-target-rings{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#9562f7;border:10px solid #f3f0df;box-shadow:inset 0 0 0 8px #9562f7;position:relative}
.dunk-target-rings:before,.dunk-target-rings:after{content:'';position:absolute;background:#091b16;height:2px;width:120%;z-index:0;opacity:.35}
.dunk-target-rings:after{transform:rotate(90deg)}
.dunk-target-rings>span{width:62%;height:62%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d6ff42;border:3px solid #102b20;z-index:1}
.dunk-target b{font:700 clamp(24px,3.2vw,44px)/.78 var(--sport,Impact,sans-serif);letter-spacing:-.035em;color:#0c211a;transform:rotate(-7deg)}
.dunk-aim-label{position:absolute;right:87%;top:-27px;white-space:nowrap;transform:rotate(-9deg);font:700 clamp(10px,1.35vw,17px)/1 var(--sport,Impact,sans-serif);color:#d6ff42;z-index:5;pointer-events:none;letter-spacing:.02em}
.dunk-aim-label svg{position:absolute;top:0;left:calc(100% + 4px);width:45px;height:43px;transform:rotate(-5deg)}
.dunk-target-post{position:absolute;left:calc(50% - 4px);top:85%;height:95%;width:8px;background:linear-gradient(90deg,#6b8875,#a6bda1,#436b55);z-index:-1}
.dunk-target-post:after{content:'';position:absolute;bottom:0;left:-26px;width:60px;height:7px;background:#617e69;transform:skew(-20deg)}
.dunk-football{position:absolute;left:-130%;top:65%;width:57px;height:37px;opacity:0;z-index:30;transform:rotate(-24deg);pointer-events:none}
.dunk-lifeguard{position:relative;width:100%;height:47%;min-height:100px;z-index:2;pointer-events:none;margin-top:5px;align-self:end}
.dunk-lifeguard img{display:block;height:100%;width:100%;object-fit:contain;object-position:bottom center;filter:drop-shadow(4px 5px 2px #0004)}
.dunk-lifeguard>span{position:absolute;right:-2%;bottom:16%;transform:rotate(-9deg);background:#f3f0df;color:#10281e;padding:7px 10px;font:700 9px/.95 Arial,sans-serif;letter-spacing:.03em;box-shadow:3px 3px 0 #0005}
.dunk-lifeguard b{font:700 20px/.9 var(--sport,Impact,sans-serif);display:block;margin-top:4px}
.dunk-control-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:20px 24px;background:#081813;border-top:1px solid #72875b55;min-height:75px}
.dunk-control-bar>p{font:700 clamp(17px,1.8vw,25px)/1.1 var(--sport,Impact,sans-serif);letter-spacing:.015em;margin:0;color:#f3f0df}
.dunk-free-play{color:#adc58e;font:700 7px/1.4 Arial,sans-serif;letter-spacing:.1em;white-space:nowrap}
.dunk-reset{border:1px solid #d6ff42;background:#d6ff42;color:#0c211a;font:700 8px/1.3 Arial,sans-serif;letter-spacing:.08em;padding:13px 15px;white-space:nowrap;transition:background .15s}
.dunk-reset>span{font-size:17px;vertical-align:middle;margin-left:16px;line-height:.7}.dunk-reset:hover{background:#e5ff8a}.dunk-reset[hidden]{display:none}
.dunk-noscript{font:12px/1.5 Arial,sans-serif;padding:12px 24px;margin:0}
.dunk-splash{position:absolute;left:8%;right:8%;top:47%;height:24%;z-index:15;pointer-events:none;opacity:0}
.dunk-splash>b{position:absolute;left:50%;top:10%;font:700 clamp(42px,8.5vw,113px)/1 var(--sport,Impact,sans-serif);letter-spacing:-.035em;color:#f3f0df;-webkit-text-stroke:1px #0b554d;text-shadow:4px 5px 0 #5c31a3;transform:translate(-50%,35%) rotate(-8deg) scale(.65);z-index:2}
.dunk-splash>i{position:absolute;left:50%;bottom:0;width:20px;height:50px;border-radius:80% 80% 65% 65%;background:#84eee0;box-shadow:inset 3px 0 0 #c2fff0;transform:rotate(0) scale(0)}
.dunk-splash>i:nth-of-type(1){--sx:-250px;--sy:-70px;--sr:-70deg}.dunk-splash>i:nth-of-type(2){--sx:-180px;--sy:-130px;--sr:-55deg}.dunk-splash>i:nth-of-type(3){--sx:-100px;--sy:-160px;--sr:-35deg}.dunk-splash>i:nth-of-type(4){--sx:-30px;--sy:-185px;--sr:-10deg}.dunk-splash>i:nth-of-type(5){--sx:55px;--sy:-165px;--sr:22deg}.dunk-splash>i:nth-of-type(6){--sx:135px;--sy:-145px;--sr:40deg}.dunk-splash>i:nth-of-type(7){--sx:190px;--sy:-95px;--sr:65deg}.dunk-splash>i:nth-of-type(8){--sx:250px;--sy:-55px;--sr:80deg}
.dunk-ripples{position:absolute;left:11%;right:11%;top:60%;height:15%;z-index:5;opacity:0;pointer-events:none}
.dunk-ripples>i{position:absolute;left:50%;top:0;width:80%;height:100%;border:2px solid #b2ffeb;border-radius:50%;transform:translateX(-50%) scale(.5);opacity:0}
.dunk-ripples>i:nth-child(2){animation-delay:.2s!important}.dunk-ripples>i:nth-child(3){animation-delay:.4s!important}
.is-throwing .dunk-football{animation:dunk-throw .58s cubic-bezier(.3,.6,.7,1) both}
.is-hit .dunk-target{animation:dunk-hit .35s ease both;filter:brightness(1.1)}
.is-dunking .dunk-seat,.is-complete .dunk-seat{transform:perspective(300px) rotateX(-80deg)}
.is-dunking .dunk-rival{top:79%;opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--tilt) * 4));transition:top .62s cubic-bezier(.4,0,.9,.6),opacity .2s .55s,transform .6s;transition-delay:var(--delay)}
.is-splashing .dunk-splash{animation:dunk-splash-show .95s both}.is-splashing .dunk-splash>b{animation:dunk-splash-word .95s ease-out both}.is-splashing .dunk-splash>i{animation:dunk-droplet .8s ease-out both}
.is-splashing .dunk-ripples{opacity:1}.is-splashing .dunk-ripples>i{animation:dunk-ripple 1.1s ease-out both}
.is-complete .dunk-rival{top:62%;left:var(--wet-x);width:8.3%;opacity:1;transform:translate(-50%,-50%) rotate(var(--tilt));transition:top .6s ease-out,left .6s ease-out,opacity .4s,width .5s;transition-delay:var(--delay);animation:dunk-bob 2.3s ease-in-out infinite alternate;animation-delay:calc(var(--delay) + 700ms)}
.is-complete .dunk-rivals{z-index:6}.is-complete .dunk-rival figcaption{opacity:0;pointer-events:none}.is-complete .dunk-float{opacity:1;transform:scale(1)}
.is-complete .dunk-target-rings{background:#244537}.is-complete .dunk-target b{font-size:clamp(18px,2.6vw,35px)}
.is-complete .dunk-aim-label{opacity:0}.is-complete .dunk-free-play{display:none}
.dunk-arena:not(.is-onscreen) *,body.motion-paused .dunk-arena *{animation-play-state:paused!important}
body.motion-paused .dunk-rival,body.motion-paused .dunk-seat{transition:none!important}
@keyframes dunk-throw{0%{opacity:0;left:-130%;top:65%;transform:rotate(-24deg) scale(1.2)}10%{opacity:1}100%{opacity:1;left:35%;top:35%;transform:rotate(360deg) scale(.75)}}
@keyframes dunk-hit{0%,100%{transform:rotate(0)}20%{transform:rotate(10deg) scale(.92)}50%{transform:rotate(-9deg)}75%{transform:rotate(5deg)}}
@keyframes dunk-splash-show{0%,100%{opacity:0}10%,77%{opacity:1}}
@keyframes dunk-splash-word{0%{transform:translate(-50%,30%) rotate(-8deg) scale(.6)}25%,70%{transform:translate(-50%,-25%) rotate(-8deg) scale(1)}100%{transform:translate(-50%,-50%) rotate(-8deg) scale(1.08)}}
@keyframes dunk-droplet{0%{transform:translate(0,0) rotate(0) scale(.5);opacity:1}65%{opacity:1}100%{transform:translate(var(--sx),var(--sy)) rotate(var(--sr)) scale(.3);opacity:0}}
@keyframes dunk-ripple{0%{opacity:.8;transform:translateX(-50%) scale(.35)}100%{opacity:0;transform:translateX(-50%) scale(1.1)}}
@keyframes dunk-bob{from{transform:translate(-50%,-50%) rotate(var(--tilt))}to{transform:translate(-50%,-61%) rotate(calc(var(--tilt) * -.7))}}
@media(min-width:1550px){.dunk-stage{padding-top:30px}.dunk-rival{width:9.8%}}
@media(max-width:1000px){.league-dunk{padding:80px 4.5%}.dunk-heading{margin-bottom:30px}.dunk-intro>span{font-size:10px}.dunk-stage{grid-template-columns:minmax(0,1fr) 24%;padding:23px 1% 0}.dunk-target-rings{border-width:7px}.dunk-target{border-width:2px}.dunk-target-rings>span{border-width:2px}.dunk-aim-label{right:77%;top:-20px;font-size:12px}.dunk-aim-label svg{width:34px;height:34px}.dunk-rival img{border-width:2px}.dunk-rival figcaption{padding:3px 5px}.dunk-lifeguard>span{font-size:6px;right:0;padding:5px 7px}.dunk-lifeguard b{font-size:15px}.dunk-marquee{padding:12px 17px;font-size:7px}.dunk-marquee>span:nth-child(2){font-size:6px}.dunk-control-bar{padding:17px 20px;gap:14px}.dunk-free-play{font-size:6px}.dunk-reset{font-size:7px;padding:12px 10px}.dunk-tank-label{padding:7px 14px}.dunk-splash{left:15%;right:15%;transform:scale(.75)}}
@media(max-width:650px){.league-dunk{padding:60px 5% 65px}.league-dunk:before{font-size:500px;right:-.25em}.dunk-heading{align-items:start;flex-direction:column;gap:22px;margin-bottom:25px}.dunk-kicker{font-size:7px;letter-spacing:.1em;margin-bottom:15px}.league-dunk h2{font-size:clamp(73px,18.8vw,116px);line-height:.8}.league-dunk h2 em{-webkit-text-stroke-width:1.1px}.dunk-intro{display:flex;align-items:center;justify-content:space-between;transform:none;gap:20px;width:100%;padding:0}.dunk-intro>p{font-size:25px;margin:0;line-height:.97}.dunk-intro>span{font-size:9px;line-height:1.6;text-align:right}.dunk-arena{box-shadow:5px 5px 0 #0b211935}.dunk-marquee{padding:11px 13px;gap:10px;font-size:6px;letter-spacing:.08em}.dunk-marquee>span:nth-child(2){display:none}.dunk-marquee b{font-size:19px;margin-left:5px}.dunk-stage{display:block;padding:16px 0 0}.dunk-tank{width:100%;aspect-ratio:760/650}.dunk-rival{width:13.7%}.dunk-rival figcaption{font-size:7px;padding:3px 5px}.dunk-seat{height:3%;min-height:9px}.dunk-seat>span{font-size:3.8px;letter-spacing:.03em}.dunk-seat:after{height:14px;border-width:3px}.dunk-tank-label{padding:6px 13px;top:79%}.dunk-tank-label strong{font-size:28px}.dunk-tank-label>span{font-size:4.3px;margin-top:4px}.dunk-booth{position:relative;flex-direction:row;justify-content:center;align-items:center;min-height:162px;width:100%;padding:0 18px 15px;gap:22px;margin-top:-11px}.dunk-target-wrap{width:112px;margin:0 0 0 12%;position:relative}.dunk-target-rings{border-width:6px}.dunk-target b{font-size:31px}.dunk-target-post{height:26%;width:6px;left:calc(50% - 3px)}.dunk-target-post:after{height:4px;width:43px;left:-18px}.dunk-aim-label{right:112%;top:27%;transform:rotate(-14deg);font-size:11px;writing-mode:vertical-rl}.dunk-aim-label svg{width:34px;height:29px;left:-12px;top:calc(100% + 5px);transform:rotate(-72deg)}.dunk-lifeguard{height:135px;width:120px;flex:none;min-height:0;margin:0;align-self:center}.dunk-lifeguard>span{right:-7px;bottom:3%;font-size:6px;transform:rotate(-6deg);padding:5px 6px}.dunk-lifeguard b{font-size:16px}.dunk-control-bar{padding:17px 14px;min-height:77px;flex-wrap:wrap;gap:13px}.dunk-control-bar>p{font-size:20px;flex-basis:100%}.dunk-free-play{font-size:6px;letter-spacing:.08em}.dunk-reset{font-size:7px;padding:12px 14px;width:100%;display:flex;align-items:center;justify-content:space-between}.dunk-reset[hidden]{display:none}.dunk-splash{transform:scale(.6);left:0;right:0;top:45%}.dunk-splash>b{font-size:90px}.dunk-splash>i{width:19px;height:40px}.dunk-float{border-width:2px}.dunk-rival img{border-width:2px}.is-complete .dunk-target b{font-size:27px}.dunk-football{width:45px;height:28px}.dunk-noscript{padding:12px 14px;font-size:10px}}
@media(max-width:360px){.dunk-booth{gap:15px;min-height:150px;padding-left:11px;padding-right:11px}.dunk-target-wrap{width:100px}.dunk-lifeguard{width:108px;height:125px}.dunk-aim-label{font-size:10px;right:109%}.dunk-rival figcaption{font-size:6px;padding:2px 4px}.dunk-tank-label strong{font-size:24px}.dunk-tank-label>span{font-size:3.8px}.dunk-control-bar>p{font-size:19px}.dunk-intro>span{font-size:8px}.dunk-intro>p{font-size:23px}.dunk-target b{font-size:28px}}
@media(prefers-reduced-motion:reduce){.dunk-arena *{animation:none!important;transition:none!important}.dunk-target:not(:disabled):hover{transform:none}}
/* Keep the target pole behind the lifeguard illustration. */
.dunk-lifeguard{z-index:11}
@media(min-width:651px){.dunk-arena{max-width:1080px}.dunk-booth{height:auto;min-height:0;align-self:stretch}}
@media(min-width:651px){.dunk-arena{max-width:1040px}.dunk-booth{position:absolute;top:22px;right:2%;bottom:0;width:24%;height:auto}}
