*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--bg-deep:#050505;--bg-card:#141416;--bg-card-hi:#1a1a1d;--bg-elevated:#1a1a1d;--text:#f5f3ee;--text-secondary:#f5f3eeb8;--text-muted:#f5f3ee7a;--text-dim:#f5f3ee47;--accent:#c9a86a;--accent-deep:#a08644;--accent-soft:#c9a86a1f;--border:#f5f3ee0f;--border-strong:#f5f3ee1f;--border-gold:#c9a86a3d;--r-card:20px;--r-pill:999px;--font-display:"Cormorant Garamond", "GT Sectra", Georgia, serif;--font-sans:"Manrope", "Inter", "SF Pro Text", system-ui, sans-serif;--font-serif:"Cormorant Garamond", "GT Sectra", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;letter-spacing:-.005em;font-size:16px;font-weight:400;line-height:1.55}#root{max-width:430px;margin:0 auto;position:relative}::-webkit-scrollbar{width:0;height:0}*{-webkit-tap-highlight-color:transparent}@supports (padding-bottom:env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;font-weight:400;line-height:1.08}.display-xl{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text);font-size:clamp(56px,18vw,88px);font-weight:300;line-height:.96}.display-lg{font-family:var(--font-display);letter-spacing:-.018em;font-size:48px;font-weight:400;line-height:1.04}.display-md{font-family:var(--font-display);letter-spacing:-.015em;font-size:32px;font-weight:400;line-height:1.12}.label{font-family:var(--font-sans);letter-spacing:.01em;color:var(--text-muted);font-size:12px;font-weight:400}.label-sm{font-family:var(--font-sans);color:var(--text-dim);font-size:11px;font-weight:400}.italic{font-family:var(--font-serif);letter-spacing:-.005em;font-style:italic;font-weight:400}.eyebrow,.eyebrow-gold,.eyebrow-soft,.section-label,.mono-label,.mono-label-sm,.mono-label-muted{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.eyebrow-gold{color:var(--accent)}.serif-italic,.script-italic{font-family:var(--font-serif);letter-spacing:-.005em;font-style:italic;font-weight:400;line-height:1.5}.display-title{font-family:var(--font-display);letter-spacing:-.015em;font-weight:400}button{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-pill);cursor:pointer;text-transform:none;background:0 0;outline:none;padding:14px 26px;font-size:15px;font-weight:500;transition:background .18s,border-color .18s,color .18s,transform .12s}button:hover{border-color:var(--text-muted);background:#f5f3ee0a}button:active{transform:scale(.985)}button:disabled{opacity:.35;cursor:default;pointer-events:none}button:focus-visible{outline:1px solid var(--accent);outline-offset:3px}button.primary,button.accent-filled{background:var(--accent);color:#1a1208;border-color:var(--accent);font-weight:600}button.primary:hover,button.accent-filled:hover{background:#d6b677;border-color:#d6b677}button.accent{border-color:var(--border-gold);color:var(--accent)}button.accent:hover{background:var(--accent-soft);border-color:var(--accent)}button.ghost{color:var(--text-muted);border-color:#0000;padding:10px 14px}button.ghost:hover{color:var(--text);background:0 0}button.link{color:var(--text-secondary);border:none;padding:10px 12px;font-size:14px;font-weight:400}button.link:hover{color:var(--text);background:0 0}input,select,textarea{font-family:var(--font-sans);color:var(--text);border:none;border-bottom:1px solid var(--border-strong);background:0 0;outline:none;width:100%;padding:10px 0;font-size:16px;font-weight:400;transition:border-color .18s}input:focus,select:focus,textarea:focus{border-bottom-color:var(--accent)}input::placeholder{color:var(--text-dim)}.screen{height:100%;padding:0 24px;overflow:auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-card);padding:24px;position:relative}.card-hi{background:var(--bg-card-hi);border:1px solid var(--border);border-radius:var(--r-card);padding:24px;position:relative}.card-bordered{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-card);padding:18px 22px}.rule{background:var(--border-strong);height:1px}.rule-soft{background:var(--border);height:1px}.avatar-sm{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:36px;height:36px}.avatar-md{object-fit:cover;border:1px solid var(--border-gold);border-radius:50%;width:44px;height:44px}.divider{border-top:1px solid var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSlow{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-4px)}}.fade-in{animation:.6s cubic-bezier(.18,.9,.3,1.02) forwards fadeIn}.fade-in-slow{animation:1s forwards fadeInSlow}.fade-in-delay-1{opacity:0;animation-delay:.1s}.fade-in-delay-2{opacity:0;animation-delay:.22s}.fade-in-delay-3{opacity:0;animation-delay:.34s}.fade-in-delay-4{opacity:0;animation-delay:.46s}.fade-in-delay-5{opacity:0;animation-delay:.58s}.screen-enter{animation:.35s forwards fadeIn}@keyframes cardRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rise-1{animation:.55s cubic-bezier(.18,.9,.3,1.02) .1s both cardRise}.rise-2{animation:.55s cubic-bezier(.18,.9,.3,1.02) .22s both cardRise}.rise-3{animation:.55s cubic-bezier(.18,.9,.3,1.02) .34s both cardRise}.rise-4{animation:.55s cubic-bezier(.18,.9,.3,1.02) .46s both cardRise}.rise-5{animation:.55s cubic-bezier(.18,.9,.3,1.02) .58s both cardRise}.dot-row{justify-content:center;align-items:center;gap:6px;display:flex}.dot-row .dot{background:var(--text-dim);border-radius:50%;width:5px;height:5px;transition:all .25s}.dot-row .dot.active{background:var(--accent);border-radius:3px;width:22px}.tappable{cursor:pointer;transition:background .18s,border-color .18s,transform .12s}.tappable:active{transform:scale(.992)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(100%)}60%{opacity:1;transform:translate(-50%)translateY(-2%)}to{transform:translate(-50%)translateY(0)}}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.pw-star{animation:.4s .15s both fadeIn}.pw-title{animation:.4s .25s both fadeIn}.pw-sub{animation:.4s .35s both fadeIn}.pw-anchor{animation:.4s .45s both fadeIn}.pw-plans{animation:.4s .5s both fadeIn}.pw-includes{animation:.4s .6s both fadeIn}.pw-proof{animation:.4s .7s both fadeIn}.pw-cta{animation:.4s .8s both fadeIn}.pw-micro{animation:.4s .9s both fadeIn}@keyframes planSelect{0%{box-shadow:0 0 #c9a86a66}70%{box-shadow:0 0 0 6px #c9a86a00}to{box-shadow:0 0 #c9a86a00}}.plan-card-active{animation:.5s planSelect}.intent-card:first-child{animation:.4s 50ms both fadeIn}.intent-card:nth-child(2){animation:.4s .12s both fadeIn}.intent-card:nth-child(3){animation:.4s .19s both fadeIn}.intent-card:nth-child(4){animation:.4s .26s both fadeIn}@keyframes starPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.star-icon{animation:4s ease-in-out infinite starPulse}@keyframes onlinePulse{0%,to{transform:scale(1);box-shadow:0 0 #4ade8099}50%{transform:scale(1.1);box-shadow:0 0 0 4px #4ade8000}}.online-dot{animation:2.5s ease-in-out infinite onlinePulse}@keyframes fillBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.progress-fill{transform-origin:0;animation:.5s cubic-bezier(.4,0,.2,1) forwards fillBar}.big-three-line:first-child{animation:.6s .1s both fadeIn}.big-three-line:nth-child(2){animation:.6s .4s both fadeIn}.big-three-line:nth-child(3){animation:.6s .7s both fadeIn}.big-three-rarity{animation:.6s 1.1s both fadeIn}.big-three-summary{animation:.6s 1.3s both fadeIn}.stella-intro{animation:.6s 1.5s both fadeIn}.stella-quote{animation:.6s 1.7s both fadeIn}.btn-forecast{animation:.6s 2s both fadeIn}.typing-dot{background:#c9a86a99;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typingBounce;display:inline-block}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes barGrow{0%{width:0%}}.score-bar-fill{animation:.8s cubic-bezier(.4,0,.2,1) both barGrow}@keyframes feedbackFade{0%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.ob-step{animation:.5s cubic-bezier(.16,1,.3,1) forwards obStepIn}.ob-star{animation:.4s 50ms both fadeIn}.ob-title{animation:.4s .15s both fadeIn}.ob-sub{animation:.4s .25s both fadeIn}.ob-input{animation:.4s .35s both fadeIn}.ob-field-2{animation:.4s .45s both fadeIn}.ob-actions{animation:.4s .5s both fadeIn}.ob-progress{animation:.3s 50ms both fadeIn}@keyframes obStepIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.question-card{border-radius:var(--r-card)!important;transition:transform .2s,background .2s,border-color .2s!important}.question-card:hover{transform:translate(4px);background:var(--accent-soft)!important;border-color:var(--border-gold)!important}@keyframes shimmer{0%{left:-60%}60%,to{left:110%}}.chat-container{flex-direction:column;height:100%;display:flex}.chat-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:16px 20px;display:flex}.chat-messages{flex:1;padding:20px 20px 0;overflow:auto}.chat-input-bar{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 20px 20px;display:flex}.msg-user{background:var(--bg-card-hi);color:var(--text);white-space:pre-line;border-radius:18px;max-width:85%;padding:12px 16px;font-size:14.5px;line-height:1.55}.msg-assistant{color:var(--text-secondary);max-width:85%;font-family:var(--font-sans);white-space:pre-line;border-left:1px solid var(--border-gold);background:0 0;padding:12px 0 12px 14px;font-size:16px;font-style:italic;font-weight:350;line-height:1.6}.stat-number{font-family:var(--font-display);color:var(--accent);letter-spacing:-.02em;font-size:26px;font-weight:300}.screen-header{padding:20px 0 8px}.screen-title{font-family:var(--font-display);letter-spacing:-.025em;margin-top:4px;font-size:34px;font-weight:300}
