:root{color-scheme:light;--bg:#f9f8fc;--sidebar:#f6f5f9;--text:#302c40;--muted:#706a7d;--soft-text:#696276;--accent:#78618e;--accent-strong:#705682;--line:#e8e4ee;--surface:#fff;--surface-glass:rgba(255,255,255,.74);--hover:#eee9f5;--violet:#8b71a7;--blue:#6885aa;--amber:#9f8054;--rose:#b87690;--shadow:0 8px 36px rgba(77,57,111,.045);--focus:#7863ac;--error:#a5374d;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;touch-action:manipulation}button{border:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus)}button{transition:background .2s,color .2s,box-shadow .2s,transform .2s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:270px;top:-60px;padding:12px 20px;background:var(--surface);z-index:100;border-radius:8px}.skip-link:focus{top:8px}.app-shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:248px;flex-shrink:0;border-right:1px solid var(--line);background:var(--sidebar);padding:33px 22px 16px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;width:fit-content;margin:0 0 36px 10px}.brand-symbol{color:var(--accent);width:34px;height:34px}.brand-symbol svg{width:100%;height:100%}.brand-wordmark{display:flex;align-items:baseline;gap:12px;font-size:23px;font-weight:600;letter-spacing:3px}.brand-wordmark>span{font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:500}.new-chat{display:flex;align-items:center;gap:11px;padding:13px 15px;min-height:48px;border:1px solid #ddd5e7;background:#ece6f3;color:var(--accent-strong);border-radius:12px;font-size:14px;font-weight:500;margin-bottom:31px}.new-chat:hover{background:#e3dbec}.new-chat .icon{width:17px;height:17px}.shortcut{margin-left:auto;font-size:18px;font-weight:400;opacity:.65}.nav-label{font-size:11px;letter-spacing:1.2px;color:var(--muted);font-weight:500;margin-left:12px}.mode-nav{display:grid;gap:8px;margin-top:14px}.mode-nav-item{display:flex;align-items:center;text-align:left;gap:11px;background:transparent;padding:12px 9px;min-height:62px;border-radius:12px}.mode-nav-item:hover,.mode-nav-item.is-active{background:var(--hover)}.mode-nav-item>span:nth-child(2){font-size:14px;font-weight:500;letter-spacing:.2px}.mode-nav-item small{display:block;font-size:10px;line-height:1.6;margin-top:3px;color:var(--muted);font-weight:400;letter-spacing:.1px}.nav-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px}.nav-icon .icon{width:21px;height:21px}.violet{color:var(--violet);background:#eae4f1}.blue{color:var(--blue);background:#e4ebf5}.amber{color:var(--amber);background:#f1eade}.rose{color:var(--rose);background:#f2e4eb}.nav-chevron{width:12px;height:12px;margin-left:auto;color:var(--muted);opacity:0}.mode-nav-item:hover .nav-chevron,.mode-nav-item.is-active .nav-chevron{opacity:.7}.sidebar-divider{height:1px;background:var(--line);margin:25px 9px 22px}.history-heading{display:flex;justify-content:space-between;align-items:center;padding-right:12px}.history-count{font-size:10px;color:var(--muted)}.history-list{flex:1;min-height:40px;overflow:auto;margin:15px 0}.history-empty{color:var(--muted);font-size:11px;line-height:2;margin:7px 12px}.history-item{display:block;text-align:left;width:100%;padding:10px 12px;background:transparent;border-radius:9px;margin:3px 0}.history-item:hover,.history-item.is-active{background:var(--hover)}.history-item-title{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.history-item-mode{display:block;font-size:10px;color:var(--muted);margin-top:3px}.sidebar-bottom{margin-top:auto}.little-note{display:flex;gap:10px;padding:16px 10px;margin:0 0 12px;background:linear-gradient(120deg,#ece8f3,#f4f1f8);border:1px solid #e9e3f0;border-radius:12px}.little-note>.icon{width:17px;height:17px;color:#9681ad;margin-top:3px}.little-note p{font-size:11px;line-height:1.9;color:var(--soft-text);margin:0}.sidebar-link{width:100%;display:flex;align-items:center;gap:9px;padding:10px;background:transparent;font-size:11px;color:var(--soft-text);border-radius:8px;min-height:44px}.sidebar-link:hover{background:var(--hover)}.sidebar-link .icon{width:15px;height:15px}.sidebar-link .icon:last-child{margin-left:auto;width:12px;height:12px}.sidebar-footer{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;padding-left:10px}.icon-button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:transparent;border-radius:12px;color:var(--muted)}.icon-button:hover{background:var(--hover);color:var(--text)}.sidebar-footer .icon-button .icon{width:16px;height:16px}.main-panel{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;isolation:isolate;background:var(--bg)}.topbar{height:76px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 38px;z-index:2}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px}.space-label{font-size:12px;letter-spacing:1px;color:var(--soft-text)}.demo-badge{font-size:10px;letter-spacing:.3px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:20px;padding:5px 10px;background:var(--surface-glass);color:var(--soft-text)}.demo-badge>span{display:block;width:5px;height:5px;border-radius:50%;background:#a18ab9}.topbar-right>.icon-button{width:32px;height:44px}.topbar-right>.icon-button .icon{width:17px;height:17px}.menu-button{display:none}.ambient{position:absolute;inset:76px 0 0;overflow:hidden;pointer-events:none;z-index:-1}.ambient-lavender{position:absolute;left:15%;top:8%;width:65%;height:49%;background:radial-gradient(ellipse,rgba(196,172,241,.27),transparent 67%)}.ambient-blue{position:absolute;right:-8%;top:24%;width:65%;height:61%;background:radial-gradient(ellipse,rgba(159,201,241,.19),transparent 68%)}.ambient-pink{position:absolute;left:-13%;top:38%;width:60%;height:52%;background:radial-gradient(ellipse,rgba(238,175,209,.14),transparent 69%)}.ambient-stars{position:absolute;inset:5% 8% 17%;opacity:.6;background-image:radial-gradient(circle at 13% 20%,#b4a3c8 0 1px,transparent 1.5px),radial-gradient(circle at 80% 18%,#aca3c6 0 1px,transparent 1.5px),radial-gradient(circle at 4% 44%,#c2acd9 0 1px,transparent 1.5px),radial-gradient(circle at 92% 52%,#b7b7cf 0 1px,transparent 1.5px),radial-gradient(circle at 35% 83%,#bfafcf 0 1px,transparent 1.5px)}.content-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d7cee3 transparent;position:relative}.welcome{max-width:830px;margin:0 auto;padding:0 32px 32px;text-align:center}.celestial-scene{position:relative;height:190px;max-width:500px;margin:0 auto}.celestial-orbit{position:absolute;left:50%;top:-9px;width:410px;height:230px;transform:translateX(-50%)}.orb-aura{position:absolute;width:235px;height:170px;left:50%;top:26px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(173,144,216,.39),rgba(196,180,232,.12) 55%,transparent 72%);filter:blur(10px)}.celestial-orb{width:130px;height:130px;position:absolute;top:25px;left:50%;transform:translateX(-50%);border-radius:50%;overflow:hidden;background:radial-gradient(circle at 27% 21%,rgba(255,255,255,.91),transparent 37%),radial-gradient(ellipse at 76% 67%,#b8a6e4 2%,transparent 54%),radial-gradient(ellipse at 35% 72%,#bbd2f8,transparent 62%),radial-gradient(circle at 74% 22%,#e9d8f7,transparent 58%),linear-gradient(130deg,#e1d0f3,#cbb5ea 48%,#e5dcf5);box-shadow:inset 4px 4px 12px rgba(255,255,255,.6),inset -7px -11px 18px rgba(114,84,173,.12),0 11px 29px rgba(136,110,184,.14)}.celestial-orb:after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:radial-gradient(ellipse at 70% 80%,rgba(255,231,241,.5),transparent 50%);filter:blur(4px)}.orb-grain{position:absolute;inset:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}.scene-star{position:absolute;font-size:13px;color:#a793c0}.star-one{left:25%;top:99px;font-size:15px}.star-two{right:25%;top:52px}.scene-caption{position:absolute;bottom:0;left:0;right:0;font-size:8px;font-weight:500;letter-spacing:2.5px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:500;color:var(--accent);margin:25px 0 12px}.welcome h1{font-size:40px;font-weight:500;letter-spacing:2px;line-height:1.4;margin:0;color:#3b354b}.welcome h1 span{background:linear-gradient(120deg,#77678f,#8e72a0 60%,#7187aa);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-subtitle{font-size:13px;letter-spacing:.4px;line-height:1.9;color:var(--soft-text);margin:15px 0 0}.mobile-break{display:none}.explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:36px 0 0}.explore-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:16px 7px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.85);box-shadow:0 5px 20px rgba(64,47,91,.025);min-width:0;overflow:hidden;text-align:center}.explore-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(83,65,112,.09);border-color:rgba(140,119,167,.24)}.astrology-card{background:linear-gradient(145deg,rgba(236,229,249,.92),rgba(245,240,252,.63));--card-fill:#eee7f8;--card-color:#9478b6}.tarot-card{background:linear-gradient(145deg,rgba(226,236,249,.94),rgba(239,244,253,.65));--card-fill:#e9f0fb;--card-color:#809cc2}.bazi-card{background:linear-gradient(145deg,rgba(247,238,220,.87),rgba(251,246,235,.66));--card-fill:#f6efdf;--card-color:#b39865}.love-card{background:linear-gradient(145deg,rgba(248,228,236,.91),rgba(253,243,248,.68));--card-fill:#f8e9f0;--card-color:#c38ba7}.card-art{display:block;width:65px;height:60px;color:var(--card-color);margin:0 0 9px}.card-art svg{width:100%;height:100%}.card-title{font-size:16px;font-weight:500;letter-spacing:1.4px;line-height:1.35}.card-english{display:block;font-size:8px;letter-spacing:1.9px;font-weight:400;margin-top:6px;color:var(--soft-text);opacity:.9}.card-description{margin-top:12px;font-size:10px;color:var(--soft-text);letter-spacing:.1px;white-space:nowrap}.card-open{position:absolute;right:12px;top:12px;color:var(--card-color);opacity:.65}.card-open .icon{width:12px;height:12px}.prompt-section{margin-top:29px}.prompt-label{font-size:10px;color:var(--muted);letter-spacing:.7px}.prompt-chips{display:flex;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}.prompt-chips button{font-size:11px;letter-spacing:.1px;display:flex;align-items:center;gap:17px;min-height:35px;border:1px solid #e2ddea;border-radius:30px;padding:8px 13px;color:var(--soft-text);background:var(--surface-glass)}.prompt-chips button:hover{background:var(--hover);border-color:#c9bbdb}.prompt-chips .icon{width:11px;height:11px;color:#9b88b0}.composer-area{width:100%;padding:12px 32px 19px;z-index:2;flex-shrink:0;background:linear-gradient(0deg,var(--bg) 75%,transparent)}.composer{max-width:766px;margin:0 auto;background:var(--surface-glass);border:1px solid rgba(210,199,226,.8);box-shadow:0 6px 30px rgba(89,62,128,.055),inset 0 0 0 3px rgba(255,255,255,.3);border-radius:20px;backdrop-filter:blur(18px);padding:14px 17px 11px;transition:border .2s,box-shadow .2s}.composer:focus-within{border-color:#b4a0cd;box-shadow:0 6px 30px rgba(89,62,128,.08),0 0 0 3px rgba(173,150,205,.08)}.composer-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-context{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.3px;color:var(--accent)}.composer-context .icon{width:13px;height:13px}.composer-hint{font-size:9px;color:var(--muted);letter-spacing:.2px}#message-input{display:block;resize:none;border:0;outline:none;background:transparent;color:var(--text);width:100%;font-size:14px;line-height:1.6;max-height:112px;min-height:25px;padding:0;margin:12px 0 9px}#message-input:focus-visible{outline:none}#message-input::placeholder{color:var(--muted);opacity:.9}.composer-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.input-hint{font-size:9px;color:var(--muted);letter-spacing:.1px}.send-button{width:33px;height:33px;border-radius:11px;background:var(--accent);color:white;display:grid;place-items:center;min-width:33px}.send-button .icon{width:17px;height:17px;stroke-width:1.8}.send-button:disabled{background:#ede7f3;color:#a694bd}.send-button:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 3px 9px rgba(82,50,113,.15)}.footnote{font-size:9px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;margin:12px 0 0;letter-spacing:.1px}.footnote .icon{width:10px;height:10px}.footnote>span{margin-left:8px;padding-left:12px;border-left:1px solid #dcd6e5;font-size:8px}.chat-view{width:100%;max-width:830px;margin:0 auto;padding:15px 32px 28px}.chat-heading{display:flex;align-items:center;justify-content:space-between;padding:2px 0 20px;border-bottom:1px solid var(--line);margin-bottom:30px}.chat-topic{font-size:15px;font-weight:500;letter-spacing:.7px}.chat-demo-label{font-size:10px;color:var(--muted);padding:3px 9px;border:1px solid var(--line);border-radius:20px}.messages{display:flex;flex-direction:column;gap:25px}.message{display:flex;align-items:flex-start;gap:12px;min-width:0}.message-avatar{width:31px;height:31px;display:grid;place-items:center;flex-shrink:0;border-radius:11px;background:#eae2f3;color:var(--accent);font-size:13px}.message-avatar .icon{width:16px;height:16px}.message-body{min-width:0;max-width:calc(100% - 43px)}.message-meta{color:var(--muted);font-size:10px;margin:0 0 8px;display:flex;gap:8px;align-items:center}.message-text{font-size:14px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.message-user{flex-direction:row-reverse}.message-user .message-avatar{display:none}.message-user .message-body{max-width:80%;padding:12px 18px;background:#eae2f4;border:1px solid #e1d7ef;border-radius:17px 4px 17px 17px}.message-user .message-meta{display:none}.message-user .message-text{font-size:13px}.loading-dots{display:flex;gap:5px;padding:15px 0}.loading-dots span{display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);animation:typing 1.1s infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.chat-actions{margin-top:22px;padding-left:43px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.inline-button{background:var(--surface-glass);border:1px solid #dcd2e8;color:var(--accent-strong);border-radius:10px;font-size:12px;min-height:44px;padding:10px 14px}.inline-button:hover{background:var(--hover)}.inline-button.primary{background:var(--accent);border-color:var(--accent);color:white}.inline-button.primary:hover{background:var(--accent-strong)}.birth-form{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface-glass);margin-top:15px;max-width:520px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field label{font-size:12px;color:var(--soft-text)}.form-field input,.form-field select{width:100%;min-width:0;border:1px solid #dcd5e5;background:var(--surface);color:var(--text);border-radius:9px;padding:10px;min-height:44px;font-size:13px}.form-field input:disabled{opacity:.5}.form-full{grid-column:1/-1}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--soft-text);min-height:44px}.checkbox-field input{accent-color:var(--accent);width:16px;height:16px;min-height:16px}.form-note,.form-status{font-size:11px;line-height:1.8;color:var(--muted);margin-top:12px}.form-status{color:var(--error)}.birth-form button{margin-top:12px}.tarot-spread{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;max-width:550px}.tarot-spread:has(.tarot-card-result:only-child){grid-template-columns:minmax(140px,200px)}.tarot-card-result{min-width:0}.tarot-position{font-size:10px;text-align:center;color:var(--muted);margin:0 0 8px;letter-spacing:.6px}.tarot-face{height:184px;position:relative;border-radius:11px;border:1px solid #cab9df;background:radial-gradient(ellipse at 50% 25%,#eee3f9,transparent 60%),linear-gradient(150deg,#f6f0fc,#e5d8f4);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#9b7cba;overflow:hidden}.tarot-face:before{content:"";position:absolute;inset:8px;border:1px solid #ccb9df;border-radius:6px}.tarot-face:after{content:"";position:absolute;width:80px;height:80px;border:1px solid #ccb9df;border-radius:50%;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.tarot-glyph{font-size:38px;line-height:1.5;z-index:1}.tarot-glyph svg{width:64px;height:64px;stroke-width:1}.tarot-face.is-reversed .tarot-glyph{transform:rotate(180deg)}.tarot-index{position:absolute;top:17px;z-index:1;font-size:10px;letter-spacing:1px}.tarot-caption{font-size:12px;color:var(--text);text-align:center;margin-top:10px;font-weight:500}.tarot-caption small{font-size:10px;display:block;color:var(--muted);margin-top:3px}.tarot-reading{font-size:11px;color:var(--soft-text);line-height:1.8;margin:8px 0 0}.info-dialog{max-width:560px;width:calc(100% - 40px);max-height:85dvh;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:24px;padding:24px 28px 28px;box-shadow:0 20px 80px rgba(42,27,62,.15)}.info-dialog::backdrop{background:rgba(47,34,66,.21);backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header .eyebrow{margin:0;font-size:9px;letter-spacing:2px}.info-dialog h2{font-size:25px;font-weight:500;letter-spacing:1px;margin:12px 0 20px}.info-dialog>p{font-size:12px;line-height:1.9;color:var(--soft-text)}.method-list{margin:24px 0}.method-list>div{display:grid;grid-template-columns:68px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.method-list strong{font-size:12px;font-weight:500}.method-list p{font-size:11px;line-height:1.9;margin:0;color:var(--soft-text)}.dialog-note{background:var(--hover);border-radius:10px;padding:12px}.dialog-primary{background:var(--accent);color:white;border-radius:12px;padding:12px 18px;margin-top:12px;width:100%;min-height:44px}.dialog-primary:hover{background:var(--accent-strong)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;padding:12px 20px;max-width:calc(100% - 32px);background:var(--text);color:var(--surface);border-radius:12px;font-size:12px;z-index:100;box-shadow:var(--shadow);transition:opacity .2s,transform .2s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.sidebar-scrim{display:none}
body.theme-dark{color-scheme:dark;--bg:#1c1925;--sidebar:#211d2c;--text:#eee7f7;--muted:#b1a6be;--soft-text:#c2b6d0;--accent:#b29acb;--accent-strong:#bca2d8;--line:#383044;--surface:#282231;--surface-glass:rgba(46,37,59,.81);--hover:#342a43;--violet:#b99bdc;--blue:#92b0d6;--amber:#d1b783;--rose:#d7a0b9;--focus:#c5a8e8;--error:#ef9caf}body.theme-dark .welcome h1{color:var(--text)}body.theme-dark .welcome h1 span{background-image:linear-gradient(120deg,#cab1e6,#d6b2da 60%,#a7c1e7)}body.theme-dark .new-chat{border-color:#4c3b5e;background:#3b2d4d;color:#e3d0f6}body.theme-dark .new-chat:hover{background:#47355d}body.theme-dark .little-note{background:linear-gradient(130deg,#32283e,#2a2333);border-color:#44354f}body.theme-dark .violet{background:#392c49}body.theme-dark .blue{background:#2b3546}body.theme-dark .amber{background:#3b352b}body.theme-dark .rose{background:#422d3c}body.theme-dark .explore-card{border-color:#43354f}body.theme-dark .astrology-card{background:linear-gradient(140deg,#362a49,#2e253e);--card-fill:#32273f;--card-color:#b294d1}body.theme-dark .tarot-card{background:linear-gradient(140deg,#2b3447,#252d3d);--card-fill:#2b3244;--card-color:#98b0d3}body.theme-dark .bazi-card{background:linear-gradient(140deg,#3c342d,#302b29);--card-fill:#382f29;--card-color:#cbb087}body.theme-dark .love-card{background:linear-gradient(140deg,#402d3e,#322538);--card-fill:#3b2b3b;--card-color:#cc9db8}body.theme-dark .prompt-chips button,body.theme-dark .composer,body.theme-dark .inline-button,body.theme-dark .form-field input,body.theme-dark .form-field select{border-color:#4e3d61}body.theme-dark .composer{box-shadow:0 6px 30px rgba(0,0,0,.1)}body.theme-dark .send-button:not(:disabled),body.theme-dark .inline-button.primary,body.theme-dark .dialog-primary{color:#24192f}body.theme-dark .send-button:disabled{background:#41304f;color:#b39cc8}body.theme-dark .message-user .message-body{background:#392c4c;border-color:#4d3c63}body.theme-dark .message-avatar{background:#3d2e50}body.theme-dark .tarot-face{background:radial-gradient(ellipse at 50% 25%,#534064,transparent 65%),linear-gradient(140deg,#3a2d4d,#30253d);border-color:#786088;color:#c0a0dc}body.theme-dark .tarot-face:before,body.theme-dark .tarot-face:after{border-color:#806590}body.theme-dark .footnote>span{border-color:var(--line)}
@media(min-width:1600px){.sidebar{width:270px;padding:38px 26px 20px}.topbar{height:86px;padding:0 45px}.welcome{padding-top:26px;max-width:880px}.celestial-scene{height:220px}.celestial-orb{width:151px;height:151px;top:26px}.celestial-orbit{width:470px;height:263px;top:-14px}.orb-aura{height:210px;width:280px}.welcome h1{font-size:46px}.explore-grid{margin-top:43px}.explore-card{padding-top:21px;padding-bottom:25px}.composer-area{padding-bottom:25px}.composer{max-width:816px}.chat-view{max-width:880px}}
@media(max-height:850px) and (min-width:769px){.sidebar{padding-top:26px}.brand{margin-bottom:26px}.new-chat{margin-bottom:22px}.mode-nav{gap:3px}.mode-nav-item{padding-top:9px;padding-bottom:9px;min-height:56px}.sidebar-divider{margin:20px 9px}.little-note{padding:10px}.topbar{height:65px}.celestial-scene{height:142px}.celestial-orb{width:108px;height:108px;top:7px}.celestial-orbit{width:330px;height:186px;top:-23px}.orb-aura{top:4px;height:137px}.scene-star{transform:translateY(-16px)}.eyebrow{margin-top:19px;margin-bottom:9px}.welcome h1{font-size:35px}.welcome-subtitle{margin-top:10px}.explore-grid{margin-top:25px}.explore-card{padding-top:12px;padding-bottom:15px}.card-art{width:58px;height:50px;margin-bottom:7px}.card-description{margin-top:10px}.prompt-section{margin-top:21px}.prompt-chips{margin-top:9px}.composer-area{padding-top:8px;padding-bottom:14px}.composer{padding-top:11px;padding-bottom:8px}#message-input{margin-top:9px;margin-bottom:6px}.footnote{margin-top:9px}}
@media(max-width:1100px) and (min-width:769px){.sidebar{width:221px;padding-left:15px;padding-right:15px}.brand-wordmark{gap:7px}.welcome{padding-left:24px;padding-right:24px}.explore-grid{gap:9px}.card-description{font-size:9px}.composer-area{padding-left:24px;padding-right:24px}.welcome h1{font-size:34px}.topbar{padding:0 24px}.composer-hint{font-size:8px}}
@media(max-width:768px){body{font-size:16px}.sidebar{position:fixed;inset:0 auto 0 0;transform:translateX(-100%);width:270px;transition:transform .25s;height:100dvh;padding-top:26px;visibility:hidden}.sidebar-open .sidebar{transform:translateX(0);visibility:visible}.sidebar-scrim{position:fixed;inset:0;background:rgba(43,29,64,.3);backdrop-filter:blur(3px);z-index:20}.sidebar-open .sidebar-scrim{display:block}.brand{margin-bottom:26px}.mode-nav-item small{font-size:11px}.mode-nav-item{min-height:64px}.nav-label,.history-empty,.sidebar-link{font-size:12px}.history-list{margin-bottom:8px}.little-note{padding:12px}.menu-button{display:grid;width:44px;margin-left:-10px}.topbar{height:64px;padding:0 20px}.space-label{font-size:11px;letter-spacing:.3px}.topbar-left{gap:5px}.topbar-right{gap:4px}.demo-badge{font-size:9px;padding:4px 8px}.topbar-right>.icon-button{width:30px}.welcome{max-width:560px;padding:4px 23px 24px}.celestial-scene{height:155px;max-width:340px}.celestial-orb{width:110px;height:110px;top:13px}.celestial-orbit{width:340px;height:190px;top:-15px}.orb-aura{top:12px;width:215px;height:140px}.scene-caption{font-size:7px;letter-spacing:1.9px}.star-one{left:18%;top:100px}.star-two{right:16%;top:35px}.eyebrow{margin-top:23px;font-size:9px;letter-spacing:1.9px}.welcome h1{font-size:29px;letter-spacing:1.2px;white-space:nowrap}.welcome-subtitle{font-size:12px;line-height:1.85;margin-top:12px}.mobile-break{display:block}.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:27px}.explore-card{padding:12px 8px 15px;border-radius:16px}.card-art{width:55px;height:45px;margin-bottom:6px}.card-title{font-size:16px;letter-spacing:1px}.card-english{font-size:8px;margin-top:4px}.card-description{font-size:10px;margin-top:10px}.prompt-section{margin-top:24px}.prompt-chips{gap:7px;margin-top:11px}.prompt-chips button{font-size:11px;min-height:44px;padding:8px 12px;gap:10px}.prompt-label{font-size:11px}.composer-area{padding:9px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--bg) 82%,transparent)}.composer{border-radius:17px;padding:12px 14px 9px}.composer-context{font-size:10px}.composer-hint{display:none}#message-input{font-size:16px;margin:10px 0 6px;min-height:26px}.composer-bottom{min-height:36px}.input-hint{font-size:9px}.send-button{width:40px;height:40px;min-width:40px;border-radius:12px}.footnote{font-size:8px;margin-top:9px;gap:3px}.footnote>span{display:none}.footnote .icon{width:9px}.chat-view{padding:12px 20px 24px}.chat-heading{margin-bottom:24px}.chat-topic{font-size:15px}.message{gap:9px}.message-avatar{width:27px;height:27px;border-radius:9px}.message-body{max-width:calc(100% - 36px)}.message-text{font-size:14px;line-height:1.95}.message-meta{font-size:10px}.message-user .message-body{max-width:88%;padding:11px 14px}.chat-actions{padding-left:36px}.inline-button{font-size:12px;padding:9px 11px}.birth-form{padding:16px}.form-grid{grid-template-columns:1fr;gap:13px}.form-field input,.form-field select{font-size:16px}.form-field label{font-size:12px}.form-full{grid-column:1}.form-note{font-size:11px}.tarot-spread{gap:8px}.tarot-face{height:138px;border-radius:9px}.tarot-face:before{inset:6px}.tarot-face:after{width:50px;height:50px}.tarot-glyph{font-size:26px}.tarot-glyph svg{width:42px;height:42px}.tarot-index{font-size:8px;top:14px}.tarot-caption{font-size:11px}.tarot-caption small{font-size:9px}.tarot-reading{font-size:10px}.info-dialog{width:calc(100% - 28px);padding:20px;max-height:88dvh}.info-dialog h2{font-size:23px}.info-dialog>p{font-size:13px}.method-list>div{grid-template-columns:60px 1fr;gap:10px}.method-list p{font-size:12px}.skip-link{left:20px}.ambient{inset:64px 0 0}}
@media(max-width:360px){.topbar{padding:0 14px}.space-label{font-size:10px}.welcome{padding-left:16px;padding-right:16px}.welcome h1{font-size:26px}.explore-grid{gap:9px}.card-description{font-size:9px}.demo-badge{font-size:8px}.composer-area{padding-left:12px;padding-right:12px}.tarot-spread{grid-template-columns:1fr}.tarot-face{height:180px}.tarot-card-result{max-width:190px}.tarot-reading{font-size:12px}}
@media(max-width:768px){.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar>.brand,.sidebar>.new-chat,.sidebar>.mode-nav,.sidebar>.sidebar-bottom{flex-shrink:0}.toast{bottom:calc(24px + env(safe-area-inset-bottom))}.mode-nav-item{scroll-margin:16px}}
.form-error,.message-error{color:var(--error);font-size:12px;line-height:1.7}.form-error:empty{display:none}.send-button.is-busy{opacity:.6}.birth-form.is-complete{opacity:.88}
.history-item{display:flex;align-items:center;gap:9px}.history-item>.icon{width:15px;height:15px;color:var(--accent)}.history-item>span{min-width:0}.birth-form.is-complete .form-status{color:var(--accent)}
.tarot-face .tarot-caption{position:absolute;bottom:15px;font-size:9px;letter-spacing:.5px;color:var(--accent);margin:0;max-width:calc(100% - 24px);line-height:1.4}.tarot-card-result h3{font-size:13px;font-weight:500;text-align:center;margin:12px 0 3px}.tarot-orientation{display:block;font-size:10px;text-align:center;color:var(--muted)}.tarot-reading strong{font-size:12px;font-weight:500}.tarot-reading p{margin:8px 0;line-height:1.8}.tarot-reflection{border-top:1px solid var(--line);padding-top:9px;color:var(--accent-strong)}.tarot-face.is-reversed .tarot-glyph{transform:rotate(180deg)}
.place-results{display:grid;gap:7px;margin-top:10px}.place-results:empty{display:none}.place-results .inline-button{text-align:left;width:100%;white-space:normal;overflow-wrap:anywhere;margin:0}.birth-calibration{margin-top:15px;border-top:1px solid var(--line);padding-top:5px}.birth-calibration>summary{font-size:11px;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--accent)}.birth-calibration>summary:before{content:'+';font-size:16px}.birth-calibration[open]>summary:before{content:'−'}.birth-calibration input{font-size:12px}.birth-calibration .form-grid{padding-top:8px}.message:has(.natal-card) .message-body{width:100%}.natal-card{width:100%;max-width:680px;border:1px solid #d9cce8;border-radius:20px;background:linear-gradient(135deg,rgba(248,242,255,.9),rgba(241,245,254,.86));padding:21px 24px;box-shadow:0 8px 30px rgba(95,72,124,.04);color:var(--text)}.natal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.natal-header h3{font-weight:500;font-size:19px;letter-spacing:1px;margin:5px 0 0}.natal-eyebrow{font-size:8px;letter-spacing:2px;color:var(--accent)}.natal-badge{font-size:10px;border:1px solid #dbcee8;background:var(--surface-glass);border-radius:30px;padding:5px 9px;color:var(--accent);white-space:nowrap}.natal-birth{font-size:11px;color:var(--muted);margin:12px 0 10px}.natal-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:23px;align-items:center}.natal-wheel{display:block;width:100%;max-width:288px;height:auto;margin:auto;overflow:visible}.wheel-ring{stroke:#c8b8dc;stroke-width:.8;fill:none}.wheel-ring:first-child{fill:rgba(255,255,255,.25)}.wheel-divider{stroke:#c7b6da;stroke-width:.7}.wheel-sign{font-size:9px;fill:var(--soft-text);letter-spacing:.4px}.wheel-house{stroke:#cfc0df;stroke-width:.6;stroke-dasharray:2 3}.wheel-axis{stroke:#a88cbe;stroke-width:1.1}.wheel-house-number{font-size:8px;fill:var(--muted)}.wheel-aspect{stroke-width:.85;opacity:.5}.wheel-aspect.challenging{stroke:#bd829e}.wheel-aspect.flowing{stroke:#8b9dc8}.wheel-leader{stroke:#bda9d2;stroke-width:.65}.wheel-planet-dot{fill:#987db4}.wheel-planet-label{font-size:10px;fill:var(--accent-strong);font-weight:500}.wheel-angle-label{font-size:7px;fill:var(--accent)}.wheel-centre{fill:var(--accent);font-size:10px;letter-spacing:3px}.wheel-centre-small{fill:var(--muted);font-size:8px;letter-spacing:1px}.natal-core{display:grid;gap:12px}.natal-core-item{display:flex;flex-direction:column;padding:12px 14px;border:1px solid rgba(211,198,226,.65);border-radius:13px;background:var(--surface-glass)}.natal-core-name{font-size:10px;color:var(--muted);letter-spacing:1px}.natal-core-item strong{font-size:18px;font-weight:500;letter-spacing:.6px;margin:4px 0}.natal-core-detail{font-size:11px;color:var(--accent)}.natal-core-item small{font-size:9px;color:var(--muted);margin-top:6px}.natal-method{display:flex;justify-content:space-between;gap:12px;color:var(--soft-text);font-size:10px;border-top:1px solid var(--line);margin-top:18px;padding-top:13px;flex-wrap:wrap}.natal-details>summary{display:flex;align-items:center;gap:8px;min-height:44px;font-size:11px;color:var(--accent);cursor:pointer}.natal-details>summary:before{content:'+';font-size:15px}.natal-details[open]>summary:before{content:'−'}.natal-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;line-height:1.8;margin:3px 0 14px}.natal-table th{font-weight:500;color:var(--muted);text-align:left;font-size:10px;padding:7px 4px;border-bottom:1px solid var(--line)}.natal-table td{padding:8px 4px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.natal-table th:first-child{width:21%}.natal-table th:nth-child(2){width:49%}.natal-table th:last-child{width:30%}.natal-subtitle{font-size:11px;font-weight:500;margin:16px 0 10px}.natal-aspects{display:grid;gap:8px}.natal-aspect{font-size:11px;color:var(--soft-text);line-height:1.7}.natal-source-note{font-size:10px;color:var(--muted);line-height:1.9;border-top:1px solid var(--line);padding-top:13px;margin-top:17px}.natal-attribution{font-size:9px;color:var(--muted);display:flex;gap:4px;flex-wrap:wrap;align-items:center}.natal-attribution a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}.natal-credit{font-size:9px;color:var(--muted);line-height:1.8;margin:0 0 12px}.natal-followups{margin-top:5px;gap:7px}.natal-followups .inline-button{font-size:11px;padding:9px 12px;background:var(--surface-glass)}body.theme-dark .natal-card{background:linear-gradient(135deg,#342741,#242b3c);border-color:#564164}body.theme-dark .natal-badge,body.theme-dark .natal-core-item{border-color:#534160}body.theme-dark .wheel-ring,body.theme-dark .wheel-divider{stroke:#68547a}body.theme-dark .wheel-ring:first-child{fill:rgba(56,42,72,.3)}body.theme-dark .wheel-house{stroke:#5b4770}body.theme-dark .wheel-axis{stroke:#997caf}body.theme-dark .wheel-planet-dot{fill:#c0a0dc}
@media(max-width:768px){.natal-card{padding:15px 12px;border-radius:16px}.natal-header h3{font-size:17px}.natal-eyebrow{font-size:7px;letter-spacing:1.5px}.natal-badge{font-size:9px;padding:4px 7px}.natal-birth{font-size:10px;line-height:1.8;margin:10px 0}.natal-overview{grid-template-columns:1fr;gap:10px}.natal-wheel{max-width:205px}.natal-core{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.natal-core-item{padding:9px 7px;min-width:0}.natal-core-name{font-size:10px}.natal-core-item strong{font-size:14px;letter-spacing:0;line-height:1.5}.natal-core-detail{font-size:9px;line-height:1.7}.natal-core-item small{display:none}.natal-method{font-size:9px;margin-top:13px;padding-top:10px;gap:5px}.natal-details>summary{font-size:10px}.natal-table{font-size:10px}.natal-table td{padding:7px 3px}.natal-aspect{font-size:10px}.natal-source-note{font-size:10px}.natal-credit{font-size:8px;margin-bottom:9px}.natal-followups .inline-button{font-size:10px;padding:8px 10px;flex:1 1 auto}.birth-calibration input{font-size:16px}.birth-calibration>summary{font-size:12px}.place-results .inline-button{font-size:12px}.natal-attribution{font-size:9px}}
/* 回复排版、流式输出与复制 */
.rich-text{white-space:normal}.rich-text p{margin:0 0 .85em;white-space:pre-wrap}.rich-text>:last-child{margin-bottom:0}.rich-heading{display:flex;align-items:center;gap:8px;margin:1.35em 0 .3em;font-size:14.5px;font-weight:600;line-height:1.6;letter-spacing:.6px;color:var(--accent-strong)}.rich-heading:before{content:"✦";font-size:9px;opacity:.7}.rich-text>.rich-heading:first-child{margin-top:0}.rich-item{position:relative;padding-left:16px}.rich-text .rich-item{margin-bottom:.45em}.rich-item:before{content:"";position:absolute;left:3px;top:.85em;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.75}
.message-streaming .message-text>:last-child:after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:3px;vertical-align:-.15em;background:var(--accent);animation:caret 1s steps(2) infinite}@keyframes caret{50%{opacity:0}}
.copy-button{display:grid;place-items:center;width:26px;height:26px;margin:-5px 0 -5px 2px;border-radius:8px;background:transparent;color:var(--muted);opacity:0;transition:opacity .2s,background .2s,color .2s}.copy-button .icon{width:14px;height:14px}.message:hover .copy-button,.copy-button:focus-visible,.copy-button.is-done{opacity:1}.copy-button:hover{background:var(--hover);color:var(--accent-strong)}.copy-button.is-done{color:var(--accent)}@media(hover:none){.copy-button{opacity:.7}}
.message-note{margin:12px 0 0;font-size:12px;color:var(--muted)}
.space-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-left{min-width:0}
@media(max-width:768px){body:not(.is-home) .demo-badge{display:none}}@media(hover:none) and (pointer:coarse){.input-hint{visibility:hidden}}
@media(max-width:560px){.tarot-spread,.tarot-spread:has(.tarot-card-result:only-child){grid-template-columns:1fr;gap:18px;max-width:none}.tarot-card-result{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:14px;align-items:start;max-width:none}.tarot-card-result+.tarot-card-result{padding-top:18px;border-top:1px solid var(--line)}.tarot-face{grid-column:1;grid-row:1/4;height:132px}.tarot-position,.tarot-caption,.tarot-reading{grid-column:2;text-align:left;margin:0}.tarot-position{margin-bottom:2px}.tarot-caption{font-size:13px}.tarot-reading{font-size:12px;margin-top:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.bazi-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px}.bazi-pillar{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border:1px solid rgba(211,198,226,.65);border-radius:13px;background:var(--surface-glass);min-width:0;text-align:center}.bazi-pillar.is-day{border-color:var(--accent)}.bazi-label{font-size:10px;color:var(--muted);letter-spacing:1px}.bazi-god{font-size:10px;color:var(--accent)}.bazi-char{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:0}.bazi-unknown{color:var(--muted)}.bazi-hidden,.bazi-alt{font-size:9px;color:var(--soft-text);line-height:1.6;overflow-wrap:anywhere}.bazi-alt{color:var(--accent)}.bazi-summary{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:var(--soft-text)}body.theme-dark .bazi-pillar{border-color:#534160}
@media(max-width:768px){.bazi-pillars{gap:6px}.bazi-pillar{padding:9px 3px}.bazi-char{font-size:20px}.bazi-summary{font-size:10px}}
