/* Reuses Basketball's exact panorama registration, with Ring Toss-only scope.
   Keep motion on transform/opacity; no full-scene blur, JS timer or canvas pass. */
.ring-toss-scenery { background-image:var(--midway-art);background-position:var(--ring-panorama-left,center) var(--ring-panorama-top,center);background-size:var(--ring-panorama-width,auto) var(--ring-panorama-height,100%);background-repeat:no-repeat;pointer-events:none;overflow:hidden; }
.ring-toss-scenery .basketball-scene-motion,.ring-toss-scenery .ring-scenery-extras { position:absolute;inset:0;overflow:hidden;pointer-events:none; }
.ring-toss-scenery .scene-panorama-motion { position:absolute;inset:auto;left:var(--ring-panorama-left,0);top:var(--ring-panorama-top,0);width:var(--ring-panorama-width,100%);height:var(--ring-panorama-height,100%); }
.ring-toss-scenery .scene-motion-world { display:none; }
.ring-toss-scenery[data-world='1'] [data-motion-world='1'],.ring-toss-scenery[data-world='2'] [data-motion-world='2'],.ring-toss-scenery[data-world='3'] [data-motion-world='3'],.ring-toss-scenery[data-world='4'] [data-motion-world='4'],.ring-toss-scenery[data-world='5'] [data-motion-world='5'] { display:block; }
.ring-toss-scenery .scene-ride-chase { fill:#fff2b4;opacity:.2;animation:ring-scenery-ride-chase 6.8s linear infinite;animation-delay:var(--phase,0s); }
.ring-toss-scenery .scene-seaside-lights .scene-ride-chase { fill:#eafff0; }
.ring-toss-scenery .scene-pier-lights .scene-ride-chase { fill:#cbfaff; }
.ring-toss-scenery .scene-water-glints { fill:none;stroke:#d7ffff;stroke-width:1.7;stroke-linecap:round; }
.ring-toss-scenery .scene-water-glints path { opacity:.4;animation:ring-scenery-water-drift 7.5s ease-in-out infinite;animation-delay:var(--phase,0s); }
.ring-toss-scenery .scene-fountain-flow { fill:none;stroke:#fff2ce;stroke-width:2.3;stroke-dasharray:4 7;opacity:.75;animation:ring-scenery-fountain 2.8s linear infinite; }
.ring-toss-scenery .scene-firework { fill:none;stroke:#ffdfa2;stroke-width:2.2;stroke-linecap:round;opacity:.25;animation:ring-scenery-firework 8s ease-out infinite;animation-delay:var(--phase,0s);transform-origin:0 0; }
.ring-toss-scenery .scene-foreground-motion { position:absolute;top:-3px;left:-2%;width:104%;height:clamp(110px,13.5vw,180px);overflow:visible; }
.ring-toss-scenery .scene-garland-shadow,.ring-toss-scenery .scene-garland-cord { fill:none;stroke-linecap:round; }
.ring-toss-scenery .scene-garland-shadow { stroke:#102c4280;stroke-width:4.5; }
.ring-toss-scenery .scene-garland-cord { stroke:#f6dba4;stroke-width:1.8; }
.ring-toss-scenery .scene-breeze-pennant { fill:var(--level-accent);stroke:#ffefbc99;stroke-width:1;transform-origin:0 0;animation:ring-scenery-pennant 5.8s ease-in-out infinite alternate;animation-delay:var(--phase,0s); }
.ring-toss-scenery .scene-breeze-pennant.pale { fill:var(--world-paper); }
.ring-toss-scenery .scene-ribbon-button { fill:var(--world-trim);stroke:#fff5cf;stroke-width:1.2; }
.ring-toss-scenery .scene-round-lantern { transform-origin:0 0;animation:ring-scenery-lantern 5.8s ease-in-out infinite alternate;animation-delay:var(--phase,0s); }
.ring-toss-scenery .scene-lantern-cord { fill:none;stroke:#f7daab;stroke-width:1.2; }
.ring-toss-scenery .scene-lantern-cap { fill:#b8893e;stroke:#ffe8a8;stroke-width:.8; }
.ring-toss-scenery .scene-lantern-paper { fill:color-mix(in srgb,var(--level-accent),#ffdf9e 60%);stroke:#fff0c7;stroke-width:1.2; }
.ring-toss-scenery .scene-round-lantern.pale .scene-lantern-paper { fill:#fff0c3; }
.ring-toss-scenery .scene-lantern-rib { fill:none;stroke:#bb834c66;stroke-width:1; }
.ring-toss-scenery .scene-lantern-tassel { fill:none;stroke:#d3a153;stroke-width:2;stroke-linecap:round; }
.ring-toss-scenery .ring-scenery-balloons { position:absolute;top:11%;left:3%;width:clamp(85px,9.2vw,132px);height:auto;overflow:visible; }
.ring-toss-scenery .ring-balloon-drift { transform-origin:65px 211px;animation:ring-scenery-balloon 5.8s ease-in-out infinite alternate; }
.ring-toss-scenery .ring-balloon-level { stop-color:var(--level-accent); }
.ring-toss-scenery .ring-balloon-world { stop-color:var(--world-accent); }
.ring-toss-scenery[data-world='4'] .ring-scenery-balloons { display:none; }
.ring-toss-scenery .scene-finale-confetti { display:none; }
@keyframes ring-scenery-ride-chase { 0%,10% {opacity:1}28%,88%{opacity:.08}100%{opacity:1} }
@keyframes ring-scenery-water-drift { 0%,100%{opacity:.18;transform:translateX(-8px)}50%{opacity:.68;transform:translateX(9px)} }
@keyframes ring-scenery-fountain { to{stroke-dashoffset:-44} }
@keyframes ring-scenery-firework { 0%,100%{opacity:.04;transform:scale(.8)}18%{opacity:.8}42%{opacity:.24;transform:scale(1.08)}70%{opacity:.04;transform:scale(1.1)} }
@keyframes ring-scenery-pennant { from{transform:rotate(-6deg) skewX(-9deg)}to{transform:rotate(7deg) skewX(10deg)} }
@keyframes ring-scenery-lantern { from{transform:rotate(-7deg)}to{transform:rotate(7deg)} }
@keyframes ring-scenery-balloon { from{transform:rotate(-6deg) translateY(3px)}to{transform:rotate(7deg) translateY(-12px)} }
body[data-motion='off'] .ring-toss-scenery *, .ring-toss-scenery[data-scenery-paused='true'] * { animation-play-state:paused!important; }
@media(prefers-reduced-motion:reduce){.ring-toss-scenery *{animation-play-state:paused!important;}}
@media(max-width:700px){.ring-toss-scenery .scene-foreground-motion{width:160%;left:-30%;height:120px}.ring-toss-scenery .ring-scenery-balloons{top:16px;left:-14px;width:88px;}}
