:root{--bg:#f6f7f9;--panel:#fff;--border:#e3e6ea;--text:#1f2328;--muted:#6b7280;--primary:#4a6cf7;--primary-soft:#e9edff;--p0:#d83a3a;--p1:#d49b1e;--p2:#4b8edb;--success:#2c8a4f;--radius:8px;--shadow:0 1px 2px #0f172a0f}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}.workspace{max-width:1440px;margin:0 auto;padding:16px}.workspace-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.workspace-header h1{margin:0;font-size:22px}.workspace-header p{color:var(--muted);margin:0}.header-secondary{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:8px 12px}.header-secondary:hover{border-color:var(--primary);color:var(--primary)}.workspace-error{color:var(--p0);border-radius:var(--radius);background:#fde9e9;border:1px solid #f0b4b4;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex}.workspace-error button{cursor:pointer;color:var(--p0);background:0 0;border:none;font-size:18px}.workspace-start{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.session-list-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.session-list-header h2,.workspace-start h2{margin:0 0 6px;font-size:16px}.session-list-header p,.workspace-start p{color:var(--muted);margin:0}.session-list-header button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:8px 12px}.session-list{gap:8px;margin:16px 0 24px;display:grid}.session-list-item{text-align:left;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fafbfc;gap:4px;width:100%;padding:12px;display:grid}.session-list-item:hover{border-color:var(--primary);background:var(--primary-soft)}.session-list-item:disabled{opacity:.6;cursor:wait}.session-list-title{color:var(--text);font-weight:600}.session-list-summary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.session-list-meta,.session-list-empty{color:var(--muted);font-size:12px}.start-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.start-actions button{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);cursor:pointer;padding:10px 18px;font-size:14px}.start-actions button:hover{border-color:var(--primary);color:var(--primary)}.start-actions .start-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.workspace-grid{grid-template:"chat doc""chat summary""chat issues"/minmax(0,1.35fr) minmax(360px,.85fr);align-items:start;gap:16px;display:grid}.grid-col-chat{grid-area:chat}.grid-col-doc{grid-area:doc}.grid-col-summary{grid-area:summary}.grid-col-issues{grid-area:issues}@media (width<=1024px){.workspace-grid{grid-template-columns:1fr;grid-template-areas:"chat""doc""summary""issues"}}.chat-panel,.summary-panel,.issues-panel,.markdown-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:16px;display:flex}.collapsible-panel{padding:0;display:block;overflow:hidden}.collapsible-panel>summary{cursor:pointer;padding:14px 16px;list-style:none}.collapsible-panel>summary::-webkit-details-marker{display:none}.collapsible-panel>summary:after{content:"展开";color:var(--muted);font-size:12px}.collapsible-panel[open]>summary:after{content:"收起"}.collapsible-body{border-top:1px solid var(--border);padding:0 16px 16px}.panel-subtitle{color:var(--muted);margin-top:4px;margin-bottom:8px;font-size:12px}.chat-header h2,.summary-panel h2,.issues-panel h2,.markdown-panel h2{margin:0 0 4px;font-size:16px}.panel-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-heading span{color:var(--muted);font-size:12px}.chat-subtitle{color:var(--muted);margin:0 0 12px;font-size:12px}.chat-messages-empty{color:var(--muted);text-align:center;padding:24px 0;font-size:13px}.empty-hint p{margin:4px 0}.chat-messages{border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;flex-direction:column;flex:1;gap:8px;min-height:240px;max-height:460px;padding:12px;display:flex;overflow-y:auto}.chat-bubble{border-radius:12px;max-width:85%;padding:8px 12px;font-size:13px}.chat-bubble.user{background:var(--primary);color:#fff;align-self:flex-end}.chat-bubble.assistant{color:var(--text);background:#eef0f4;align-self:flex-start}.chat-bubble-role{opacity:.7;margin-bottom:2px;font-size:11px}.chat-loading{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.spinner{border:2px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.chat-input{gap:8px;margin-top:12px;display:flex}.chat-input textarea{border:1px solid var(--border);border-radius:var(--radius);resize:vertical;flex:1;padding:8px;font-family:inherit;font-size:13px}.chat-input button{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:0 16px}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.readiness-bar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:12px 16px}.summary-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.summary-section h3{margin:0 0 8px;font-size:13px}.summary-section p{color:var(--text);margin:6px 0;font-size:13px}.summary-list{gap:8px;margin:0;display:grid}.summary-list div{gap:2px;display:grid}.summary-list dt{color:var(--muted);font-size:11px}.summary-list dd{margin:0;font-size:13px}.summary-steps{margin:0;padding-left:20px;font-size:13px}.summary-tags{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.summary-tags li{border:1px solid var(--border);background:#fafbfc;border-radius:6px;padding:6px 8px;font-size:12px}.readiness-row{align-items:baseline;gap:12px;display:flex}.readiness-title{margin-bottom:6px;font-size:13px;font-weight:700}.readiness-label{color:var(--muted);font-size:12px}.readiness-score{font-size:26px;font-weight:700}.readiness-state{color:var(--muted);font-size:12px}.readiness-track{background:#eef0f4;border-radius:3px;height:6px;margin:8px 0;overflow:hidden}.readiness-fill{height:100%;transition:width .4s}.readiness-description{color:var(--muted);margin:0 0 8px;font-size:12px;line-height:1.5}.readiness-meta{color:var(--muted);gap:16px;font-size:12px;display:flex}.issues-section{margin-bottom:12px}.issues-section h3{align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.issues-p0 h3{color:var(--p0)}.issues-p1 h3{color:var(--p1)}.issues-p2 h3{color:var(--p2)}.issue-count{background:#eef0f4;border-radius:12px;padding:0 8px;font-size:11px}.issues-section ul{margin:0;padding:0;list-style:none}.issues-section li{background:#fafbfc;border-left:3px solid;border-radius:0 6px 6px 0;margin-bottom:6px;padding:6px 10px;font-size:12px}.issue-field{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.issue-reason{margin-top:2px}.issue-impact{color:var(--muted);margin-top:2px;font-size:11px}.reasoning-section,.next-question{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.next-question p{margin:4px 0;font-size:13px}.next-meta{color:var(--muted);font-size:11px}.markdown-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.markdown-actions{gap:6px;display:flex}.markdown-actions button{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);cursor:pointer;padding:4px 10px;font-size:12px}.markdown-actions button:disabled{opacity:.5;cursor:not-allowed}.markdown-actions .markdown-generate{min-width:148px;color:var(--muted);border-color:var(--border);background:#f6f7f9}.markdown-actions .markdown-generate-active{background:var(--primary);color:#fff;border-color:var(--primary)}.markdown-blocked{border-radius:var(--radius);background:#fff5e0;border:1px solid #f0d399;margin-bottom:8px;padding:8px 12px;font-size:12px}.markdown-blocked strong{margin-right:6px}.markdown-body{border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;max-height:480px;padding:12px;font-size:12px;overflow:auto}.markdown-placeholder{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);padding:24px;font-size:13px}.empty-hint{color:var(--muted);margin:4px 0;font-size:12px}
