.sakura-rain{position:fixed;inset:0;z-index:5;overflow:hidden;pointer-events:none;user-select:none}
.sakura-fall{position:absolute;top:-35px;left:var(--left);animation:sakura-falling var(--duration) var(--delay) linear infinite}
.sakura-petal{display:block;width:var(--size);height:calc(var(--size) * 1.45);border-radius:85% 15% 75% 25%;background:linear-gradient(140deg,#ffe7f0 10%,#f1a4c4 65%,#da6b9a);opacity:.65;animation:sakura-sway var(--sway) ease-in-out infinite alternate;box-shadow:inset 1px 1px 2px #ffffff80}
.sakura-toggle{position:fixed;right:16px;bottom:16px;z-index:6;border:1px solid #ddbacb;border-radius:30px;background:#f8f7f3ed;color:#8f2d60;padding:10px 15px;font-size:11px;box-shadow:0 3px 15px #14264c12}
.sakura-rain.is-paused *, .sakura-rain.is-hidden *{animation-play-state:paused}
@keyframes sakura-falling{0%{transform:translate3d(0,-30px,0);opacity:0}8%{opacity:1}90%{opacity:1}100%{transform:translate3d(var(--drift),calc(100vh + 70px),0);opacity:0}}
@keyframes sakura-sway{0%{transform:translateX(-20px) rotate(-40deg) rotateY(0deg)}100%{transform:translateX(20px) rotate(110deg) rotateY(150deg)}}
@media(max-width:760px){.sakura-fall:nth-child(n+13){display:none}.sakura-toggle{right:10px;bottom:10px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.sakura-rain,.sakura-toggle{display:none}}
