.chat-root{--primary:#c2410c;--primary-soft:#ea580c;--primary-bright:#f97316;--bg:#faf5ec;--bg-alt:#f5eddd;--fg:#1c1410;--fg-soft:#3f3632;--muted:#8a7f78;--muted-light:#bcb0a8;--border:#e8dac5;--border-soft:#efe5d1;--ink:#0f0b08;--focus:#2563eb;--serif-en:"Fraunces", "Instrument Serif", Georgia, serif;--serif-cn:"Noto Serif SC", "STSongti-SC-Regular", "Songti SC", serif;--brand-cn:"ZCOOL XiaoWei", "Noto Serif SC", serif;--sans:"Inter", -apple-system, "PingFang SC", "Hiragino Sans GB", sans-serif;--steady-bg:#fdf2d9;--steady-ink:#92400e;--growth-bg:#e1ede3;--growth-ink:#3f6b4c;--index-bg:#e4e0ee;--index-ink:#4c3e7a;--bond-bg:#f5dde0;--bond-ink:#8f3a4a;--other-bg:#e7e4dd;--other-ink:#525252;font-family:var(--sans);color:var(--fg);background:#e5dcca;min-height:100vh;line-height:1.5}.chat-root *,.chat-root :before,.chat-root :after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}.chat-root :focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.chat-root .device{background:var(--bg);flex-direction:column;max-width:414px;min-height:100vh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 80px #1c141014}.chat-root .device:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(at 15% 0,#ea580c09 0,#0000 45%),radial-gradient(at 95% 55%,#ca8a0408 0,#0000 45%);position:absolute;inset:0}.chat-root .device>*{z-index:1;position:relative}.chat-root .status-bar{height:44px;color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:flex-end;align-items:center;padding:0 24px;font-size:14px;font-weight:600;display:flex}.chat-root .status-bar .right{align-items:center;gap:6px;font-size:13px;display:flex}.chat-root .masthead{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 26px 16px;display:flex}.chat-root .zw-logo-mini{color:inherit;align-items:center;gap:14px;text-decoration:none;display:inline-flex}.chat-root .zw-cn-row{font-family:var(--brand-cn);color:var(--ink);letter-spacing:2px;align-items:center;gap:6px;font-size:30px;line-height:1;display:inline-flex}.chat-root .zw-cn-row .zw-dot{background:var(--primary-soft);border-radius:50%;width:4px;height:4px;margin:0 2px}.chat-root .zw-en-side{border-left:1px solid var(--border);flex-direction:column;gap:3px;padding-left:12px;display:flex}.chat-root .zw-en-main{font-family:var(--serif-en);letter-spacing:1.5px;color:var(--ink);font-size:13px;font-style:italic;font-weight:300;line-height:1}.chat-root .zw-en-sub{font-family:var(--serif-en);color:var(--muted);letter-spacing:2.5px;font-size:9px;font-style:italic}.chat-root .user-ava{background:var(--bg-alt);border:1px solid var(--border);width:40px;height:40px;font-family:var(--serif-en);color:var(--primary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;font-size:16px;font-style:italic;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s;display:flex}.chat-root .user-ava:hover{border-color:var(--primary)}.chat-root .section-head{flex-shrink:0;align-items:center;gap:10px;margin:4px 0 12px;padding:0 28px;display:flex}.chat-root .section-head h3{font-family:var(--serif-cn);color:var(--ink);letter-spacing:.3px;text-wrap:balance;font-size:15px;font-weight:700}.chat-root .section-head .req{font-family:var(--sans);color:var(--primary);letter-spacing:1px;text-transform:uppercase;background:#ea580c1a;border-radius:4px;padding:2px 7px;font-size:9px;font-weight:700}.chat-root .section-head:after{content:"";background:linear-gradient(to right, var(--border) 0%, transparent 100%);flex:1;height:1px}.chat-root .thread{scrollbar-width:thin;flex-direction:column;flex:1;gap:16px;padding:4px 22px 16px;display:flex;overflow-y:auto}.chat-root .msg{flex-direction:column;gap:6px;max-width:88%;animation:.42s ease-out both chatFadeUp;display:flex}.chat-root .msg.user{align-self:flex-end;align-items:flex-end}.chat-root .msg.ai{align-self:flex-start;align-items:flex-start}.chat-root .msg-meta{font-family:var(--sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;padding:0 4px;font-size:9px;font-weight:600;display:flex}.chat-root .msg-meta .tick{background:var(--primary-bright);border-radius:50%;width:3px;height:3px}.chat-root .bubble{letter-spacing:.2px;white-space:pre-wrap;word-break:break-word;border-radius:16px;padding:13px 16px;font-size:13.8px;line-height:1.72}.chat-root .msg.user .bubble{background:var(--ink);color:var(--bg);border-bottom-right-radius:5px;box-shadow:0 6px 18px -8px #1c141059}.chat-root .msg.ai .bubble{color:var(--fg);border:1px solid var(--border-soft);font-family:var(--serif-cn);background:#fff;border-bottom-left-radius:5px;box-shadow:0 1px 2px #1c141008}.chat-root .msg.ai .bubble strong{color:var(--ink);font-weight:700}.chat-root .msg.error .bubble{color:#92400e;background:#fdf2d9;border-color:#e5c98f}.chat-root .bubble.streaming:after{content:"";vertical-align:-.12em;background:var(--primary-soft);width:2px;height:.95em;margin-left:3px;animation:1s steps(2,start) infinite chatCaret;display:inline-block}@keyframes chatCaret{0%,to{opacity:1}50%{opacity:0}}.chat-root .bubble.waiting{color:var(--muted);align-items:baseline;gap:8px;font-style:italic;display:inline-flex}.chat-root .wait-text{animation:.42s ease-out both chatHintIn}.chat-root .wait-dots{align-items:center;gap:4px;display:inline-flex;transform:translateY(-2px)}.chat-root .wait-dots i{background:var(--muted-light);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite chatBlink}.chat-root .wait-dots i:nth-child(2){animation-delay:.18s}.chat-root .wait-dots i:nth-child(3){animation-delay:.36s}@keyframes chatHintIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.chat-root .typing{align-items:center;gap:5px;padding:16px 18px;display:inline-flex}.chat-root .typing i{background:var(--muted-light);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite chatBlink}.chat-root .typing i:nth-child(2){animation-delay:.18s}.chat-root .typing i:nth-child(3){animation-delay:.36s}.chat-root .intro{flex-direction:column;gap:14px;padding:6px 4px 0;animation:.6s ease-out both chatFadeUp;display:flex}.chat-root .intro .rule{align-items:center;gap:14px;display:flex}.chat-root .intro .rule:before,.chat-root .intro .rule:after{content:"";background:var(--border);flex:1;height:1px}.chat-root .intro .rule .mark{font-family:var(--serif-en);color:var(--primary);letter-spacing:.3px;font-size:13px;font-style:italic;font-weight:500}.chat-root .intro .lede{font-family:var(--serif-cn);color:var(--fg-soft);letter-spacing:.3px;text-wrap:pretty;font-size:15px;line-height:1.85}.chat-root .intro .lede b{color:var(--ink);font-weight:700}.chat-root .quick-grid{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 22px 14px;display:grid}.chat-root .quick-btn{cursor:pointer;font-family:var(--sans);color:var(--fg);background:0 0;border:none;flex-direction:column;align-items:center;gap:7px;padding:0;display:flex}.chat-root .quick-btn .icon-holder{border-radius:18px;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s;display:flex}.chat-root .quick-btn[data-topic=steady] .icon-holder{background:var(--steady-bg);color:var(--steady-ink)}.chat-root .quick-btn[data-topic=growth] .icon-holder{background:var(--growth-bg);color:var(--growth-ink)}.chat-root .quick-btn[data-topic=index] .icon-holder{background:var(--index-bg);color:var(--index-ink)}.chat-root .quick-btn[data-topic=review] .icon-holder{background:var(--bond-bg);color:var(--bond-ink)}.chat-root .quick-btn .icon-holder svg{width:26px;height:26px}.chat-root .quick-btn .quick-name{text-align:center;color:var(--fg-soft);letter-spacing:.2px;font-size:11.5px;font-weight:500;line-height:1.25}.chat-root .quick-btn:hover .icon-holder{transform:translateY(-3px)scale(1.05);box-shadow:0 8px 20px -6px #1c141033}.chat-root .quick-btn:disabled{opacity:.45;cursor:not-allowed}.chat-root .dock-wrap{background:var(--bg);border-top:1px solid var(--border-soft);flex-shrink:0;padding-top:20px;padding-bottom:22px}.chat-root .chat-dock{background:var(--ink);border-radius:20px;margin:0 22px 10px;padding:2px;position:relative;box-shadow:0 8px 28px -8px #1c14104d}.chat-root .chat-dock:before{content:"✦";color:var(--primary-bright);background:var(--bg);border:1.5px solid var(--ink);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-family:ui-sans-serif,system-ui,Segoe UI Symbol,Apple Symbols,sans-serif;font-size:12px;font-weight:700;display:flex;position:absolute;top:-10px;left:20px}.chat-root .chat-inner{background:var(--bg);border-radius:18px;align-items:flex-end;gap:10px;padding:13px 10px 13px 20px;display:flex}.chat-root .chat-input{font-family:var(--sans);color:var(--fg);resize:none;background:0 0;border:none;outline:none;flex:1;min-width:0;max-height:96px;padding:5px 0;font-size:13.5px;line-height:1.6}.chat-root .chat-input::placeholder{color:var(--muted);font-style:italic}.chat-root .chat-send{background:var(--ink);width:38px;height:38px;color:var(--bg);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:background .22s,transform .22s;display:flex}.chat-root .chat-send:hover:not(:disabled){background:var(--primary);transform:scale(1.08)}.chat-root .chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-root .chat-hint{color:var(--muted);letter-spacing:.2px;justify-content:space-between;align-items:center;gap:8px;padding:0 28px;font-size:11px;display:flex}.chat-root .chat-hint .disclaimer{font-family:var(--serif-en);color:var(--muted-light);font-size:10px;font-style:italic}.chat-root .reset-btn{font-family:var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;transition:color .2s}.chat-root .reset-btn:hover{color:var(--primary)}@keyframes chatFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes chatBlink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.chat-root .masthead{animation:.6s ease-out both chatFadeUp}.chat-root .section-head{animation:.6s ease-out 80ms both chatFadeUp}.chat-root .quick-grid{animation:.6s ease-out .2s both chatFadeUp}.chat-root .dock-wrap{animation:.6s ease-out .28s both chatFadeUp}@media (prefers-reduced-motion:reduce){.chat-root *,.chat-root :before,.chat-root :after{transition:none!important;animation:none!important}}
