:root{color-scheme:light;--background:#f5f5f2;--foreground:#20201d;--muted:#68665f;--panel:#ffffff;--panel-soft:#fafaf7;--border:#dedbd2;--border-strong:#c7c2b8;--accent:#1f6f62;--accent-dark:#15564b;--danger:#b42318;--success:#176b45;--shadow:0 16px 42px rgb(32 32 29/8%);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}body,html{min-height:100%;min-height:100vh;min-height:100dvh;margin:0}.xhs-disclosure{position:relative;z-index:20;display:flex;min-height:44px;align-items:center;justify-content:center;gap:12px;padding:9px max(14px,var(--safe-area-right)) 9px max(14px,var(--safe-area-left));background:#241640;color:#f6f0df;font-size:.82rem;line-height:1.45;text-align:center}.xhs-disclosure a{flex:0 0 auto;color:#f2cf83;font-weight:700;text-underline-offset:3px}.wechat-disclosure{position:relative;z-index:20;display:flex;min-height:44px;align-items:center;justify-content:center;gap:12px;padding:9px max(14px,var(--safe-area-right)) 9px max(14px,var(--safe-area-left));background:#123d3b;color:#f6f0df;font-size:.82rem;line-height:1.45;text-align:center}.wechat-disclosure a{flex:0 0 auto;color:#f2cf83;font-weight:700;text-underline-offset:3px}.policy-shell{display:grid;width:min(100%,840px);align-content:start}.policy-panel{padding:clamp(24px,5vw,48px)}.policy-panel h1,.policy-panel h2{text-wrap:balance}.policy-panel h2{margin:28px 0 8px;font-size:1.15rem}.policy-panel p{max-width:65ch;margin:10px 0;line-height:1.8;text-wrap:pretty}.policy-note{color:var(--muted);font-size:.88rem}.policy-back{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin-top:24px;text-decoration:none}.is-xhs-miniapp .shell{padding-top:16px}@media (max-width:560px){.wechat-disclosure,.xhs-disclosure{align-items:flex-start;flex-direction:column;gap:4px;text-align:left}}body{min-width:0;background:linear-gradient(180deg,rgb(255 255 255/60%),rgb(245 245 242/0) 280px),var(--background);color:var(--foreground);font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed}.shell{width:min(100%,1480px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:32px 16px}.site-footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:4px 20px;padding:0 16px calc(20px + var(--safe-area-bottom));color:var(--muted);font-size:.76rem;line-height:1.5;text-align:center}.site-footer,.site-footer a{align-items:center;justify-content:center}.site-footer a{display:inline-flex;gap:6px;min-height:44px;max-width:100%;color:inherit;text-underline-offset:3px}.site-footer a img{flex:0 0 20px}.site-footer a span{overflow-wrap:anywhere}.site-footer a:focus-visible{outline:2px solid currentColor;outline-offset:3px}.site-footer a:focus-visible,.site-footer a:hover{color:var(--accent-dark)}.auth-shell{display:grid;width:min(100%,720px);min-height:100vh;min-height:100dvh;place-items:center}.demo-shell{display:grid;align-content:start;grid-gap:20px;gap:20px}.panel{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.social-page{display:grid;grid-gap:18px;gap:18px}.social-actions,.social-card-chips,.social-intro,.social-player,.social-section-title,.social-tabs,.social-topic-picker{display:flex;align-items:center}.social-intro,.social-player,.social-section-title{justify-content:space-between;gap:16px}.social-action-panel>p,.social-bottle-compose>p,.social-bottle-receive>p,.social-intro p,.social-section-title p{margin:7px 0 0;color:var(--muted);line-height:1.65}.social-coins{flex:0 0 auto;border:1px solid #d9c389;border-radius:999px;padding:8px 12px;background:#fff9e7;color:#785b12;font-size:.9rem;font-weight:700}.social-actions,.social-card-chips,.social-tabs,.social-topic-picker{flex-wrap:wrap;gap:8px}.social-tab{display:inline-flex;min-height:38px;align-items:center;gap:7px;border:1px solid var(--border);border-radius:6px;padding:0 12px;background:var(--panel);color:#45433e;font-size:.9rem;font-weight:700}.social-tab svg{width:16px;height:16px}.social-tab.is-active{border-color:var(--accent);background:#eaf5f1;color:var(--accent-dark)}.social-status{margin:0;border-left:3px solid var(--accent);padding:8px 11px;background:#eef7f4;color:var(--accent-dark);font-size:.9rem}.social-empty{padding:26px;color:var(--muted);text-align:center}.social-empty-action{display:grid;grid-gap:12px;gap:12px;justify-items:center}.social-empty-action p{margin:0}.social-empty-action .secondary-button{display:inline-flex;align-items:center;gap:6px}.social-player-list,.social-record-list{display:grid;grid-gap:10px;gap:10px}.social-section-title h3{margin:0}.social-section-title>span{color:var(--muted);font-size:.86rem;white-space:nowrap}.social-player{min-height:76px;padding:14px 16px}.social-avatar{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:50%;background:#1f6f62;color:#fff;font-weight:800}.social-player-copy{display:grid;min-width:120px;grid-gap:4px;gap:4px;margin-right:auto}.social-player-copy span{color:var(--muted);font-size:.84rem}.social-actions{justify-content:flex-end}.gold-button,.link-button,.secondary-button{border-radius:6px;font-weight:700}.secondary-button{min-height:38px;border:1px solid var(--border-strong);padding:0 12px;background:#fff;color:#48453f}.secondary-button:hover{border-color:var(--accent);color:var(--accent-dark)}.gold-button{min-height:38px;border:1px solid #b68a1d;padding:0 12px;background:#c9921c;color:#fff}.link-button{border:0;padding:7px 0;background:transparent;color:var(--accent);text-decoration:underline}.social-bottle-layout,.social-record-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start;grid-gap:18px;gap:18px}.social-action-panel,.social-bottle-compose,.social-bottle-receive{display:grid;grid-gap:14px;gap:14px;padding:20px}.social-action-panel h3,.social-bottle-compose h3,.social-bottle-receive h3{margin:0}.social-action-panel input,.social-bottle-compose textarea{width:100%;border:1px solid var(--border-strong);border-radius:6px;padding:10px;background:#fff;color:var(--foreground)}.social-bottle-compose textarea{resize:vertical}.social-topic-picker button{border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:#fff;color:var(--muted);font-size:.8rem}.social-topic-picker button.is-active{border-color:var(--accent);background:#eef7f4;color:var(--accent-dark)}.social-record{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;width:100%;padding:14px 16px;text-align:left}.social-record:hover{border-color:var(--accent)}.social-record>span{color:var(--accent);font-size:.82rem;font-weight:700}.social-record>small{color:var(--muted);font-size:.76rem}.social-bottle-receive{min-height:270px;background:linear-gradient(135deg,#f2faf8,#fff)}.social-bottle-receive blockquote{margin:0;border-left:3px solid var(--accent);padding:9px 13px;color:#36342f;font-size:1.02rem;line-height:1.7}.social-bottle-rules{border-radius:6px;padding:11px;background:#f7f4ed;font-size:.88rem}.social-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgb(20 24 23/52%)}.social-result-dialog{position:relative;width:min(680px,100%);max-height:min(760px,88vh);overflow:auto;padding:25px}.social-dialog-close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:var(--muted);font-size:1.5rem}.social-card-chips{margin:15px 0}.social-card-chips span{border-radius:999px;padding:6px 9px;background:#eef7f4;color:var(--accent-dark);font-size:.8rem}.social-result-text{margin:0;white-space:pre-wrap;color:#3c3a34;line-height:1.8}.capsule-page{display:grid;grid-gap:18px;gap:18px}.capsule-card-main,.capsule-card-meta,.capsule-detail-head,.capsule-intro{display:flex;align-items:center;justify-content:space-between;gap:16px}.capsule-card-main p,.capsule-intro>div p{margin:6px 0 0;color:var(--muted);line-height:1.65}.capsule-intro>svg{width:38px;height:38px;color:var(--accent)}.capsule-empty{padding:34px;text-align:center;color:var(--muted)}.capsule-timeline{width:min(100%,820px)}.capsule-entry{display:grid;grid-template-columns:54px minmax(0,1fr);min-height:136px}.capsule-track{display:flex;flex-direction:column;align-items:center}.capsule-track span{z-index:1;display:grid;width:38px;height:38px;place-items:center;border:2px solid var(--accent);border-radius:50%;background:#fff;color:var(--accent);box-shadow:0 0 0 5px #eef7f4}.capsule-track svg{width:17px;height:17px}.capsule-track i{width:2px;flex:1 1;background:linear-gradient(var(--accent),transparent)}.capsule-card{width:100%;margin-bottom:18px;padding:16px 18px;text-align:left}.capsule-card:hover{border-color:var(--accent);transform:translateX(3px)}.capsule-card small,.capsule-card-meta span{color:var(--accent-dark);font-size:.8rem;font-weight:700}.capsule-card-meta time,.capsule-detail time{color:var(--muted);font-size:.76rem}.capsule-card-main{margin:9px 0}.capsule-card-main strong{font-size:1rem}.capsule-detail-person,.capsule-person{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.capsule-detail-person b,.capsule-person b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--accent);color:#fff}.capsule-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgb(20 24 23/55%)}.capsule-modal-theme{display:contents}.capsule-detail{width:min(690px,100%);overflow:hidden;padding:0}.capsule-detail-scroll{max-height:84vh;max-height:84dvh;overflow:auto;overscroll-behavior:contain;padding:24px}.capsule-detail h3{margin:0}.capsule-detail-person{margin:14px 0}.capsule-card-list{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.capsule-card-list span{border-radius:999px;padding:6px 9px;background:#eef7f4;color:var(--accent-dark);font-size:.8rem}.capsule-follow-ups h4,.capsule-reading-section h4{margin:0 0 10px;font-size:.9rem}.capsule-follow-up-answer,.capsule-reading{margin:0;white-space:pre-wrap;color:#3c3a34;line-height:1.85;overflow-wrap:anywhere}.capsule-follow-ups{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}.capsule-follow-up{display:grid;grid-gap:10px;gap:10px}.capsule-follow-up+.capsule-follow-up{margin-top:20px;border-top:1px solid var(--border);padding-top:20px}.capsule-follow-up-question{display:grid;grid-gap:5px;gap:5px;margin:0;color:var(--foreground);font-weight:700;line-height:1.7;overflow-wrap:anywhere}.capsule-follow-up-question span{color:var(--accent-dark);font-size:.76rem}@media (max-width:760px){.social-intro,.social-player{align-items:flex-start;flex-direction:column}.social-coins{align-self:flex-start}.social-actions{justify-content:flex-start}.social-bottle-layout,.social-record-layout{grid-template-columns:1fr}.social-record{grid-template-columns:52px minmax(0,1fr)}.social-record>small{grid-column:2}.capsule-card-main,.capsule-intro{align-items:flex-start;flex-direction:column}.capsule-entry{grid-template-columns:45px minmax(0,1fr)}}.auth-panel{width:min(100%,520px);padding:clamp(24px,5vw,40px)}.registration-form{margin-top:24px}.registration-birth-grid{display:grid;grid-template-columns:minmax(0,1fr) 132px;grid-gap:12px;gap:12px}.registration-gender{min-width:0;margin:0;border:0;padding:0}.registration-gender legend{margin-bottom:10px;color:#383732;font-size:.92rem;font-weight:700}.registration-gender-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.registration-gender-option{position:relative;min-width:0}.registration-gender-option input{position:absolute;width:1px;height:1px;opacity:0}.registration-gender-option span{display:flex;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:6px;background:#ffffff;color:#383732;cursor:pointer;font-size:.9rem;font-weight:700}.registration-gender-option input:checked+span{border-color:var(--accent);background:#eef7f4;color:var(--accent-dark)}.registration-gender-option input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.session-check-panel{display:grid;grid-gap:16px;gap:16px}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.16}h1,h2{margin:0}h2{line-height:1.3}h2,h3{font-size:1.08rem}h3{margin:10px 0 8px;line-height:1.35}.demo-header p,.empty-state,.panel-copy{color:var(--muted);line-height:1.7}.panel-copy{margin:14px 0 0}.demo-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px 0 4px}.demo-header p{max-width:420px;margin:0}.demo-header-meta{display:grid;justify-items:end;grid-gap:10px;gap:10px}.logout-button{display:inline-flex;min-height:36px;align-items:center;gap:7px;border:1px solid var(--border-strong);border-radius:6px;padding:0 12px;background:#ffffff;color:var(--text);font-weight:700}.logout-button:hover:not(:disabled){border-color:var(--accent);background:#eef7f4;color:var(--accent-dark)}.logout-button:disabled{color:var(--muted);cursor:not-allowed}.logout-button svg{width:16px;height:16px;flex:0 0 16px;stroke-width:2}.demo-header-meta .error-text{color:var(--danger)}.workbench-title{display:flex;align-items:center;gap:10px}.workbench-title>span:first-child{min-width:0;overflow-wrap:anywhere}.workbench-crystal{display:inline-grid;width:1.08em;height:1.08em;flex:0 0 1.08em;place-items:center;font-size:.88em;line-height:1;filter:drop-shadow(0 3px 5px rgb(32 32 29/18%))}.workspace{display:grid;grid-template-columns:minmax(380px,440px) minmax(0,1fr);align-items:start;grid-gap:24px;gap:24px}.consultation-column{display:grid;min-width:0;align-content:start;grid-gap:20px;gap:20px}.dialogue-panel,.input-panel,.reading-panel{min-width:0;padding:22px}.section-heading{display:flex;min-height:28px;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading>span{color:var(--muted);font-size:.9rem;white-space:nowrap}.dialogue-panel,.field,.form-stack,.input-panel{display:grid;grid-gap:14px;gap:14px}.field-label-row label,.field>span,.spread-options legend{color:#383732;font-size:.92rem;font-weight:700}.dialogue-item-heading,.field-label-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.voice-control{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.voice-button{display:inline-flex;min-width:108px;min-height:34px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border-strong);border-radius:6px;background:#ffffff;padding:0 10px;color:var(--accent-dark);font-size:.86rem;font-weight:700;line-height:1.2;transition:background .18s ease,border-color .18s ease,color .18s ease}.speech-control .voice-button{min-width:84px}.speech-control{min-width:126px}.voice-button.is-recording,.voice-button:hover:not(:disabled){border-color:var(--accent);background:#eef7f4}.voice-button.is-recording{color:var(--accent-dark)}.voice-button:disabled{border-color:#d6d2c8;background:#efeee9;color:#7b7870}.voice-button-icon{width:16px;height:16px;flex:0 0 16px;stroke-width:2}.voice-error{max-width:190px;color:var(--danger);font-size:.8rem;line-height:1.35}.recording-waveform{display:inline-flex;min-width:168px;min-height:34px;flex:0 0 168px;align-items:center;gap:6px;border:1px solid #9bc9bd;border-radius:6px;background:#f1faf7;padding:0 7px;color:var(--success)}.recording-waveform-indicator{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#1b7f58;box-shadow:0 0 0 3px rgb(31 111 98/12%);animation:recording-pulse 1.2s ease-in-out infinite}.recording-waveform-label{flex:0 0 auto;font-size:.76rem;font-weight:700;line-height:1;white-space:nowrap}.recording-waveform-visual{display:block;width:96px;height:26px;min-width:0;flex:0 1 96px;overflow:visible}.recording-waveform-path{fill:none;stroke:#1b7f58;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.is-spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes recording-pulse{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.app-topbar{display:flex;align-items:center;gap:14px;min-height:54px;margin-bottom:18px;padding:8px 12px;border-block:1px solid var(--border);background:rgb(26 16 46/72%)}.app-brand,.app-nav-links button{border:0;background:transparent;color:var(--fable-ivory);font:inherit;cursor:pointer}.app-brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.02em}.app-brand span{color:var(--fable-gold);font-size:1.15em}.app-nav-links{display:flex;gap:4px}.app-nav-links button{padding:7px 12px;border-radius:4px;color:var(--muted)}.app-nav-links button.is-active,.app-nav-links button:hover{color:var(--fable-gold-bright);background:rgb(216 188 120/13%)}.app-profile-pill{margin-left:auto;padding:6px 9px;border:1px solid var(--border);border-radius:4px;color:var(--fable-muted);background:var(--fable-night-soft);font-size:.85rem}.fortune-page{display:grid;grid-gap:18px;gap:18px;min-width:0}.fortune-intro{max-width:680px;padding:12px 2px 6px}.fortune-intro h2{margin:4px 0 8px;font-size:2rem}.empty-state,.fortune-generator p,.fortune-generator small,.fortune-intro>p:last-child,.fortune-score p,.fortune-summary{color:var(--muted)}.fortune-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.fortune-period-card{display:grid;min-height:134px;align-content:start;grid-gap:5px;gap:5px;padding:16px;border:1px solid var(--border);border-radius:6px;background:var(--panel-soft);color:var(--fable-ivory);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.fortune-period-card>span:last-child{color:var(--muted);font-size:.84rem}.fortune-period-icon{display:grid;width:31px;height:31px;place-items:center;margin-bottom:6px;border:1px solid rgb(216 188 120/38%);border-radius:50%;background:rgb(216 188 120/8%);color:var(--fable-gold-bright)}.fortune-period-card.is-active,.fortune-period-card:hover{border-color:var(--fable-gold);background:rgb(216 188 120/10%)}.fortune-period-card:hover{transform:translateY(-1px)}.fortune-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(245px,.7fr);grid-gap:14px;gap:14px}.fortune-generator,.fortune-history,.fortune-report{border:1px solid var(--border);border-radius:6px;background:var(--panel);box-shadow:var(--shadow)}.fortune-generator{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:20px}.fortune-generator h3,.fortune-history h3,.fortune-report h3{margin:4px 0 8px}.fortune-generator p{margin:0}.fortune-generator small{grid-column:1/-1}.fortune-generate-button{flex:0 0 auto}.fortune-history{padding:18px}.fortune-history .section-heading{align-items:center;margin-bottom:12px}.fortune-history .section-heading span{color:var(--fable-gold);font-size:.83rem}.fortune-history-list{display:grid;grid-gap:8px;gap:8px}.fortune-history-item{display:grid;grid-gap:3px;gap:3px;width:100%;padding:10px 11px;border:1px solid transparent;border-radius:4px;background:var(--fable-night-soft);color:var(--fable-ivory);font:inherit;text-align:left;cursor:pointer}.fortune-history-item span{color:var(--muted);font-size:.78rem}.fortune-history-item.is-active,.fortune-history-item:hover{border-color:rgb(216 188 120/58%);background:rgb(216 188 120/10%)}.fortune-report{padding:22px}.fortune-report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.fortune-overall-score{display:grid;width:78px;height:78px;place-items:center;border:1px solid var(--fable-gold);border-radius:50%;background:rgb(216 188 120/9%);color:var(--fable-gold-bright)}.fortune-overall-score strong{font-size:1.45rem;line-height:1}.fortune-overall-score span{font-size:.7rem}.fortune-summary{max-width:760px;margin:18px 0;color:var(--fable-ivory);font-family:Georgia,"Noto Serif SC",Songti SC,serif;font-size:1.08rem;line-height:1.8}.fortune-score-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:9px;gap:9px}.fortune-score{min-width:0;padding:13px;border:1px solid rgb(216 188 120/20%);border-radius:5px;background:rgb(58 38 96/64%)}.fortune-score>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.fortune-score>div:first-child span{color:var(--muted);font-size:.85rem}.fortune-score>div:first-child strong{color:var(--fable-gold-bright)}.fortune-meter{height:5px;margin:10px 0;overflow:hidden;border-radius:999px;background:rgb(244 237 220/12%)}.fortune-meter span{display:block;height:100%;border-radius:inherit;background:var(--fable-coral)}.fortune-score p{margin:0;font-size:.79rem;line-height:1.55}.fortune-advice{display:flex;gap:10px;margin-top:16px;padding:13px 14px;border-left:2px solid var(--fable-coral);background:rgb(215 131 105/9%)}.fortune-advice span{color:var(--fable-coral-bright)}.fortune-advice p{margin:0;color:var(--fable-ivory)}.spirit-catalog-page{display:grid;grid-gap:20px;gap:20px;min-width:0}.spirit-catalog-hero{padding:22px}.spirit-catalog-hero-heading{display:flex;align-items:center;gap:13px;margin-bottom:18px}.spirit-catalog-hero-heading h2{margin:3px 0 7px;font-size:2rem}.spirit-catalog-hero-heading p:last-child{margin:0;color:var(--muted)}.spirit-catalog-hero-icon{display:grid;width:45px;height:45px;flex:0 0 45px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:rgb(216 188 120/9%);color:var(--fable-gold-bright)}.spirit-catalog-hero-icon svg{width:21px}.spirit-catalog-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:9px;gap:9px}.spirit-catalog-stat{display:grid;grid-template-columns:auto 1fr;align-items:baseline;grid-gap:4px;gap:4px;min-height:88px;padding:14px;border:1px solid rgb(216 188 120/16%);border-radius:5px;background:rgb(58 38 96/56%)}.spirit-catalog-stat strong{font-size:1.7rem}.spirit-catalog-stat span{color:var(--muted);font-size:.84rem}.spirit-catalog-stat small{grid-column:1/-1;color:var(--muted)}.spirit-catalog-stat.is-gold strong{color:var(--fable-gold-bright)}.spirit-catalog-stat.is-coral strong{color:var(--fable-coral-bright)}.spirit-catalog-stat.is-mint strong{color:#C4B2FF}.spirit-catalog-progress{height:7px;margin-top:14px;overflow:hidden;border-radius:999px;background:rgb(244 237 220/10%)}.spirit-catalog-progress span{display:block;height:100%;min-width:14px;border-radius:inherit;background:linear-gradient(90deg,var(--fable-coral),var(--fable-gold-bright))}.spirit-catalog-progress-label{margin:8px 0 0;color:var(--muted);font-size:.8rem;text-align:center}.spirit-catalog-toolbar{display:flex;flex-wrap:wrap;gap:7px}.spirit-catalog-toolbar button,.spirit-skin-list button{border:1px solid var(--border);border-radius:4px;background:var(--fable-night-soft);color:var(--fable-muted);font:inherit;cursor:pointer}.spirit-catalog-toolbar button{padding:8px 11px}.spirit-catalog-toolbar button.is-active,.spirit-catalog-toolbar button:hover{border-color:var(--fable-gold);background:rgb(216 188 120/13%);color:var(--fable-gold-bright)}.spirit-catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(255px,.32fr);align-items:start;grid-gap:18px;gap:18px}.spirit-catalog-groups{display:grid;grid-gap:20px;gap:20px}.spirit-rarity-group h3{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:1.04rem}.spirit-rarity-group h3 svg{width:17px;color:var(--fable-gold)}.spirit-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.spirit-catalog-card{min-height:210px;overflow:hidden;border:1px solid var(--border);border-radius:5px;background:var(--panel)}.spirit-catalog-card.is-collected{display:grid;grid-template-rows:118px minmax(0,1fr) auto;border-color:rgb(216 188 120/50%);cursor:pointer}.spirit-catalog-card.is-collected:hover{border-color:var(--fable-gold-bright)}.spirit-locked-trigger{width:100%;padding:0;color:inherit;font:inherit;text-align:initial;cursor:pointer}.spirit-locked-trigger:focus-visible,.spirit-locked-trigger:hover{border-color:var(--fable-gold);background:rgb(216 188 120/7%);outline:none}.spirit-card-portrait,.spirit-preview-art{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 28%,rgb(240 220 164/28%),transparent 34%),#3A2660}.spirit-card-portrait:after,.spirit-preview-art:after{position:absolute;inset:8%;border:1px solid rgb(216 188 120/32%);border-radius:50%;content:"";pointer-events:none}.spirit-preview-art.starlight{background:radial-gradient(circle at 50% 28%,rgb(215 131 105/32%),transparent 35%),#142441}.spirit-card-portrait img,.spirit-preview-art img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center 18%;filter:drop-shadow(0 12px 11px rgb(0 8 8/45%))}.spirit-card-face{display:block;width:100%;height:118px;object-fit:cover;object-position:center;background:var(--fable-night-soft)}.spirit-card-copy{padding:11px 12px 8px}.spirit-card-copy>div{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.spirit-card-copy h4{margin:0;color:var(--fable-ivory);font-family:Georgia,"Noto Serif SC",Songti SC,serif}.spirit-card-copy p{margin:7px 0 0;color:var(--muted);font-size:.79rem;line-height:1.55}.spirit-rarity-badge{display:inline-flex;width:max-content;align-items:center;justify-content:center;padding:3px 6px;border-radius:3px;font-size:.72rem;font-style:normal;font-weight:800}.spirit-rarity-badge.is-ssr{background:rgb(215 131 105/16%);color:var(--fable-coral-bright)}.spirit-rarity-badge.is-sr{background:rgb(196 178 255/14%);color:#C4B2FF}.spirit-rarity-badge.is-r{background:rgb(216 188 120/12%);color:var(--fable-gold-bright)}.spirit-skin-list{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 12px}.spirit-skin-list button{padding:5px 7px;font-size:.75rem}.spirit-skin-list button:hover{border-color:var(--fable-gold);color:var(--fable-gold-bright)}.spirit-card-locked-copy{display:grid;height:100%;place-items:center;align-content:center;grid-gap:7px;gap:7px;color:#657b74;text-align:center}.spirit-card-locked-copy svg{width:27px;height:27px;color:#987f49}.spirit-card-locked-copy strong{color:var(--fable-muted);font-weight:600}.spirit-card-locked-copy span{font-size:.85rem;letter-spacing:.12em}.spirit-preview{position:-webkit-sticky;position:sticky;top:16px;padding:17px}.spirit-preview>.eyebrow{margin:0 0 10px}.spirit-preview-art{height:254px;border:1px solid var(--border);border-radius:5px}.spirit-preview.is-crimson-moon-rose .spirit-preview-art{background:radial-gradient(circle at 50% 28%,rgb(215 131 105/40%),transparent 37%),#241829}.spirit-preview-empty{display:grid;min-height:230px;place-items:center;align-content:center;grid-gap:10px;gap:10px;color:var(--muted);text-align:center}.spirit-preview-empty svg{width:30px;height:30px;color:#987f49}.spirit-preview-empty p{max-width:190px;margin:0}.spirit-preview h3{margin:14px 0 3px}.spirit-preview p{color:var(--muted);line-height:1.6}.spirit-preview-spirit{margin:0;color:var(--fable-gold)!important;font-size:.84rem}.spirit-owned-mark{display:inline-flex;padding:5px 8px;border:1px solid rgb(196 178 255/45%);border-radius:3px;background:rgb(196 178 255/9%);color:#C4B2FF;font-size:.78rem}.spirit-dialog-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:18px;background:rgb(0 12 13/72%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.spirit-locked-dialog{position:relative;display:grid;width:min(390px,100%);min-height:460px;place-items:center;align-content:center;grid-gap:10px;gap:10px;padding:34px;border-color:var(--border-strong);background:radial-gradient(circle at 50% 46%,rgb(216 188 120/11%),transparent 38%),var(--fable-night-raised);text-align:center}.spirit-locked-dialog h3{margin:10px 0 0;font-size:1.75rem}.spirit-locked-dialog>p{margin:0;color:var(--fable-muted);font-size:1.04rem;line-height:1.8}.spirit-locked-english{color:var(--fable-gold)!important;font-family:Georgia,serif;font-size:.9rem!important}.spirit-locked-icon{display:grid;width:78px;height:78px;place-items:center;margin:36px 0 8px;border:1px solid rgb(216 188 120/52%);border-radius:50%;background:rgb(216 188 120/9%);color:var(--fable-gold-bright)}.spirit-locked-icon svg{width:35px;height:35px}.spirit-dialog-close{position:absolute;top:11px;right:13px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--fable-muted);font:inherit;font-size:1.55rem;cursor:pointer}.spirit-dialog-close:focus-visible,.spirit-dialog-close:hover{background:rgb(216 188 120/13%);color:var(--fable-gold-bright);outline:none}.spirit-locked-dialog .secondary-button{min-width:120px;margin-top:28px}@media (max-width:900px){.fortune-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.spirit-catalog-layout{grid-template-columns:1fr}.spirit-preview{position:static;display:grid;grid-template-columns:170px 1fr;grid-column-gap:16px;column-gap:16px;align-items:center}.spirit-preview-art,.spirit-preview>.eyebrow{grid-row:span 4}.spirit-preview-art{height:190px}}@media (max-width:620px){.app-topbar{gap:8px;padding:8px 2px}.app-brand{font-size:.9rem}.app-nav-links button{padding:7px 8px}.app-profile-pill{max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fortune-intro h2{font-size:1.55rem}.fortune-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fortune-period-card{min-height:120px;padding:13px}.fortune-generator,.fortune-workspace{grid-template-columns:1fr}.fortune-generator{align-items:flex-start}.fortune-generator small{grid-column:auto}.fortune-generate-button{width:100%}.fortune-report{padding:17px}.fortune-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spirit-catalog-hero{padding:16px}.spirit-catalog-hero-heading{align-items:flex-start}.spirit-catalog-hero-heading h2{font-size:1.55rem}.spirit-card-grid,.spirit-catalog-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spirit-catalog-card{min-height:196px}.spirit-preview{grid-template-columns:112px 1fr;gap:10px;padding:13px}.spirit-preview-art{height:140px}.spirit-preview>.eyebrow{display:none}}@media (prefers-reduced-motion:reduce){.recording-waveform-indicator{animation:none}.tarot-card-inner,.tarot-wheel{transition:none}.tarot-card-scene{animation:none}}input,select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:6px;background:#ffffff;color:var(--foreground);outline:none;transition:border-color .18s ease,box-shadow .18s ease}input{padding:0 12px}input,select{min-height:44px}select{padding:0 36px 0 12px;cursor:pointer}textarea{min-height:168px;padding:12px;line-height:1.65;resize:vertical}.question-suggestion-anchor{position:relative;min-width:0}.question-suggestion-anchor textarea{display:block}.input-panel textarea{min-height:126px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(31 111 98/15%)}input:disabled,select:disabled,textarea:disabled{background:#efeee9;color:var(--muted)}.spread-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;min-width:0;margin:0;padding:0;border:0}.input-panel .spread-options{grid-template-columns:repeat(2,minmax(0,1fr))}.spread-options legend{grid-column:1/-1;margin-bottom:2px}.spread-option{display:flex;min-height:44px;align-items:center;gap:8px;border:1px solid var(--border);border-radius:6px;background:var(--panel-soft);padding:0 10px;color:#33322f;cursor:pointer}.spread-option input{width:16px;min-height:16px;accent-color:var(--accent)}.spread-option span{font-size:.95rem;line-height:1.25}.primary-button,.secondary-button{min-height:44px;border:1px solid transparent;border-radius:6px;padding:0 16px;font-weight:700;transition:background .18s ease,border-color .18s ease,color .18s ease}.primary-button{width:100%;background:var(--accent);color:#ffffff}.primary-button:hover:not(:disabled){background:var(--accent-dark)}.secondary-button{min-width:116px;background:#ffffff;border-color:var(--accent);color:var(--accent-dark)}.secondary-button:hover:not(:disabled){background:#eef7f4}.primary-button:disabled,.secondary-button:disabled{background:#e4e2dc;border-color:#d6d2c8;color:#7b7870}.error-text,.status-text{margin:0;font-size:.94rem;line-height:1.5}.status-text{color:var(--success)}.error-text{color:var(--danger)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-gap:12px;gap:12px}.drawn-card{min-height:156px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:14px}.card-slot{display:block;color:var(--accent-dark);font-size:.86rem;font-weight:700;line-height:1.4}.drawn-card p{margin:0;color:var(--muted)}.dialogue-panel,.reading-panel{align-self:start}.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.reading-text{display:grid;grid-gap:14px;gap:14px}.reading-paragraph{display:grid;grid-template-columns:1.5rem minmax(0,1fr);grid-gap:8px;gap:8px;margin:0}.reading-emoji{width:1.5rem;font-size:1.08rem;line-height:1.75;text-align:center}.reading-paragraph-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.reading-text[data-typing=true] .reading-paragraph:last-child .reading-paragraph-text:after{display:inline-block;width:.08em;height:1.05em;margin-left:.12em;border-radius:1px;background:currentColor;vertical-align:-.14em;content:"";opacity:.72;animation:reading-type-caret .68s steps(2,jump-none) infinite}.reading-sentence{border-radius:3px;transition:background-color .16s ease,box-shadow .16s ease,color .16s ease,text-shadow .16s ease}.reading-sentence.is-speaking{margin:-.08em -.18em;border-radius:4px;background-color:#eef7f4;box-shadow:0 0 0 1px rgb(31 111 98/30%),0 0 14px rgb(196 167 98/28%);padding:.08em .18em;color:#123f36;text-shadow:0 0 1px #ffffff,0 0 9px rgb(196 167 98/48%);-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-text-stroke:.28px rgb(21 86 75/45%);animation:reading-sentence-glow 1.8s ease-in-out infinite}@keyframes reading-sentence-glow{50%{box-shadow:0 0 0 1px rgb(31 111 98/42%),0 0 18px rgb(196 167 98/42%)}}.follow-up-form{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.dialogue-panel .secondary-button{width:100%}.conversation-timeline{display:grid;min-width:0;grid-gap:0;gap:0;margin-top:4px;border-bottom:1px solid var(--border)}.conversation-turn{min-width:0;border-top:1px solid var(--border)}.conversation-turn.is-current{display:grid;grid-gap:18px;gap:18px;border-top:2px solid var(--accent);padding:20px 0 24px}.conversation-history-answer-heading,.conversation-turn-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.conversation-summary-copy,.conversation-turn-heading>div{display:grid;min-width:0;grid-gap:4px;gap:4px}.conversation-turn-heading strong{color:var(--foreground);font-size:1rem;line-height:1.35}.conversation-answer>span,.conversation-history-answer-heading>span,.conversation-kicker,.conversation-question>span{color:var(--accent-dark);font-size:.78rem;font-weight:700;line-height:1.35}.conversation-answer,.conversation-question{display:grid;min-width:0;grid-gap:8px;gap:8px}.conversation-question{border-left:3px solid #c8a85f;padding-left:14px}.conversation-answer{border-left:3px solid var(--accent);padding-left:14px}.conversation-wait{margin:0;color:var(--muted);line-height:1.7}.conversation-wait:after{display:inline-block;width:1.4em;overflow:hidden;vertical-align:bottom;content:"...";animation:conversation-wait-dots 1.1s steps(4) infinite}.conversation-turn.is-history>summary{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;cursor:pointer;list-style:none}.conversation-turn.is-history>summary::-webkit-details-marker{display:none}.conversation-turn.is-history>summary:focus-visible .conversation-summary-copy>strong,.conversation-turn.is-history>summary:hover .conversation-summary-copy>strong{color:var(--accent-dark)}.conversation-turn.is-history>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.conversation-turn.is-history>summary svg{width:18px;height:18px;flex:0 0 18px;color:var(--muted);transition:transform .18s ease}.conversation-turn.is-history[open]>summary svg{transform:rotate(180deg)}.conversation-summary-copy>span:last-child,.conversation-summary-copy>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-summary-copy>strong{color:var(--foreground);font-size:.92rem;line-height:1.4}.conversation-summary-copy>span:last-child{color:var(--muted);font-size:.84rem;line-height:1.45}.conversation-history-content{display:grid;grid-gap:16px;gap:16px;padding:2px 0 22px}.conversation-history-answer-heading{min-height:34px;border-left:3px solid var(--accent);padding-left:14px}.conversation-history-content>.error-text,.conversation-history-content>.reading-text{margin-left:17px}.message-reveal-text{display:grid;min-width:0;grid-gap:8px;gap:8px}.message-reveal-paragraph{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.72}.message-reveal-sentence{max-width:100%}.text-reveal-unit.is-page-fly{transform-origin:left top;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;animation:text-page-fly-in var(--text-reveal-duration,.36s) cubic-bezier(.2,.75,.25,1) var(--text-reveal-delay,0s) both}.reading-paragraph.text-reveal-unit.is-page-fly{border-radius:8px;box-shadow:-7px 0 0 rgb(196 167 98/9%)}@keyframes reading-type-caret{50%{opacity:.05}}.message-reveal-sentence.text-reveal-unit,.reading-sentence.text-reveal-unit{display:inline-block;vertical-align:baseline}@keyframes text-page-fly-in{0%{opacity:0;filter:blur(2px);transform:perspective(480px) translate3d(0,.72em,0) rotateX(-52deg) scale(.985)}to{opacity:1;filter:blur(0);transform:perspective(480px) translateZ(0) rotateX(0) scale(1)}}@keyframes conversation-wait-dots{0%{width:0}}.dialogue-list{display:grid;grid-gap:12px;gap:12px;margin-top:2px}.dialogue-item{border-top:1px solid var(--border);padding-top:12px}.dialogue-item-heading{min-height:34px;margin-bottom:6px}.dialogue-item-heading>span{color:var(--accent-dark);font-size:.86rem;font-weight:700}.empty-state{margin:0}.draw-panel{position:relative;display:grid;grid-template-areas:"heading" "guidance" "wheel" "controls" "stage";grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-content:start;grid-gap:12px;gap:12px;min-width:0;overflow:hidden;padding:22px}.draw-guidance,.draw-panel-heading,.wheel-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.draw-panel-heading{grid-area:heading}.draw-header-actions{display:flex;align-items:center;gap:8px}.draw-panel-heading .eyebrow{margin-bottom:5px}.draw-counter{min-width:68px;border:1px solid #c7a85f;border-radius:6px;background:#fffaf0;padding:7px 10px;color:#6d5120;font-size:.88rem;font-weight:700;text-align:center}.draw-guidance{grid-area:guidance;min-height:58px;align-items:flex-start;margin-top:16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px 0}.draw-guidance strong{color:var(--foreground);font-size:.92rem;line-height:1.45}.draw-guidance span{max-width:330px;color:var(--muted);font-size:.82rem;line-height:1.45;text-align:right}.wheel-viewport{grid-area:wheel;align-self:center;container-type:inline-size;position:relative;width:min(100%,560px);aspect-ratio:1;margin:14px auto 6px;overflow:hidden;border-radius:50%;background:#f1eee5;touch-action:pan-y pinch-zoom;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wheel-viewport.is-interactive{cursor:-webkit-grab;cursor:grab;touch-action:none}.wheel-viewport.is-interactive .tarot-wheel,.wheel-viewport.is-interactive .wheel-card{touch-action:none}.wheel-viewport.is-interactive:active{cursor:-webkit-grabbing;cursor:grabbing}.tarot-wheel-rim{position:absolute;inset:3.2%;border:2px solid #c4a762;border-radius:50%;box-shadow:inset 0 0 0 7px #f1eee5,inset 0 0 0 8px #4E377A,0 10px 24px rgb(32 32 29/12%);pointer-events:none}.tarot-wheel{position:absolute;inset:0;transition:transform .46s cubic-bezier(.2,.72,.2,1)}.wheel-viewport.is-interactive:active .tarot-wheel{transition:none}.wheel-card{--wheel-radius:clamp(118px,39cqw,218px);position:absolute;top:50%;left:50%;width:clamp(19px,5.5cqw,34px);height:clamp(32px,9cqw,56px);margin:calc(clamp(32px, 9cqw, 56px) / -2) 0 0 calc(clamp(19px, 5.5cqw, 34px) / -2);border:1px solid #d4b86f;border-radius:2px;background-color:#4E377A;background-image:url(/tarot/card-back.png);background-position:50%;background-size:cover;box-shadow:0 2px 5px rgb(16 29 49/24%);padding:0;transform:rotate(var(--card-angle)) translateY(calc(-1 * var(--wheel-radius))) rotate(90deg);transition:transform .36s cubic-bezier(.2,.72,.2,1),opacity .26s ease,box-shadow .16s ease}.wheel-card:focus-visible,.wheel-card:hover:not(:disabled){z-index:4;outline:2px solid #ffffff;outline-offset:2px;box-shadow:0 0 0 4px #1f6f62}.wheel-card:disabled{cursor:default;opacity:.82}.wheel-center{position:absolute;top:50%;left:50%;display:grid;width:38%;aspect-ratio:1;place-content:center;grid-gap:6px;gap:6px;border:2px solid #d4b86f;border-radius:50%;background:#4E377A;box-shadow:0 0 0 8px #f1eee5,0 0 0 9px #c4a762;color:#ffffff;padding:16px;text-align:center;transform:translate(-50%,-50%);pointer-events:auto}.wheel-center span{color:#dfc77f;font-size:clamp(.68rem,2.3cqw,.86rem);line-height:1.3}.wheel-controls{grid-area:controls;min-height:40px;justify-content:center;color:var(--muted);font-size:.82rem;text-align:center}.icon-button{display:inline-grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:#ffffff;color:var(--accent-dark);transition:border-color .16s ease,background .16s ease}.icon-button:hover{border-color:var(--accent);background:#eef7f4}.icon-button:disabled{border-color:#d6d2c8;background:#e4e2dc;color:#7b7870;cursor:not-allowed}.icon-button svg{width:18px;height:18px;stroke-width:2}.draw-animation-stage{grid-area:stage;container-type:inline-size;min-width:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0 16px}.draw-animation-stage-heading{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.draw-animation-stage-heading h3{margin:0;color:var(--foreground);font-size:.92rem;line-height:1.35}.draw-animation-stage-heading span{color:var(--muted);font-size:.8rem;font-weight:700}.draw-animation-stage-body{--spread-card-gap:clamp(20px,4cqw,30px);position:relative;display:grid;width:100%;min-width:0;min-height:0;grid-gap:32px;gap:32px;border-radius:6px;background:#f8f7f2;box-shadow:inset 0 0 0 1px rgb(201 195 183/45%);padding:24px clamp(12px,3cqw,24px) 30px}.spread-card-row{display:flex;width:100%;align-items:flex-start;justify-content:center;gap:var(--spread-card-gap)}.spread-card-slot{display:grid;min-width:0;justify-items:center;grid-gap:5px;gap:5px}.spread-card-row.row-count-1 .spread-card-slot{width:min(100%,224px)}.spread-card-row.row-count-2 .spread-card-slot{width:min(200px,calc((100% - var(--spread-card-gap)) / 2))}.spread-card-row.row-count-3 .spread-card-slot{width:min(184px,calc((100% - var(--spread-card-gap) - var(--spread-card-gap)) / 3))}.spread-card-grid.card-count-5 .spread-card-row.row-count-2 .spread-card-slot{width:min(184px,calc((100% - var(--spread-card-gap)) / 2))}.selected-card-label,.selected-card-name,.selected-card-orientation{width:100%;min-height:18px;overflow:hidden;font-size:.8rem;line-height:1.35;text-align:center;text-overflow:ellipsis;white-space:nowrap}.selected-card-label{color:var(--accent-dark);font-weight:700}.selected-card-name{color:var(--foreground)}.selected-card-orientation{color:var(--muted)}.tarot-card-stage{display:grid;width:100%;aspect-ratio:.59;border-radius:4px}.tarot-card-stage.is-floating{animation:spread-card-float 2.8s ease-in-out var(--float-delay,0s) infinite alternate}.tarot-card-placeholder,.tarot-card-scene{width:100%;height:100%;border-radius:inherit}.tarot-card-placeholder{display:grid;place-items:center;border:1px dashed var(--border-strong);background:var(--panel-soft);color:#a09b90;font-weight:700}.tarot-card-scene{perspective:900px;animation:card-settle .24s cubic-bezier(.2,.75,.25,1) both}.tarot-card-scene.is-landed{animation:none}.tarot-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--tarot-card-flip-duration,.76s) cubic-bezier(.2,.72,.2,1)}.tarot-card-scene.is-revealed .tarot-card-inner{transform:rotateY(180deg)}.tarot-card-face{position:absolute;inset:0;overflow:hidden;border:1px solid #c6a75d;border-radius:4px;background-color:#4E377A;box-shadow:0 6px 14px rgb(32 32 29/18%);-webkit-backface-visibility:hidden;backface-visibility:hidden}.staged-tarot-card-visual{opacity:.5}.wechat-browse-home>.panel{max-width:760px;margin:2rem auto}.wechat-browse-home .feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin:1.5rem 0}.wechat-browse-home .feature-item{border:1px solid var(--border);border-radius:6px;padding:1rem;background:var(--panel-soft)}.wechat-browse-home .feature-item h3,.wechat-browse-home .feature-item p{margin:0}.wechat-browse-home .feature-item p{margin-top:.5rem;color:var(--muted)}.ziwei-card-layer .staged-tarot-card-visual{opacity:1}body.star-and-you-active [class^=atmosphere-provider_status__]{display:none}.page-tarot-card.is-landing .staged-tarot-card-visual,.viewport-tarot-card.is-revealing .staged-tarot-card-visual{opacity:1}.tarot-card-back{background-image:url(/tarot/card-back.png);background-position:50%;background-size:cover}.tarot-card-front{background:#ece3c7;transform:rotateY(180deg)}.tarot-card-front img{display:block;width:100%;height:100%;object-fit:contain}.tarot-card-front img.is-reversed{transform:rotate(180deg)}.viewport-card-layer{position:fixed;inset:0;z-index:100;overflow:visible;pointer-events:none}.page-card-layer{display:contents}.page-tarot-card,.viewport-tarot-card{position:fixed;aspect-ratio:.59;border-radius:6px;opacity:1;pointer-events:none;transform-origin:center;will-change:left,top,width,transform,opacity,filter}.page-tarot-card{position:absolute;z-index:100}.page-tarot-card .tarot-card-scene,.viewport-tarot-card .tarot-card-scene{height:100%;border-radius:inherit;filter:drop-shadow(0 18px 24px rgb(9 24 43/36%)) drop-shadow(0 0 18px rgb(212 184 111/30%));animation:none}.page-tarot-card .tarot-card-face,.viewport-tarot-card .tarot-card-face{border-width:2px;box-shadow:0 0 0 1px rgb(255 255 255/58%),0 0 28px rgb(212 184 111/32%)}.viewport-tarot-card.is-entering{animation:card-to-viewport .9s cubic-bezier(.2,.7,.2,1) both}.page-tarot-card.is-landing{transition:left var(--tarot-card-landing-duration,.7s) cubic-bezier(.2,.72,.2,1),top var(--tarot-card-landing-duration,.7s) cubic-bezier(.2,.72,.2,1),width var(--tarot-card-landing-duration,.7s) cubic-bezier(.2,.72,.2,1)}.page-tarot-card.is-landing.is-paused{transition:none}.workspace>.consultation-column{grid-column:1;grid-row:1}.workspace>.draw-panel{grid-column:2;grid-row:1}.workspace>.dialogue-panel{grid-column:1/-1;grid-row:2}.page-tarot-card.is-landing .tarot-card-inner,.tarot-card-scene.is-landed .tarot-card-inner{transition:none}@keyframes card-to-viewport{0%{opacity:1;filter:brightness(.9);transform:translate3d(var(--entry-x),var(--entry-y),0) scale(var(--entry-scale)) rotate(-7deg)}48%{opacity:1;filter:brightness(1.08);transform:translate3d(var(--entry-mid-x),var(--entry-mid-y),0) scale(1.16) rotate(0deg)}68%{opacity:1;filter:brightness(1.08);transform:translate3d(var(--entry-mid-x),var(--entry-mid-y),0) scale(1.16) rotate(0deg)}to{opacity:1;filter:brightness(1);transform:translateZ(0) scale(1) rotate(0deg)}}@keyframes spread-card-float{0%{transform:translateY(0)}45%{transform:translateY(-3px)}to{transform:translateY(4px)}}@keyframes card-settle{0%{opacity:.72;transform:scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:920px){.voice-control{flex-wrap:wrap}.recording-waveform{max-width:100%;flex:1 1 168px}}@media (max-width:1040px){.shell{padding:20px 12px}.demo-header{display:grid;align-items:start}.demo-header-meta{justify-items:start}.workspace{grid-template-columns:1fr}.workspace>.consultation-column,.workspace>.dialogue-panel,.workspace>.draw-panel{grid-column:1;grid-row:auto}.consultation-column{display:contents}.input-panel{order:1;width:100%}.draw-panel{order:2;width:100%}.dialogue-panel{order:3;width:100%}.input-panel .primary-button{min-width:0;white-space:nowrap}.dialogue-panel:not(.has-reading){display:none}.draw-panel{position:relative;top:auto;display:block}.wheel-viewport{width:min(100%,68dvh,520px)}.draw-animation-stage{margin-top:12px}.dialogue-panel,.input-panel,.reading-panel{padding:18px}}@media (max-width:560px){.ziwei-card-layer .ziwei-staged-card.is-entering .staged-tarot-card-visual,.ziwei-card-layer .ziwei-staged-card.is-hovering .staged-tarot-card-visual{opacity:.5}.ziwei-card-layer .ziwei-staged-card.is-landing .staged-tarot-card-visual,.ziwei-card-layer .ziwei-staged-card.is-revealing .staged-tarot-card-visual{opacity:1}.viewport-tarot-card,.viewport-tarot-card.is-revealing{opacity:1;pointer-events:none}.viewport-tarot-card.is-entering{animation-name:card-to-mobile-viewport}.voice-control{width:100%;max-width:100%;flex-wrap:wrap;justify-content:flex-start}.recording-waveform,.voice-button{min-height:44px}.speech-control{min-width:0}.speech-control .voice-button{min-width:0;flex:1 1 112px}.voice-error{max-width:100%;flex:1 1 100%}.follow-up-form,.spread-options{grid-template-columns:1fr}.secondary-button{width:100%}.conversation-history-answer-heading,.conversation-turn-heading,.dialogue-item-heading,.dialogue-panel>.section-heading,.field-label-row{align-items:flex-start;flex-wrap:wrap}.conversation-turn.is-history>summary{align-items:flex-start}.conversation-summary-copy>span:last-child,.conversation-summary-copy>strong{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.draw-panel{padding:16px}.draw-guidance{display:grid}.draw-guidance span{max-width:none;text-align:left}.draw-animation-stage-body{--spread-card-gap:12px;gap:24px;padding:22px 8px 28px}.spread-card-row.row-count-3{flex-wrap:wrap;row-gap:24px}.spread-card-row.row-count-3 .spread-card-slot{width:min(154px,calc((100% - var(--spread-card-gap)) / 2))}.spread-card-grid.card-count-1 .spread-card-slot{width:min(210px,100%)}.spread-card-grid.card-count-3 .spread-card-slot,.spread-card-grid.card-count-5 .spread-card-slot{width:min(154px,calc((100% - var(--spread-card-gap)) / 2))}.spread-card-grid.card-count-3 .spread-card-row.row-count-1 .spread-card-slot,.spread-card-grid.card-count-5 .spread-card-row.row-count-1 .spread-card-slot{width:min(154px,100%)}}@keyframes card-to-mobile-viewport{0%{opacity:1;filter:brightness(.9);transform:translate3d(var(--entry-x),var(--entry-y),0) scale(var(--entry-scale)) rotate(-7deg)}48%{opacity:1;filter:brightness(1.08);transform:translate3d(var(--entry-mid-x),var(--entry-mid-y),0) scale(1.16) rotate(0deg)}to{opacity:1;filter:brightness(1);transform:translateZ(0) scale(1)}}@media (max-width:420px){.registration-birth-grid{grid-template-columns:1fr}.registration-gender-options{gap:6px}.registration-gender-option span{min-height:44px}}@media (prefers-reduced-motion:reduce){.conversation-turn.is-history>summary svg,.reading-sentence,.tarot-card-inner,.tarot-wheel{transition:none}.conversation-wait:after,.reading-sentence.is-speaking,.tarot-card-scene,.text-reveal-unit.is-page-fly{animation:none}.text-reveal-unit.is-page-fly{opacity:1;filter:none;transform:none}.viewport-tarot-card.is-entering{animation-duration:1ms}.page-tarot-card.is-landing{transition-duration:1ms}.tarot-card-stage.is-floating{animation:none}}.social-tab{min-height:44px}.social-friend{align-items:center}.social-profile-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:.8rem}.social-profile-meta span{display:inline-flex;min-width:0;align-items:center;gap:4px}.social-profile-meta svg{width:14px;height:14px;color:var(--accent)}.social-profile-meta b{color:var(--muted);font-size:.75rem;font-weight:700}.social-profile-meta em{overflow:hidden;color:var(--foreground);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.social-friend-actions{flex:0 0 auto}.social-icon-button{display:grid;width:44px;min-width:44px;height:44px;place-items:center;border:1px solid var(--border-strong);border-radius:6px;background:var(--panel-soft);color:var(--accent-dark)}.social-icon-button svg{width:18px;height:18px}.social-icon-button:hover{border-color:var(--accent);background:#eaf5f1}.social-icon-button:focus-visible,.social-mail-item:focus-visible,.social-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.social-relation{border:1px solid var(--border);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:.78rem;font-weight:700;white-space:nowrap}.social-relation.is-friend{border-color:#77a99c;background:#eaf5f1;color:var(--accent-dark)}.social-mail-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start;grid-gap:18px;gap:18px}.social-mail-compose{display:grid;grid-gap:12px;gap:12px;padding:20px}.social-mail-compose h3,.social-mail-compose p{margin:0}.social-mail-compose>label{display:grid;grid-gap:6px;gap:6px;color:var(--foreground);font-size:.86rem;font-weight:700}.social-mail-compose input,.social-mail-compose select,.social-mail-compose textarea{width:100%;border:1px solid var(--border-strong);border-radius:6px;padding:10px;background:#fff;color:var(--foreground);line-height:1.5}.social-mail-compose textarea{min-height:132px;resize:vertical}.social-mail-inbox,.social-mail-list{display:grid;grid-gap:10px;gap:10px}.social-mail-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:7px 10px;gap:7px 10px;width:100%;min-height:76px;padding:13px 16px;color:var(--foreground);text-align:left}.social-mail-item:hover{border-color:var(--accent)}.social-mail-item>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-mail-item>span:not(.social-mail-kind){grid-column:2;color:var(--muted);font-size:.82rem}.social-mail-item>small{color:var(--muted);font-size:.75rem;white-space:nowrap}.social-mail-kind{border-radius:999px;padding:4px 7px;background:#eef7f4;color:var(--accent-dark);font-size:.72rem;font-weight:800}.social-mail-item.is-unread{border-color:#8abbb0}.social-mail-item i{position:absolute;top:14px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.social-mail-from{margin:6px 0 16px;color:var(--muted)}.social-share-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;grid-gap:18px;gap:18px}.social-share-link-panel,.social-share-panel{display:grid;grid-gap:13px;gap:13px;padding:20px}.social-share-link-panel h3,.social-share-link-panel p,.social-share-panel h3,.social-share-panel p{margin:0}.social-share-link-panel>p:not(.eyebrow),.social-share-panel>p:not(.eyebrow){color:var(--muted);line-height:1.6}.social-share-records{display:grid;grid-gap:9px;gap:9px}.social-share-records article{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:6px;padding:10px 12px}.social-share-records article>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.social-share-records span{color:var(--muted);font-size:.78rem}.social-share-link-panel .secondary-button,.social-share-records .secondary-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:6px}.social-share-link-panel svg,.social-share-records svg{width:16px;height:16px}.social-share-link-panel label{display:grid;grid-gap:6px;gap:6px;color:var(--foreground);font-size:.82rem;font-weight:700}.social-share-link-panel input{width:100%;border:1px solid var(--border-strong);border-radius:6px;padding:10px;background:var(--panel-soft);color:var(--foreground)}.share-reading-shell{position:relative;z-index:1;display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:28px 16px}.share-reading-card{width:min(100%,720px);border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);padding:clamp(24px,5vw,44px)}.share-reading-card h1{margin:5px 0 16px}.share-reading-question{margin:0;color:var(--foreground);font-size:1.08rem;line-height:1.7}.share-reading-cards{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.share-reading-cards span{border:1px solid var(--border);border-radius:999px;padding:6px 9px;background:var(--panel-soft);color:var(--accent-dark);font-size:.82rem}.share-reading-text{margin:0;white-space:pre-wrap;color:var(--foreground);line-height:1.9}.share-reading-expiry{margin:22px 0 0;color:var(--muted);font-size:.82rem}@media (max-width:420px){.share-reading-card{padding:24px}.share-reading-card h1{font-size:1.25rem;overflow-wrap:anywhere}}@media (max-width:760px){.social-mail-layout,.social-share-layout{grid-template-columns:1fr;gap:14px}.social-profile-meta{gap:6px 10px}.social-mail-item{grid-template-columns:auto minmax(0,1fr)}.social-mail-item>small{grid-column:2}}