:root{color-scheme:dark;--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #242442;--bg-hover: #2e2e52;--bg-input: #20203a;--accent: #6c5ce7;--accent-light: #a29bfe;--text-primary: #eaeaea;--text-secondary: #8888aa;--text-muted: #626287;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--success: #00cec9;--warning: #ffd166;--danger: #ff7675;--shadow: 0 4px 24px rgba(0, 0, 0, .3);--shadow-strong: 0 18px 42px rgba(0, 0, 0, .42);--radius-card: 12px;--radius-control: 8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--bg-primary)}body{min-height:100vh;margin:0;color:var(--text-primary);background:radial-gradient(circle at 20% 0%,rgba(108,92,231,.16),transparent 26rem),linear-gradient(135deg,#0f0f1a,#151528 48%,#10101c)}button,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff47}.insight-saas-shell{background:#f8fafc}.insight-saas-page{width:100%;min-height:100vh;max-width:1600px;margin:0 auto;padding:24px 32px 44px;color:#1e293b;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.insight-saas-topbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:-24px -32px 24px;padding:20px 32px;background:#fffffff0;border-bottom:1px solid #f1f5f9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.insight-title-line{display:flex;align-items:center;gap:12px}.insight-title-line h1{margin:0;color:#0f172a;font-size:22px;font-weight:720;letter-spacing:0}.insight-title-line b{letter-spacing:0}.insight-title-line b{padding:3px 10px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px}.insight-title-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#4f46e5;color:#fff;font-size:11px;font-weight:800}.insight-saas-topbar p{margin:6px 0 8px;color:#94a3b8;font-size:12px}.insight-topbar-actions{display:flex;align-items:center;gap:10px}.insight-topbar-actions button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#475569;font-size:12px;font-weight:650;cursor:pointer}.insight-topbar-actions button.dark{border-color:#0f172a;background:#0f172a;color:#fff}.insight-saas-page .selector-panel{margin-bottom:24px;border-color:#eef2f7;border-radius:18px;background:#fff;box-shadow:0 1px 3px #0f172a0a}.insight-premium-card{background:#fff;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0f172a0d,0 1px 2px #0f172a08;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}.insight-premium-card:hover{border-color:#e2e8f0;box-shadow:0 7px 18px #0f172a12}.insight-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-bottom:24px}.insight-metric-card{position:relative;min-height:138px;padding:20px;overflow:hidden;border-radius:18px}.insight-metric-card.tone-danger{border-left:3px solid #ef4444}.insight-metric-card.tone-brand{border-color:#e0e7ff;background:linear-gradient(135deg,#fff,#f5f3ff)}.insight-metric-label{display:flex;align-items:center;justify-content:space-between;color:#94a3b8;font-size:12px;font-weight:650}.insight-metric-label svg{color:#cbd5e1}.insight-metric-value{margin-top:10px;color:#0f172a;font-size:30px;font-weight:780;line-height:1.05}.insight-metric-value small{margin-left:6px;color:#94a3b8;font-size:13px;font-weight:500}.insight-metric-card p{margin:8px 0 0;color:#64748b;font-size:11px;font-weight:600}.insight-metric-card.tone-danger p{display:inline-flex;padding:3px 8px;border-radius:999px;background:#fef2f2;color:#ef4444}.insight-metric-card.tone-warning p{color:#d97706}.insight-metric-card.tone-brand .insight-metric-value,.insight-metric-card.tone-brand .insight-metric-label{color:#4f46e5}.insight-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.insight-section-head.compact{margin-bottom:16px}.insight-section-head>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.insight-section-head h2,.opportunity-section-head h2{margin:0;color:#0f172a;font-size:16px;font-weight:720}.insight-section-head p,.opportunity-section-head small{margin:0;color:#94a3b8;font-size:12px}.insight-section-mark{width:4px;height:18px;border-radius:999px;background:#4f46e5}.lifecycle-card{margin-bottom:24px;padding:24px;border-radius:20px}.lifecycle-legend{display:flex;align-items:center;gap:15px;color:#64748b;font-size:12px}.lifecycle-legend span{display:inline-flex;align-items:center;gap:7px}.lifecycle-legend i{display:inline-block;width:13px;height:13px;border:1px solid #cbd5e1;background:#f8fafc}.legend-phase{border-radius:4px}.legend-milestone{transform:rotate(45deg)}.legend-gap{height:8px!important;border-color:#fca5a5!important;border-radius:999px;background:#fee2e2!important}.lifecycle-side-line{display:flex;align-items:center;gap:12px;margin-bottom:26px;padding-left:88px}.lifecycle-side-line button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #fde68a;border-radius:14px;background:#fffbeb;color:#92400e;cursor:pointer}.lifecycle-side-line small{color:#94a3b8;font-size:10px}.lifecycle-side-line b{padding:2px 6px;border-radius:6px;background:#ef4444;color:#fff;font-size:10px}.lifecycle-side-line p{margin:0;color:#94a3b8;font-size:11px;font-style:italic}.side-dash{width:120px;border-top:1px dashed #f59e0b}.lifecycle-flow-scroll{padding:8px 0 24px;overflow-x:auto}.lifecycle-flow{position:relative;display:flex;align-items:center;justify-content:space-between;min-width:1160px}.lifecycle-flow:before{content:"";position:absolute;top:50%;left:10px;right:10px;height:2px;background:#f1f5f9}.lifecycle-node{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;min-width:130px;min-height:102px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.lifecycle-node.is-milestone{border-radius:18px 18px 18px 4px}.lifecycle-node.is-selected{border-color:#4f46e5;background:#f5f3ff;box-shadow:0 0 0 3px #ede9fe}@keyframes insightPulse{0%,to{transform:scale(1);box-shadow:0 0 #ef444452}50%{transform:scale(1.025);box-shadow:0 0 0 8px #ef444400}}.lifecycle-node.is-highest,.insight-loading span{animation:insightPulse 2.2s infinite ease-in-out}.lifecycle-node.is-highest{border-color:#ef4444}.lifecycle-node span{color:#94a3b8;font-size:10px;font-weight:800}.lifecycle-node strong{max-width:110px;margin-top:5px;overflow:hidden;color:#1e293b;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.lifecycle-node small{max-width:110px;margin-top:3px;overflow:hidden;color:#64748b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.lifecycle-node em{margin-top:10px;color:#94a3b8;font-size:10px;font-style:normal}.lifecycle-node b{margin-top:2px;color:#4f46e5;font-size:10px}.lifecycle-arrow{position:relative;z-index:3;flex:0 0 auto;color:#cbd5e1}.lifecycle-detail{display:grid;grid-template-columns:1.35fr 1fr auto;align-items:center;gap:22px;margin-top:12px;padding:16px;border:1px solid #f1f5f9;border-radius:16px;background:#f8fafcb8}.detail-title{display:flex;align-items:center;gap:9px}.detail-title span{padding:2px 8px;border-radius:7px;background:#4f46e5;color:#fff;font-size:12px;font-weight:800}.detail-title h3{margin:0;color:#0f172a;font-size:14px}.detail-title small{color:#94a3b8}.detail-stats{display:flex;align-items:center;gap:28px;margin-top:13px}.detail-stats span,.detail-concerns>span{display:block;margin-bottom:5px;color:#94a3b8;font-size:11px}.detail-stats strong{color:#1e293b;font-size:14px}.sentiment-bar-wrap{min-width:240px}.sentiment-bar{display:flex;height:8px;overflow:hidden;border-radius:999px;background:#e2e8f0}.sentiment-bar .positive{background:#34d399}.sentiment-bar .neutral{background:#cbd5e1}.sentiment-bar .negative{background:#fb7185}.detail-concerns{padding-left:22px;border-left:1px solid #e2e8f0}.detail-concerns div{display:flex;flex-wrap:wrap;gap:8px}.detail-concerns b{padding:6px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;font-size:12px}.insight-link-button,.tree-evidence-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#4f46e5;font-size:12px;font-weight:700;cursor:pointer}.symptom-layout{display:grid;grid-template-columns:minmax(360px,5fr) minmax(520px,7fr);gap:24px;margin-bottom:28px}.symptom-chart-card,.symptom-tree-card{min-height:480px;padding:24px;border-radius:20px}.symptom-sunburst{width:100%;height:384px}.symptom-summary{display:flex;gap:8px}.symptom-summary span{padding:3px 8px;border-radius:7px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:700}.symptom-tree-list{max-height:390px;padding-right:8px;overflow-y:auto}.symptom-system{margin-bottom:9px;overflow:hidden;border:1px solid #f1f5f9;border-radius:15px;background:#f8fafc73}.symptom-system.selected{border-color:#c7d2fe;box-shadow:0 0 0 2px #eef2ff}.symptom-system-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 16px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;cursor:pointer}.system-name,.system-meta{display:flex;align-items:center;gap:10px}.system-name i{width:10px;height:10px;border-radius:999px}.system-name strong{color:#0f172a;font-size:12px}.system-name small{color:#94a3b8;font-size:10px}.system-meta b{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.system-meta svg{color:#94a3b8;transition:transform .2s ease}.system-meta svg.rotated{transform:rotate(90deg)}.symptom-category-list{padding:12px;background:#f8fafcb8}.symptom-category{margin-bottom:12px;padding:12px;border:1px solid rgba(226,232,240,.7);border-radius:12px;background:#fff}.symptom-category:last-child{margin-bottom:0}.symptom-category header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.symptom-category header span{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:12px;font-weight:800}.symptom-category header b{padding:2px 7px;border-radius:7px;background:#f1f5f9;color:#64748b;font-size:10px}.symptom-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.symptom-item{padding:9px;border:1px solid #f1f5f9;border-radius:9px;background:#fff;text-align:left;cursor:pointer}.symptom-item.active{border-color:#818cf8}.symptom-item span{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.symptom-item strong{overflow:hidden;color:#1e293b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.symptom-item em{flex:0 0 auto;padding:1px 5px;border:1px solid #bbf7d0;border-radius:6px;background:#f0fdf4;color:#15803d;font-size:9px;font-style:normal;font-weight:800}.symptom-item.severity-moderate em{border-color:#fde68a;background:#fffbeb;color:#b45309}.symptom-item.severity-red_flag em{border-color:#fecdd3;background:#fff1f2;color:#e11d48}.symptom-item div{position:relative;display:flex;align-items:center;gap:8px;margin-top:9px}.symptom-item div:before{content:"";flex:1;height:4px;border-radius:999px;background:#f1f5f9}.symptom-item div i{position:absolute;left:0;max-width:calc(100% - 48px);height:4px;border-radius:999px}.symptom-item div b{margin-left:auto;color:#94a3b8;font-size:10px}.tree-evidence-button{margin-top:10px}.opportunity-section{margin-bottom:20px}.opportunity-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.opportunity-section-head>div{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.opportunity-section-head button,.opportunity-empty button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#4f46e5;font-size:12px;font-weight:750;cursor:pointer}.opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.opportunity-card{display:flex;flex-direction:column;justify-content:space-between;min-height:330px;padding:20px;border-radius:20px}.opportunity-tags{display:flex;align-items:center;justify-content:space-between;gap:12px}.opportunity-tags div,.opportunity-tags p{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.opportunity-tags span{padding:3px 8px;border-radius:7px;background:#f1f5f9;color:#334155;font-size:10px;font-weight:800}.opportunity-tags span:nth-child(2){color:#fff}.opportunity-tags p{margin:0;color:#94a3b8;font-size:10px}.opportunity-tags b{margin-left:2px;color:#334155}.opportunity-tags strong{padding:2px 6px;border-radius:6px;background:#fef2f2;color:#dc2626;font-size:10px}.opportunity-card h3{margin:14px 0 0;color:#0f172a;font-size:15px;font-weight:800}.opportunity-questions{margin-top:12px;padding:10px;border:1px solid #f1f5f9;border-radius:12px;background:#f8fafcbf}.opportunity-questions span{display:block;margin-bottom:6px;color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:0}.opportunity-questions ul{margin:0;padding-left:14px}.opportunity-questions li{margin:3px 0;overflow:hidden;color:#64748b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.opportunity-suggestion{margin-top:12px;color:#334155;font-size:12px;line-height:1.7}.opportunity-suggestion b{display:block;margin-bottom:3px;color:#1e293b}.opportunity-suggestion p{margin:0}.opportunity-card footer{margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}.opportunity-risk{display:flex;align-items:flex-start;gap:7px;padding:10px;border:1px solid rgba(254,205,211,.7);border-radius:12px;background:#fff1f2ad;color:#9f1239}.opportunity-risk p{margin:0;font-size:11px;line-height:1.55}.opportunity-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.opportunity-actions span{color:#94a3b8;font-size:10px}.opportunity-actions b{color:#475569}.opportunity-actions button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:#4f46e5;font-size:11px;font-weight:800;cursor:pointer}.opportunity-empty,.insight-empty-state{padding:48px;border-radius:20px;text-align:center}.opportunity-empty svg{color:#cbd5e1}.opportunity-empty p,.insight-empty-state p{color:#64748b}.insight-empty-state{border:1px dashed #e2e8f0;background:#fff}.insight-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:320px}.insight-loading span{width:10px;height:10px;border-radius:999px;background:#4f46e5}.insight-loading span:nth-child(2){animation-delay:.15s}.insight-loading span:nth-child(3){animation-delay:.3s}.insight-empty-panel{display:flex;align-items:center;justify-content:center;min-height:220px;border:1px dashed #e2e8f0;border-radius:14px;color:#94a3b8;font-size:13px}.insight-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;border:0;background:#0f172a57}.insight-evidence-drawer{position:fixed;top:0;right:0;z-index:1201;display:flex;flex-direction:column;width:min(480px,100vw);height:100vh;padding:24px;overflow-y:auto;background:#fff;box-shadow:-18px 0 40px #0f172a1f}.insight-evidence-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.insight-evidence-drawer header span{color:#4f46e5;font-size:11px;font-weight:800}.insight-evidence-drawer h2{margin:4px 0;color:#0f172a;font-size:20px}.insight-evidence-drawer header p{margin:0;color:#94a3b8;font-size:12px;line-height:1.6}.insight-evidence-drawer header button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;cursor:pointer}.insight-evidence-card{margin-bottom:14px;padding:16px;border:1px solid #f1f5f9;border-radius:16px;background:#f8fafc}.evidence-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.evidence-meta span,.evidence-meta time,.evidence-meta b{padding:3px 8px;border-radius:999px;background:#fff;color:#64748b;font-size:11px}.evidence-meta span:first-child{background:#ede9fe;color:#4f46e5;font-weight:800}.insight-evidence-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}.insight-evidence-card dt{color:#94a3b8;font-size:10px}.insight-evidence-card dd{margin:2px 0 0;color:#334155;font-size:12px;font-weight:700}.insight-evidence-card blockquote{margin:0 0 12px;padding-left:12px;border-left:3px solid #4f46e5;color:#334155;font-size:13px;line-height:1.7}.insight-evidence-card p{margin:0;color:#4f46e5;font-size:12px;line-height:1.7}@media(max-width:1180px){.insight-metric-grid,.opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.symptom-layout,.lifecycle-detail{grid-template-columns:1fr}.detail-concerns{padding-left:0;border-left:0}}@media(max-width:760px){.insight-saas-page{padding:18px 16px 32px}.insight-saas-topbar{position:static;flex-direction:column;align-items:stretch;margin:-18px -16px 18px;padding:18px 16px}.insight-metric-grid,.opportunity-grid,.symptom-items{grid-template-columns:1fr}.lifecycle-side-line{padding-left:0}.side-dash,.lifecycle-side-line p,.lifecycle-legend{display:none}.opportunity-actions,.opportunity-tags{align-items:flex-start;flex-direction:column}}.icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-control);transition:transform .18s ease,background-color .18s ease,color .18s ease}.icon-button:hover{color:var(--text-primary);background:var(--bg-hover);transform:scale(1.02)}.conversation{display:grid;align-content:start;gap:18px;min-height:0;padding:28px clamp(18px,4vw,56px);overflow-y:auto;scroll-behavior:smooth}.empty-state{display:grid;gap:12px;max-width:620px;margin:7vh auto 0;padding:28px;background:#242442b8;border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);text-align:center}.empty-state span{color:var(--accent-light);font-size:12px;font-weight:800;text-transform:uppercase}.empty-state h2{margin:0;font-size:26px;letter-spacing:0}.empty-state p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.7}.message{display:grid;gap:12px;min-width:0}.message.user{justify-items:end}.message.assistant{justify-items:start}.user-bubble{max-width:min(70%,760px);padding:13px 16px;color:#fff;background:linear-gradient(135deg,var(--accent),#7868f0);border-radius:16px 16px 5px;box-shadow:0 14px 32px #6c5ce73d;line-height:1.68}.assistant-card,.trace-card,.typing-card,.error-card{width:min(90%,940px)}.assistant-card{display:grid;gap:18px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow)}.answer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.answer-head h2,.section-head h3{margin:0;color:var(--text-primary);font-size:17px;line-height:1.35;letter-spacing:0}.answer-head p{max-width:72ch;margin:8px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.75}.answer-content{display:grid;gap:14px;max-width:76ch;margin-top:10px}.answer-section{display:grid;gap:7px}.answer-section+.answer-section{padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.answer-section h3{margin:0;color:var(--text-primary);font-size:15px;line-height:1.45;letter-spacing:0}.answer-section p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.78;white-space:pre-wrap}.mode-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;color:#bee7ff;background:#00cec91f;border:1px solid rgba(0,206,201,.18);border-radius:999px;font-size:12px;font-weight:800}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-head.inline{align-items:center}.section-head p{margin:5px 0 0;color:var(--text-muted);font-size:12px;line-height:1.4}.pain-chart,.insight-block{display:grid;gap:14px;padding:16px;background:#0f0f1a47;border:1px solid var(--border);border-radius:var(--radius-card)}.pain-chart-body{display:grid;gap:11px}.pain-row{display:grid;grid-template-columns:minmax(96px,150px) minmax(110px,1fr) 42px auto;align-items:center;gap:10px;min-height:28px}.pain-label{color:var(--text-secondary);font-size:13px;line-height:1.3;text-align:right;overflow-wrap:anywhere}.pain-track{position:relative;height:12px;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 25%),#ffffff0d;border-radius:4px}.pain-bar{display:block;height:100%;min-width:8px;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:4px}.pain-row strong{color:var(--text-primary);font-size:14px;line-height:1}.pain-percent{min-width:42px;padding:4px 8px;color:var(--accent-light);background:#6c5ce724;border:1px solid rgba(162,155,254,.18);border-radius:999px;font-size:12px;font-weight:800;text-align:center}.pain-axis{margin-left:160px;border-bottom:1px dashed rgba(255,255,255,.16)}.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:0 11px;color:var(--accent-light);background:#6c5ce71f;border:1px solid rgba(162,155,254,.18);border-radius:var(--radius-control);font-size:12px;font-weight:800;white-space:nowrap;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.soft-button:hover{transform:scale(1.02);background:#6c5ce738;border-color:#a29bfe52}.quote-list,.action-list,.trace-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.quote-card{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px 10px;padding:12px 12px 12px 14px;background:#ffffff08;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-control)}.quote-card svg{color:var(--accent-light);margin-top:3px}.quote-card p{margin:0;color:var(--text-primary);font-size:14px;line-height:1.66}.quote-tags{grid-column:2;display:flex;flex-wrap:wrap;gap:6px}.quote-tags span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:var(--text-secondary);background:#ffffff0d;border:1px solid var(--border);border-radius:999px;font-size:11px;line-height:1}.action-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.action-list li{display:flex;gap:9px;min-width:0;padding:12px;color:var(--text-secondary);background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-control);font-size:14px;line-height:1.55}.action-list svg{flex:0 0 auto;margin-top:3px;color:var(--warning)}.answer-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px}.feedback-row{display:inline-flex;align-items:center;gap:8px;margin-right:auto}.feedback-btn{display:inline-flex;align-items:center;gap:6px;min-width:88px;color:var(--text-secondary)}.feedback-btn.active{color:var(--accent-light);border-color:#a29bfe8c;background:#a29bfe1f}.trace-card{display:grid;gap:14px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow)}.trace-head{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.trace-head span{min-height:24px;padding:3px 9px;color:var(--accent-light);background:#6c5ce724;border-radius:999px;font-weight:800}.trace-head strong{color:var(--text-primary)}.trace-step{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:start}.trace-dot{width:10px;height:10px;margin-top:8px;background:var(--accent-light);border-radius:50%;box-shadow:0 0 0 4px #a29bfe24}.trace-step.done .trace-dot{background:var(--success);box-shadow:0 0 0 4px #00cec924}.trace-step.error .trace-dot{background:var(--danger);box-shadow:0 0 0 4px #ff767524}.trace-copy p{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;color:var(--text-primary);font-size:14px;font-weight:800;line-height:1.45}.trace-copy p span,.trace-copy small,.trace-step time{color:var(--text-secondary);font-size:12px;font-weight:600}.trace-copy small{display:block;margin-top:4px;line-height:1.55}.typing-card{display:inline-flex;align-items:center;gap:7px;width:auto;min-width:86px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow)}.typing-card span{width:8px;height:8px;background:var(--accent-light);border-radius:50%;animation:typing .9s ease-in-out infinite}.typing-card span:nth-child(2){animation-delay:.12s}.typing-card span:nth-child(3){animation-delay:.24s}.error-card{padding:14px 16px;color:#ffd1d1;background:#ff76751a;border:1px solid rgba(255,118,117,.24);border-radius:var(--radius-card);line-height:1.6}.composer-card{display:grid;gap:12px;margin:0 clamp(18px,4vw,56px) 22px;padding:12px;background:#242442eb;border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}textarea{width:100%;min-height:74px;resize:none;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-control);outline:0;padding:13px 14px;font-size:15px;line-height:1.6;transition:border-color .18s ease,background-color .18s ease}textarea:focus{border-color:#a29bfe7a;background:#2e2e52b8}textarea::placeholder{color:var(--text-muted)}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.mode-switch{display:inline-grid;grid-template-columns:1fr 1fr;width:min(270px,100%);padding:3px;background:#0f0f1aa8;border:1px solid var(--border);border-radius:999px}.mode-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;color:var(--text-secondary);background:transparent;border:0;border-radius:999px;font-size:13px;font-weight:800;transition:transform .18s ease,background-color .18s ease,color .18s ease}.mode-button:hover{color:var(--text-primary);background:#ffffff0d}.mode-button.active{color:#fff;background:var(--accent);box-shadow:0 10px 24px #6c5ce747}.send-row{display:flex;align-items:center;gap:10px}.send-status{color:var(--text-secondary);font-size:13px}.send-button{display:grid;place-items:center;width:42px;height:42px;padding:0;color:#fff;background:var(--accent);border:0;border-radius:50%;box-shadow:0 12px 26px #6c5ce757;transition:transform .18s ease,background-color .18s ease,opacity .18s ease}.send-button:hover:not(:disabled){transform:scale(1.04);background:#7b6df2}.send-button:disabled{opacity:.45}.send-button svg{width:22px;height:22px;fill:currentColor}.floating-chatbot{position:fixed;right:24px;bottom:24px;z-index:90;pointer-events:none}.floating-chatbot.open{right:18px;bottom:18px}.floating-chat-launcher,.floating-chat-close{pointer-events:auto;display:grid;place-items:center;border:0;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.floating-chat-launcher{width:62px;height:62px;color:#fff;background:linear-gradient(135deg,#5f56e8,#4d9de0);border-radius:50%;box-shadow:0 22px 46px #4f58d657}.floating-chat-launcher:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 26px 54px #4f58d66b}.floating-chat-panel{pointer-events:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(400px,calc(100vw - 32px));height:min(640px,calc(100vh - 36px));overflow:hidden;color:#1f2937;background:#fffffff5;border:1px solid rgba(148,163,184,.24);border-radius:22px;box-shadow:0 28px 80px #0f172a42;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.floating-chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:linear-gradient(135deg,#5f56e81a,#4d9de014);border-bottom:1px solid rgba(148,163,184,.2)}.floating-chat-title{display:flex;align-items:center;gap:10px;min-width:0}.floating-chat-title-icon{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:#5f56e8;border-radius:12px}.floating-chat-title strong,.floating-chat-title small{display:block}.floating-chat-title strong{color:#111827;font-size:15px;line-height:1.25}.floating-chat-title small{margin-top:2px;color:#64748b;font-size:12px;line-height:1.25}.floating-chat-close{width:34px;height:34px;color:#475569;background:#ffffffb3;border:1px solid rgba(148,163,184,.22);border-radius:50%}.floating-chat-close:hover{color:#111827;background:#fff;transform:scale(1.04)}.floating-chat-conversation{display:grid;align-content:start;gap:14px;min-height:0;padding:16px;overflow-y:auto;scroll-behavior:smooth;background:radial-gradient(circle at top left,rgba(95,86,232,.08),transparent 34%),#f8fafc}.floating-chat-empty{display:grid;gap:10px;padding:18px;background:#ffffffd1;border:1px solid rgba(148,163,184,.22);border-radius:18px}.floating-chat-empty span{display:inline-flex;align-items:center;gap:6px;width:fit-content;color:#5f56e8;font-size:12px;font-weight:800}.floating-chat-empty h2{margin:0;color:#111827;font-size:20px;line-height:1.3;letter-spacing:0}.floating-chat-empty p{margin:0;color:#64748b;font-size:13px;line-height:1.65}.floating-preset-grid{display:grid;gap:8px;margin-top:4px}.floating-preset-button{min-height:40px;padding:10px 12px;color:#334155;background:#fff;border:1px solid rgba(148,163,184,.26);border-radius:12px;text-align:left;line-height:1.45;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.floating-preset-button:hover{transform:translateY(-1px);border-color:#5f56e85c;box-shadow:0 10px 22px #0f172a14}.floating-message{display:grid;gap:10px;min-width:0}.floating-message.user{justify-items:end}.floating-message.assistant{justify-items:start}.floating-chatbot .user-bubble{max-width:86%;padding:10px 12px;border-radius:14px 14px 4px;font-size:13px;line-height:1.6;box-shadow:0 12px 22px #5f56e838}.floating-chatbot .assistant-card,.floating-chatbot .trace-card,.floating-chatbot .typing-card,.floating-chatbot .error-card{width:100%;box-shadow:0 12px 28px #0f172a14}.floating-chatbot .assistant-card,.floating-chatbot .trace-card{gap:13px;padding:14px;color:#1f2937;background:#fff;border-color:#94a3b838;border-radius:16px}.floating-chatbot .answer-head{display:grid;gap:10px;padding-bottom:12px;border-bottom-color:#94a3b82e}.floating-chatbot .answer-head h2,.floating-chatbot .section-head h3,.floating-chatbot .answer-section h3,.floating-chatbot .trace-head strong,.floating-chatbot .trace-copy p{color:#111827}.floating-chatbot .answer-head p,.floating-chatbot .answer-section p,.floating-chatbot .section-head p,.floating-chatbot .action-list li,.floating-chatbot .trace-copy p span,.floating-chatbot .trace-copy small,.floating-chatbot .trace-step time{color:#475569}.floating-chatbot .answer-content{gap:12px;max-width:none}.floating-chatbot .answer-section+.answer-section{border-top-color:#94a3b82e}.floating-chatbot .mode-badge{width:fit-content;color:#2563eb;background:#2563eb14;border-color:#2563eb29}.floating-chatbot .pain-chart,.floating-chatbot .insight-block{padding:12px;background:#f8fafc;border-color:#94a3b833;border-radius:14px}.citation-toggle,.floating-trace-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;padding:0;color:#475569;background:transparent;border:0;font-size:13px;font-weight:800;text-align:left}.citation-toggle span{display:inline-flex;align-items:center;gap:7px;min-width:0}.citation-toggle svg,.floating-trace-toggle svg{flex:0 0 auto;color:#5f56e8;transition:transform .18s ease}.citation-toggle svg.open,.floating-trace-toggle svg.open{transform:rotate(180deg)}.inline-comment-list{max-height:260px;overflow-y:auto;padding-right:2px}.inline-comment-card{background:#fff;border-color:#94a3b838;border-left-color:#5f56e8}.floating-chatbot .quote-card p{color:#334155;font-size:13px;overflow-wrap:anywhere}.floating-chatbot .quote-tags span{color:#64748b;background:#f8fafc;border-color:#94a3b838}.floating-chatbot .action-list{grid-template-columns:1fr}.floating-chatbot .action-list li{background:#fff;border-color:#94a3b833}.floating-chatbot .answer-footer{justify-content:flex-start}.floating-chatbot .feedback-row{margin-right:0}.floating-chatbot .soft-button{color:#5f56e8;background:#5f56e814;border-color:#5f56e829}.floating-chatbot .composer-card{gap:10px;margin:0;padding:12px;background:#fff;border-width:1px 0 0;border-color:#94a3b833;border-radius:0;box-shadow:none}.floating-chatbot textarea{min-height:62px;color:#111827;background:#f8fafc;border-color:#94a3b847;font-size:14px}.floating-chatbot textarea:focus{border-color:#5f56e866;background:#fff}.floating-chatbot textarea::placeholder{color:#94a3b8}.floating-chatbot .composer-footer{gap:10px}.floating-chatbot .mode-switch{width:220px;background:#f1f5f9;border-color:#94a3b82e}.floating-chatbot .mode-button{min-height:30px;color:#64748b;font-size:12px}.floating-chatbot .mode-button:hover{color:#111827;background:#ffffffc2}.floating-chatbot .mode-button.active{background:#5f56e8;box-shadow:0 8px 18px #5f56e833}.floating-chatbot .send-status{color:#64748b;font-size:12px}.floating-chatbot .send-button{width:38px;height:38px;background:#5f56e8;box-shadow:0 10px 22px #5f56e83d}.floating-trace-toggle,.floating-trace-status{width:100%;padding:9px 11px;color:#475569;background:#5f56e814;border:1px solid rgba(95,86,232,.14);border-radius:12px;font-size:12px;font-weight:800}.floating-trace-status{text-align:left}.floating-chat-panel-enter-active,.floating-chat-panel-leave-active,.inline-comments-enter-active,.inline-comments-leave-active{transition:transform .18s ease,opacity .18s ease}.floating-chat-panel-enter-from,.floating-chat-panel-leave-to{opacity:0;transform:translateY(14px) scale(.98)}.inline-comments-enter-from,.inline-comments-leave-to{opacity:0;transform:translateY(-6px)}.fade-in-up{animation:fadeInUp .36s ease both}button:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}.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}@keyframes pulse{0%{box-shadow:0 0 #00cec96b}70%{box-shadow:0 0 0 9px #00cec900}to{box-shadow:0 0 #00cec900}}@keyframes typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:640px){.floating-chatbot,.floating-chatbot.open{right:10px;bottom:10px}.floating-chat-launcher{width:56px;height:56px}.floating-chat-panel{width:calc(100vw - 20px);height:min(720px,calc(100vh - 20px));border-radius:20px}.floating-chat-conversation{padding:12px}.floating-chatbot .composer-card{padding:10px}.floating-chatbot .composer-footer{align-items:stretch;flex-direction:column}.floating-chatbot .mode-switch{width:100%}.floating-chatbot .send-row{justify-content:flex-end}}@media(max-width:1120px){.assistant-card,.trace-card,.error-card{width:100%}.user-bubble{max-width:78%}}@media(max-width:767px){.conversation{padding:18px 12px}.empty-state{margin-top:4vh;padding:20px}.empty-state h2{font-size:22px}.user-bubble{max-width:88%}.answer-head,.section-head.inline{display:grid}.mode-badge,.soft-button{justify-self:start}.pain-row{grid-template-columns:minmax(0,96px) minmax(82px,1fr) 32px}.pain-label{text-align:left}.pain-percent{display:none}.pain-axis{margin-left:106px}.composer-card{margin:0 12px 12px}.composer-footer{align-items:stretch;flex-direction:column}.mode-switch{width:100%}.send-row{justify-content:space-between}}@media(max-width:420px){.assistant-card,.trace-card{padding:14px}.pain-chart,.insight-block{padding:12px}}body:has(.content-workbench-shell){--cw-primary: #6366f1;--cw-primary-dark: #4f46e5;--cw-primary-soft: #eef2ff;--cw-text: #111827;--cw-text-secondary: #4b5563;--cw-muted: #9ca3af;--cw-border: #e5e7eb;--cw-border-soft: #f1f5f9;--cw-bg: #f8fafc;--cw-card: #ffffff;--cw-success: #16a34a;--cw-warning: #f59e0b;--cw-danger: #dc2626;--cw-sidebar: #111827;overflow-x:hidden;background:#f8fafc}.content-workbench-shell{--cw-primary: #6366f1;--cw-primary-dark: #4f46e5;--cw-primary-soft: #eef2ff;--cw-text: #111827;--cw-text-secondary: #4b5563;--cw-muted: #9ca3af;--cw-border: #e5e7eb;--cw-border-soft: #f1f5f9;--cw-bg: #f8fafc;--cw-card: #ffffff;--cw-success: #16a34a;--cw-warning: #f59e0b;--cw-danger: #dc2626;--cw-sidebar: #111827;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;color:var(--cw-text);background:var(--cw-bg);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif}.workbench-sidebar{position:sticky;top:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:18px;height:100vh;padding:22px 16px;color:#fff;background:var(--cw-sidebar);border-right:1px solid rgba(255,255,255,.08)}.workbench-brand,.workbench-menu-item{color:inherit;text-decoration:none}.workbench-brand{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}.workbench-brand-mark{display:grid;place-items:center;width:38px;height:38px;background:linear-gradient(135deg,#38bdf8,var(--cw-primary));border-radius:12px;box-shadow:0 16px 34px #6366f147}.workbench-brand strong,.workbench-brand small,.workbench-project-card span,.workbench-project-card strong,.workbench-project-card small{display:block}.workbench-brand strong{font-size:16px;line-height:1.2}.workbench-brand small,.workbench-project-card span,.workbench-project-card small{color:#ffffff94;font-size:12px}.workbench-project-card{display:grid;gap:6px;padding:14px;background:#6366f129;border:1px solid rgba(199,210,254,.14);border-radius:12px}.workbench-project-card strong{color:#fff;font-size:14px}.workbench-menu{display:grid;align-content:start;gap:8px}.workbench-menu-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;color:#ffffffb8;background:transparent;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:700;text-align:left;transition:background-color .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}.workbench-menu-item:hover,.workbench-menu-item.active{color:#fff;background:#6366f13d;border-color:#c7d2fe2e}.workbench-menu-item:hover{transform:translate(2px)}@media(max-width:980px){.content-workbench-shell{grid-template-columns:1fr}.workbench-sidebar{position:sticky;z-index:40;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;height:auto;padding:12px}.workbench-brand{padding-bottom:0;border-bottom:0}.workbench-project-card{display:none}.workbench-menu{grid-column:1 / -1;display:flex;overflow-x:auto}.workbench-menu-item{grid-template-columns:auto auto;width:auto;white-space:nowrap}}@media(max-width:640px){.workbench-brand small{display:none}}@media print{.content-workbench-shell{display:block;background:#fff!important}.workbench-sidebar{display:none!important}}
