*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background:radial-gradient(circle at top,#2b2355,#090912);color:#fff;min-height:100vh;overflow-x:hidden}
#stars,#mist,#constellation{position:fixed;inset:0;pointer-events:none}#stars{background-image:radial-gradient(white 1px,transparent 1px);background-size:120px 120px;opacity:.6;animation:move 120s linear infinite}@keyframes move{to{background-position:2000px 2000px}}
#moon{position:fixed;right:8%;top:60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#fff,#ddd8ff 60%,transparent);box-shadow:0 0 80px #9b7cff}
#intro{position:fixed;inset:0;background:#090912;display:flex;align-items:center;justify-content:center;z-index:20;transition:1.5s}.book{background:rgba(255,255,255,.08);backdrop-filter:blur(12px);padding:40px;border-radius:24px;text-align:center;max-width:500px;box-shadow:0 0 40px #8b6cff}
.container{max-width:900px;margin:0 auto;padding:120px 20px;text-align:center;position:relative;z-index:2}
.title{font:700 52px Cinzel,serif;text-shadow:0 0 20px #fff,0 0 40px #9b7cff}
.subtitle{margin:20px}
.glass,#ending,#hiddenMessage{background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border-radius:24px;padding:35px;box-shadow:0 0 30px rgba(155,124,255,.4);margin:30px auto}
.letter{line-height:1.9}
button{margin-top:25px;padding:14px 28px;border:none;border-radius:999px;background:linear-gradient(45deg,#ff6ab3,#7f5cff);color:#fff;font-size:18px;cursor:pointer}
#hiddenMessage{opacity:0;transform:translateY(30px);transition:1s}#hiddenMessage.show{opacity:1;transform:none}
.heart,.spark{position:fixed;pointer-events:none;animation:float 2.5s forwards}@keyframes float{to{transform:translate(var(--dx),var(--dy)) scale(2);opacity:0}}
#musicButton{position:fixed;bottom:20px;right:20px}
