:root{--gold-deep:#c9a24b;--gold:#b8901f;--gold-bright:#d4af37;--gold-light:#e8c77a;--gold-pale:#f4e5b9;--cream:#f4eddf;--cream-warm:#e9dfc8;--ink:#100c20;--ink-soft:#b3a9c4;--rose:#e09880;--night:#0b0818;--veil:rgba(28,22,52,.55);--hairline:rgba(212,175,55,.28);--flicker:1;--ease-settle:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:radial-gradient(ellipse at top,#1c1536 0,#0b0818 62%,#070512 100%) fixed;min-height:100vh;color:var(--cream);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}body{padding:40px 24px 80px;display:flex;flex-direction:column;align-items:center}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-repeat:repeat}body:before{background-image:radial-gradient(1px 1px at 24px 38px,hsla(40,49%,92%,.85) 50%,transparent 51%),radial-gradient(1px 1px at 152px 92px,hsla(40,49%,92%,.5) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 268px 154px,rgba(212,175,55,.65) 50%,transparent 51%),radial-gradient(1px 1px at 92px 208px,hsla(40,49%,92%,.55) 50%,transparent 51%),radial-gradient(1px 1px at 318px 52px,hsla(40,49%,92%,.35) 50%,transparent 51%),radial-gradient(1px 1px at 196px 264px,rgba(179,169,196,.6) 50%,transparent 51%);background-size:380px 300px;opacity:.45;animation:twinkle 8s ease-in-out infinite alternate}body:after{background-image:radial-gradient(1px 1px at 66px 122px,hsla(40,49%,92%,.45) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 244px 214px,hsla(40,49%,92%,.6) 50%,transparent 51%),radial-gradient(1px 1px at 332px 284px,rgba(212,175,55,.45) 50%,transparent 51%),radial-gradient(1px 1px at 128px 324px,hsla(40,49%,92%,.4) 50%,transparent 51%);background-size:420px 380px;opacity:.3;animation:twinkle 11s ease-in-out infinite alternate-reverse}@keyframes twinkle{0%{opacity:.2}to{opacity:.55}}@media (prefers-reduced-motion:reduce){body:after,body:before{animation:none}}.stage{position:relative;z-index:1;width:100%;max-width:680px;animation:fadeIn .6s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:500;letter-spacing:.01em;color:var(--cream)}h1{font-size:46px;line-height:1.08}h2{font-size:30px;line-height:1.2;margin-bottom:12px}p{font-size:16px;line-height:1.55;color:var(--ink-soft)}p.lede{font-size:18px}.welcome-card{text-align:center;padding:56px 30px 40px}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin-bottom:26px}.ornament .line{height:1px;width:60px;background:linear-gradient(90deg,transparent,var(--gold))}.ornament .line.r{background:linear-gradient(90deg,var(--gold),transparent)}.ornament svg{width:22px;height:22px;filter:drop-shadow(0 0 calc(7px * var(--flicker, 1)) rgba(212,175,55,.55))}.welcome-card .kicker{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:18px}.welcome-card p.lede{max-width:540px;margin:22px auto 14px}.welcome-note{font-size:13px;color:var(--ink-soft);font-style:italic;margin-bottom:34px;opacity:.85}.btn{position:relative;display:inline-block;padding:15px 38px;background:linear-gradient(180deg,var(--gold-bright) 0,var(--gold) 100%);color:#1a1206;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:box-shadow .2s ease,background .2s ease,opacity .2s ease,transform .4s var(--ease-settle);box-shadow:0 4px calc(18px * var(--flicker, 1)) rgba(212,175,55,.25)}.btn:hover{box-shadow:0 6px calc(30px * var(--flicker, 1)) rgba(212,175,55,.45)}.btn.ghost{background:transparent;color:var(--gold-light);border:1px solid var(--gold);box-shadow:none}.btn.ghost:hover{background:rgba(212,175,55,.1)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.progress-wrap{margin-bottom:30px}.progress-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.progress-chapter{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep)}.progress-count{font-size:11px;letter-spacing:.14em;color:var(--ink-soft);opacity:.7}.progress-track{height:2px;background:hsla(40,49%,92%,.12);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transition:width .4s ease;box-shadow:0 0 calc(9px * var(--flicker, 1)) rgba(212,175,55,.6)}.question-card{background:var(--veil);border:1px solid var(--hairline);border-radius:4px;padding:46px 44px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.q-prompt{font-family:Cormorant Garamond,serif;font-size:27px;line-height:1.25;margin-bottom:8px;color:var(--cream)}.q-helper{font-size:14px;color:var(--ink-soft);font-style:italic;margin-bottom:26px}.q-input{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid var(--gold);font-family:Cormorant Garamond,serif;font-size:22px;color:var(--cream);outline:none;transition:border-color .2s ease}.q-input:focus{border-bottom-color:var(--gold-light)}.q-input::placeholder{color:hsla(40,49%,92%,.32);font-style:italic}textarea.q-input{border:1px solid rgba(212,175,55,.45);padding:14px 16px;border-radius:2px;resize:none;min-height:92px;font-size:18px;line-height:1.5;background:hsla(0,0%,100%,.03)}.followup{margin-top:16px}.options{display:grid;grid-gap:10px;gap:10px}.options.cols-2{grid-template-columns:repeat(2,1fr)}.options.cols-3{grid-template-columns:repeat(3,1fr)}.options.cols-4{grid-template-columns:repeat(4,1fr)}.option{padding:16px 14px;background:hsla(0,0%,100%,.04);border:1px solid rgba(212,175,55,.2);border-radius:2px;cursor:pointer;text-align:center;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.option:hover{border-color:var(--gold);background:rgba(212,175,55,.08)}.option.selected{border-color:var(--gold-bright);background:linear-gradient(180deg,rgba(212,175,55,.22),rgba(139,106,31,.28));box-shadow:inset 0 0 0 1px var(--gold),0 0 14px rgba(212,175,55,.15)}.option .o-symbol{font-size:26px;color:var(--gold-light);margin-bottom:6px;display:block;line-height:1}.option .o-label{font-size:13px;color:var(--cream);font-weight:500;display:block}.multi-hint{font-size:12px;color:var(--ink-soft);font-style:italic;margin-top:12px;text-align:center;opacity:.7}.nav-row{justify-content:space-between;margin-top:32px}.nav-actions,.nav-row{display:flex;align-items:center}.nav-actions{gap:18px}.back,.skip{background:none;border:none;cursor:pointer;text-transform:uppercase;padding:8px 0}.back{color:var(--ink-soft);font-size:12px;letter-spacing:.12em}.back:hover{color:var(--cream)}.back.invisible{visibility:hidden}.skip{color:var(--ink-soft);font-size:11px;letter-spacing:.14em;padding:8px 4px;opacity:.55;transition:opacity .2s}.skip:hover{opacity:1;color:var(--gold-light)}.gate-card{text-align:center;padding:56px 44px;background:var(--veil);border:1px solid var(--hairline);border-radius:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gate-card .seal{font-size:40px;color:var(--gold);margin-bottom:18px;text-shadow:0 0 calc(20px * var(--flicker, 1)) rgba(212,175,55,.5);animation:orbBreathe 6s ease-in-out infinite}.gate-card h2{font-size:34px}.gate-card p{max-width:460px;margin:12px auto 28px}.email-input{width:100%;max-width:420px;margin:0 auto 8px;display:block;padding:16px 18px;border:1px solid rgba(212,175,55,.5);border-radius:2px;background:hsla(0,0%,100%,.05);font-family:Cormorant Garamond,serif;font-size:20px;color:var(--cream);text-align:center;outline:none}.email-input:focus{border-color:var(--gold-light)}.email-input::placeholder{color:hsla(40,49%,92%,.32)}.email-error{color:var(--rose);font-size:13px;min-height:18px;margin-bottom:14px}.consent{font-size:12px;color:var(--ink-soft);max-width:420px;margin:18px auto 0;opacity:.75;line-height:1.5}.result-stage{max-width:760px}.ring-frame{position:relative;width:100%;max-width:540px;aspect-ratio:1/1;margin:0 auto 26px;border-radius:4px;background:linear-gradient(135deg,#1e1738,#0e0a1f);overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 40px rgba(212,175,55,.08),inset 0 0 0 1px rgba(212,175,55,.35)}.ring-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}.ring-image.loaded{opacity:1}.ring-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold-light);text-align:center;padding:30px;transition:opacity .6s ease}.ring-loader.done{opacity:0;pointer-events:none}.loader-ornament{width:58px;height:58px;border:1px solid rgba(212,175,55,.25);border-top:1px solid var(--gold-bright);border-radius:50%;animation:spin 1.6s linear infinite;margin-bottom:18px;position:relative}.loader-ornament:before{content:"";position:absolute;inset:6px;border:1px solid rgba(212,175,55,.15);border-bottom:1px solid var(--gold);border-radius:50%;animation:spin 2.4s linear infinite reverse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.loader-title{font-family:Cormorant Garamond,serif;font-size:22px;color:var(--cream);margin-bottom:6px}.loader-sub{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);opacity:.8}.loader-substep{font-family:Cormorant Garamond,serif;font-style:italic;font-size:14px;color:var(--ink-soft);margin-top:12px;min-height:22px;transition:opacity .25s}.quote-block{text-align:center;margin:6px auto 30px;max-width:560px}.quote-block .q-mark{font-family:Cormorant Garamond,serif;font-size:60px;color:var(--gold);line-height:.5;opacity:.5}.quote-block .quote-text{font-family:Cormorant Garamond,serif;font-style:italic;font-size:27px;line-height:1.32;color:var(--cream);margin:10px 0 14px}.quote-block .quote-author{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}.quote-block .mantra{margin-top:20px;font-size:14px;color:var(--ink-soft)}.quote-block .mantra em{font-family:Cormorant Garamond,serif;font-size:18px;color:var(--cream)}.ring-toolbar{display:flex;gap:10px;justify-content:center;margin:0 0 30px;flex-wrap:wrap}.tool-btn{position:relative;background:hsla(0,0%,100%,.05);border:1px solid rgba(212,175,55,.35);color:var(--cream);padding:9px 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.tool-btn:hover{background:rgba(212,175,55,.15);border-color:var(--gold-bright)}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.brief{background:var(--veil);border:1px solid var(--hairline);border-radius:4px;padding:36px 40px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brief,.brief h2{margin-bottom:22px}.brief h2{text-align:center}.brief-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px 28px;gap:18px 28px}.brief-item .label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:4px}.brief-item .value{font-family:Cormorant Garamond,serif;font-size:18px;color:var(--cream);line-height:1.3}.pietra{text-align:center;background:linear-gradient(180deg,#1f1842,#131027);color:var(--cream);border:1px solid var(--hairline);border-radius:4px;padding:32px 36px;margin-bottom:22px}.pietra h3{font-family:Cormorant Garamond,serif;font-size:24px;color:var(--gold-pale);margin-bottom:8px}.pietra p{color:hsla(40,49%,92%,.8);font-size:14px;max-width:440px;margin:0 auto 18px}.pietra .btn{background:linear-gradient(180deg,var(--gold-bright),var(--gold))}.prompt-toggle{background:none;border:none;color:var(--ink-soft);font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;padding:12px 0;margin:0 auto;display:block;opacity:.6}.prompt-toggle:hover{opacity:1;color:var(--gold-light)}.prompt-box{background:#05040f;color:var(--cream);border:1px solid rgba(212,175,55,.18);border-radius:4px;max-height:0;overflow:hidden;transition:max-height .5s ease}.prompt-box.open{max-height:500px;padding:22px 26px;margin-bottom:18px}.prompt-box .text{font-size:12px;line-height:1.6;color:hsla(40,49%,92%,.82)}.actions-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}.credit{text-align:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);opacity:.4;margin-top:26px}.symbol-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.symbol-card{padding:14px 8px;background:hsla(0,0%,100%,.04);border:1px solid rgba(212,175,55,.2);border-radius:2px;cursor:pointer;text-align:center;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;gap:5px}.symbol-card:hover{border-color:var(--gold);background:rgba(212,175,55,.08)}.symbol-card.selected{border-color:var(--gold-bright);background:linear-gradient(180deg,rgba(212,175,55,.22),rgba(139,106,31,.28));box-shadow:inset 0 0 0 1px var(--gold),0 0 14px rgba(212,175,55,.15)}.sym-emoji{font-size:22px;line-height:1}.sym-label{font-size:11px;font-weight:500;color:var(--cream);line-height:1.2}.sym-meaning{font-size:10px;color:var(--gold-deep);font-style:italic;line-height:1.2}.oracle-dust{inset:0;width:100%;height:100%}.oracle-dust,.oracle-glow{position:fixed;z-index:0;pointer-events:none}.oracle-glow{top:0;left:0;width:600px;height:600px;mix-blend-mode:screen;background:radial-gradient(circle,rgba(212,175,55,.1) 0,rgba(212,175,55,.035) 42%,transparent 66%);opacity:0;transition:opacity 1.2s ease;will-change:transform,opacity}.oracle-ripple{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:1px solid var(--gold-bright);pointer-events:none;z-index:4;animation:oracleRipple .9s ease-out forwards}@keyframes oracleRipple{to{transform:scale(22);opacity:0}}.option,.symbol-card{position:relative;transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .6s var(--ease-settle);will-change:transform}.option[data-tilting=true],.symbol-card[data-tilting=true]{transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .1s ease-out}.option:after,.symbol-card:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:radial-gradient(60% 60% at var(--mx,50%) var(--my,50%),rgba(212,175,55,.2),transparent 72%);opacity:0;mix-blend-mode:screen;transition:opacity .35s ease}.option:hover:after,.symbol-card:hover:after{opacity:1}.option>*,.symbol-card>*{position:relative;z-index:2}.option.selected,.symbol-card.selected{animation:selectBloom .55s var(--ease-settle)}@keyframes selectBloom{40%{box-shadow:inset 0 0 0 1px var(--gold-bright),0 0 26px rgba(212,175,55,.5)}}.ornament svg{animation:orbBreathe 6s ease-in-out infinite}@keyframes orbBreathe{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:1}}@media (prefers-reduced-motion:reduce){.oracle-dust,.oracle-glow{display:none}.option,.symbol-card{transform:none!important}.option:after,.oracle-ripple,.symbol-card:after{display:none}.gate-card .seal,.option.selected,.ornament svg,.symbol-card.selected{animation:none}}@media (hover:none),(pointer:coarse){.option,.symbol-card{transform:none;will-change:auto}}@media (max-width:640px){body{padding:24px 16px 60px}.gate-card,.question-card{padding:32px 24px}.brief{padding:28px 22px}.brief-grid{grid-template-columns:1fr;gap:14px}h1{font-size:36px}.q-prompt,.quote-block .quote-text{font-size:22px}.options.cols-3,.options.cols-4,.symbol-grid{grid-template-columns:repeat(2,1fr)}}