@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff)format("woff")}:root{--ink:#fff;--shadow:#000;--rose:#ff8fb1;--glow:#ff8fb18c;--display:"Lilita One", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ink);background-color:#000;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--rose);outline-offset:6px}h2{text-align:center;font-family:var(--display);text-shadow:-.04em .04em 0 var(--shadow), .04em .04em 0 var(--shadow), .04em -.04em 0 var(--shadow), -.04em -.04em 0 var(--shadow);margin:0;font-size:10vw;font-weight:400}.backdrop{background-position:50%;background-size:cover}.stars{pointer-events:none;position:absolute;inset:0;overflow:hidden}.star{background:#fff;border-radius:50%;animation:ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 6px #fffc}.shooting-star{opacity:0;background:linear-gradient(90deg,#fff,#0000);border-radius:2px;width:140px;height:2px;animation:9s ease-in 3s infinite shoot;position:absolute;top:8%;left:70%;transform:rotate(-25deg)}.shooting-star--late{animation-duration:13s;animation-delay:7.5s;top:22%;left:35%}.dedication,.finale{pointer-events:none}.dedication h2,.finale h2{pointer-events:auto;cursor:pointer}.dedication h2{animation:1.6s ease-out both rise-in}.cat-layer{pointer-events:none;justify-content:center;align-items:center;padding-top:14vh;display:flex}.cat{transform-origin:50% 0;animation:5s ease-in-out infinite sway;position:relative}.cat__button{pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:1rem;padding:0;display:block}.cat__button img{filter:drop-shadow(0 12px 24px #00000073);width:min(55vw,40vh,420px);height:auto;transition:transform .25s;display:block}.cat__button:hover img,.cat__button:active img{transform:scale(1.04)}.burst-heart{pointer-events:none;font-size:1.8rem;animation:1.1s ease-out forwards burst;position:absolute;top:70%;left:50%}.finale{justify-content:center;align-items:center;padding:0 1rem;display:flex}.beat{animation:1.4s ease-in-out infinite heartbeat;display:inline-block}.floating-hearts{pointer-events:none;position:absolute;inset:0;overflow:hidden}.floating-heart{color:var(--rose);opacity:0;text-shadow:0 0 12px var(--glow);animation:linear infinite float-up;position:absolute;bottom:-2rem}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes shoot{0%{opacity:0;transform:rotate(-25deg)translate(0)}4%{opacity:1}12%,to{opacity:0;transform:rotate(-25deg)translate(-420px)}}@keyframes rise-in{0%{opacity:0;filter:blur(6px);transform:translateY(24px)}to{opacity:1;filter:none;transform:none}}@keyframes sway{0%,to{transform:rotate(-4deg)translate(-6px)}50%{transform:rotate(4deg)translate(6px)}}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.2)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}}@keyframes float-up{0%{opacity:0;transform:translate(0)scale(.6)}10%{opacity:.9}to{opacity:0;transform:translate(var(--drift), -110vh) scale(1.1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.floating-heart,.shooting-star{display:none}}
