@import"https://fonts.googleapis.com/css2?family=Parisienne&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.card{position:relative;z-index:5;cursor:pointer}.card-image{display:block;max-width:280px;max-height:400px;width:auto;height:auto;filter:drop-shadow(0px 10px 15px rgba(0,0,0,.5))}@media (max-width: 768px){.card-image{max-width:200px}}@media (max-width: 480px){.card-image{max-width:160px}}.intro-letter{font-size:5rem;font-weight:700;transform-origin:bottom}@media (max-width: 768px){.intro-letter{font-size:3rem}}.petal-pile-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:4;pointer-events:none}.interactive-petal{position:absolute;top:50%;left:40%;width:90px;height:auto;filter:drop-shadow(0 2px 5px rgba(0,0,0,.3))}@keyframes float-crystal{0%,to{transform:translateY(0) rotateX(5deg)}50%{transform:translateY(-15px) rotateX(-5deg)}}.letter-paper{background-color:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:2rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);box-shadow:0 15px 30px #0000004d;max-width:90vw;transform-style:preserve-3d;will-change:transform,opacity;animation:float-crystal 10s ease-in-out infinite}.letter-content .letter-line{font-family:Parisienne,cursive;font-size:1.8rem;color:#fff;margin:.8rem 0;line-height:1.5;white-space:normal;word-wrap:break-word;text-shadow:0px 1px 2px rgba(0,0,0,.5),0 0 10px rgba(255,255,255,.5)}.letter-content .letter-line>span{will-change:transform,opacity}.letter-content .signature{text-align:right;font-size:2rem;margin-top:1.5rem}@media (max-width: 768px){.letter-paper{max-width:85vw;padding:1.5rem;max-height:70vh;overflow-y:auto}.letter-content .letter-line{font-size:1.4rem}.letter-content .signature{font-size:1.6rem;margin-top:1rem}}@media (max-width: 480px){.letter-paper{max-width:90vw;padding:1rem}.letter-content .letter-line{font-size:1.2rem}.letter-content .signature{font-size:1.4rem}}.petal-rain-container{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:100;pointer-events:none}.raining-petal{position:absolute;top:-15%;animation-name:rain;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes rain{0%{transform:translateY(0) rotate(0)}to{transform:translateY(120vh) rotate(360deg)}}@keyframes moveAurora{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{margin:0;font-family:sans-serif;background-color:#000}.page-background{position:relative;width:100vw;height:100vh;overflow:hidden}.page-background:before{content:"";position:fixed;top:50%;left:50%;width:150vmax;height:150vmax;margin-top:-75vmax;margin-left:-75vmax;border-radius:50%;z-index:1;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.7) 0%,transparent 35%),radial-gradient(circle at 75% 80%,rgba(255,255,255,.6) 0%,transparent 30%),radial-gradient(circle at 85% 40%,rgba(255,215,0,.4) 0%,transparent 60%),radial-gradient(circle at 50% 75%,rgba(255,165,0,.4) 0%,transparent 55%);animation:moveAurora 60s linear infinite}.content-wrapper{display:flex;justify-content:center;align-items:center;height:100%;width:100%;position:relative;z-index:3;perspective:1000px}@media (max-width: 768px){.page-background:before{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.5) 0%,transparent 35%),radial-gradient(circle at 75% 80%,rgba(255,255,255,.4) 0%,transparent 30%),radial-gradient(circle at 85% 40%,rgba(255,215,0,.3) 0%,transparent 60%),radial-gradient(circle at 50% 75%,rgba(255,165,0,.3) 0%,transparent 55%)}}
