@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Quicksand:wght@300;400;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;overflow-x:hidden}body{background:linear-gradient(to bottom,#0a0a1a,#1a1a3a,#0d0d2b);font-family:Cormorant Garamond,serif;color:#fff}body::-webkit-scrollbar{display:none}body{-ms-overflow-style:none;scrollbar-width:none}.sky-container{position:relative;width:100%;min-height:400vh;background:radial-gradient(ellipse at top,#1a1a4a 0%,transparent 60%),linear-gradient(to bottom,#0a0a1a,#12122a,#1a1a3a 60%,#0d0d2b);overflow:hidden}.sky-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 20px 30px,white,transparent),radial-gradient(1px 1px at 40px 70px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 50px 160px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 90px 40px,white,transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 160px 120px,white,transparent),radial-gradient(1px 1px at 200px 50px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 220px 150px,white,transparent),radial-gradient(1px 1px at 260px 90px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 300px 60px,white,transparent),radial-gradient(1px 1px at 350px 130px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 400px 80px,white,transparent),radial-gradient(1px 1px at 450px 170px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 500px 40px,white,transparent),radial-gradient(1px 1px at 550px 100px,rgba(255,255,255,.5),transparent);background-repeat:repeat;background-size:600px 200px;animation:twinkle 8s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:1}}.section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;z-index:1}.intro-section{flex-direction:column;text-align:center}.intro-title{font-size:3rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem}.intro-subtitle{font-size:1.2rem;font-weight:300;letter-spacing:.2em;color:#ffffffb3}.scroll-hint{position:absolute;bottom:50px;font-size:.9rem;letter-spacing:.15em;color:#ffffff80;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.star{position:absolute;cursor:pointer;transition:all .3s ease;z-index:2}.star-glow{width:20px;height:20px;background:radial-gradient(circle,white 0%,rgba(255,255,255,.8) 20%,rgba(100,150,255,.4) 50%,transparent 70%);border-radius:50%;animation:pulse 3s ease-in-out infinite}.star:hover .star-glow{transform:scale(1.5);filter:brightness(1.5)}.star.golden .star-glow{width:35px;height:35px;background:radial-gradient(circle,#ffd700 0%,rgba(255,215,0,.8) 20%,rgba(255,180,0,.4) 50%,transparent 70%);animation:goldenPulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}}@keyframes goldenPulse{0%,to{transform:scale(1);opacity:.9;box-shadow:0 0 20px #ffd70080}50%{transform:scale(1.3);opacity:1;box-shadow:0 0 40px #ffd700cc}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:linear-gradient(135deg,#141432f2,#1e1e3cf2);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;text-align:center;box-shadow:0 0 60px #6496ff33}.modal-content img{max-width:100%;border-radius:10px;margin-bottom:20px}.modal-content p{font-size:1.2rem;line-height:1.8;color:#ffffffe6}.modal-close{margin-top:30px;padding:12px 40px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1rem;letter-spacing:.1em;cursor:pointer;border-radius:30px;transition:all .3s ease}.modal-close:hover{background:#ffffff1a;border-color:#ffffff80}.constellation-section{position:relative;height:100vh}.constellation-container{position:relative;width:100%;max-width:800px;height:400px;margin:0 auto}.constellation-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform-origin:left center;z-index:1}.constellation-title{text-align:center;font-size:1.5rem;letter-spacing:.3em;margin-bottom:60px;color:#fff9;font-weight:300}.lantern-section{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:100px}.lantern-title{font-size:1.5rem;letter-spacing:.2em;margin-bottom:30px;color:#ffffffb3;font-weight:300}.lantern-input-container{display:flex;gap:15px;margin-bottom:40px;flex-wrap:wrap;justify-content:center}.lantern-input{padding:15px 25px;font-size:1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:30px;color:#fff;width:300px;outline:none;transition:all .3s ease}.lantern-input::placeholder{color:#fff6}.lantern-input:focus{border-color:#ffc86480;background:#ffffff26}.lantern-button{padding:15px 30px;font-size:1rem;background:linear-gradient(135deg,#ff9632cc,#ff6432cc);border:none;border-radius:30px;color:#fff;cursor:pointer;transition:all .3s ease;letter-spacing:.1em}.lantern-button:hover{transform:scale(1.05);box-shadow:0 0 30px #ff963266}.lantern{position:absolute;font-size:2.5rem;cursor:pointer;filter:drop-shadow(0 0 10px rgba(255,150,50,.5))}.lantern-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;padding:10px 20px;border-radius:10px;font-size:.9rem;white-space:nowrap;opacity:0;transition:opacity .3s ease;pointer-events:none}.lantern:hover .lantern-message{opacity:1}.finale-section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.finale-letter{max-width:600px;font-size:1.3rem;line-height:2;color:#ffffffe6;white-space:pre-line}.finale-signature{margin-top:40px;font-size:1.5rem;font-style:italic;color:#ffc896e6}.firework{position:fixed;width:5px;height:5px;border-radius:50%;pointer-events:none;z-index:999}@media(max-width:768px){.intro-title{font-size:2rem;letter-spacing:.2em}.intro-subtitle{font-size:1rem}.modal-content{padding:25px}.modal-content p{font-size:1rem}.lantern-input{width:250px}.finale-letter{font-size:1.1rem}}
