@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}.completion-freeplay-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1.5rem;animation:fade-in 1.2s ease 2s both}.completion-freeplay-btn{background:transparent;border:1px solid rgba(80,40,0,.3);color:#50280099;font-family:var(--font-heading);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;padding:.6rem 1.8rem;cursor:pointer;border-radius:2px;transition:all .3s ease}.completion-freeplay-btn:hover{border-color:#5028008c;color:#502800d9;background:#5028000a}.completion-freeplay-sub{font-family:var(--font-body);font-style:italic;font-size:.7rem;color:#50280059}.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}.freeplay{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0d1a0d,#050908 60%,#000);position:relative;overflow:hidden;animation:fade-in .8s ease}.freeplay-stars{position:absolute;inset:0;pointer-events:none}.freeplay-star{position:absolute;background:#fff;border-radius:50%;animation:star-twinkle ease-in-out infinite}.freeplay-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;z-index:10;width:100%;max-width:560px;padding:2rem 1.5rem 4rem;overflow-y:auto;max-height:100vh}.freeplay-header{text-align:center;animation:fade-in-up .8s ease both}.freeplay-eyebrow{font-family:var(--font-heading);font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:#c9a84c80;margin-bottom:.6rem}.freeplay-title{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700;color:var(--gold);margin-bottom:.4rem;text-shadow:0 0 40px rgba(201,168,76,.3)}.freeplay-sub{font-family:var(--font-body);font-style:italic;font-size:.95rem;color:#b8c4d480}.freeplay-list{display:flex;flex-direction:column;gap:.5rem;width:100%;animation:fade-in-up .8s ease .2s both}.freeplay-item{display:flex;align-items:center;gap:1rem;background:#ffffff05;border:1px solid rgba(201,168,76,.1);border-radius:3px;padding:.9rem 1.2rem;cursor:pointer;transition:all .25s ease;text-align:left;width:100%}.freeplay-item:hover{background:#ffffff0d;border-color:#c9a84c4d}.freeplay-item--active{background:#c9a84c0f;border-color:#c9a84c66}.freeplay-item-num{font-family:var(--font-heading);font-size:.55rem;letter-spacing:.15em;color:#c9a84c66;flex-shrink:0}.freeplay-item--active .freeplay-item-num{color:#c9a84cb3}.freeplay-item-title{font-family:var(--font-heading);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;flex:1}.freeplay-item--active .freeplay-item-title{color:#fffffff2}.freeplay-item-check{font-size:.75rem;color:#c9a84c66;flex-shrink:0;transition:color .2s ease}.freeplay-item--active .freeplay-item-check{color:var(--gold)}.freeplay-actions{display:flex;flex-direction:column;align-items:center;gap:.8rem;width:100%;animation:fade-in-up .8s ease .4s both}.freeplay-play-btn{background:transparent;border:1.5px solid var(--gold);color:var(--gold);font-family:var(--font-heading);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.9rem 2.5rem;cursor:pointer;border-radius:2px;transition:all .3s ease;width:100%}.freeplay-play-btn:hover:not(:disabled){background:#c9a84c1a}.freeplay-play-btn:disabled{opacity:.3;cursor:default}.freeplay-all-btn{background:transparent;border:1px solid rgba(255,255,255,.12);color:#ffffff80;font-family:var(--font-heading);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.7rem 2rem;cursor:pointer;border-radius:2px;transition:all .3s ease;width:100%}.freeplay-all-btn:hover{border-color:#ffffff40;color:#ffffffbf}.freeplay-return-btn{background:transparent;border:none;font-family:var(--font-heading);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:#b8c4d433;cursor:pointer;padding:.3rem;transition:color .3s ease}.freeplay-return-btn:hover{color:#b8c4d473}.ritual-select{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;transition:background 1.5s ease;animation:fade-in .8s ease}.ritual-stars{position:absolute;inset:0;pointer-events:none}.ritual-star{position:absolute;background:#fff;border-radius:50%;animation:star-twinkle ease-in-out infinite}.ritual-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;z-index:10;width:100%;max-width:700px;padding:2rem 1.5rem 5rem}.ritual-header{text-align:center;animation:fade-in-up .8s ease both}.ritual-eyebrow{font-family:var(--font-heading);font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:#c9a84c99;margin-bottom:.6rem}.ritual-title{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700;color:var(--gold);margin-bottom:.5rem;text-shadow:0 0 40px rgba(201,168,76,.3)}.ritual-sub{font-family:var(--font-body);font-style:italic;font-size:1rem;color:#b8c4d48c}.ritual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;width:100%;animation:fade-in-up .8s ease .2s both}.ritual-card{position:relative;background:#ffffff08;border:1px solid rgba(201,168,76,.12);border-radius:4px;padding:1.2rem .8rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;transition:all .3s ease;overflow:hidden}.ritual-card:hover{border-color:#c9a84c59;background:#ffffff0d;transform:translateY(-2px)}.ritual-card--active{background:#ffffff0d;box-shadow:0 0 20px #0000004d}.ritual-card-glow{position:absolute;inset:0;pointer-events:none;border-radius:4px}.ritual-card-icon{font-size:1.8rem;line-height:1;margin-bottom:.2rem}.ritual-card-name{font-family:var(--font-heading);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd9;line-height:1.3}.ritual-card-desc{font-family:var(--font-body);font-style:italic;font-size:.75rem;color:#b8c4d473;line-height:1.3}.ritual-actions{display:flex;flex-direction:column;align-items:center;gap:.8rem;animation:fade-in-up .8s ease .4s both}.ritual-begin-btn{background:transparent;border:1.5px solid currentColor;font-family:var(--font-heading);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.9rem 2.5rem;cursor:pointer;border-radius:2px;transition:all .3s ease;animation:fade-in-up .4s ease both}.ritual-begin-btn:hover{background:#ffffff14;box-shadow:0 0 20px #0000004d}.ritual-skip-btn{background:transparent;border:none;font-family:var(--font-heading);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:#b8c4d440;cursor:pointer;padding:.3rem;transition:color .3s ease}.ritual-skip-btn:hover{color:#b8c4d480}.ritual-confirmed{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;animation:fade-in .6s ease both;z-index:20}.ritual-confirmed-icon{font-size:4rem;margin-bottom:1rem;animation:fade-in-up .6s ease .2s both}.ritual-confirmed-name{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--ritual-color, var(--gold));margin-bottom:1rem;text-shadow:0 0 30px currentColor;animation:fade-in-up .6s ease .3s both}.ritual-confirmed-prompt{font-family:var(--font-body);font-style:italic;font-size:clamp(1rem,2.5vw,1.3rem);color:#f5ead0d9;max-width:480px;line-height:1.7;margin-bottom:1.5rem;animation:fade-in-up .6s ease .4s both}.ritual-confirmed-sub{font-family:var(--font-heading);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#b8c4d459;animation:fade-in 1s ease .8s both}.ritual-env{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;opacity:0;transition:opacity 1.2s ease}.ritual-env--visible{opacity:1}.ritual-env-particles{position:absolute;inset:0;pointer-events:none}.ritual-env-particle{position:absolute;width:3px;height:3px;border-radius:50%;opacity:.4;animation:shimmer ease-in-out infinite}.ritual-env-inner{display:flex;flex-direction:column;align-items:center;gap:1.2rem;z-index:10;max-width:480px;width:90%;text-align:center;padding:2rem}.ritual-env-icon{font-size:3.5rem;animation:fade-in-up .8s ease both;margin-bottom:.5rem}.ritual-env-lines{display:flex;flex-direction:column;gap:.6rem}.ritual-env-line{font-family:var(--font-display);font-size:clamp(1.1rem,3vw,1.6rem);color:#f5ead0e6;letter-spacing:.04em;opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}.ritual-env-line--visible{opacity:1;transform:translateY(0)}.ritual-env-closing{font-family:var(--font-body);font-style:italic;font-size:clamp(.95rem,2.5vw,1.2rem);color:var(--env-color, var(--gold));line-height:1.7;max-width:380px;animation:fade-in-up .8s ease both;margin-top:.5rem;text-shadow:0 0 20px currentColor}.ritual-env-btn{background:transparent;border:1.5px solid currentColor;font-family:var(--font-heading);font-size:.7rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;padding:.9rem 2.5rem;cursor:pointer;border-radius:2px;transition:all .3s ease;animation:fade-in-up .8s ease .3s both;margin-top:.5rem}.ritual-env-btn:hover{background:#ffffff0f;box-shadow:0 0 20px #0000004d}.ritual-fx,.ritual-fx *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.candle{position:absolute;bottom:8%;display:flex;flex-direction:column-reverse;align-items:center;z-index:9}.candle--left{left:3%}.candle--right{right:3%}.candle-body{width:14px;height:80px;background:linear-gradient(to bottom,#f5ead0,#e8d8b0 40%,#d4c090);border-radius:3px 3px 2px 2px;position:relative;box-shadow:inset -3px 0 6px #0003}.candle-drip{position:absolute;top:8px;left:50%;transform:translate(-50%);width:6px;height:14px;background:linear-gradient(to bottom,#f5ead0,#e8d8b0);border-radius:0 0 4px 4px;opacity:.7}.candle-flame{position:relative;width:18px;height:32px;margin-bottom:-2px;animation:candle-sway 3s ease-in-out infinite}@keyframes candle-sway{0%,to{transform:rotate(-2deg) scaleX(1)}25%{transform:rotate(2deg) scaleX(.9)}50%{transform:rotate(-1deg) scaleX(1.05)}75%{transform:rotate(3deg) scaleX(.95)}}.candle-flame-outer{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:14px;height:28px;background:radial-gradient(ellipse at 50% 80%,#ff9500 0%,#ff6200 40%,#c83200 70%,transparent 100%);border-radius:50% 50% 30% 30%;animation:flame-flicker .8s ease-in-out infinite alternate}.candle-flame-inner{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:8px;height:18px;background:radial-gradient(ellipse at 50% 80%,#fff7e0 0%,#ffe080 50%,transparent 100%);border-radius:50% 50% 30% 30%;animation:flame-flicker .6s ease-in-out infinite alternate-reverse;z-index:1}.candle-flame-glow{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,160,30,.5) 0%,rgba(255,100,10,.2) 50%,transparent 70%);animation:flame-glow-pulse 1.2s ease-in-out infinite alternate}@keyframes flame-flicker{0%{transform:translate(-50%) scaleX(1) scaleY(1);opacity:1}33%{transform:translate(-48%) scaleX(.88) scaleY(1.06);opacity:.9}66%{transform:translate(-52%) scaleX(1.06) scaleY(.94);opacity:1}to{transform:translate(-50%) scaleX(.94) scaleY(1.04);opacity:.95}}@keyframes flame-glow-pulse{0%{opacity:.6;transform:translate(-50%) scale(1)}to{opacity:1;transform:translate(-50%) scale(1.3)}}.candle-bloom{position:absolute;bottom:0;width:35%;height:80%;border-radius:50%;mix-blend-mode:screen;animation:candle-bloom-pulse ease-in-out infinite alternate}.candle-bloom--1{left:-8%;background:radial-gradient(ellipse at 20% 80%,rgba(255,140,30,.25) 0%,rgba(255,80,10,.1) 40%,transparent 70%);animation-duration:2.4s}.candle-bloom--2{right:-8%;background:radial-gradient(ellipse at 80% 80%,rgba(255,140,30,.25) 0%,rgba(255,80,10,.1) 40%,transparent 70%);animation-duration:2.8s;animation-delay:-1s}@keyframes candle-bloom-pulse{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.blacklight-overlay{position:absolute;inset:0;background:#3c007880;mix-blend-mode:color}.blacklight-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(180,100,255,.07) 48%,rgba(220,160,255,.12) 50%,rgba(180,100,255,.07) 52%,transparent 100%);animation:blacklight-sweep 10s ease-in-out infinite}.blacklight-edge{position:absolute;left:0;right:0;height:60px;background:linear-gradient(180deg,rgba(160,80,255,.3) 0%,transparent 100%)}.blacklight-edge--top{top:0}.blacklight-edge--bottom{bottom:0;transform:rotate(180deg)}@keyframes blacklight-sweep{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100%);opacity:0}}.spectrum-band{position:absolute;left:-5%;right:-5%;height:22%;mix-blend-mode:screen;opacity:0;border-radius:40%;animation:spectrum-rise 7s ease-in-out infinite}.spectrum-band--1{background:linear-gradient(90deg,#f005,#f605,#fc05);animation-delay:0s}.spectrum-band--2{background:linear-gradient(90deg,#fc05,#0f65,#0cf5);animation-delay:1s}.spectrum-band--3{background:linear-gradient(90deg,#0cf5,#06f5,#90f5);animation-delay:2s}.spectrum-band--4{background:linear-gradient(90deg,#90f5,#f095,#f005);animation-delay:3s}.spectrum-band--5{background:linear-gradient(90deg,#0f65,#f605,#0cf5);animation-delay:4s}@keyframes spectrum-rise{0%{bottom:-25%;opacity:0}15%{opacity:.8}85%{opacity:.8}to{bottom:110%;opacity:0}}.aurora-curtain{position:absolute;top:0;width:120%;height:50%;mix-blend-mode:screen;opacity:0;animation:aurora-drift ease-in-out infinite;border-radius:0 0 50% 50%}.aurora-curtain--1{left:-20%;background:linear-gradient(180deg,transparent 0%,rgba(42,232,176,.45) 35%,rgba(0,180,120,.2) 65%,transparent 100%);animation-duration:12s}.aurora-curtain--2{left:5%;background:linear-gradient(180deg,transparent 0%,rgba(100,80,255,.4) 30%,rgba(42,232,176,.2) 60%,transparent 100%);animation-duration:16s;animation-delay:-5s}.aurora-curtain--3{left:35%;background:linear-gradient(180deg,transparent 0%,rgba(0,200,255,.35) 30%,rgba(80,240,160,.2) 65%,transparent 100%);animation-duration:20s;animation-delay:-10s}@keyframes aurora-drift{0%,to{opacity:0;transform:translate(-6%) scaleY(.85)}20%{opacity:.9}50%{opacity:.7;transform:translate(6%) scaleY(1.1)}80%{opacity:.9}}.aurora-stars{position:absolute;inset:0}.aurora-star{position:absolute;background:#fff;border-radius:50%;animation:star-twinkle ease-in-out infinite}.neon-overlay{position:absolute;inset:0;background:#0005144d;mix-blend-mode:multiply}.neon-scan--h{position:absolute;left:0;right:0;height:2px;top:0;background:linear-gradient(90deg,transparent,#ff2d7899,#00f0ff99,#e8f02099,transparent);animation:neon-h-scan 5s linear infinite;mix-blend-mode:screen}@keyframes neon-h-scan{0%{top:-2px;opacity:0}5%{opacity:1}95%{opacity:1}to{top:100%;opacity:0}}.neon-rain{position:absolute;inset:0;overflow:hidden}.neon-drop{position:absolute;top:-20px;width:2px;height:12px;border-radius:1px;opacity:.8;filter:blur(1px);animation:neon-rain-fall linear infinite;mix-blend-mode:screen}@keyframes neon-rain-fall{0%{transform:translateY(-20px);opacity:0}10%{opacity:.9}90%{opacity:.9}to{transform:translateY(110vh);opacity:0}}.neon-glow{position:absolute;width:200px;height:200px;border-radius:50%;mix-blend-mode:screen;animation:pulse-glow 3s ease-in-out infinite}.neon-glow--pink{top:20%;left:10%;background:radial-gradient(ellipse,rgba(255,45,120,.3) 0%,transparent 70%);animation-delay:0s}.neon-glow--cyan{bottom:20%;right:10%;background:radial-gradient(ellipse,rgba(0,240,255,.25) 0%,transparent 70%);animation-delay:-1.5s}.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)}.freemode-badge{position:fixed;top:1.8rem;right:2rem;font-family:var(--font-heading);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,168,76,.3);padding:.3rem .8rem;border-radius:20px;z-index:50;background:#080a0f99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app[data-ritual=candles-tea]{--ritual-overlay: rgba(200, 132, 26, .08);--ritual-particle: #c8841a;--ritual-glow: rgba(200, 132, 26, .15)}.app[data-ritual=blacklight-magic]{--ritual-overlay: rgba(155, 89, 232, .1);--ritual-particle: #9b59e8;--ritual-glow: rgba(155, 89, 232, .18)}.app[data-ritual=color-spectrum]{--ritual-overlay: rgba(232, 67, 147, .08);--ritual-particle: #e84393;--ritual-glow: rgba(232, 67, 147, .15)}.app[data-ritual=galaxy-auroras]{--ritual-overlay: rgba(42, 232, 176, .07);--ritual-particle: #2ae8b0;--ritual-glow: rgba(42, 232, 176, .14)}.app[data-ritual=city-neon]{--ritual-overlay: rgba(232, 240, 32, .07);--ritual-particle: #e8f020;--ritual-glow: rgba(232, 240, 32, .14)}.ritual-overlay-layer{position:fixed;inset:0;background:var(--ritual-overlay, transparent);pointer-events:none!important;z-index:1;transition:background 2s ease}.ritual-glow-layer{position:fixed;inset:0;background:radial-gradient(ellipse at center,var(--ritual-glow, transparent) 0%,transparent 60%);pointer-events:none!important;z-index:1;animation:pulse-glow 6s ease-in-out infinite}*,*: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}
