html{min-height:100%;scrollbar-width:thin;scrollbar-color:rgba(13,13,13,.28) rgba(13,13,13,.06)}:root{font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;color:#0d0d0d;background:radial-gradient(circle at top left,rgba(16,163,127,.06),transparent 30%),linear-gradient(180deg,#fff,#f7f7f8);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel: rgba(249, 249, 249, .88);--panel-strong: rgba(255, 255, 255, .97);--border: rgba(13, 13, 13, .1);--shadow: 0 18px 60px rgba(0, 0, 0, .08);--accent: #10a37f;--accent-2: #19c37d;--wechat-dark: #0d8f70;--text-soft: #6b6b6b;--user: #f4f4f4;--assistant: #ffffff;--danger: #d23f31;--chat-content-width: 980px;--chat-scrollbar-space: 14px}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh;overflow:hidden}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;min-height:100vh;height:100vh;padding:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(13,13,13,.28) rgba(13,13,13,.06)}.control-panel,.chat-stage{min-height:0}.control-panel{display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden;padding-right:0;font-size:.88rem;scrollbar-width:thin;scrollbar-color:rgba(13,13,13,.28) rgba(13,13,13,.06)}.session-panel{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:100vh;height:100vh;overflow-x:hidden;padding:12px;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f7f7f8;border:0;border-right:1px solid rgba(13,13,13,.1);box-shadow:none}.session-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-panel-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.profile-entry-button{border:1px solid rgba(13,13,13,.14);border-radius:999px;background:#ffffffb8;color:var(--accent);padding:5px 9px;font-size:.76rem;font-weight:700;transition:background .16s ease,border-color .16s ease,transform .16s ease}.profile-entry-button:hover{transform:translateY(-1px);background:#fffffff5;border-color:#0d0d0d47}.session-panel-header h2,.stage-header h2,.section-heading h2{margin:0}.session-panel-header h2{font-size:1.05rem;line-height:1.2}.eyebrow{display:inline-flex;margin-bottom:6px;letter-spacing:.02em;font-size:.72rem;text-transform:none;color:var(--accent)}.session-meta,.composer-meta{color:var(--text-soft)}.composer textarea{width:100%;border:1px solid rgba(13,13,13,.18);border-radius:16px;background:#ffffffbf;padding:12px 14px;color:#0d0d0d;outline:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.composer textarea:focus{border-color:#0d0d0d7a;box-shadow:0 0 0 4px #0d0d0d17}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge,.health,.tool-chip,.stream-dot,.stream-error,.trace-entry-button{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-size:.86rem;font-weight:500;line-height:1.25}.badge{background:#0d0d0d21;color:#0d8f70}.health{width:9px;height:9px;padding:0;flex:0 0 auto;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 4px #94a3b824}.health-online{background:#22c55e;box-shadow:0 0 0 4px #22c55e24}.health-offline{background:var(--danger);box-shadow:0 0 0 4px #b44c3324}.health-checking{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b24}.new-session-button,.session-item-main{border:1px solid transparent;color:#0d0d0d}.new-session-button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;border-color:#0d0d0d24;border-radius:12px;padding:8px 10px;background:#ffffffa3;font-size:.86rem;font-weight:700;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.new-session-button:hover:not(:disabled){transform:translateY(-1px);border-color:#0d0d0d47;background:#fffffff5;box-shadow:0 10px 24px #0000001a}.new-session-icon{display:grid;place-items:center;width:19px;height:19px;border-radius:7px;background:#0d0d0d1f;color:var(--accent);font-weight:800}.session-list-heading{flex:0 0 auto;padding:0 6px;color:var(--text-soft);font-size:.72rem;font-weight:700;letter-spacing:.04em}.session-list-section{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-height:0;min-width:0}.session-list{display:grid;align-content:start;gap:5px;flex:1 1 auto;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(13,13,13,.28) rgba(13,13,13,.06)}.session-item{position:relative;display:flex;align-items:stretch;width:100%;min-width:0;min-height:34px}.session-item-main{display:flex;align-items:center;width:100%;min-width:0;min-height:34px;overflow:hidden;padding:5px 32px 5px 10px;border-radius:10px;background:#ffffff6b;text-align:left;line-height:1.35;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.session-item-main:hover:not(:disabled),.session-item-active .session-item-main{border-color:#0d0d0d2e;background:#ffffffd1}.session-item-active .session-item-main{box-shadow:inset 2px 0 #0d0d0db8,0 6px 16px #0000000f}.session-delete-button{position:absolute;top:50%;right:5px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:8px;background:linear-gradient(90deg,#fff0,#fffffff5 34%);color:var(--text-soft);font-size:.9rem;line-height:1;cursor:pointer;opacity:0;transform:translateY(-50%) scale(.96);transition:opacity .14s ease,color .14s ease,background .14s ease,transform .14s ease}.session-item:hover .session-delete-button,.session-item:focus-within .session-delete-button,.session-item-active .session-delete-button{opacity:1}.session-delete-button:hover:not(:disabled){border-color:#b44c332e;background:#b44c3314;color:var(--danger);transform:translateY(-50%) scale(1)}.session-item-main:disabled,.session-delete-button:disabled,.new-session-button:disabled{opacity:.6;cursor:not-allowed}.session-title-line{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0d0d0d;font-size:.82rem;font-weight:600}.session-title-line{font-weight:inherit}.session-preview,.session-item-main em,.empty-session{color:var(--text-soft)}.session-preview{font-size:.8rem}.session-item-main em{font-size:.74rem;font-style:normal}.empty-session{margin:0;line-height:1.6}.session-list-loader{padding:8px 6px;color:var(--text-soft);font-size:.74rem;text-align:center}.chat-stage{position:relative;display:grid;grid-template-rows:minmax(0,1fr);min-height:100vh;min-width:0;font-size:.92rem;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.conversation-scroll{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;min-height:0;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(13,13,13,.28) rgba(13,13,13,.06)}.workspace-meta-bar{display:flex;flex-wrap:wrap;gap:10px;width:min(var(--chat-content-width),calc(100% - 64px));margin:0 auto;padding:10px 0 0}.workspace-meta-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.8rem;color:#5f7081;background:#ffffff8f;border:1px solid rgba(13,13,13,.09)}.message-list{overflow:visible;width:min(var(--chat-content-width),calc(100% - 64px));margin:0 auto;padding:10px 0 150px;display:flex;flex-direction:column;gap:10px}.message-history-loader{align-self:center;padding:7px 12px;border:1px solid rgba(13,13,13,.08);border-radius:999px;background:#ffffffb3;color:var(--text-soft);font-size:.78rem}.chat-skeleton{display:flex;flex-direction:column;gap:14px;width:min(var(--chat-content-width),calc(100% - 64px));margin:0 auto;padding:10px 0 150px}.chat-skeleton-hint{display:inline-flex;align-self:center;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(13,13,13,.08);border-radius:999px;background:#ffffffb3;color:var(--text-soft);font-size:.78rem}.chat-skeleton-spinner{width:12px;height:12px;border:2px solid rgba(13,13,13,.14);border-top-color:var(--accent);border-radius:50%;animation:chat-skeleton-spin .72s linear infinite}@keyframes chat-skeleton-spin{to{transform:rotate(360deg)}}.chat-skeleton-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:14px 40px 14px 16px;border-radius:18px;border:1px solid rgba(13,13,13,.08);background:var(--assistant)}.chat-skeleton-line{height:12px;border-radius:999px;background:linear-gradient(90deg,#0d0d0d12 25%,#0d0d0d21 37%,#0d0d0d12 63%);background-size:400% 100%;animation:chat-skeleton-shimmer 1.4s ease infinite}.chat-skeleton-line-title{width:42%;height:18px}.chat-skeleton-line-short{width:58%}.chat-skeleton-line-mid{width:78%}@keyframes chat-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.chat-skeleton-line,.chat-skeleton-spinner{animation:none}}.message{position:relative;width:100%;min-width:0;border-radius:18px;padding:14px 40px 14px 16px;border:1px solid rgba(13,13,13,.08);overflow:hidden}.message-copy-button{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid rgba(13,13,13,.14);border-radius:999px;background:#ffffffad;color:var(--accent);font-size:.78rem;line-height:1;opacity:.28;transition:opacity .14s ease,background .14s ease,transform .14s ease}.message:hover .message-copy-button,.message-copy-button:focus-visible{opacity:1}.message-copy-button:hover:not(:disabled){transform:translateY(-1px);background:#fffffff2}.message-copy-button:disabled{cursor:not-allowed}.message-user{align-self:flex-end;background:linear-gradient(180deg,#10a37f,#0d8f70);color:#fff;width:fit-content;max-width:min(84%,920px)}.message-user .message-copy-button{border-color:#ffffff2e;background:#ffffff29;color:#fff}.message-user .message-copy-button:hover:not(:disabled){background:#ffffff42}.message-assistant{align-self:flex-start;background:var(--assistant);box-shadow:0 10px 24px #2c37320f}.message-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;margin-bottom:10px;color:var(--text-soft)}.message-user .message-meta,.message-user .plain-text{color:#fff}.plain-text{margin:0;line-height:1.75;white-space:pre-wrap}.markdown-body{white-space:pre-wrap;line-height:1.6;color:#0d0d0d}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body a{color:#0d8f70;text-decoration:none;border-bottom:1px solid rgba(16,163,127,.28)}.markdown-body a:hover{border-bottom-color:#10a37fb8}.markdown-body strong{color:#0d0d0d;font-weight:700}.markdown-body blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid rgba(16,163,127,.42);border-radius:0 10px 10px 0;background:#10a37f0f;color:#3f3f46}.markdown-body hr{height:1px;margin:14px 0;border:0;background:#0d0d0d1a}.markdown-body li::marker{color:#10a37f}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:0 0 8px}.markdown-body table{width:100%;max-width:100%;margin:14px 0 18px;border-collapse:separate;border-spacing:0;border:1px solid rgba(13,13,13,.16);border-radius:16px;background:#ffffffeb;box-shadow:inset 0 1px #ffffffb3}.markdown-body thead{background:linear-gradient(180deg,#0d0d0d1c,#0d0d0d0d)}.markdown-body tbody tr:nth-child(2n){background:#0d0d0d09}.markdown-body tbody tr:hover{background:#0d0d0d14}.markdown-body th,.markdown-body td{position:relative;min-width:0;max-width:280px;padding:12px 14px;text-align:left;vertical-align:top;border-right:1px solid rgba(13,13,13,.1);border-bottom:1px solid rgba(13,13,13,.1);white-space:nowrap}.markdown-table-cell-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;cursor:pointer}.markdown-table-cell-copied{position:absolute;top:4px;right:6px;z-index:1;padding:2px 6px;border-radius:4px;background:var(--accent);color:#fff;font-size:.68rem;line-height:1.4;pointer-events:none;animation:cell-copied-fade 1.2s ease forwards}@keyframes cell-copied-fade{0%{opacity:0;transform:translateY(2px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.markdown-body th{font-weight:700;color:#0d8f70}.markdown-body td{color:#3f3f46}.markdown-body tr>*:last-child{border-right:0}.markdown-body tbody tr:last-child>*{border-bottom:0}.markdown-table-wrapper{position:relative;max-width:100%;overflow-x:auto;margin:14px 0 18px;border-radius:16px}.markdown-table-wrapper .markdown-table{margin:0!important}.markdown-table-download-button{position:absolute;top:6px;right:6px;z-index:2;display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid rgba(13,13,13,.14);border-radius:999px;background:#ffffffeb;color:var(--accent);font-size:.82rem;line-height:1;cursor:pointer;opacity:0;transform:translateY(2px);transition:opacity .16s ease,background .16s ease,transform .16s ease}.markdown-table-wrapper:hover .markdown-table-download-button,.markdown-table-download-button:focus-visible{opacity:1;transform:translateY(0)}.markdown-table-download-button:hover{background:#fff;transform:translateY(-1px)!important;box-shadow:0 4px 12px #00000014}.markdown-body :not(pre)>code{background:#24453914;padding:.15rem .4rem;border-radius:8px;font-size:1.2em;font-weight:lighter;color:#0d8f70;border:1px solid rgba(13,13,13,.16)}.mermaid-diagram{position:relative;margin:14px 0 18px;padding:18px;overflow-x:auto;border:1px solid rgba(13,13,13,.08);border-radius:18px;background:#fff;box-shadow:0 10px 26px #141a210f;text-align:center}.mermaid-download-bar{position:absolute;top:10px;right:10px;z-index:1}.mermaid-download-button{border:1px solid rgba(13,13,13,.14);border-radius:999px;background:#ffffffd1;color:var(--accent);padding:5px 12px;font-size:.78rem;cursor:pointer;transition:background .14s ease,transform .14s ease}.mermaid-download-button:hover{transform:translateY(-1px);background:#fffffff5}.mermaid-download-menu{position:absolute;top:100%;right:0;margin-top:4px;display:flex;flex-direction:column;border:1px solid rgba(13,13,13,.12);border-radius:10px;background:#fff;box-shadow:0 8px 24px #141a2124;overflow:hidden}.mermaid-download-menu button{padding:8px 18px;border:0;background:transparent;color:#0d0d0d;font-size:.82rem;text-align:left;cursor:pointer;white-space:nowrap;transition:background .12s ease}.mermaid-download-menu button:hover{background:#10a37f14;color:var(--accent)}.mermaid-download-menu-divider{height:1px;margin:2px 8px;background:#0d0d0d14}.mermaid-diagram svg{display:block;width:auto;max-width:none;height:auto;margin:0 auto}.code-block-shell{position:relative;margin:14px 0 18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,#303846fa,#212731fa);box-shadow:inset 0 1px #ffffff0a,0 10px 26px #141a2138}.code-block-copy-button{position:absolute;top:9px;right:9px;z-index:1;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#12181fc7;color:#e5e7eb;padding:4px 9px;font-size:.76rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.code-block-copy-button:hover{background:#27303deb}.markdown-body pre{padding:10px;overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#303846fa,#212731fa);box-shadow:inset 0 1px #ffffff0a,0 10px 26px #141a2138;scrollbar-width:thin;scrollbar-color:rgba(129,145,166,.72) rgba(18,24,31,.45)}.markdown-body pre code{display:block;min-width:max-content;padding:0;background:transparent;border:0;border-radius:0;color:#a9b7c6;font-size:.92rem;line-height:1.75;font-family:JetBrains Mono,Cascadia Code,Fira Code,Consolas,monospace;white-space:pre}.markdown-body pre::-webkit-scrollbar,.conversation-scroll::-webkit-scrollbar,.control-panel::-webkit-scrollbar,.app-shell::-webkit-scrollbar,.tool-payload::-webkit-scrollbar,.tool-trace-result::-webkit-scrollbar,.markdown-body table::-webkit-scrollbar{height:12px;width:12px}.markdown-body pre::-webkit-scrollbar-thumb,.conversation-scroll::-webkit-scrollbar-thumb,.control-panel::-webkit-scrollbar-thumb,.app-shell::-webkit-scrollbar-thumb,.tool-payload::-webkit-scrollbar-thumb,.tool-trace-result::-webkit-scrollbar-thumb,.markdown-body table::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#93a1b5c2,#6f7b8ec7);border-radius:999px;border:3px solid transparent;background-clip:padding-box}.markdown-body pre::-webkit-scrollbar-track,.conversation-scroll::-webkit-scrollbar-track,.control-panel::-webkit-scrollbar-track,.app-shell::-webkit-scrollbar-track,.tool-payload::-webkit-scrollbar-track,.tool-trace-result::-webkit-scrollbar-track,.markdown-body table::-webkit-scrollbar-track{background:#141a2147;border-radius:999px}.markdown-body pre::-webkit-scrollbar-corner,.conversation-scroll::-webkit-scrollbar-corner,.control-panel::-webkit-scrollbar-corner,.app-shell::-webkit-scrollbar-corner,.tool-payload::-webkit-scrollbar-corner,.tool-trace-result::-webkit-scrollbar-corner,.markdown-body table::-webkit-scrollbar-corner{background:transparent}.tool-trace-group{margin:0 0 12px;border:1px solid rgba(13,13,13,.18);border-radius:14px;overflow:hidden;background:#0d0d0d0a}.tool-trace-group-summary,.tool-trace-header{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.tool-trace-group-summary::-webkit-details-marker,.tool-trace-header::-webkit-details-marker{display:none}.tool-trace-group-summary{padding:10px 12px;font-size:13px;font-weight:600}.tool-trace-group-title:before,.tool-trace-title strong:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .18s ease}.tool-trace-group[open]>.tool-trace-group-summary .tool-trace-group-title:before,.tool-trace-card[open]>.tool-trace-header .tool-trace-title strong:before{transform:rotate(90deg)}.tool-trace-group-meta,.tool-toggle-hint,.tool-trace-id{color:#64748b;font-size:12px;font-weight:400}.tool-trace-list{display:grid;gap:8px;padding:0 10px 10px}.tool-trace-card{border:1px solid rgba(13,13,13,.18);border-radius:12px;background:#ffffffb8}.tool-trace-header{padding:10px 12px}.tool-trace-title{display:flex;align-items:center;gap:8px;min-width:0}.tool-trace-summary-right{display:flex;align-items:center;gap:10px;min-width:0}.tool-trace-id{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-trace-content{display:grid;gap:10px;padding:0 12px 12px}.tool-trace-label,.tool-pending{color:var(--text-soft)}.tool-trace-block{display:grid;gap:6px}.tool-payload,.tool-trace-result{max-height:320px;overflow:auto;min-width:0;word-break:break-word}.tool-payload{white-space:pre-wrap}.stream-dot{background:#0d0d0d21;color:#0d8f70}.stream-error{background:#b44c3324;color:var(--danger)}.tool-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 11px;font-size:.84rem;font-weight:500;line-height:1.25}.tool-status-calling{background:#2563eb1f;color:#2563eb}.tool-status-done{background:#0d0d0d1a;color:#0d8f70}.assistant-timeline{display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden}.assistant-timeline .timeline-tool{margin:4px 0;border:1px solid rgba(13,13,13,.16);border-radius:14px;background:#0d0d0d09;min-width:0;overflow:hidden}.assistant-timeline .timeline-tool>.tool-trace-header{padding:8px 12px}.assistant-timeline .timeline-tool .tool-trace-content{padding:0 12px 10px}.assistant-timeline .timeline-tool .tool-payload{max-height:200px;font-size:.85rem}.assistant-timeline .timeline-tool .tool-trace-result{max-height:280px}.assistant-text-stack{display:grid;gap:14px}.composer{position:absolute;left:0;right:var(--chat-scrollbar-space);bottom:0;z-index:2;padding:12px 0 18px;background:transparent;pointer-events:none}.composer-flat{border-top:0}.composer-shell{display:grid;gap:10px;width:min(var(--chat-content-width),calc(100% - 64px));margin:0 auto;padding:14px 16px 10px;border:1px solid rgba(13,13,13,.1);border-radius:24px;background:#fff;box-shadow:0 16px 48px #0000001f,0 2px 10px #0000000f;pointer-events:auto;transition:width .18s ease,padding .18s ease,border-radius .18s ease,box-shadow .18s ease}.composer textarea{resize:none;height:54px;min-height:54px;padding:0 2px;border:0;border-radius:0;background:transparent;box-shadow:none;transition:height .18s ease,min-height .18s ease}.composer-compact .composer-shell{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:20px;box-shadow:0 10px 32px #0000001a,0 1px 6px #0000000d}.composer-compact textarea{flex:1 1 auto;height:34px;min-height:34px;line-height:34px}.composer-compact .composer-footer{flex:0 0 auto;padding-top:0;border-top:0}.composer-compact .composer-meta,.composer-compact .cache-metrics,.composer-compact .inline-metrics{display:none}.composer-compact .actions-right{gap:6px}.composer-compact .icon-button{width:32px;height:32px}.composer textarea:focus{box-shadow:none}.composer-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding-top:8px;border-top:1px solid rgba(13,13,13,.08)}.composer-meta{font-size:.88rem}.actions-right{display:flex;align-items:center;gap:8px}.cache-metrics{color:var(--text-soft);font-size:.82rem}.inline-metrics{color:var(--text-soft);font-size:.82rem;white-space:nowrap}.mini-button{border:1px solid rgba(13,13,13,.18);border-radius:999px;background:#ffffff9e;color:var(--accent);padding:6px 10px;font-size:.8rem}.panel-error{color:var(--danger);font-size:.86rem}.trace-entry-button{border:0;cursor:pointer;color:#0d8f70}.trace-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#121c186b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.trace-modal{width:min(920px,96vw);max-height:min(720px,88vh);overflow:hidden;border:1px solid rgba(13,13,13,.14);border-radius:24px;background:#fff;box-shadow:0 24px 80px #18231f3d}.trace-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(13,13,13,.1)}.trace-modal-header h2{margin:4px 0 0;color:#0d8f70}.trace-timeline{max-height:calc(min(720px,88vh) - 92px);overflow:auto;background:#ffffff7a;padding:12px 20px 20px}.profile-modal{width:min(640px,96vw)}.profile-form{display:grid;gap:14px;max-height:calc(min(720px,88vh) - 92px);overflow:auto;padding:18px 20px 20px}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-field{display:grid;gap:6px}.profile-field-full{grid-column:1 / -1}.profile-field span,.trace-modal-header p{margin:0;color:var(--text-soft);font-size:.82rem;font-weight:700}.profile-field input,.profile-field select,.profile-field textarea{width:100%;border:1px solid rgba(13,13,13,.16);border-radius:12px;background:#fff;color:#0d0d0d;outline:none;padding:9px 10px;transition:border-color .16s ease,box-shadow .16s ease}.profile-field input:focus,.profile-field select:focus,.profile-field textarea:focus{border-color:#0d0d0d6b;box-shadow:0 0 0 4px #0d0d0d14}.profile-field textarea{min-height:88px;resize:vertical}.profile-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.login-modal{width:min(420px,100%)}.login-modal .trace-modal-header{justify-content:flex-start;padding:26px 28px 14px;border-bottom:0}.login-modal .trace-modal-header h3{margin:0;color:var(--wechat-dark);font-size:1.22rem}.login-modal .trace-modal-header p{margin-top:6px;font-weight:500;line-height:1.55}.login-form{gap:16px;padding:6px 28px 32px}.login-actions{display:grid;gap:16px}.login-submit{width:100%;padding:12px 18px;font-weight:700}.guest-login{display:grid;gap:14px}.guest-login-divider{position:relative;display:block;text-align:center}.guest-login-divider:before{content:"";position:absolute;inset:50% 0 auto;height:1px;background:#0d0d0d1a}.guest-login-divider em{position:relative;padding:0 10px;background:#fff;color:var(--text-soft);font-size:.76rem;font-style:normal}.guest-login-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:11px 16px;border:1px solid rgba(16,163,127,.26);border-radius:16px;background:linear-gradient(180deg,#10a37f17,#10a37f05);color:var(--wechat-dark);text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.guest-login-button:hover:not(:disabled){border-color:#10a37f7a;background:linear-gradient(180deg,#10a37f29,#10a37f0d);box-shadow:0 12px 26px #10a37f29;transform:translateY(-1px)}.guest-login-button:disabled{opacity:.58;cursor:not-allowed}.guest-login-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#10a37f24}.guest-login-icon svg,.guest-login-arrow{width:18px;height:18px}.guest-login-icon svg path,.guest-login-arrow path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.guest-login-label{font-size:.94rem;font-weight:700}.guest-login-arrow{color:#0d8f708c;transition:transform .16s ease}.guest-login-button:hover:not(:disabled) .guest-login-arrow{transform:translate(2px)}.trace-row{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid rgba(13,13,13,.08);font-size:.86rem}.trace-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-stage{cursor:pointer;-webkit-user-select:none;user-select:none}.trace-row span{color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-detail{cursor:pointer;-webkit-user-select:none;user-select:none}.trace-detail.copied{color:#0d8f70;font-weight:600}.trace-row em{color:#0d8f70;font-style:normal}.primary-button,.ghost-button,.icon-button{border-radius:999px;padding:9px 14px;border:1px solid transparent;transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-color:#0d0d0d1f;background:#fff;color:#0d0d0d}.icon-button svg{width:18px;height:18px}.scroll-button svg path,.send-button svg path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stop-button svg rect{fill:currentColor}.send-button,.stop-button{border-color:#0d0d0d;background:#0d0d0d;color:#fff}.send-button:disabled{border-color:#e5e5e5;background:#e5e5e5;color:#a3a3a3}.primary-button{background:linear-gradient(180deg,#10a37f,#0d8f70);color:#fff;box-shadow:0 12px 24px #10a37f38}.ghost-button{background:transparent;border-color:#0d0d0d38;color:var(--accent)}.primary-button:disabled,.ghost-button:disabled,.icon-button:disabled{opacity:.58;cursor:not-allowed}.primary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:translateY(-1px)}@media (max-width: 1080px){body,#root{overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;overflow:auto}.control-panel{order:2}.chat-stage{order:1;min-height:78vh}}@media (max-width: 720px){.app-shell{padding:10px;gap:16px}.session-panel{height:auto;min-height:320px;border-radius:20px}.workspace-meta-bar,.message-list,.chat-skeleton,.composer-shell{width:calc(100% - 32px)}.composer-footer{flex-direction:column;align-items:flex-start}.actions-right{width:100%;justify-content:flex-end}.message{max-width:100%;width:100%}.message-user{width:fit-content;max-width:100%}.profile-form-grid{grid-template-columns:1fr}}.message .markdown-body,.message .markdown-body.timeline-text,.tool-trace-result.markdown-body{white-space:normal!important;line-height:1.85!important;font-size:.94rem}.message .markdown-body>:first-child,.tool-trace-result.markdown-body>:first-child{margin-top:0!important}.message .markdown-body>:last-child,.tool-trace-result.markdown-body>:last-child{margin-bottom:0!important}.message .markdown-body h1,.message .markdown-body h2,.message .markdown-body h3,.message .markdown-body h4,.message .markdown-body h5,.message .markdown-body h6,.tool-trace-result.markdown-body h1,.tool-trace-result.markdown-body h2,.tool-trace-result.markdown-body h3,.tool-trace-result.markdown-body h4,.tool-trace-result.markdown-body h5,.tool-trace-result.markdown-body h6{line-height:1.35!important;padding:0!important;border:0!important;color:#0d0d0d}.message .markdown-body h1,.tool-trace-result.markdown-body h1{margin:0 0 .7rem!important;font-size:1.42rem!important}.message .markdown-body h2,.tool-trace-result.markdown-body h2{margin:1.5rem 0 .6rem!important;font-size:1.26rem!important;padding-bottom:.3rem!important;border-bottom:1px solid rgba(13,13,13,.1)!important}.message .markdown-body h3,.tool-trace-result.markdown-body h3{margin:1.25rem 0 .5rem!important;font-size:1.12rem!important}.message .markdown-body h4,.tool-trace-result.markdown-body h4{margin:1.05rem 0 .42rem!important;font-size:1.02rem!important}.message .markdown-body h5,.tool-trace-result.markdown-body h5{margin:.95rem 0 .4rem!important;font-size:.98rem!important}.message .markdown-body h6,.tool-trace-result.markdown-body h6{margin:.9rem 0 .38rem!important;font-size:.94rem!important}.message .markdown-body p,.message .markdown-body blockquote,.message .markdown-body table,.message .markdown-body pre,.message .markdown-body ul,.message .markdown-body ol,.tool-trace-result.markdown-body p,.tool-trace-result.markdown-body blockquote,.tool-trace-result.markdown-body table,.tool-trace-result.markdown-body pre,.tool-trace-result.markdown-body ul,.tool-trace-result.markdown-body ol{margin-top:.35rem!important;margin-bottom:.9rem!important}.message .markdown-body ul,.message .markdown-body ol,.tool-trace-result.markdown-body ul,.tool-trace-result.markdown-body ol{padding-left:1.35rem!important}.message .markdown-body li,.tool-trace-result.markdown-body li{margin-top:.14rem!important;margin-bottom:.14rem!important;line-height:1.85!important}.message .markdown-body li+li,.tool-trace-result.markdown-body li+li{margin-top:.62rem!important}.message .markdown-body li>p,.tool-trace-result.markdown-body li>p{margin:0!important;display:inline}.message .markdown-body li>p+p,.tool-trace-result.markdown-body li>p+p{display:block;margin-top:1rem!important}.message .markdown-body pre,.message .markdown-body pre *,.tool-trace-result.markdown-body pre,.tool-trace-result.markdown-body pre *{white-space:pre!important}.message .markdown-body blockquote,.tool-trace-result.markdown-body blockquote{padding:.6rem 1rem!important;border-left:3px solid rgba(16,163,127,.5)!important;border-radius:0 10px 10px 0!important;background:#10a37f0d!important;color:#3d4a52!important}.message .markdown-body code,.tool-trace-result.markdown-body code{white-space:pre-wrap}.message .markdown-body th,.message .markdown-body td,.tool-trace-result.markdown-body th,.tool-trace-result.markdown-body td{white-space:nowrap!important}.assistant-timeline{gap:14px!important}.assistant-timeline .timeline-text{margin:0!important}.assistant-timeline .timeline-text+.timeline-text,.assistant-timeline .timeline-text+.timeline-tool,.assistant-timeline .timeline-tool+.timeline-text,.assistant-timeline .timeline-error+.timeline-text,.assistant-timeline .timeline-text+.timeline-error,.assistant-timeline .timeline-tool+.timeline-error,.assistant-timeline .timeline-error+.timeline-tool{margin-top:1rem!important}.timeline-error{padding:8px 12px;border-radius:10px;background:#d23f3114;border:1px solid rgba(210,63,49,.22);color:var(--danger);font-size:.88rem;line-height:1.5;white-space:pre-wrap}.session-share-button{position:absolute;top:50%;right:30px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:8px;background:linear-gradient(90deg,#fff0,#fffffff5 34%);color:var(--text-soft);font-size:.86rem;line-height:1;opacity:0;transform:translateY(-50%);transition:opacity .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.session-item:hover .session-share-button,.session-item:focus-within .session-share-button,.session-item-active .session-share-button{opacity:1}.session-share-button:hover:not(:disabled){border-color:#10a37f3d;background:#10a37f1a;color:var(--accent)}.session-item:hover .session-item-main,.session-item:focus-within .session-item-main,.session-item-active .session-item-main{padding-right:58px}.session-share-button:disabled{opacity:.6;cursor:not-allowed}.share-notice{color:var(--wechat-dark);font-size:.86rem;font-weight:600}.share-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden;background:radial-gradient(circle at top left,rgba(16,163,127,.06),transparent 30%),linear-gradient(180deg,#fff,#f7f7f8)}.share-page-header{display:flex;flex-direction:column;gap:10px;padding:16px 24px 12px;border-bottom:1px solid var(--border);background:#ffffffdb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.share-page-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:min(var(--chat-content-width),100%);margin:0 auto}.share-page-banner-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 11px;background:#10a37f1f;border:1px solid rgba(16,163,127,.26);color:var(--wechat-dark);font-size:.78rem;font-weight:700;letter-spacing:.02em}.share-page-banner-text{color:var(--text-soft);font-size:.84rem}.share-page-meta{display:flex;flex-direction:column;gap:8px;width:min(var(--chat-content-width),100%);margin:0 auto}.share-page-title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0d0d0d;font-size:1.1rem;line-height:1.3}.share-page-chips{display:flex;flex-wrap:wrap;gap:8px}.share-page-chip{display:inline-flex;align-items:center;border:1px solid rgba(13,13,13,.1);border-radius:999px;padding:5px 10px;background:#0d0d0d0a;color:var(--text-soft);font-size:.78rem}.share-page-scroll{overflow-x:hidden;overflow-y:auto;min-width:0;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(13,13,13,.28) rgba(13,13,13,.06)}.share-page-scroll::-webkit-scrollbar{height:12px;width:12px}.share-page-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#93a1b5c2,#6f7b8ec7);border-radius:999px;border:3px solid transparent;background-clip:padding-box}.share-page-scroll::-webkit-scrollbar-track{background:#141a2147;border-radius:999px}.share-page-state{width:min(var(--chat-content-width),calc(100% - 64px));margin:24px auto;color:var(--text-soft);font-size:.9rem;text-align:center}.share-page-error{color:var(--danger)}.elevator-nav{position:fixed;top:50%;right:18px;z-index:40;display:flex;flex-direction:column;align-items:center;gap:4px;max-height:76vh;padding:8px 6px;border:0;background:transparent;box-shadow:none;transform:translateY(-50%)}.conversation-scroll.has-elevator{padding-right:64px}.elevator-list{display:flex;flex-direction:column;align-items:center;gap:4px;overflow-y:auto;padding:2px 4px;scrollbar-width:none}.elevator-list::-webkit-scrollbar{display:none}.elevator-slot{display:flex;align-items:center;justify-content:center}.elevator-item{display:grid;place-items:center;padding:6px 8px;border:0;border-radius:999px;background:transparent}.elevator-bar{display:block;width:14px;height:3px;border-radius:999px;background:#dedede;transition:width .16s ease,height .16s ease,background .16s ease}.elevator-item:hover .elevator-bar{width:22px;background:#b9b9b9}.elevator-item-exportable .elevator-bar{background:#e6b422}.elevator-item-exportable:hover .elevator-bar{background:#d8a209}.elevator-item-active .elevator-bar{width:22px;height:4px;background:#3b5bfd}.elevator-item-active:hover .elevator-bar{width:24px;background:#2f4ff0}.export-menu{position:fixed;z-index:60;display:flex;flex-direction:column;min-width:104px;padding:4px;border:1px solid rgba(13,13,13,.1);border-radius:10px;background:#fff;box-shadow:0 16px 36px #00000029;transform:translate(-100%)}.export-menu button{padding:6px 10px;border:0;border-radius:7px;background:transparent;color:#0d0d0d;font-size:.76rem;text-align:left;white-space:nowrap}.export-menu button:hover{background:#0d0d0d0f}.message-export-button{position:absolute;top:8px;right:38px;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border:1px solid rgba(196,146,14,.42);border-radius:999px;background:#f7cd5033;color:#8a6300;font-size:.72rem;font-weight:500;line-height:1;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.message-export-button:hover{border-color:#c4920eb8;background:#f5c53c6b;box-shadow:0 4px 14px #c4920e38}.message-export-caret{font-size:.58rem;line-height:1;opacity:.7}.message-exportable .message-meta{padding-right:104px}@media (max-width: 1200px){.elevator-nav{right:8px;opacity:.7}.conversation-scroll.has-elevator{padding-right:52px}.elevator-nav:hover,.elevator-nav:focus-within{opacity:1}}@media (max-width: 900px){.elevator-nav{display:none}.conversation-scroll.has-elevator{padding-right:2px}}.export-print-root{display:none}@media print{@page{size:A4;margin:14mm 12mm}html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}.app-shell{display:none!important}.export-print-root{display:block!important;color:#0d0d0d;background:#fff}.export-print-header h1{margin:0 0 6px;font-size:1.6rem}.export-print-header p{margin:0 0 18px;color:#6b6b6b;font-size:.78rem}.export-print-entry{margin-bottom:22px}.export-print-root .message{width:100%;margin:0 0 12px;padding:0;border:0;border-radius:0;background:#fff!important;box-shadow:none!important}.export-print-question .plain-text{padding-left:10px;border-left:3px solid rgba(13,13,13,.18);color:#3c3c3c}.export-print-root .message-copy-button,.export-print-root .code-block-copy-button,.export-print-root .markdown-table-download-button,.export-print-root .mermaid-download-bar{display:none!important}.export-print-root .code-block-shell,.export-print-root .idea-code-block{-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-print-root .markdown-body{line-height:1.55}.export-print-root .markdown-body pre{white-space:pre-wrap;word-break:break-word}.export-print-root .markdown-body thead{display:table-header-group}.export-print-root .markdown-body tr,.export-print-root .markdown-body img,.export-print-root .mermaid-diagram,.export-print-root .markdown-body pre{page-break-inside:avoid}.export-print-root .markdown-body h1,.export-print-root .markdown-body h2,.export-print-root .markdown-body h3{page-break-after:avoid}}.print-wait-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:24px;background:#121c186b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.print-wait-card{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:260px;max-width:min(420px,92vw);padding:22px 28px;border-radius:16px;background:#fff;box-shadow:0 24px 60px #18231f3d;text-align:center}.print-wait-spinner{width:22px;height:22px;border-radius:999px;border:2px solid rgba(16,163,127,.22);border-top-color:var(--accent);animation:print-wait-spin .8s linear infinite}@keyframes print-wait-spin{to{transform:rotate(360deg)}}.print-wait-title{margin:0;font-size:.95rem;font-weight:600;color:#0d0d0d}.print-wait-hint{margin:0;font-size:.82rem;line-height:1.5;color:var(--text-soft)}@media print{.print-wait-overlay{display:none!important}}
