/* Decorative layers stay within each section and never intercept a tap. */
.silver-effects-section{position:relative;isolation:isolate}
.silver-sky,.silver-reflections{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:paint;user-select:none}
.silver-sky{color:#f5f7ff}
.silver-star{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:currentColor;opacity:.5;box-shadow:0 0 7px #eef3ff70;animation:silver-twinkle var(--duration) var(--delay) ease-in-out infinite}
.silver-star-cross{border-radius:0;background:currentColor;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 5px #ffffff90)}
.silver-reflections{opacity:.6;mix-blend-mode:screen}
.silver-reflections i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:calc(var(--size)*.55);border-radius:30%;background:radial-gradient(ellipse,#fff 0,#eff5ffb0 24%,#dde5ef30 68%,transparent 100%);filter:blur(1px);opacity:.12;box-shadow:0 0 12px 3px #e1eafa14;transform:rotate(var(--angle));animation:silver-reflection-drift var(--duration) var(--delay) ease-in-out infinite}
body[data-variant="b"] .silver-reflections{opacity:.95}
body[data-variant="b"] .silver-reflections i{box-shadow:0 0 16px 4px #e1eafa21}
body[data-variant="c"] .silver-reflections{opacity:.38}
body[data-variant="c"] .hero .silver-sky{color:#fff}
body[data-variant="c"] .hero .silver-star{box-shadow:0 0 8px #fff}
.entrance-header,.entrance-footer,.dance-copy,.rsvp-section>.reveal,.rsvp-section>.button,.rsvp-section>.rsvp-note{position:relative;z-index:2}
.silver-ball{display:block;aspect-ratio:600/650;pointer-events:none;user-select:none}
.silver-ball-fallback,.silver-ball-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;transform:none!important}
.silver-ball-canvas{opacity:0}
.silver-ball-ready>.silver-ball-canvas{opacity:1}
.silver-ball-ready>.silver-ball-fallback{opacity:0}
.dance-art>.dance-ball{position:relative;width:100%;transform:rotate(-12deg)}
.motion-toggle{position:fixed;left:24px;bottom:22px;z-index:35;display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #ffffff40;border-radius:30px;background:#16171ce8;color:#e9ebf0;box-shadow:0 3px 20px #0003;backdrop-filter:blur(12px);font-size:10px;line-height:1.4;letter-spacing:.025em}
.motion-toggle svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}
.motion-toggle:hover{background:#303239}
.motion-toggle:focus-visible{outline:2px solid #f5f7ff;outline-offset:4px}
.motion-toggle:disabled{cursor:default;opacity:.85}
.effects-paused .silver-star,.effects-paused .silver-reflections i,.effects-idle .silver-star,.effects-idle .silver-reflections i,.silver-effects-offscreen .silver-star,.silver-effects-offscreen .silver-reflections i{animation-play-state:paused}
.effects-paused .sparkle,.effects-paused .discover-link span,.effects-idle .sparkle,.effects-idle .discover-link span{animation-play-state:paused}
@keyframes silver-twinkle{0%,100%{opacity:calc(var(--strength)*.25);transform:scale(.75)}50%{opacity:var(--strength);transform:scale(1.12)}}
@keyframes silver-reflection-drift{0%,100%{opacity:.08;transform:translate(0,0) rotate(var(--angle))}45%{opacity:.28;transform:translate(var(--drift),var(--rise)) rotate(calc(var(--angle) + 22deg))}70%{opacity:.18;transform:translate(calc(var(--drift)*.5),calc(var(--rise)*1.4)) rotate(calc(var(--angle) + 35deg))}}
@media(max-width:760px){.motion-toggle{left:12px;bottom:15px;min-height:44px;padding:9px 10px;font-size:9px;gap:6px}.motion-toggle svg{width:12px;height:12px}.silver-reflections i{width:calc(var(--size)*.8)}}
@media(prefers-reduced-motion:reduce){.silver-star,.silver-reflections i{animation:none!important}.silver-star{opacity:.5}.silver-reflections i{opacity:.14}}
