@font-face{font-family:LXGW Brand;src:url(/fonts/LXGWWenKai-brand.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:LXGW WenKai;src:url(/fonts/LXGWWenKaiLite.woff2) format("woff2");font-weight:400;font-display:swap}:root{--font-ui: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif}html[data-font=kai]{--font-ui: "LXGW WenKai", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif}:root{--color-page: #f5f5f7;--color-text: #1f1f1f;--color-muted: #888;--color-subtle: #555;--color-subtle-2: #666;--color-heading: #444;--color-surface: #fff;--color-surface-2: #fafafa;--color-border: #e5e5e7;--color-input-border: #d0d0d0;--color-input-border-2: #d0d0d3;--color-btn: #1f1f1f;--color-btn-text: #fff;--color-ghost-text: #1f1f1f;--color-accent: #007aff;--color-on-accent: #fff;--color-session-hover: #efeff2;--color-session-active: #e0e7ff;--color-err-bg: #ffe4e4;--color-err-border: #f5b5b5;--color-err-text: #a91414;--color-banner-bg: #fff8e6;--color-banner-border: #f0d9a8;--color-banner-text: #5c4a1a;--color-icon-btn-bg: rgba(255, 255, 255, .6);--color-icon-btn-hover-bg: #fff;--color-icon-btn-border: #d0d0d0;--color-shadow: rgba(0, 0, 0, .06);--color-row-tool: #f0f0f3;--color-md-quote-bg: #fafafa;--color-md-quote-border: #c8c8cc;--color-md-code: #f1f1f4;--color-md-pre-bg: #1e1f24;--color-md-pre-fg: #f5f5f7;--color-md-table-head: #f5f5f7;--color-event-tag-bg: #eef2ff;--color-event-tag-text: #3730a3;--color-event-payload: #f0f0f3;--color-empty-small: #aaa;--color-draft-high: #fffaef;--color-draft-high-border: #f6c560;--color-draft-blocked: #fff5f5;--color-draft-blocked-border: #f5b5b5;--color-risk-normal-bg: #e8f5e8;--color-risk-normal-text: #2a7a2a;--color-soul-badge: #e5e5e7;--color-soul-badge-text: #555;--color-soul-cycle-bg: #ffe5ec;--color-soul-cycle-text: #b03060;--color-soul-empath-bg: #e6f0fb;--color-soul-empath-text: #2c5282;--color-chart-bg: #fafafa;--color-chart-title: #1f1f1f;--color-chart-ann: #555;--color-chart-raw-bg: #fff;--color-chart-grid: #eee;--color-image-error: #c0392b;--color-bubble-img-border: rgba(0, 0, 0, .06);--color-soul-picker-bg: #f5f5f7;--color-text-label: #555;--color-thinking-dot: #888;--color-warn: #b8860b;--color-error: #c4302b;--color-conn-connecting: #f5b500;--color-conn-open: #2dba4e;--color-conn-closed: #d62828;--color-risk-high-tag-bg: #fff3cd;--color-risk-high-tag-text: #856404;--color-risk-blocked-tag-bg: #f8d7da;--color-risk-blocked-tag-text: #842029}[data-theme=dark]{--color-page: #0d0e11;--color-text: #e6e7eb;--color-muted: #7d828c;--color-subtle: #9a9ea8;--color-subtle-2: #7d828c;--color-heading: #f2f3f5;--color-surface: #16181d;--color-surface-2: #1f2228;--color-border: #24262d;--color-input-border: #2e313a;--color-input-border-2: #2e313a;--color-btn: #e8e9ed;--color-btn-text: #16181d;--color-ghost-text: #e6e7eb;--color-accent: #5b8cff;--color-on-accent: #fff;--color-session-hover: #1f2228;--color-session-active: #1a2440;--color-err-bg: #2a1719;--color-err-border: #5a2e30;--color-err-text: #ff9a9a;--color-banner-bg: #2a2412;--color-banner-border: #5a4e2e;--color-banner-text: #f0dca0;--color-icon-btn-bg: rgba(255, 255, 255, .04);--color-icon-btn-hover-bg: rgba(255, 255, 255, .08);--color-icon-btn-border: #2e313a;--color-shadow: rgba(0, 0, 0, .55);--color-row-tool: #1f2228;--color-md-quote-bg: #16181d;--color-md-quote-border: #2e313a;--color-md-code: #1f2228;--color-md-pre-bg: #121317;--color-md-pre-fg: #e6e7eb;--color-md-table-head: #1f2228;--color-event-tag-bg: #1e2150;--color-event-tag-text: #b9c2ff;--color-event-payload: #1f2228;--color-empty-small: #5a5e68;--color-draft-high: #2a2412;--color-draft-high-border: #8a6f1e;--color-draft-blocked: #2a1719;--color-draft-blocked-border: #5a2e30;--color-risk-normal-bg: #15301f;--color-risk-normal-text: #8fd99a;--color-soul-badge: #1f2228;--color-soul-badge-text: #c5c8d0;--color-soul-cycle-bg: #3a2236;--color-soul-cycle-text: #ffb3d9;--color-soul-empath-bg: #182a45;--color-soul-empath-text: #8ec5ff;--color-chart-bg: #16181d;--color-chart-title: #e6e7eb;--color-chart-ann: #9a9ea8;--color-chart-raw-bg: #1f2228;--color-chart-grid: #24262d;--color-image-error: #ff6961;--color-bubble-img-border: rgba(255, 255, 255, .1);--color-soul-picker-bg: #16181d;--color-text-label: #9a9ea8;--color-thinking-dot: #7d828c;--color-warn: #ffd60a;--color-error: #ff6961;--color-conn-connecting: #ffd60a;--color-conn-open: #32d74b;--color-conn-closed: #ff453a;--color-risk-high-tag-bg: #3a3216;--color-risk-high-tag-text: #f5d76a;--color-risk-blocked-tag-bg: #3a1c1f;--color-risk-blocked-tag-text: #ffb3b8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{margin:0;padding:0;height:100%;font-family:var(--font-ui);font-size:14px;background:var(--color-page);color:var(--color-text)}body{overscroll-behavior:none;overflow:hidden;-webkit-font-smoothing:antialiased}.app-root-layout{touch-action:manipulation}button{font:inherit;padding:.5rem 1rem;border:1px solid var(--color-btn);background:var(--color-btn);color:var(--color-btn-text);border-radius:6px;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button:disabled{opacity:.4;cursor:not-allowed}button.ghost{background:transparent;color:var(--color-ghost-text);border-color:transparent}button.small{padding:.25rem .6rem;font-size:12px}button.icon-only{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}input,textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);width:100%;resize:none}textarea{font-family:inherit;line-height:1.4}.err-box{margin-top:.5rem;padding:.5rem .6rem;background:var(--color-err-bg);border:1px solid var(--color-err-border);border-radius:6px;color:var(--color-err-text);font-size:13px;word-break:break-word}.err-box.small{font-size:12px;padding:.35rem .5rem}.app-root-layout{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}@media all and (display-mode:standalone){.app-root-layout{height:100vh}}@keyframes guide-modal-in{0%{opacity:0;transform:scale(.94) translateY(.5rem)}to{opacity:1;transform:scale(1) translateY(0)}}.guide-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.guide-modal-popup{width:100%;max-width:28rem;max-height:min(90vh,38rem);overflow-y:auto;padding:1.1rem 1.25rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 0 0 1px #0000000a,0 22px 56px #00000047;animation:guide-modal-in .24s ease-out}.guide-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.guide-modal-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--color-text);line-height:1.35}.guide-modal-close{flex-shrink:0;width:auto;margin:0;margin-top:-.1rem;padding:.2rem .5rem;line-height:1}.guide-modal-list{margin:0 0 .75rem;padding-left:1.2rem;font-size:13px;line-height:1.55;color:var(--color-subtle)}.guide-modal-list li{margin-bottom:.5rem}.guide-modal-list li:last-child{margin-bottom:0}.guide-modal-hint{margin:0 0 1rem;font-size:12px;line-height:1.45;color:var(--color-muted)}.guide-modal-persona-block{margin:0 0 .85rem;padding:.55rem .65rem;font-size:12px;line-height:1.5;color:var(--color-banner-text);background:var(--color-banner-bg);border:1px solid var(--color-banner-border);border-radius:8px}.guide-modal-persona-lead{margin:0 0 .35rem;font-size:12px;color:var(--color-banner-text)}.guide-modal-persona-copy{margin:0;font-size:12px;line-height:1.5;color:var(--color-subtle)}.tag-testing{display:inline-block;margin-right:.25rem;padding:.05rem .35rem;font-size:10px;font-weight:600;vertical-align:.08em;border-radius:4px;background:var(--color-event-tag-bg);color:var(--color-accent);letter-spacing:.02em}.persona-testing-banner{margin-top:.15rem;padding:.45rem .5rem;font-size:11px;line-height:1.45;color:var(--color-banner-text);background:var(--color-banner-bg);border:1px solid var(--color-banner-border);border-radius:8px}.empty-chat-welcome-persona-testing{margin:-.35rem 0 .75rem;padding:.45rem .55rem;font-size:11px;line-height:1.45;color:var(--color-banner-text);background:var(--color-banner-bg);border:1px solid var(--color-banner-border);border-radius:8px;text-align:left}.guide-modal-ok{width:100%}.chat-guide-btn{flex-shrink:0}.drafts-title{cursor:default}.mobile-webtest-banner{flex-shrink:0;display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .85rem;background:var(--color-banner-bg);border-bottom:1px solid var(--color-banner-border);color:var(--color-banner-text);font-size:12px;line-height:1.45}.mobile-webtest-banner p{margin:0;flex:1}.mobile-webtest-banner strong{font-weight:600}.mobile-webtest-banner-dismiss{flex-shrink:0;margin-top:0;white-space:nowrap}.login-shell{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:2rem 1rem}.login-card{position:relative;background:var(--color-surface);padding:2.5rem 2rem 2rem;border-radius:16px;width:100%;max-width:380px;box-shadow:0 12px 40px var(--color-shadow);border:1px solid var(--color-border)}.login-theme-slot{position:absolute;top:14px;right:14px;display:flex;gap:.25rem}.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.75rem}.login-logo{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-family:"LXGW Brand",var(--font-ui);font-size:30px;font-weight:400;color:var(--color-on-accent);background:linear-gradient(135deg,var(--color-accent),#5e5ce6);box-shadow:0 6px 16px #007aff47;margin-bottom:.85rem}.login-title{font-family:"LXGW Brand",var(--font-ui);font-size:22px;font-weight:400;letter-spacing:.08em;color:var(--color-text)}.login-sub{margin-top:.3rem;font-size:13px;color:var(--color-muted)}.login-form{display:flex;flex-direction:column;gap:1rem}.phone-field{display:flex;align-items:stretch;border:1px solid var(--color-input-border);border-radius:10px;background:var(--color-surface);overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.phone-field:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff26}.dial-select{position:relative;display:flex;align-items:center;padding:0 .75rem 0 .9rem;border-right:1px solid var(--color-border);background:var(--color-surface-2);cursor:pointer}.dial-select select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;cursor:pointer}.dial-display{font-size:15px;font-weight:500;color:var(--color-text);white-space:nowrap;pointer-events:none}.dial-display:after{content:"▾";margin-left:.3rem;font-size:11px;color:var(--color-muted)}.phone-field .phone-number{flex:1;border:none;border-radius:0;background:transparent;padding:.85rem .9rem;font-size:16px;letter-spacing:.02em}.phone-field .phone-number:focus{outline:none;box-shadow:none}.login-card .login-submit{width:100%;margin:0;padding:.8rem;font-size:15px;font-weight:500;border-radius:10px}.login-tos{margin:0;font-size:12px;line-height:1.6;color:var(--color-muted);text-align:center}.code-sentto{margin:0;font-size:13px;color:var(--color-subtle);text-align:center}.code-sentto strong{color:var(--color-text)}.otp-input{display:flex;gap:.5rem;justify-content:center}.otp-input input{flex:1 1 0;min-width:0;max-width:52px;height:54px;padding:0;text-align:center;font-size:22px;font-weight:600;border:1px solid var(--color-input-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);transition:border-color .12s ease,box-shadow .12s ease}.otp-input input.filled{border-color:var(--color-accent)}.otp-input input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff26}.code-actions{display:flex;justify-content:space-between}.login-card button.link{width:auto;margin:0;padding:.25rem .2rem;background:transparent;border:none;color:var(--color-accent);font-size:13px;border-radius:4px}.login-card button.link:disabled{color:var(--color-muted);opacity:1}.app-shell{display:flex;flex:1;min-height:0}.sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-surface-2);border-right:1px solid var(--color-border);overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.sidebar-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.5rem}.sidebar-search{position:relative;display:flex;align-items:center;padding:.6rem .7rem 0}.sidebar-search-icon{position:absolute;left:1.15rem;color:var(--color-muted);pointer-events:none}.sidebar-search input{width:100%;padding:.45rem 2.5rem .45rem 2rem;border-radius:8px;background:var(--color-surface);font-size:13px}.sidebar-search input::-webkit-search-cancel-button{display:none}.sidebar-search-kbd{position:absolute;right:1.05rem;font-size:11px;color:var(--color-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:4px;padding:0 5px;pointer-events:none}.sidebar-filters{display:flex;gap:.3rem;flex-wrap:wrap;padding:.55rem .7rem}.sidebar-filter{font-size:12px;padding:.22rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;color:var(--color-subtle);cursor:pointer}.sidebar-filter:hover{background:var(--color-session-hover)}.sidebar-filter.active{background:var(--color-accent-soft, rgba(60, 120, 255, .12));border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.session-group+.session-group{margin-top:.4rem}.session-group-label{font-size:11px;color:var(--color-muted);padding:.3rem .5rem .25rem}.sidebar-footer{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.sidebar-user{display:flex;align-items:center;gap:.55rem;flex:1;min-width:0;background:transparent;border:none;padding:.25rem;margin:-.25rem;border-radius:8px;cursor:pointer;text-align:left}.sidebar-user:hover{background:var(--color-session-hover)}.sidebar-avatar{width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:600;background:linear-gradient(135deg,#7aa8ff,#b58cff)}.sidebar-user-meta{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-plan{font-size:11px;color:var(--color-muted)}.sidebar-user-badge{color:var(--color-accent);font-weight:700}.sidebar-settings{position:relative;flex:none}.account-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073;animation:lightbox-fade .12s ease-out}.account-panel{width:100%;max-width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 16px 48px var(--color-shadow);overflow:hidden}.account-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-bottom:1px solid var(--color-border)}.account-title{font-size:15px;font-weight:600}.account-id-card{display:flex;align-items:center;gap:.8rem;padding:1.1rem}.account-avatar{width:52px;height:52px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:600;background:linear-gradient(135deg,var(--color-accent),#5e5ce6)}.account-id-meta{display:flex;flex-direction:column;gap:.3rem;min-width:0}.account-phone{font-size:16px;font-weight:600;color:var(--color-text)}.account-userid{display:inline-flex;align-items:center;gap:.3rem;align-self:flex-start;padding:.15rem .45rem;font-size:11.5px;color:var(--color-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums}.account-userid:hover{color:var(--color-text)}.account-stats{display:flex;margin:0 1.1rem;border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.account-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.85rem .5rem}.account-stat+.account-stat{border-left:1px solid var(--color-border)}.account-stat-num{font-size:18px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.account-stat-label{font-size:11px;color:var(--color-muted)}.account-rows{padding:.9rem 1.1rem 1.2rem}.account-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.account-row-key{color:var(--color-muted)}.account-row-val{color:var(--color-text);font-variant-numeric:tabular-nums}.sidebar-settings-menu{position:absolute;right:0;bottom:calc(100% + 6px);min-width:150px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 28px #0000002e;padding:4px;z-index:50}.session-item{position:relative;padding:.6rem .7rem .6rem 1.85rem;border-radius:6px;cursor:pointer;margin-bottom:.25rem;background:transparent;transition:background 80ms ease}.session-dot{position:absolute;left:.6rem;top:.66rem;width:15px;height:15px;box-sizing:border-box;border-radius:50%;border:1.5px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}.session-item.active .session-dot{border-color:transparent;background:var(--color-accent)}.session-item:hover{background:var(--color-session-hover)}.session-item.active{background:var(--color-session-active)}.session-item input{font-size:13px;padding:.25rem .4rem}.session-title{display:flex;align-items:flex-start;gap:6px;padding-right:2.6rem}.session-title-text{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.session-meta{font-size:11px;color:var(--color-muted);margin-top:.15rem}.session-actions{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);display:none;gap:.15rem}.session-item:hover .session-actions,.session-item.active .session-actions{display:flex}.session-more{position:absolute;right:.4rem;top:.5rem;width:24px;height:24px;display:none;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;color:var(--color-subtle);cursor:pointer}.session-item:hover .session-more,.session-item.active .session-more,.session-more[aria-expanded=true]{display:inline-flex}.session-more:hover{background:var(--color-icon-btn-hover-bg)}.session-more-menu{position:fixed;z-index:300;min-width:124px;padding:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 28px #0000002e}.session-more-item{display:block;width:100%;text-align:left;padding:.4rem .6rem;border:none;border-radius:5px;background:transparent;color:var(--color-text);font-size:13px;cursor:pointer}.session-more-item:hover{background:var(--color-session-hover)}.session-more-item.danger{color:var(--color-conn-closed)}.session-pin{display:inline-flex;align-items:center;color:var(--color-accent);flex:none}.icon-btn{background:var(--color-icon-btn-bg);color:var(--color-subtle);border:1px solid transparent;border-radius:4px;width:22px;height:22px;font-size:11px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn:hover{background:var(--color-icon-btn-hover-bg);border-color:var(--color-icon-btn-border)}.icon-btn.danger:hover{background:var(--color-err-bg);border-color:var(--color-err-border)}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.chat-shell{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.chat-header strong{margin-right:.5rem}.chat-header-actions{display:flex;align-items:center;gap:.5rem}.token-meter{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;font-size:11.5px;color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default}.token-meter-turn{color:var(--color-accent)}.token-meter-turn:after{content:"·";margin-left:.4rem;color:var(--color-muted)}.chat-header .meta{margin-left:.5rem;color:var(--color-muted);font-size:12px}.chat-header-main{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}.chat-header-title{display:flex;align-items:center;gap:.45rem;min-width:0}.chat-header-title .meta{margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-more{position:relative;flex-shrink:0}.chat-nav-menu,.chat-header-more-trigger,.chat-header-actions>.icon-only{width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:none;border-radius:10px;background:transparent;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.chat-nav-menu:hover,.chat-header-more-trigger:hover,.chat-header-actions>.icon-only:hover{background:var(--color-icon-btn-bg)}.chat-nav-menu:active,.chat-header-more-trigger:active,.chat-header-actions>.icon-only:active{background:var(--color-icon-btn-hover-bg)}.chat-header-more-panel{position:absolute;top:100%;right:0;margin-top:.35rem;min-width:12rem;max-width:min(12rem,92vw);padding:.3rem 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 28px var(--color-shadow);z-index:300}.chat-header-more-item{display:block;width:100%;margin:0;padding:.55rem .9rem;border:none;background:transparent;color:var(--color-text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.chat-header-more-item:hover{background:var(--color-session-hover)}.chat-header-more-item.danger{color:var(--color-err-text)}.chat-header-more-account{padding:.5rem .9rem .4rem}.chat-header-more-account .account-name{font-size:12px;font-weight:600;color:var(--color-text);margin-bottom:.35rem}.chat-header-more-account .account-row{display:flex;align-items:center;gap:.5rem;width:100%;margin:0;padding:.3rem .4rem;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted, var(--color-text));font:inherit;font-size:12px;text-align:left;cursor:pointer}.chat-header-more-account .account-row:hover:not(:disabled){background:var(--color-session-hover)}.chat-header-more-account .account-row:disabled{cursor:default;opacity:.6}.chat-header-more-account .account-label{flex:0 0 auto;width:3.2em;color:var(--color-text-muted, #888)}.chat-header-more-account .account-value{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chat-header-more-account .account-copy{flex:0 0 auto;font-size:11px;color:var(--color-accent, #4a90d9)}.chat-header-more-divider{height:1px;margin:.35rem 0;background:var(--color-border, rgba(128, 128, 128, .2))}.chat-header-more-item.theme-toggle-row{display:flex;align-items:center;gap:.25rem;padding:.15rem .45rem}.chat-header-more-theme{width:auto;display:flex;justify-content:flex-start;border:none!important;border-radius:6px;background:transparent!important;color:var(--color-ghost-text);padding:.45rem;font:inherit;font-size:13px;cursor:pointer}.chat-header-more-theme:hover{background:var(--color-session-hover)!important}.font-toggle.active{color:var(--color-accent)}.chat-session-id-btn{display:inline-block;margin:0;padding:0 1px;border:none;background:transparent;color:inherit;font:inherit;font-size:inherit;cursor:pointer;border-radius:3px;vertical-align:baseline;text-decoration:underline dotted;text-underline-offset:2px;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-session-id-btn:hover{color:var(--color-accent)}.chat-session-id-btn--copied{color:var(--color-conn-open);text-decoration:none}.conn-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}.conn-connecting{background:var(--color-conn-connecting)}.conn-open{background:var(--color-conn-open)}.conn-closed{background:var(--color-conn-closed)}.chat-body{flex:1;display:flex;overflow:hidden;position:relative}.scroll-to-bottom{position:absolute;right:1.25rem;bottom:1rem;width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:0 4px 14px var(--color-shadow);z-index:20;animation:stb-in .14s ease-out}.scroll-to-bottom:hover{background:var(--color-surface-2)}@keyframes stb-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.chat-stream{flex:1;padding:1rem 2rem;overflow-y:auto;overflow-x:hidden}.empty-hint{margin:4rem auto;max-width:480px;text-align:center;color:var(--color-muted);font-size:13px;line-height:1.6}.empty-hint.empty-chat-welcome{margin:1.75rem auto 2.25rem;max-width:22.5rem;padding:1rem 1.15rem 1.1rem;text-align:left;color:var(--color-subtle);font-size:12px;line-height:1.55;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;box-sizing:border-box}.empty-chat-welcome-title{margin:0 0 .6rem;font-size:1.05rem;font-weight:600;color:var(--color-text);text-align:left}.empty-chat-welcome-mode{margin:0 0 .65rem;font-size:13px;color:var(--color-muted);display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.35rem}.empty-chat-welcome-mode .soul-badge{margin-left:0}.empty-chat-welcome-desc{margin:0 0 .75rem;font-size:12px;line-height:1.55;color:var(--color-subtle);text-align:left}.empty-chat-welcome-bullets{margin:0 0 .9rem;padding-left:1.1rem;text-align:left;list-style-position:outside;font-size:12px;line-height:1.5;color:var(--color-subtle)}.empty-chat-welcome-bullets li{margin-bottom:.4rem}.empty-chat-welcome-bullets li:last-child{margin-bottom:0}.empty-chat-welcome-foot{margin:0 0 .85rem;font-size:11px;line-height:1.45;color:var(--color-muted);text-align:left}.empty-chat-welcome-actions{display:flex;gap:.5rem;margin:0}.empty-chat-welcome-action{flex:1;display:inline-flex;align-items:center;justify-content:center;margin:0;box-sizing:border-box}.empty-chat-welcome-action .menu-item-icon{margin-right:4px}.bubble{max-width:90%;margin:.5rem 0;padding:.6rem .85rem;border-radius:10px;word-break:break-word;white-space:pre-wrap;animation:bubble-in .22s ease-out}.bubble.bubble-assistant{white-space:normal}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bubble-thinking{display:inline-flex;align-items:center;gap:.3rem;padding:.7rem .9rem;background:var(--color-surface);border:1px solid var(--color-border)}.bubble-thinking .dot{width:6px;height:6px;border-radius:50%;background:var(--color-thinking-dot);display:inline-block;animation:dot-bounce 1.2s ease-in-out infinite}.bubble-thinking .dot:nth-child(2){animation-delay:.18s}.bubble-thinking .dot:nth-child(3){animation-delay:.36s}@keyframes dot-bounce{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.bubble-streaming .streaming-cursor{display:inline-block;margin-left:2px;color:var(--color-accent);font-weight:700;animation:cursor-blink 1s step-start infinite}@keyframes cursor-blink{50%{opacity:0}}.row-tool{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin:.3rem 0;font-size:12px;color:var(--color-subtle);font-family:SF Mono,Menlo,monospace;background:var(--color-row-tool);padding:.25rem .55rem;border-radius:6px;align-self:flex-start;width:fit-content;max-width:100%}.row-tool-head{display:flex;align-items:center;gap:.4rem}.row-tool-expandable>.row-tool-head{cursor:pointer;-webkit-user-select:none;user-select:none}.row-tool-expandable>.row-tool-head:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.tool-expand-caret{margin-left:.1rem;font-size:10px;opacity:.55;transition:transform .12s ease}.tool-expand-caret.open{transform:rotate(90deg)}.tool-detail-body{margin:0;width:min(46rem,78vw);max-width:100%;max-height:22rem;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Menlo,monospace;font-size:12px;line-height:1.55;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:.6rem .7rem;box-sizing:border-box}.tool-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;justify-content:flex-end;background:#0000006b;animation:tool-drawer-fade .14s ease}@keyframes tool-drawer-fade{0%{opacity:0}to{opacity:1}}.tool-drawer{width:min(460px,92vw);height:100%;display:flex;flex-direction:column;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-16px 0 56px #0006;animation:tool-drawer-slide-in .18s cubic-bezier(.22,.61,.36,1)}@keyframes tool-drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.tool-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.75rem .9rem;border-bottom:1px solid var(--color-border)}.tool-drawer-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:14px;color:var(--color-text);min-width:0}.tool-drawer-badge{font-weight:500;font-size:11px;padding:1px 7px;border-radius:999px;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);opacity:.85;white-space:nowrap}.tool-drawer-body{flex:1;min-height:0;overflow:auto;padding:.9rem}.tool-drawer-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Menlo,monospace;font-size:12px;line-height:1.55;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:.6rem .7rem}.tool-drawer-empty,.subtask-running{font-size:12px;opacity:.6;padding:.4rem 0}.subtask-live-head{display:flex;align-items:center;gap:.45rem;font-size:13px;font-weight:600;margin-bottom:.7rem;color:#9bd}.subtask-live-ok{color:#3fb27f}.subtask-live-failed{color:#e0564a}.subtask-live-count{margin-left:auto;font-weight:500;opacity:.6}.subtask-text{font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;opacity:.8;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:.55rem .65rem}.subtask-step.pending .subtask-step-icon{color:#9bd}.tool-drawer-md{font-size:13px;line-height:1.6;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:.55rem .7rem;overflow-x:auto}.tool-drawer-md pre,.tool-drawer-md code{font-size:12px}.subtask-section{margin-bottom:1rem}.subtask-section-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.55;margin-bottom:.4rem}.subtask-input{font-size:13px;line-height:1.6;color:var(--color-text);white-space:pre-wrap;word-break:break-word;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:.6rem .7rem}.subtask-steps{list-style:none;margin:0;padding:0}.subtask-step{display:flex;align-items:baseline;gap:.5rem;padding:.32rem 0;border-bottom:1px solid var(--color-border);font-size:13px}.subtask-step:last-child{border-bottom:none}.subtask-step-icon{flex:none;position:relative;top:2px;color:var(--color-accent)}.subtask-step.bad .subtask-step-icon{color:#e0564a}.subtask-step-label{flex:none;color:var(--color-text)}.subtask-step-summary{flex:1;min-width:0;opacity:.6;font-size:12px;word-break:break-word}@media(max-width:640px){.tool-drawer-backdrop{justify-content:stretch;align-items:flex-end}.tool-drawer{width:100%;height:auto;max-height:82vh;border-left:none;border-top:1px solid var(--color-border);border-radius:14px 14px 0 0;box-shadow:0 -16px 56px #0006;animation:tool-drawer-slide-up .2s cubic-bezier(.22,.61,.36,1)}@keyframes tool-drawer-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.row-tool .tool-icon{font-size:14px}.row-tool .tool-name{font-family:var(--font-ui, system-ui, sans-serif);font-weight:600;color:var(--color-text, inherit)}.row-tool .tool-detail{font-family:var(--font-ui, system-ui, sans-serif);color:var(--color-subtle);opacity:.85;max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-tool .tool-status{margin-left:.15rem;opacity:.7}.tool-detail-toggle.active{color:var(--color-accent);border-color:var(--color-accent)}.row-tool-running .tool-icon{animation:spin 1.4s linear infinite}.row-tool-ok .tool-icon{color:var(--color-conn-open)}.row-tool-failed .tool-icon{color:var(--color-conn-closed)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-stream-items{transition:opacity .16s ease}.chat-stream-items.transitioning{opacity:0}.chat-skeleton{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.skel-bubble{max-width:90%;padding:.7rem .85rem;border-radius:10px;display:flex;flex-direction:column;gap:.45rem}.skel-bubble-assistant{margin-right:auto;background:var(--color-surface);border:1px solid var(--color-border)}.skel-bubble-user{margin-left:auto;background:var(--color-surface-2);border:1px solid var(--color-border)}.skel-line{display:block;height:.7rem;width:100%;border-radius:5px;background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-border) 37%,var(--color-surface-2) 63%);background-size:400% 100%;animation:skel-shimmer 1.4s ease-in-out infinite}.skel-bubble-user .skel-line{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-border) 37%,var(--color-surface) 63%);background-size:400% 100%}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.skel-line{animation:none}}.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}.bubble-user{margin-left:auto;background:var(--color-accent);color:var(--color-on-accent)}.bubble-assistant{margin-right:auto;background:var(--color-surface);border:1px solid var(--color-border)}.bubble-text{font-size:14px;line-height:1.55}.bubble-meta{margin-top:.25rem;font-size:11px;opacity:.6}.bubble-markdown>:first-child{margin-top:0}.bubble-markdown>:last-child{margin-bottom:0}.bubble-markdown p{margin:.4rem 0;line-height:1.6}.bubble-markdown h1,.bubble-markdown h2,.bubble-markdown h3,.bubble-markdown h4{margin:.8rem 0 .4rem;line-height:1.3;font-weight:600}.bubble-markdown h1{font-size:1.25rem}.bubble-markdown h2{font-size:1.15rem}.bubble-markdown h3{font-size:1.05rem}.bubble-markdown h4{font-size:1rem}.bubble-markdown ul,.bubble-markdown ol{margin:.4rem 0;padding-left:1.4rem}.bubble-markdown li{margin:.2rem 0}.bubble-markdown li>p{margin:.15rem 0}.bubble-markdown blockquote{margin:.5rem 0;padding:.2rem .8rem;border-left:3px solid var(--color-md-quote-border);color:var(--color-subtle);background:var(--color-md-quote-bg);border-radius:0 4px 4px 0}.bubble-markdown code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.88em;background:var(--color-md-code);padding:.08em .32em;border-radius:4px;word-break:break-word}.bubble-markdown pre{margin:.5rem 0;padding:.7rem .85rem;background:var(--color-md-pre-bg);color:var(--color-md-pre-fg);border-radius:8px;overflow-x:auto;font-size:.86em;line-height:1.5}.bubble-markdown pre code{background:transparent;color:inherit;padding:0;border-radius:0;font-size:1em}.bubble-markdown a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.bubble-markdown hr{border:0;border-top:1px solid var(--color-border);margin:.8rem 0}.bubble-markdown table{border-collapse:collapse;margin:.5rem 0;font-size:.92em;display:block;overflow-x:auto;max-width:100%}.bubble-markdown th,.bubble-markdown td{border:1px solid var(--color-border);padding:.3rem .55rem;text-align:left}.bubble-markdown th{background:var(--color-md-table-head);font-weight:600}.bubble-markdown img{max-width:100%;border-radius:6px;margin:.4rem 0}.bubble-markdown strong{font-weight:600}.bubble-markdown em{font-style:italic}.bubble-markdown del{color:var(--color-muted)}.bubble-streaming .bubble-markdown{position:relative}.bubble-streaming .streaming-cursor{display:inline-block;vertical-align:baseline}.row-system{margin:.4rem 0;text-align:center;font-size:12px;color:var(--color-muted)}.row-system-warn{color:var(--color-warn)}.row-system-error{color:var(--color-error)}.row-event{margin:.4rem 0;font-size:12px;text-align:center;color:var(--color-subtle)}.preview-card{display:flex;align-items:center;gap:.75rem;margin:.5rem 0;padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:12px;background:linear-gradient(135deg,#6366f11a,#6366f105)}.preview-card-icon{font-size:24px;line-height:1}.preview-card-body{flex:1;min-width:0}.preview-card-title{font-size:14px;font-weight:600;color:var(--color-text)}.preview-card-sub{font-size:12px;color:var(--color-subtle);margin-top:2px}.preview-card-btn{flex-shrink:0;padding:.45rem .9rem;border:none;border-radius:8px;background:#6366f1;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.preview-card-btn:hover{background:#4f46e5}.event-tag{display:inline-block;padding:.15rem .5rem;border-radius:4px;background:var(--color-event-tag-bg);color:var(--color-event-tag-text);margin-right:.5rem;font-weight:600}.event-payload{font-family:SF Mono,Menlo,monospace;background:var(--color-event-payload);padding:.15rem .4rem;border-radius:4px;font-size:11px;word-break:break-all}.drafts-pane{width:320px;border-left:1px solid var(--color-border);background:var(--color-surface-2);padding:.75rem;overflow-y:auto;flex-shrink:0;box-sizing:border-box;transition:width .2s ease,padding .2s ease}.drafts-pane--collapsed-desktop{width:42px;min-width:42px;max-width:42px;padding:.45rem .2rem;overflow:hidden;display:flex;flex-direction:column;align-items:center}.drafts-desktop-expand-tab{flex:1;width:100%;min-height:5.5rem;margin:0;padding:.4rem .15rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-heading);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;line-height:1.2;transition:background .12s ease,border-color .12s ease}.drafts-desktop-expand-tab:hover{background:var(--color-session-hover);border-color:var(--color-accent)}.drafts-desktop-expand-stack{display:flex;flex-direction:column;align-items:center;font-size:13px;font-weight:600;line-height:1.12;letter-spacing:.02em}.drafts-desktop-expand-badge{font-size:10px;font-weight:700;min-width:1.1rem;padding:.1rem .25rem;border-radius:999px;background:var(--color-accent);color:var(--color-on-accent);line-height:1.2}.drafts-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--color-heading);margin-bottom:.5rem}.drafts-header-actions{display:flex;align-items:center;gap:.35rem}.empty-small{color:var(--color-empty-small);font-size:12px;padding:.5rem 0}.draft-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.6rem;margin-bottom:.6rem;font-size:13px}.draft-card.risk-high{border-color:var(--color-draft-high-border);background:var(--color-draft-high)}.draft-card.risk-blocked{border-color:var(--color-draft-blocked-border);background:var(--color-draft-blocked)}.draft-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;font-size:11px}.risk-tag{padding:.1rem .4rem;border-radius:4px;background:var(--color-risk-normal-bg);color:var(--color-risk-normal-text);font-weight:600;text-transform:uppercase}.risk-tag.risk-high{background:var(--color-risk-high-tag-bg);color:var(--color-risk-high-tag-text)}.risk-tag.risk-blocked{background:var(--color-risk-blocked-tag-bg);color:var(--color-risk-blocked-tag-text)}.draft-id{font-family:SF Mono,Menlo,monospace;color:var(--color-muted)}.draft-context{margin-bottom:.4rem;color:var(--color-subtle-2);font-size:12px;font-style:italic}.draft-actions{display:flex;gap:.4rem;margin-top:.4rem}.draft-actions button{flex:1;font-size:12px;padding:.3rem .5rem}.draft-expires{margin-top:.4rem;font-size:11px;color:var(--color-muted)}.chat-input-bar{display:flex;gap:.5rem;padding:.75rem 1rem;background:var(--color-surface);border-top:1px solid var(--color-border);position:relative}.chat-input-bar textarea{flex:1;min-height:2.4rem;max-height:8rem}.chat-input-bar button{align-self:flex-end}.composer-mode-hint{margin:0;padding:0 .05rem;font-size:11px;line-height:1.45;color:var(--color-muted);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.25rem .5rem;text-align:center}.composer-mode-hint-name{font-weight:600;color:var(--color-text)}.composer-mode-hint-tip{font-size:10px;color:var(--color-subtle-2)}.chat-input-bar{flex-direction:column;gap:.5rem}.composer-row{display:flex;gap:.5rem;align-items:flex-end}.input-wrap{position:relative;flex:1;display:flex}.input-wrap textarea{flex:1;min-height:2.4rem;max-height:5rem;overflow-y:auto;padding-right:2.6rem}.composer-expand{position:absolute;right:.4rem;top:.4rem;width:1.6rem;height:1.6rem;padding:0;border:none;border-radius:5px;background:var(--color-surface-2);color:var(--color-subtle);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.composer-expand:hover{color:var(--color-accent)}.bubble-copy{display:inline-flex;align-items:center;gap:3px;margin-left:.5rem;padding:1px 5px;border:none;border-radius:4px;background:transparent;color:inherit;font-size:11px;cursor:pointer;opacity:0;transition:opacity .1s ease}.bubble:hover .bubble-copy,.bubble-copy:focus-visible{opacity:.85}.bubble-copy:hover{background:var(--color-session-hover);opacity:1}.composer-fullscreen-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;background:#00000073}.composer-fullscreen{width:min(900px,100%);height:min(80vh,100%);display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 56px #0006;overflow:hidden}.composer-fullscreen-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;border-bottom:1px solid var(--color-border);font-weight:600;color:var(--color-text)}.composer-fullscreen-input{flex:1;min-height:0;border:none;border-radius:0;resize:none;padding:1rem;font-size:15px;line-height:1.6}.composer-fullscreen-input:focus{outline:none}.composer-fullscreen-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.7rem 1rem;border-top:1px solid var(--color-border)}.composer-mic-inset{position:absolute;right:.4rem;bottom:.4rem;width:1.9rem;height:1.9rem;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-subtle);line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.composer-mic-inset:hover{background:var(--color-session-hover)}.composer-mic-inset:disabled{opacity:.4;cursor:not-allowed}.composer-mic-inset.recording{color:#fff;background:#e0352b;animation:mic-pulse 1.3s ease-in-out infinite}.composer-send-circle,.composer-voice-circle{align-self:flex-end;width:2.4rem;height:2.4rem;flex:0 0 auto;padding:0;border-radius:50%;border:1px solid var(--color-input-border);cursor:pointer;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center}.composer-send-circle{background:var(--color-btn);color:var(--color-btn-text);border-color:var(--color-btn);font-weight:700}.composer-send-circle:disabled{opacity:.4;cursor:not-allowed}.composer-voice-circle{background:var(--color-surface-2);color:var(--color-ghost-text)}.composer-voice-circle:disabled{opacity:.4;cursor:not-allowed}.composer-voice-circle.recording{background:#e0352b;border-color:#e0352b;color:#fff;animation:mic-pulse 1.3s ease-in-out infinite}.composer-attach{align-self:flex-end;height:2.4rem;width:2.4rem;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.menu-item-icon{display:inline-flex;align-items:center;vertical-align:-3px;margin-right:6px;color:var(--color-subtle)}.preview-card-btn{display:inline-flex;align-items:center;gap:5px}.thumb-close,.icon-btn{display:inline-flex;align-items:center;justify-content:center}.composer-attach:disabled{opacity:.4;cursor:not-allowed}.composer-plus{align-self:flex-end;width:2.4rem;height:2.4rem;flex:0 0 auto;padding:0;border-radius:50%;border:1px solid var(--color-input-border);background:var(--color-surface-2);color:var(--color-ghost-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .14s ease,background .14s ease}.composer-plus:hover:not(:disabled){background:var(--color-session-hover)}.composer-plus:disabled{opacity:.4;cursor:not-allowed}.composer-plus.active{transform:rotate(45deg)}.composer-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:transparent;border:none;padding:0;margin:0;cursor:default}.composer-sheet{position:absolute;bottom:calc(100% + .5rem);left:.75rem;z-index:70;min-width:230px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 10px 32px var(--color-shadow);padding:.4rem;display:flex;flex-direction:column;gap:.15rem;animation:sheet-pop .14s ease-out}.composer-sheet-grabber{display:none}.composer-sheet-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.6rem .7rem;background:transparent;border:none;border-radius:10px;color:var(--color-text);text-align:left;cursor:pointer}.composer-sheet-item:hover:not(:disabled){background:var(--color-session-hover)}.composer-sheet-item:disabled{opacity:.45;cursor:not-allowed}.composer-sheet-icon{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--color-surface-2);color:var(--color-subtle);flex:0 0 auto}.composer-sheet-text{display:flex;flex-direction:column;gap:1px;min-width:0}.composer-sheet-title{font-size:14px;font-weight:500}.composer-sheet-desc{font-size:11px;color:var(--color-muted)}@keyframes sheet-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.composer-mic{align-self:flex-end;height:2.4rem;width:2.4rem;padding:0;font-size:1.1rem;cursor:pointer}.composer-mic:disabled{opacity:.4;cursor:not-allowed}.composer-mic.recording{color:var(--color-on-accent);background:#e0352b;border-color:#e0352b;animation:mic-pulse 1.3s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 #e0352b73}50%{box-shadow:0 0 0 6px #e0352b00}}.dictation-bar{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-2);font-size:.85rem}.dictation-dot{flex:0 0 auto;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.dictation-level{width:10px;height:10px;border-radius:50%;background:#e0352b;transform-origin:center;transition:transform 80ms linear}.dictation-label{flex:0 0 auto;color:var(--color-subtle);font-weight:600}.dictation-interim{flex:1;min-width:0;color:var(--color-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dictation-stop{flex:0 0 auto}.pending-audio{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-2);font-size:.85rem}.pending-audio-icon{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--color-subtle)}.pending-audio-remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.pending-audio-label{flex:0 0 auto;color:var(--color-subtle);font-weight:600}.pending-audio-player{flex:1;min-width:0;height:32px}.bubble-audio{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.bubble-audio-icon{display:inline-flex;align-items:center;opacity:.8}.bubble-audio-dur{font-size:.75rem;opacity:.75}.bubble-audio audio{height:30px;max-width:220px}.pending-images{display:flex;gap:.5rem;flex-wrap:wrap}.pending-statements{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.4rem}.statement-chip{display:inline-flex;align-items:center;gap:.3rem;max-width:16rem;padding:.25rem .5rem;border-radius:.5rem;background:var(--color-soul-picker-bg, #f5f5f7);color:var(--color-text, #222);font-size:.82rem}.statement-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statement-chip-close{display:inline-flex;align-items:center;border:none;background:transparent;color:inherit;opacity:.6;cursor:pointer;padding:0}.statement-chip-close:hover{opacity:1}.thumb{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-md-table-head)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-close{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:var(--color-on-accent);font-size:14px;line-height:1;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.thumb-close:hover{background:#000c}.thumb-meta{position:absolute;bottom:0;left:0;right:0;font-size:10px;background:#00000080;color:var(--color-on-accent);text-align:center;padding:1px 0}.image-error{font-size:12px;color:var(--color-image-error);padding:0 .25rem}.bubble-images{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.4rem}.bubble-image{max-width:220px;max-height:220px;border-radius:8px;object-fit:cover;border:1px solid var(--color-bubble-img-border)}.soul-picker{margin:.5rem 1rem;padding:.6rem;background:var(--color-soul-picker-bg);border-radius:8px;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:.4rem;max-height:calc(100dvh - 6rem - env(safe-area-inset-bottom,0px));overflow-y:auto;flex-shrink:0}.soul-picker-label{font-size:11px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px}.soul-select{padding:.3rem .5rem;font-size:13px;border:1px solid var(--color-input-border-2);border-radius:6px;background:var(--color-surface)}.soul-picker-desc{font-size:11px;color:var(--color-subtle-2);line-height:1.4}.soul-picker-actions{display:flex;gap:.4rem;justify-content:flex-end;position:sticky;bottom:-.6rem;margin:0 -.6rem -.6rem;padding:.5rem .6rem;background:var(--color-soul-picker-bg);border-top:1px solid var(--color-border)}.soul-compare{display:flex;flex-direction:column;gap:.45rem}.soul-compare-card{margin:0;padding:.45rem .5rem;text-align:left;font:inherit;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color .12s ease,background .12s ease}.soul-compare-card:hover{border-color:var(--color-accent);background:var(--color-session-hover)}.soul-compare-card.active{border-color:var(--color-accent);background:var(--color-session-active)}.soul-compare-card.locked{opacity:.55;border-style:dashed;cursor:not-allowed}.soul-compare-card.locked:hover{border-color:var(--color-border);background:var(--color-surface)}.soul-lock-reason{display:inline-block;margin-top:.3rem;font-size:10px;color:var(--color-accent)}.soul-upsell{margin-top:.5rem;padding:.4rem .55rem;font-size:11px;line-height:1.5;border:1px dashed var(--color-accent);border-radius:8px;background:var(--color-session-hover);color:var(--color-text)}.soul-compare-name{display:block;font-size:12px;font-weight:600;margin-bottom:.35rem}.soul-compare-points{margin:0;padding-left:1rem;font-size:11px;line-height:1.45;color:var(--color-subtle-2)}.soul-compare-points li{margin-bottom:.2rem}.soul-compare-points li:last-child{margin-bottom:0}.soul-badge{display:inline-block;font-size:10px;padding:1px 6px;margin-left:.4rem;border-radius:4px;background:var(--color-soul-badge);color:var(--color-soul-badge-text);vertical-align:middle;white-space:nowrap}.soul-badge.soul-cycle_coach{background:var(--color-soul-cycle-bg);color:var(--color-soul-cycle-text)}.soul-badge.soul-empath_companion{background:var(--color-soul-empath-bg);color:var(--color-soul-empath-text)}.soul-badge.soul-video_creator{background:#2d1d3a;color:#d4a8ff}.soul-badge.soul-finance_steward{background:#e6f4ea;color:#1f6b3b}[data-theme=dark] .soul-badge.soul-finance_steward{background:#16301f;color:#7fce9e}.persona-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.persona-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.persona-chip:hover{border-color:var(--color-accent)}.persona-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.persona-badge{display:inline-block;padding:0 6px;font-size:12px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);vertical-align:middle;white-space:nowrap}.chart-block{margin:.6rem 0;padding:.6rem .7rem;background:var(--color-chart-bg);border:1px solid var(--color-border);border-radius:8px}.chart-title{font-size:13px;font-weight:600;color:var(--color-chart-title);margin-bottom:.4rem}.chart-canvas{width:100%;min-height:240px}.chart-annotation{margin-top:.4rem;font-size:12px;color:var(--color-chart-ann);font-style:italic}.chart-block.chart-error{border-color:var(--color-draft-blocked-border);background:var(--color-draft-blocked)}.chart-error-msg{color:var(--color-error);font-size:12px;margin-bottom:.4rem}.chart-raw{font-size:11px;font-family:SF Mono,Menlo,Consolas,monospace;background:var(--color-chart-raw-bg);padding:.4rem;border-radius:4px;overflow-x:auto;margin:0}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--color-chart-grid)}.recharts-text{fill:var(--color-subtle)}.recharts-legend-item-text{color:var(--color-text)!important}.ask-user-backdrop{position:relative;z-index:20;flex:0 0 auto}.ask-user-modal{width:100%;max-height:min(58vh,38rem);display:flex;flex-direction:column;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:14px 14px 0 0;box-shadow:0 -12px 30px #00000029;animation:ask-sheet-up .24s ease-out}.ask-user-modal.collapsed{max-height:none}.ask-user-collapse{margin:0;padding:.2rem .45rem}@keyframes ask-sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.ask-user-question.slide-fromRight{animation:ask-q-from-right .2s ease-out}.ask-user-question.slide-fromLeft{animation:ask-q-from-left .2s ease-out}@keyframes ask-q-from-right{0%{transform:translate(34px);opacity:.35}to{transform:translate(0);opacity:1}}@keyframes ask-q-from-left{0%{transform:translate(-34px);opacity:.35}to{transform:translate(0);opacity:1}}.ask-user-modal-head{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem .75rem;border-bottom:1px solid var(--color-border)}.ask-user-modal-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text);flex:1}.ask-user-modal-id{font-family:ui-monospace,monospace;font-size:11px;color:var(--color-muted);padding:2px 6px;background:var(--color-bg);border-radius:4px}.ask-user-modal-close{margin:0;padding:.2rem .5rem}.ask-user-modal-body{flex:1;overflow-y:auto;padding:.5rem 1.1rem 1rem}.ask-user-question{padding:.85rem 0 .5rem;border-bottom:1px dashed var(--color-border)}.ask-user-question:last-child{border-bottom:none}.ask-user-q-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem}.ask-user-chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--color-accent-bg, #eef);color:var(--color-accent, #5566cc);border:1px solid var(--color-border);white-space:nowrap;max-width:8rem;overflow:hidden;text-overflow:ellipsis}.ask-user-q-text{font-size:14px;font-weight:500;color:var(--color-text);line-height:1.45}.ask-user-multiselect-tag{font-size:10px;color:var(--color-muted);padding:1px 6px;border:1px dashed var(--color-border);border-radius:4px}.ask-user-q-body{display:grid;grid-template-columns:1fr;gap:.5rem}.ask-user-q-body:has(.ask-user-preview){grid-template-columns:1fr 1fr}.ask-user-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.ask-user-option{border:1px solid var(--color-border);border-radius:8px;padding:.45rem .6rem;cursor:pointer;transition:border-color .12s,background .12s}.ask-user-option:hover{border-color:var(--color-accent, #5566cc)}.ask-user-option.selected{border-color:var(--color-accent, #5566cc);background:var(--color-accent-bg, #eef)}.ask-user-option label{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;cursor:pointer}.ask-user-option label input[type=radio],.ask-user-option label input[type=checkbox]{margin:0}.ask-user-option-label{font-size:13px;font-weight:500;color:var(--color-text)}.ask-user-option-desc{font-size:12px;color:var(--color-subtle);grid-column:2 / 3;margin-top:-2px}.ask-user-option-preview-tag{font-size:10px;color:var(--color-muted);padding:1px 5px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg)}.ask-user-other-input{margin-top:.4rem;width:100%;padding:.4rem .6rem;font-size:13px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text)}.ask-user-preview{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);overflow:hidden;display:flex;flex-direction:column;max-height:22rem}.ask-user-preview-head{padding:.35rem .6rem;font-size:11px;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.ask-user-preview-body{padding:.5rem .75rem;font-size:12.5px;line-height:1.55;overflow:auto;color:var(--color-text)}.ask-user-preview-body pre,.ask-user-preview-body code{font-family:ui-monospace,monospace;font-size:12px}.ask-user-notes-row{margin-top:.5rem}.ask-user-notes-input{width:100%;padding:.4rem .6rem;font-size:12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text)}.ask-user-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.1rem;border-top:1px solid var(--color-border);background:var(--color-bg);border-bottom-left-radius:14px;border-bottom-right-radius:14px}.ask-user-foot-hint{font-size:11.5px;color:var(--color-muted)}.ask-user-step-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--color-muted);font-variant-numeric:tabular-nums}.ask-user-steps{display:flex;gap:.4rem;padding:.6rem 1.1rem 0}.ask-user-step-dot{width:22px;height:5px;padding:0;border:none;border-radius:3px;background:var(--color-border);cursor:pointer;transition:background .14s ease}.ask-user-step-dot.done{background:var(--color-accent);opacity:.5}.ask-user-step-dot.active{background:var(--color-accent);opacity:1}.ask-user-foot-left{display:flex;align-items:center;gap:.6rem;min-width:0}.ask-user-foot-actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.ask-user-nav-prev,.ask-user-nav-next{display:inline-flex;align-items:center;gap:.25rem}.ask-user-nav-prev:disabled{opacity:.35}@media(max-width:900px){.ask-user-q-body:has(.ask-user-preview){grid-template-columns:1fr}.ask-user-modal{max-height:68vh}.ask-user-foot-hint{display:none}.ask-user-modal-foot{gap:.5rem}.layout-compact .chat-header{flex-wrap:nowrap;align-items:center;gap:.45rem;padding:.55rem .75rem}.layout-compact .chat-header-main{flex:1 1 auto;min-width:0;padding:0;gap:.5rem}.layout-compact .chat-header-actions{flex:0 0 auto;width:auto;flex-wrap:nowrap;justify-content:flex-end;gap:.35rem;padding:0;border-top:none;background:transparent}.layout-compact .chat-header-more-trigger,.layout-compact .chat-nav-menu{width:40px;height:40px;min-width:40px;min-height:40px}.layout-compact .chat-nav-menu{flex-shrink:0;padding-left:0;padding-right:0;line-height:1.2}.layout-compact .sidebar{position:fixed;top:0;bottom:0;left:0;z-index:200;width:min(300px,88vw);transform:translate(-100%);transition:transform .2s ease;box-shadow:4px 0 24px var(--color-shadow)}.layout-compact.sidebar-drawer-open .sidebar{transform:translate(0)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;margin:0;padding:0;border:none;background:#00000073;cursor:pointer;-webkit-tap-highlight-color:transparent}.chat-stream{padding:.75rem 1rem}.layout-compact .drafts-pane--drawer{position:fixed;top:0;bottom:0;right:0;z-index:200;width:min(320px,92vw);max-width:100%;transform:translate(100%);transition:transform .2s ease;box-shadow:-4px 0 24px var(--color-shadow)}.layout-compact .drafts-pane--drawer.drafts-pane--open{transform:translate(0)}.login-shell{padding:1rem}input,textarea,select,.soul-select,.phone-field .phone-number,.dial-display{font-size:16px}.chat-stream,.sidebar-list,.soul-picker,.drafts-pane{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.layout-compact .chat-header{padding-top:calc(.55rem + env(safe-area-inset-top))}.chat-input-bar{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.layout-compact .sidebar-header{padding-top:calc(.75rem + env(safe-area-inset-top))}.layout-compact .sidebar-footer{padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}.composer-attach,.composer-row>button,.chat-header-more-trigger,.chat-nav-menu{min-width:40px;min-height:40px}.composer-sheet-backdrop{background:#00000059;z-index:160}.composer-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:170;min-width:0;border-radius:18px 18px 0 0;padding:.5rem .9rem calc(.8rem + env(safe-area-inset-bottom));animation:sheet-up .2s ease-out}.composer-sheet-grabber{display:block;width:36px;height:4px;border-radius:2px;background:var(--color-border);margin:.2rem auto .5rem}.composer-sheet-item{padding:.8rem .6rem}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:3vh 3vw;background:#000000d1;cursor:zoom-out;animation:lightbox-fade .12s ease-out}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:94vw;max-height:94vh;object-fit:contain;border-radius:8px;box-shadow:0 12px 48px #00000080;cursor:default}.lightbox-close{position:fixed;top:16px;right:16px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer}.lightbox-close:hover{background:#ffffff38}.composer-voice-circle.voice-call{background:var(--color-surface-2);color:var(--color-ghost-text)}.composer-voice-circle.voice-call:not(:disabled):hover{border-color:var(--color-btn);color:var(--color-btn)}.voice-call-panel{display:flex;flex-direction:column;gap:.5rem;padding:.7rem .8rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-2)}.voice-call-head{display:flex;align-items:center;gap:.6rem}.voice-call-orb{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.voice-call-level{width:14px;height:14px;border-radius:50%;background:#2f7df6;transform-origin:center;transition:transform 80ms linear}.voice-call-orb.speaking .voice-call-level{background:#21b07a;animation:mic-pulse 1.1s ease-in-out infinite}.voice-call-status{flex:1;min-width:0;font-weight:600;color:var(--color-subtle)}.voice-call-actions{flex:0 0 auto;display:flex;align-items:center;gap:.4rem}.voice-call-hangup{width:2.1rem;height:2.1rem;padding:0;border-radius:50%;border:1px solid #e0352b;background:#e0352b;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transform:rotate(135deg)}.voice-call-transcript{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.vc-line{margin:0;line-height:1.45}.vc-who{display:inline-block;margin-right:.4rem;font-size:.72rem;font-weight:700;color:var(--color-muted)}.vc-user.interim{color:var(--color-muted);font-style:italic}.vc-assistant{color:var(--color-text)}.voice-call-tools{display:flex;flex-wrap:wrap;gap:.35rem}.vc-tool{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-subtle)}.vc-tool.running{border-color:#2f7df6;color:#2f7df6;animation:mic-pulse 1.3s ease-in-out infinite}.vc-tool.ok{border-color:#21b07a;color:#21b07a}.vc-tool.fail{border-color:#e0352b;color:#e0352b}.voice-call-orb.preparing .voice-call-level{background:#9aa0a6;animation:mic-pulse 1.1s ease-in-out infinite}.voice-call-orb.ready .voice-call-level{background:#2f7df6}.chat-header-more-item[role=menuitemcheckbox]{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.switch-pill{flex:0 0 auto;width:34px;height:20px;border-radius:999px;background:var(--color-input-border);position:relative;transition:background .14s ease}.switch-pill.on{background:#21b07a}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .14s ease}.switch-pill.on .switch-knob{transform:translate(14px)}.wb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0000008c;padding:max(env(safe-area-inset-top,0px),12px) 12px max(env(safe-area-inset-bottom,0px),12px)}.wb-panel{width:100%;max-width:880px;height:100%;max-height:760px;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 20px 60px var(--color-shadow);overflow:hidden}.wb-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;border-bottom:1px solid var(--color-border)}.wb-title{font-size:16px;font-weight:600;color:var(--color-text)}.wb-close{width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.wb-close:hover{background:var(--color-session-hover);color:var(--color-text)}.wb-body{flex:1;display:flex;min-height:0}.wb-nav{flex:0 0 168px;display:flex;flex-direction:column;gap:2px;padding:.6rem;border-right:1px solid var(--color-border);background:var(--color-page);overflow-y:auto}.wb-nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border:none;border-radius:9px;background:transparent;color:var(--color-subtle);font-size:14px;text-align:left;cursor:pointer}.wb-nav-item:hover{background:var(--color-session-hover);color:var(--color-text)}.wb-nav-item.active{background:var(--color-session-active);color:var(--color-text);font-weight:500}.wb-nav-icon{display:inline-flex;color:inherit;flex:0 0 auto}.wb-content{flex:1;min-width:0;overflow-y:auto;padding:1.1rem 1.3rem 1.6rem}.wb-section-head{display:flex;align-items:center;justify-content:space-between}.wb-section-head h2{margin:0;font-size:19px;font-weight:600;color:var(--color-text)}.wb-section-sub{margin:.3rem 0 1.1rem;font-size:13px;color:var(--color-muted);line-height:1.5}.wb-empty,.wb-empty-sm{color:var(--color-muted);font-size:13px;padding:.8rem 0}.wb-empty-sm{font-size:12px;padding:.4rem 0 .8rem}.wb-list-head{margin:1.1rem 0 .5rem;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--color-muted)}.wb-row{display:flex;align-items:center;gap:.9rem;padding:.75rem .2rem;border-bottom:1px solid var(--color-border)}.wb-row:last-child{border-bottom:none}.wb-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.wb-row-title{font-size:14px;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.4rem}.wb-row-sub{font-size:12px;color:var(--color-muted);line-height:1.45}.wb-tag{font-size:10px;padding:.05rem .35rem;border-radius:4px;background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.wb-cards{display:flex;flex-direction:column;gap:.6rem}.wb-card{display:flex;align-items:flex-start;gap:.8rem;padding:.85rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-2);text-align:left;cursor:pointer;transition:border-color .12s ease}.wb-card:hover{border-color:var(--color-accent)}.wb-card-thumb{flex:0 0 auto;width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-page);color:var(--color-accent)}.wb-card-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.wb-card-title{font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-card-meta{font-size:12px;color:var(--color-muted)}.wb-card-desc{font-size:12px;color:var(--color-subtle);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wb-future{text-align:center;padding:3rem 1rem;color:var(--color-muted)}.wb-future-icon{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:16px;background:var(--color-surface-2);color:var(--color-accent);margin-bottom:.8rem}.wb-future-title{margin:0 0 .3rem;font-size:15px;font-weight:600;color:var(--color-text)}.wb-future-sub{margin:0;font-size:13px;line-height:1.5}@media(max-width:900px){.wb-panel{max-height:none;height:100%;border-radius:14px}.wb-body{flex-direction:column}.wb-nav{flex:0 0 auto;flex-direction:row;gap:4px;border-right:none;border-bottom:1px solid var(--color-border);overflow-x:auto}.wb-nav-item{flex:0 0 auto;padding:.45rem .7rem}}.app-booting{flex:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--color-page)}.app-booting-logo{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-family:"LXGW Brand",var(--font-ui);font-size:34px;color:#fff;background:linear-gradient(135deg,var(--color-accent),#5e5ce6);box-shadow:0 6px 20px #5e5ce659}.app-booting-dots{display:flex;gap:6px}.app-booting-dots i{width:7px;height:7px;border-radius:50%;background:var(--color-muted);animation:boot-dot 1s ease-in-out infinite}.app-booting-dots i:nth-child(2){animation-delay:.15s}.app-booting-dots i:nth-child(3){animation-delay:.3s}@keyframes boot-dot{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-5px);opacity:1}}.history-load-more{text-align:center;font-size:12px;color:var(--color-muted);padding:.5rem 0 .7rem;-webkit-user-select:none;user-select:none}.composer-stop-circle{align-self:flex-end;width:2.4rem;height:2.4rem;flex:0 0 auto;padding:0;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer}.composer-stop-circle:hover{background:var(--color-session-hover)}.composer-stop-circle:disabled{opacity:.4;cursor:not-allowed}
