.love-welcome{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden;color:#b81738}
.love-heart{position:absolute;left:var(--x);bottom:-50px;font:var(--size)/1 Georgia,serif;color:#c51b3b;opacity:0;filter:drop-shadow(0 3px 8px #b817381a);animation:love-rise 5.5s var(--delay) cubic-bezier(.22,.61,.36,1) both}
.love-note{position:absolute;bottom:9vh;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:7px;white-space:nowrap;padding:22px 42px 24px;border-radius:24px;background:linear-gradient(135deg,#fffdfcf5,#fff4f4ee);box-shadow:0 8px 42px #89112e14;animation:love-note 6.4s ease both}
.love-note>span{font:27px/1 Georgia,serif}.love-note em{font:italic 29px/1.25 Georgia,serif;letter-spacing:-.5px}.love-note small{font:11px/1.6 system-ui,sans-serif;letter-spacing:1.2px;color:#8f4554}
@keyframes love-rise{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:.78}75%{opacity:.5}100%{opacity:0;transform:translate(var(--drift),-91vh) rotate(var(--turn))}}
@keyframes love-note{0%{opacity:0;translate:0 12px}17%,73%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -8px}}
@media(prefers-reduced-motion:reduce){.love-heart{display:none}.love-note{animation:none;opacity:1}}
@media(max-width:520px){.love-note{bottom:7vh;padding:18px 28px}.love-note em{font-size:26px}}
