@keyframes sakura-fall{0%{transform:translateY(-5vh) translateX(0) rotateZ(0deg) scale(var(--petal-scale,1));opacity:0}3%{opacity:var(--petal-op,.85);transform:translateY(-1vh) translateX(calc(var(--sway-x,25px) * .05)) rotateZ(8deg) scale(var(--petal-scale,1))}10%{transform:translateY(6vh) translateX(calc(var(--sway-x,25px) * .25)) rotateZ(25deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}20%{transform:translateY(16vh) translateX(calc(var(--sway-x,25px) * -.15)) rotateZ(-15deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}30%{transform:translateY(26vh) translateX(calc(var(--sway-x,25px) * .5)) rotateZ(50deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}40%{transform:translateY(36vh) translateX(calc(var(--sway-x,25px) * 1.2)) rotateZ(85deg) scale(calc(var(--petal-scale,1) * 1.05));opacity:var(--petal-op,.85)}50%{transform:translateY(46vh) translateX(calc(var(--sway-x,25px) * .6)) rotateZ(60deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}60%{transform:translateY(56vh) translateX(calc(var(--sway-x,25px) * -.3)) rotateZ(-30deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}70%{transform:translateY(66vh) translateX(calc(var(--sway-x,25px) * -.9)) rotateZ(-55deg) scale(calc(var(--petal-scale,1) * .97));opacity:var(--petal-op,.85)}80%{transform:translateY(76vh) translateX(calc(var(--sway-x,25px) * -.3)) rotateZ(-20deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}90%{transform:translateY(90vh) translateX(calc(var(--sway-x,25px) * .2)) rotateZ(10deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}97%{transform:translateY(101vh) translateX(calc(var(--sway-x,25px) * .05)) rotateZ(-3deg) scale(var(--petal-scale,1));opacity:var(--petal-op,.85)}to{transform:translateY(108vh) translateX(0) rotateZ(-5deg) scale(var(--petal-scale,1));opacity:0}}@keyframes sakura-glow{0%,to{opacity:.08;filter:blur(60px);transform:scale(1)}50%{opacity:.15;filter:blur(70px);transform:scale(1.15)}}@keyframes sakura-title-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes sakura-sweep{0%{opacity:0;transform:translate(-110%)}20%{opacity:.04}50%{opacity:.06}80%{opacity:.03}to{opacity:0;transform:translate(210%)}}
@keyframes bounce-in{0%{transform:scale(0)rotate(-15deg)}60%{transform:scale(1.12)rotate(5deg)}80%{transform:scale(.95)rotate(-2deg)}to{transform:scale(1)rotate(0)}}@keyframes sway{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(8deg)translateY(-5px)}}@keyframes bubble-rise{0%{opacity:.65;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-100vh)scale(.3)}}@keyframes cloud-d{0%,to{transform:translate(0)}50%{transform:translate(22px)}}@keyframes sun-s{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes flicker{0%,86%,88%,94%,96%,to{opacity:1}87%{opacity:.25}95%{opacity:.15}}@keyframes blood-drip{0%{transform-origin:top;transform:scaleY(0)}to{transform-origin:top;transform:scaleY(1)}}@keyframes fog-d{0%,to{opacity:.28;transform:translate(0)}50%{opacity:.42;transform:translate(4%)}}@keyframes h-shake{0%,92%,to{transform:translate(0)}93%{transform:translate(-2px)rotate(-.5deg)}95%{transform:translate(3px)rotate(.5deg)}97%{transform:translate(-1px)}}
@keyframes heart-rise{0%{transform:translateY(0) scale(1) rotate(var(--rot));opacity:.9}to{transform:translateY(-100vh) scale(.2) rotate(calc(var(--rot)*2));opacity:0}}@keyframes rose-fall{0%{opacity:0;transform:translateY(-5vh)rotate(0)}8%{opacity:.8}to{transform:translateY(105vh) rotate(var(--rs));opacity:0}}@keyframes love-g{0%,to{filter:drop-shadow(0 0 12px #ff4d6d73)}50%{filter:drop-shadow(0 0 28px #ff4d6dbf)}}
@keyframes rain-f{0%{transform:translateY(-5vh) translateX(var(--rx));opacity:0}8%{opacity:.5}to{transform:translateY(108vh) translateX(calc(var(--rx)15px));opacity:.08}}@keyframes lamp-f{0%,84%,88%,92%,to{opacity:1;filter:brightness()}86%{opacity:.6;filter:brightness(.6)}90%{opacity:.8;filter:brightness(.8)}}@keyframes t-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes clue-in{0%{opacity:0;transform:translateY(10px)rotate(-2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}
@keyframes cloud-fl{0%,to{transform:translate(0)scale(1)}35%{transform:translate(18px,-10px)scale(1.04)}70%{transform:translate(-12px,-5px)scale(.97)}}@keyframes sparkle-p{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes mist-d{0%,to{opacity:.18;transform:translate(0)}50%{opacity:.36;transform:translate(28px)}}@keyframes star-dr{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-12px)translate(8px)}}
