/* Vibe v2 Ritual, visual-only layer. Existing element IDs and handlers remain. */
:root{--bg:#05070f;--panel:#0b1020;--gold:#d8b46a;--gold2:#fff8e0;--ivory:#e9ecf5;--muted:#8b93a7;--line:#1c2438}
@keyframes vibeTwinkle{0%,100%{opacity:.15;transform:scale(1)}50%{opacity:.9;transform:scale(1.4)}}
@keyframes vibeDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3vw,-2vh) scale(1.08)}}
@keyframes vibeRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes vibeShimmer{from{background-position:-200% 0}to{background-position:200% 0}}
@keyframes vibeOrbit{to{transform:rotate(360deg)}}
@keyframes vibeConverge{from{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}to{transform:translate(0,0) scale(1);opacity:1}}
@keyframes vibeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
body{background:#05070f;color:#e9ecf5}
.vibe-sky{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.vibe-sky:before,.vibe-sky:after{content:"";position:absolute;inset:-15%;background:radial-gradient(45% 31% at 20% 17%,rgba(90,120,200,.16),transparent),radial-gradient(39% 30% at 82% 63%,rgba(160,110,190,.12),transparent);animation:vibeDrift 18s ease-in-out infinite}
.vibe-sky:after{background:radial-gradient(40% 30% at 58% 79%,rgba(216,180,106,.10),transparent);animation-duration:26s;animation-direction:reverse}
.vibe-star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:vibeTwinkle var(--dur,4s) ease-in-out infinite;animation-delay:var(--delay,0s)}
.vibe-star:nth-child(9n){width:3px;height:3px;box-shadow:0 0 8px #fff}
#intro.hero-stage.wonhyo-v2{background:radial-gradient(ellipse at 50% -20%,#101830,#05070f 60%)!important;isolation:isolate;min-height:720px;justify-content:center!important;padding:105px 25px 75px!important}
#intro .wonhyo-scene{opacity:.12;filter:grayscale(1);mix-blend-mode:screen}
#intro .hero-nav,#intro .hero-copy,#intro .hero-action,#intro .feature-strip,#intro .philosophy{position:relative;z-index:3}
#intro .hero-copy{animation:vibeRise 1.2s ease both;margin-top:40px}
#intro .hero-copy h1{font-size:clamp(36px,5.2vw,74px)!important;line-height:1.16!important;letter-spacing:-.03em!important}
#intro .hero-copy h1 em{display:block;color:#e9ecf5}
#intro .hero-copy h1 span{display:block;color:transparent!important;font-style:italic;font-weight:400;background:linear-gradient(95deg,#d8b46a 20%,#fff8e0 50%,#d8b46a 78%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:vibeShimmer 4s linear infinite}
#intro .mystery-line{color:#d8b46a!important;letter-spacing:.19em;font-size:11px!important}
#intro .journey-line{color:#8b93a7!important;font-size:13px!important}
#intro #startBtn{background:#d8b46a!important;color:#05070f!important;border-radius:11px!important;box-shadow:0 0 25px rgba(216,180,106,.3)!important}
#intro .feature-strip{gap:12px!important;flex-wrap:wrap!important}
#intro .feature-strip>div{background:rgba(11,16,32,.48)!important;border:1px solid #1c2438!important;border-radius:12px!important;padding:12px!important}
#intro .feature-strip strong{color:#8b93a7!important}
.vibe-orbit{position:absolute;right:12%;top:17%;width:190px;height:190px;z-index:2;pointer-events:none;opacity:.65;border:1px solid rgba(216,180,106,.18);border-radius:50%;animation:vibeOrbit 60s linear infinite}
.vibe-orbit:before{content:"";position:absolute;inset:26px;border:1px solid rgba(216,180,106,.12);border-radius:50%}
.vibe-polaris{position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 15px 7px rgba(216,180,106,.36),0 0 40px rgba(216,180,106,.3)}
#quiz.luxury-quiz{background:radial-gradient(ellipse at 50% 0%,#101830,#05070f 72%)!important;border-color:#1c2438!important;max-width:820px!important}
#quiz #question{color:#e9ecf5!important;text-shadow:0 0 40px rgba(216,180,106,.20);font-size:clamp(27px,3.4vw,40px)!important}
#quiz .answer{border:1px solid #273048!important;background:rgba(11,16,32,.65)!important;color:#d7dce9!important;border-radius:12px!important;box-shadow:none!important}
#quiz .answer:hover,#quiz .answer.is-chosen{border-color:#d8b46a!important;background:rgba(216,180,106,.09)!important;box-shadow:0 0 22px rgba(216,180,106,.12)!important}
#quiz .progress{display:none!important}
.vibe-progress{display:flex;gap:9px;align-items:center;justify-content:center;margin:0 0 35px}
.vibe-progress i{width:6px;height:6px;background:#1c2438;border-radius:50%;flex:none}
.vibe-progress i.is-lit{background:#d8b46a;box-shadow:0 0 10px rgba(216,180,106,.7)}
.vibe-progress i.is-current{width:9px;height:9px;background:#fff;box-shadow:0 0 17px rgba(216,180,106,.95)}
.vibe-progress small{margin-left:12px;color:#8b93a7;font-size:10px}
#reveal.reveal-stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#131c33,#05070f 70%)!important}
.vibe-convergence{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.vibe-ray{position:absolute;left:50%;top:48%;width:7px;height:7px;background:#d8b46a;border-radius:50%;box-shadow:0 0 10px rgba(216,180,106,.8);animation:vibeConverge 1.6s cubic-bezier(.2,.8,.3,1) var(--delay) both}
#reveal .reveal-card{position:relative;animation:vibeRise 1.3s ease .6s both,vibeFloat 5s ease 2s infinite;filter:drop-shadow(0 0 40px rgba(216,180,106,.3))}
#result .card,#resultCard{border-color:rgba(216,180,106,.42)!important;box-shadow:0 0 55px rgba(216,180,106,.16),0 25px 75px rgba(0,0,0,.5)!important}
#result .panel{border-color:rgba(216,180,106,.18)!important}
.account-gate{background:radial-gradient(45% 35% at 20% 15%,rgba(90,120,200,.16),transparent),radial-gradient(40% 30% at 80% 70%,rgba(160,110,190,.11),transparent),#05070f!important}
@media(max-width:700px){#intro.hero-stage.wonhyo-v2{padding:120px 18px 52px!important;min-height:100svh}.vibe-orbit{width:100px;height:100px;top:13%;right:7%;opacity:.45}#intro .hero-copy h1{font-size:clamp(31px,8vw,46px)!important}.vibe-progress{gap:7px}#quiz .answer{padding:14px 40px 14px 50px!important}}
@media(prefers-reduced-motion:reduce){.vibe-sky:before,.vibe-sky:after,.vibe-star,.vibe-orbit,#intro .hero-copy h1 span,.vibe-ray,#reveal .reveal-card{animation:none!important}}
