@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;600;700&family=Crimson+Pro:ital,wght@0,300;0,400;1,300;1,400&display=swap";.landing{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 40%,#0d1520,#050709 60%,#000);position:relative;overflow:hidden;opacity:0;transition:opacity 1.2s ease}.landing--visible{opacity:1}.landing-stars{position:absolute;inset:0;pointer-events:none}.star{position:absolute;background:#fff;border-radius:50%;animation:star-twinkle ease-in-out infinite}.landing-cloud{position:absolute;width:280px;height:180px;background:radial-gradient(ellipse,#1a1d24 0%,transparent 70%);pointer-events:none;animation:cloud-drift ease-in-out infinite}.landing-cloud--tl{top:-60px;left:-80px;animation-duration:12s}.landing-cloud--tr{top:-40px;right:-60px;animation-duration:15s;animation-delay:-3s}.landing-cloud--bl{bottom:-60px;left:-40px;animation-duration:18s;animation-delay:-6s}.landing-cloud--br{bottom:-40px;right:-80px;animation-duration:14s;animation-delay:-9s}.landing-inner{display:flex;flex-direction:column;align-items:center;gap:1.2rem;z-index:10;max-width:520px;width:90%;text-align:center}.landing-tagline{font-family:var(--font-body);font-style:italic;font-weight:300;font-size:1.05rem;color:#b8c4d4bf;letter-spacing:.04em;line-height:1.5;animation:fade-in-up 1.2s ease both}.landing-tagline--pause{animation-delay:.4s;margin-top:-.6rem}.landing-cover-wrap{position:relative;width:260px;height:260px;margin:.5rem 0;animation:fade-in-up 1.4s ease .6s both}.landing-cover-glow{position:absolute;inset:-20px;background:radial-gradient(ellipse,rgba(201,168,76,.25) 0%,transparent 70%);animation:pulse-glow 4s ease-in-out infinite;border-radius:50%}.landing-cover{width:100%;height:100%;object-fit:cover;border-radius:4px;box-shadow:0 0 40px #000c,0 0 80px #c9a84c26,inset 0 0 0 1px #c9a84c1a;animation:breathe 8s ease-in-out infinite}.landing-titles{animation:fade-in-up 1.4s ease .8s both}.landing-album-title{font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2rem);font-weight:700;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 30px rgba(201,168,76,.5),0 0 60px rgba(201,168,76,.2);line-height:1.2}.landing-band-name{font-family:var(--font-heading);font-size:.75rem;letter-spacing:.35em;text-transform:uppercase;color:#b8c4d499;margin-top:.4rem}.landing-begin-btn{position:relative;background:transparent;border:1.5px solid var(--gold);color:var(--gold);font-family:var(--font-heading);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;padding:.9rem 2.5rem;cursor:pointer;overflow:hidden;transition:all .4s ease;animation:fade-in-up 1.4s ease 1.2s both;margin-top:.5rem}.landing-begin-btn:before{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.landing-begin-btn:hover:before{transform:scaleX(1)}.landing-begin-btn:hover .begin-btn-text{color:var(--midnight)}.begin-btn-text{position:relative;z-index:1;transition:color .4s ease}.begin-btn-line{display:none}.landing-credit{font-family:var(--font-body);font-size:.65rem;letter-spacing:.15em;color:#b8c4d44d;text-transform:uppercase;animation:fade-in 2s ease 2s both}.completion{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#f5e6b0,#e8c94a,#c9973a 60%,#8b6520);overflow:hidden;opacity:0;transition:opacity 1.5s ease;z-index:200}.completion--visible{opacity:1}.completion-rays{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.completion-ray{position:absolute;width:3px;height:60vh;background:linear-gradient(to bottom,rgba(255,255,200,.6),transparent);transform-origin:bottom center;top:50%;left:50%;margin-left:-1.5px;animation:pulse-glow 3s ease-in-out infinite}.completion-ray:nth-child(odd){animation-delay:-1.5s}.completion-particles{position:absolute;inset:0;pointer-events:none}.completion-particle{position:absolute;background:#ffffffe6;border-radius:50%;animation:shimmer ease-in-out infinite;box-shadow:0 0 6px #ffffc8cc}.completion-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;z-index:10;max-width:480px;width:90%;text-align:center}.completion-cover-wrap{width:180px;height:180px;animation:fade-in-up 1.2s ease .3s both}.completion-cover{width:100%;height:100%;object-fit:cover;border-radius:4px;box-shadow:0 8px 40px #643c0080,0 0 0 3px #ffffff4d;animation:breathe 6s ease-in-out infinite}.completion-text{animation:fade-in-up 1.2s ease .6s both}.completion-check{font-size:1.5rem;color:#502800b3;margin-bottom:.5rem}.completion-title{font-family:var(--font-heading);font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:#502800b3;margin-bottom:.3rem}.completion-album{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2.4rem);font-weight:900;color:#2a1500;text-shadow:0 2px 20px rgba(255,255,200,.5);line-height:1.1}.completion-divider{width:60px;height:1.5px;background:#50280066;margin:1rem auto}.completion-message{font-family:var(--font-body);font-size:1.05rem;font-style:italic;color:#281400d9;line-height:1.8;font-weight:300}.completion-sig{font-family:var(--font-heading);font-size:.7rem;letter-spacing:.2em;color:#50280099;margin-top:.8rem}.completion-tip-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:fade-in-up 1.2s ease 1.2s both}.completion-tip-divider{width:40px;height:1px;background:#50280040;margin-bottom:.4rem}.completion-tip-invite{font-family:var(--font-body);font-style:italic;font-size:.9rem;color:#281400a6;letter-spacing:.03em}.completion-tip-btn{background:transparent;border:1.5px solid rgba(80,40,0,.4);color:#281400cc;font-family:var(--font-heading);font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;padding:.8rem 2rem;cursor:pointer;border-radius:2px;transition:all .4s ease}.completion-tip-btn:hover{background:#50280014;border-color:#502800b3;box-shadow:0 0 20px #50280026}.completion-tip-sub{font-family:var(--font-body);font-style:italic;font-size:.72rem;color:#50280073;letter-spacing:.05em}.completion-tip-thanks{text-align:center;animation:fade-in-up .6s ease both}.completion-tip-merci{font-family:var(--font-display);font-size:1.8rem;color:#281400d9;letter-spacing:.1em;margin-bottom:.3rem}.completion-tip-gratitude{font-family:var(--font-body);font-style:italic;font-size:.85rem;color:#28140099;letter-spacing:.04em}.completion-credit{font-family:var(--font-body);font-size:.6rem;letter-spacing:.15em;color:#50280066;text-transform:uppercase;animation:fade-in 2s ease 1.5s both}.paywall{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 40%,#0d1520,#060810,#020305);overflow:hidden;animation:fade-in 1s ease;z-index:200}.paywall-stars{position:absolute;inset:0;pointer-events:none}.paywall-star{position:absolute;background:#fff;border-radius:50%;animation:star-twinkle ease-in-out infinite}.paywall-moon{position:absolute;left:-60px;top:50%;transform:translateY(-50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 60% 40%,rgba(184,196,212,.08) 0%,transparent 70%);pointer-events:none;animation:breathe 10s ease-in-out infinite}.paywall-sun{position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%);pointer-events:none;animation:pulse-glow 6s ease-in-out infinite}.paywall-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:10;max-width:480px;width:90%;text-align:center}.paywall-cover-wrap{position:relative;width:200px;height:200px;animation:fade-in-up 1s ease .2s both}.paywall-cover-glow{position:absolute;inset:-24px;background:radial-gradient(ellipse,rgba(201,168,76,.2) 0%,transparent 70%);animation:pulse-glow 5s ease-in-out infinite;border-radius:50%}.paywall-cover{width:100%;height:100%;object-fit:cover;border-radius:4px;box-shadow:0 0 50px #000000e6,0 0 100px #c9a84c1a;animation:breathe 8s ease-in-out infinite}.paywall-copy{animation:fade-in-up 1s ease .4s both}.paywall-years{font-family:var(--font-body);font-style:italic;font-weight:300;font-size:1.1rem;color:#b8c4d4b3;letter-spacing:.04em;margin-bottom:.2rem}.paywall-price-line{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:900;color:var(--gold);letter-spacing:.06em;text-shadow:0 0 40px rgba(201,168,76,.5),0 0 80px rgba(201,168,76,.2);line-height:1.2}.paywall-divider{width:48px;height:1px;background:#c9a84c4d;margin:.2rem auto;animation:fade-in 1s ease .6s both}.paywall-includes{font-family:var(--font-heading);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#b8c4d480;animation:fade-in 1s ease .7s both}.paywall-unlock-btn{position:relative;background:var(--gold);border:none;color:var(--midnight);font-family:var(--font-heading);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:1rem 2.5rem;cursor:pointer;border-radius:2px;transition:all .4s ease;animation:fade-in-up 1s ease .8s both;box-shadow:0 0 30px #c9a84c4d;margin-top:.5rem}.paywall-unlock-btn:hover,.paywall-unlock-btn--hover{background:var(--gold-light);box-shadow:0 0 50px #c9a84c99;transform:translateY(-2px)}.paywall-btn-text{position:relative;z-index:1}.paywall-reassurance{font-family:var(--font-body);font-size:.7rem;font-style:italic;color:#b8c4d459;letter-spacing:.06em;animation:fade-in 1s ease 1s both}.paywall-already-btn{background:transparent;border:none;color:#c9a84c66;font-family:var(--font-heading);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:.4rem .8rem;transition:color .3s ease;animation:fade-in 1s ease 1.2s both;margin-top:.2rem}.paywall-already-btn:hover{color:#c9a84ccc}.scene-container{width:100%;height:100%;position:relative;animation:fade-in .8s ease}.scene-wrapper{width:100%;height:100%}.scene-number{position:fixed;top:1.8rem;left:2rem;font-family:var(--font-display);font-size:.6rem;letter-spacing:.3em;color:#c9a84c59;z-index:50}.back-btn{font-family:var(--font-heading);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;background:transparent;border:1px solid rgba(201,168,76,.2);color:#c9a84c66;padding:.4rem 1rem;border-radius:20px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.back-btn:hover{border-color:#c9a84c80;color:#c9a84cb3;background:#c9a84c0d}:root{--gold: #c9a84c;--gold-light: #f0d080;--gold-pale: #ffe9a0;--moon: #b8c4d4;--midnight: #080a0f;--deep-blue: #0d1117;--cloud-dark: #1a1d24;--font-display: "Cinzel Decorative", serif;--font-heading: "Cinzel", serif;--font-body: "Crimson Pro", serif;--transition-scene: 1.2s cubic-bezier(.4, 0, .2, 1)}.app{width:100vw;height:100vh;position:relative;overflow:hidden;transition:background 2s ease}.app:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.4'/%3E%3C/svg%3E");opacity:.04;pointer-events:none;z-index:1000}.scene{width:100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.scene-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform-origin:center}.scene-overlay{position:absolute;inset:0;pointer-events:none}.scene-content{position:relative;z-index:10;text-align:center;padding:2rem}.progress-dots{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.6rem;z-index:100}.progress-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(201,168,76,.5);background:transparent;transition:all .6s ease}.progress-dot.active{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px var(--gold)}.progress-dot.completed{background:#c9a84c66;border-color:#c9a84c99}.controls-bar{position:fixed;bottom:4.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.5rem;z-index:100;background:#080a0fb3;border:1px solid rgba(201,168,76,.2);border-radius:50px;padding:.6rem 1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.song-label{font-family:var(--font-heading);font-size:.65rem;letter-spacing:.15em;color:#c9a84ccc;text-transform:uppercase;white-space:nowrap}.play-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;flex-shrink:0}.play-btn:hover{background:#c9a84c26;box-shadow:0 0 16px #c9a84c4d}.next-btn{font-family:var(--font-heading);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;background:transparent;border:1px solid rgba(201,168,76,.4);color:#c9a84cb3;padding:.4rem 1rem;border-radius:20px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.next-btn:hover{border-color:var(--gold);color:var(--gold);background:#c9a84c1a}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes blood-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.scene-loading{position:absolute;inset:0;background:#0009}@keyframes drift-left{0%{transform:translate(0) translateY(0)}33%{transform:translate(-12px) translateY(-6px)}66%{transform:translate(6px) translateY(-10px)}to{transform:translate(0) translateY(0)}}@keyframes drift-right{0%{transform:translate(0) translateY(0)}33%{transform:translate(10px) translateY(-8px)}66%{transform:translate(-8px) translateY(-4px)}to{transform:translate(0) translateY(0)}}@keyframes pulse-glow{0%,to{opacity:.3}50%{opacity:.7}}@keyframes flicker{0%,to{opacity:1;transform:scale(1) rotate(-1deg)}25%{opacity:.85;transform:scale(1.05) rotate(1deg)}50%{opacity:.95;transform:scale(.98) rotate(-.5deg)}75%{opacity:.9;transform:scale(1.03) rotate(.5deg)}}@keyframes float-up{0%{transform:translateY(0) rotate(0);opacity:.7}to{transform:translateY(-100vh) rotate(20deg);opacity:0}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:1}}@keyframes cloud-drift{0%,to{transform:translate(0)}50%{transform:translate(20px)}}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes snake-writhe{0%,to{transform:rotate(-5deg) scaleY(1)}50%{transform:rotate(5deg) scaleY(1.05)}}@keyframes blimp-float{0%,to{transform:translate(0) translateY(0) rotate(-1deg)}50%{transform:translate(-15px) translateY(-8px) rotate(1deg)}}@keyframes leaf-fall{0%{transform:translateY(-20px) rotate(0);opacity:.9}to{transform:translateY(110vh) rotate(180deg);opacity:.3}}@keyframes sun-pulse{0%,to{transform:scale(1) rotate(0);filter:brightness(1)}50%{transform:scale(1.05) rotate(180deg);filter:brightness(1.3)}}@keyframes glint{0%,90%,to{opacity:0}95%{opacity:1}}@keyframes vignette-pulse{0%,to{opacity:.6}50%{opacity:.3}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes title-reveal{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:#080a0f;color:#fff;-webkit-font-smoothing:antialiased}
