:root{--background:#fff;--text:#111827;--muted:#667085;--subtle:#f6f8fa;--surface:#fff;--line:#d9e0e7;--line-strong:#b8c2cc;--accent:#0f766e;--accent-strong:#0b5f59;--accent-soft:#e7f6f3;--warning:#9a3412;--warning-soft:#fff7ed;--danger:#b42318;--shadow:0 18px 50px rgba(15,23,42,.08);--radius:8px}*{box-sizing:border-box}body,html{background:var(--background)}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;letter-spacing:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.topbar{height:64px;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.96);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;min-width:0}.brand-mark{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;color:var(--accent);background:var(--accent-soft)}.brand h1{margin:0;font-size:17px;line-height:1.2;font-weight:700}.brand p{margin:2px 0 0;line-height:1.3}.brand p,.status-row{color:var(--muted);font-size:12px}.status-row{display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.workspace{display:grid;grid-template-columns:minmax(300px,390px) minmax(460px,1fr) minmax(280px,360px);grid-gap:18px;gap:18px;padding:18px;min-height:calc(100vh - 64px);background:linear-gradient(#f8fafc 1px,transparent 0),linear-gradient(90deg,#f8fafc 1px,transparent 0);background-size:28px 28px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-header{min-height:52px;padding:14px 16px;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.panel-header,.panel-title{display:flex;align-items:center}.panel-title{gap:9px;min-width:0}.panel-title h2{margin:0;font-size:14px;line-height:1.25;font-weight:700}.panel-title svg{color:var(--accent);flex:none}.panel-body{padding:16px}.left-panel{display:grid;grid-template-rows:auto 1fr;min-height:0}.form-stack{gap:14px}.field,.form-stack{display:flex;flex-direction:column}.field{gap:7px}.field label{color:#344054;font-size:12px;line-height:1.2;font-weight:700}.upload-box{min-height:46px;border:1px dashed var(--line-strong);border-radius:var(--radius);display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--subtle);color:#344054;cursor:pointer}.upload-box:hover{border-color:var(--accent);background:var(--accent-soft)}.upload-box svg{color:var(--accent);flex:none}.upload-box span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.upload-box input{display:none}.question-input,.text-area{width:100%;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);background:#fff;outline:none;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.text-area{min-height:230px;padding:12px;line-height:1.55;font-size:13px}.question-input{min-height:92px;padding:12px;line-height:1.45;font-size:14px}.question-input:focus,.text-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,118,110,.12)}.parsed-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--subtle);max-height:172px;overflow:auto}.parsed-row{padding:9px 10px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px 1fr;grid-gap:8px;gap:8px;font-size:12px;line-height:1.4}.parsed-row:last-child{border-bottom:0}.speaker{font-weight:700;color:var(--accent-strong)}.empty-note{color:var(--muted);font-size:13px;line-height:1.55}.actions{display:flex;gap:10px;flex-wrap:wrap}.feedback-button,.ghost-button,.primary-button,.secondary-button{border-radius:var(--radius);border:1px solid var(--line);min-height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;line-height:1;font-weight:700;background:#fff;color:var(--text)}.primary-button{background:var(--accent);color:#fff;border-color:var(--accent)}.primary-button:hover{background:var(--accent-strong)}.feedback-button:hover,.ghost-button:hover,.secondary-button:hover{border-color:var(--line-strong);background:var(--subtle)}.ghost-button{min-height:34px;padding:0 11px;color:#344054}.main-panel{display:grid;grid-template-rows:auto 1fr;min-height:0}.answer-scroll,.source-scroll{overflow:auto;max-height:calc(100vh - 154px)}.answer-card{display:flex;flex-direction:column;gap:14px}.answer-meta{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 9px;border-radius:999px;background:var(--subtle);color:#344054;font-size:12px;font-weight:700}.answer-section,.chip{border:1px solid var(--line)}.answer-section{border-radius:var(--radius);padding:13px 14px;background:#fff}.answer-section h3{margin:0 0 8px;font-size:13px;line-height:1.2;font-weight:800;color:#1f2937}.answer-section li,.answer-section p{color:#263241;font-size:14px;line-height:1.68}.answer-section p{margin:0;white-space:pre-wrap}.reply-list{display:grid;grid-gap:10px;gap:10px}.reply-copy{display:grid;grid-template-columns:1fr auto;grid-gap:10px;align-items:flex-start;padding:10px;background:var(--subtle)}.reply-copy,.rewrite-bar{gap:10px;border:1px solid var(--line);border-radius:var(--radius)}.rewrite-bar{padding:12px;background:var(--accent-soft)}.feedback-row,.rewrite-bar{display:flex;flex-wrap:wrap}.feedback-row{align-items:center;gap:10px;padding-top:2px}.feedback-row span{color:var(--muted);font-size:12px;font-weight:700}.source-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff;display:grid;grid-gap:8px;gap:8px}.source-card+.source-card{margin-top:10px}.source-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.source-title h3{margin:0;font-size:13px;line-height:1.35;font-weight:800}.source-title span{color:var(--accent);font-size:12px;font-weight:800;white-space:nowrap}.source-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.source-foot{color:#475467;font-size:11px;line-height:1.4;word-break:break-all}.error-box,.warning-box{border-radius:var(--radius);padding:11px 12px;font-size:13px;line-height:1.45}.error-box{border:1px solid #fecaca;color:var(--danger);background:#fff5f5}.warning-box{border:1px solid #fed7aa;color:var(--warning);background:var(--warning-soft)}.loading-state{min-height:360px;display:grid;place-items:center;color:var(--muted);font-size:14px}.spinner{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:999px;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.workspace{grid-template-columns:minmax(300px,370px) minmax(420px,1fr)}.sources-panel{grid-column:1/-1}.source-scroll{max-height:420px}}@media (max-width:820px){.topbar{height:auto;min-height:64px;align-items:flex-start;padding:14px 16px;gap:12px;flex-direction:column}.workspace{grid-template-columns:1fr;padding:12px}.answer-scroll,.source-scroll{max-height:none}.reply-copy{grid-template-columns:1fr}}