新对话
准备就绪
上下文 · 待统计
开始对话后显示真实用量。
今天,想弄清楚什么?
说说目标,可联网查找公开资料,也可添加文件。
工具与子 Agent 活动
从你的问题开始
这次,想弄清楚什么?
告诉 BriefLoop 研究目标。可以主动查找公开资料,也可以结合你添加的材料写成简报。
研究 · 判断 · 修订
你的下一份简报
研究预算
把材料变成可判断的简报
先告诉 BriefLoop 你关心什么,可联网研究或添加来源。
生成后可以直接改稿,每次修订都能成为下一轮的经验。
研究 · 判断 · 修订
你的下一份简报
研究预算
把材料变成可判断的简报
先告诉 BriefLoop 你关心什么,可联网研究或添加来源。
生成后可以直接改稿,每次修订都能成为下一轮的经验。
把修订变成方法
经验留在这里
Wiki 记录观察与适用条件;验证后启用的技能影响后续简报。
BRIEFLOOP · 设置
模型与工作设置
配置执行引擎、模型与工作习惯。
diff --git a/src/briefloop/static/style.css b/src/briefloop/static/style.css
index 7f14b18c..31afbdf1 100644
--- a/src/briefloop/static/style.css
+++ b/src/briefloop/static/style.css
@@ -1,5 +1,5 @@
/* Paper/green palette adapted from BriefLoop's MIT licensed original UI. */
-:root{--paper:#faf9f6;--ink:#1e2320;--muted:#6a706b;--line:#dedfd8;--green:#006838;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;--serif:"Songti SC",Georgia,serif;--green-hover:#145238;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--radius:9px;--shadow-sm:0 1px 2px rgba(30,35,32,.06);--shadow:0 1px 2px rgba(30,35,32,.05),0 12px 32px rgba(30,35,32,.07)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--font)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;border-radius:6px;padding:7px 12px}button:hover{background:#edf0e9}a{color:var(--green)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--green);outline-offset:3px}input,select,textarea{border:1px solid var(--line);border-radius:6px;background:white;padding:10px 12px;width:100%;color:var(--ink)}textarea{resize:vertical}h1,h2,p{margin-top:0}h1{font:600 34px/1.3 var(--serif);margin-bottom:12px}h2{font:650 17px/1.35 var(--serif);margin-bottom:12px}.muted,.help{color:var(--muted)}.help{font-size:13px}.eyebrow{font:500 11px/1.4 var(--mono);letter-spacing:.08em;color:var(--green);margin-bottom:12px}header{min-height:72px;display:flex;align-items:center;gap:18px;padding:0 4vw;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:inline-flex;align-items:center;gap:9px;font:650 20px/1.2 var(--serif);text-decoration:none;color:var(--green)}.brand svg{width:20px;height:20px;flex:none}.mark svg{width:46px;height:46px;display:block;margin:0 auto}header>.muted,header small{font-size:12px}nav{display:flex;margin-left:auto;gap:8px}nav button{height:72px;border-radius:0;border-bottom:2px solid transparent;padding:0 16px}nav button.active{border-color:var(--green);color:var(--green)}main{max-width:1380px;margin:auto;padding:36px 48px 64px}.heading{margin:18px 0 32px}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:26px}form>label{display:block;margin-bottom:20px}label{font-size:14px;font-weight:550}label input,label textarea,label select{margin-top:7px;font-weight:400}.row{display:flex;gap:18px;margin-bottom:20px}.row>label{flex:1}.row>button{white-space:nowrap}.check{display:flex!important;align-items:center;gap:9px;font-weight:400;margin:16px 0}.check input{width:16px;height:16px;margin:0;accent-color:var(--green)}.primary{background:var(--green);color:white;padding:12px 20px;font-weight:550}.primary:hover{background:#064c2c}.outline{background:white;border:1px solid var(--line)}.wide{width:100%;margin-top:12px}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.section-title h2{margin:0}.section-title>button{font-size:12px;color:var(--green)}.upload{display:flex;justify-content:center;align-items:center;padding:25px;background:var(--paper);border:1px dashed #a7b8a8;border-radius:7px;cursor:pointer;color:var(--green);margin:20px 0 10px}.upload input{display:none}.source-item{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.source-item input{width:16px;flex:none;accent-color:var(--green)}.source-item button{text-align:left;padding:0;overflow-wrap:anywhere}.tag{font-family:var(--mono);font-size:11px;color:var(--green);white-space:nowrap}.error{color:#a5472e}.report-heading{display:flex;justify-content:space-between;align-items:center;margin:8px 0 24px}.report-heading h1{font-size:30px;margin:0}.empty{text-align:center;padding:70px 20px 85px;background:white;border:1px solid var(--line);border-radius:9px}.mark{display:block;font-size:48px;color:var(--green);margin-bottom:16px}.empty h2{font:650 clamp(26px,2.4vw,34px)/1.25 var(--serif);letter-spacing:-.01em}.empty p{margin:18px 0 28px}.document-controls{display:flex;align-items:center;gap:18px;margin-bottom:16px;font-family:var(--mono);font-size:12.5px}.document-controls label{display:flex;align-items:center;gap:9px;white-space:nowrap}.document-controls select{width:210px;padding:5px;margin:0}#save-state{font-family:var(--mono);color:var(--muted);margin-right:auto}.report-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.paper{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-height:650px}.toolbar{border-bottom:1px solid var(--line);padding:7px 18px;display:flex;gap:4px;background:#fdfdfa}.toolbar button{font-size:13px}.tiptap{padding:38px 44px;min-height:520px;font-size:16px;line-height:1.9;outline:none}.tiptap h1{font-size:29px}.tiptap h2{font:600 23px var(--serif);margin:30px 0 16px}.tiptap h3{font-size:18px}.tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:20px 0;font-size:14px}.tiptap td,.tiptap th{border:1px solid var(--line);padding:9px;position:relative;vertical-align:top}.tiptap th{background:var(--paper)}.tiptap blockquote{margin-left:0;padding-left:20px;border-left:3px solid var(--green);color:var(--muted)}.tiptap .selectedCell:after{background:#00683815;content:"";position:absolute;inset:0;pointer-events:none}#markdown-source{min-height:580px;border:0;border-radius:0;padding:30px;font:14px/1.8 ui-monospace,monospace}#citations{padding:15px 25px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}#citations button{color:var(--green);font-size:12px}.rail{display:grid;gap:20px}.rail .panel{padding:21px}.rail h2{font-size:16px}.grades{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.grade{padding:12px;background:var(--paper);border-radius:6px}.grade span{display:block;font-size:12px;color:var(--muted)}.grade strong{font-size:23px;font-weight:550}.grade small{font-size:12px;color:var(--muted)}.judgment{color:var(--green);font-size:13px}.finding{border-top:1px solid var(--line);padding:11px 0;font-size:13px}.delivery-checks{font-size:12px;color:var(--muted);margin-bottom:12px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.delivery-checks strong{color:var(--ink);font-weight:550}.finding summary{cursor:pointer}.finding p{margin:9px 0;color:var(--muted)}.finding blockquote{margin:9px 0;padding:8px 12px;background:var(--paper)}.learning-control{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin:20px 0 10px;gap:10px}.learning-control label{font-size:13px}.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px}.stepper button{padding:5px 9px}.stepper input{width:38px;border:0;text-align:center;padding:5px 0;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.job{border-top:1px solid var(--line);padding:12px 3px;display:flex;gap:14px;align-items:center;font-size:13px}.job-main{flex:1}.job small{display:block;color:var(--muted)}.job button{font-size:12px;border:1px solid var(--line)}#jobs{margin-top:24px}#notice{position:fixed;top:83px;left:50%;transform:translateX(-50%);max-width:80vw;padding:10px 20px;border:1px solid #bacbbd;background:#f0f8f1;border-radius:8px;z-index:100;box-shadow:0 4px 20px #0001}#notice.error{background:#fff2eb;border-color:#deb7a7}dialog{border:1px solid var(--line);border-radius:10px;width:min(860px,90vw);padding:28px;max-height:85vh}dialog::backdrop{background:#172a2066}dialog pre{font:14px/1.85 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh;overflow:auto}footer{text-align:center;color:var(--muted);font-size:12px;padding:0 20px 25px}.skill{padding:14px 0;border-top:1px solid var(--line)}.skill p{font-size:13px;color:var(--muted)}#wiki{min-height:250px;overflow-wrap:anywhere}#wiki h1{font-size:25px}#wiki pre{white-space:pre-wrap}@media(max-width:1050px){main{padding:25px}.report-grid{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.tiptap{padding:25px}header>.muted{display:none}}@media(max-width:780px){header{padding:0 16px;gap:8px;flex-wrap:wrap}nav{order:3;width:100%;margin:0;justify-content:center}nav button{height:45px;padding:0 12px}.brand{margin-top:9px}#connection{margin-left:auto}main{padding:22px 16px}.columns,.report-grid{grid-template-columns:1fr}.row{flex-direction:column;gap:16px}.report-heading h1{font-size:25px}.document-controls{flex-wrap:wrap;gap:10px}.document-controls select{width:170px}.tiptap{padding:25px 22px}.panel{padding:20px}.empty{padding:45px 15px}}
+:root{--paper:#faf9f6;--ink:#1e2320;--muted:#6a706b;--line:#dedfd8;--green:#006838;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;--serif:"Songti SC",Georgia,serif;--green-hover:#145238;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--radius:9px;--shadow-sm:0 1px 2px rgba(30,35,32,.06);--shadow:0 1px 2px rgba(30,35,32,.05),0 12px 32px rgba(30,35,32,.07)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--font)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;border-radius:6px;padding:7px 12px}button:hover{background:#edf0e9}a{color:var(--green)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--green);outline-offset:3px}input,select,textarea{border:1px solid var(--line);border-radius:6px;background:white;padding:10px 12px;width:100%;color:var(--ink)}textarea{resize:vertical}h1,h2,p{margin-top:0}h1{font:640 34px/1.2 var(--font);letter-spacing:-.03em;margin-bottom:12px}h2{font:640 17px/1.3 var(--font);letter-spacing:-.02em;margin-bottom:12px}.muted,.help{color:var(--muted)}.help{font-size:13px}.eyebrow{font:500 11px/1.4 var(--mono);letter-spacing:.08em;color:var(--green);margin-bottom:12px}header{min-height:72px;display:flex;align-items:center;gap:18px;padding:0 4vw;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:inline-flex;align-items:center;gap:9px;font:700 18px/1.2 var(--font);letter-spacing:-.02em;text-decoration:none;color:var(--green)}.brand svg{width:24px;height:24px;flex:none}.mark svg{width:46px;height:46px;display:block;margin:0 auto}header>.muted,header small{font-size:12px}nav{display:flex;margin-left:auto;gap:8px}nav button{height:72px;border-radius:0;border-bottom:2px solid transparent;padding:0 16px}nav button.active{border-color:var(--green);color:var(--green)}main{max-width:1380px;margin:auto;padding:36px 48px 64px}.heading{margin:18px 0 32px}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:26px}form>label{display:block;margin-bottom:20px}label{font-size:14px;font-weight:550}label input,label textarea,label select{margin-top:7px;font-weight:400}.row{display:flex;gap:18px;margin-bottom:20px}.row>label{flex:1}.row>button{white-space:nowrap}.check{display:flex!important;align-items:center;gap:9px;font-weight:400;margin:16px 0}.check input{width:16px;height:16px;margin:0;accent-color:var(--green)}.primary{background:var(--green);color:white;padding:12px 20px;font-weight:550}.primary:hover{background:#064c2c}.outline{background:white;border:1px solid var(--line)}.wide{width:100%;margin-top:12px}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.section-title h2{margin:0}.section-title>button{font-size:12px;color:var(--green)}.upload{display:flex;justify-content:center;align-items:center;padding:25px;background:var(--paper);border:1px dashed #a7b8a8;border-radius:7px;cursor:pointer;color:var(--green);margin:20px 0 10px}.upload input{display:none}.source-item{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.source-item input{width:16px;flex:none;accent-color:var(--green)}.source-item button{text-align:left;padding:0;overflow-wrap:anywhere}.tag{font-family:var(--mono);font-size:11px;color:var(--green);white-space:nowrap}.error{color:#a5472e}.report-heading{display:flex;justify-content:space-between;align-items:center;margin:8px 0 24px}.report-heading h1{font-size:30px;margin:0}.empty{text-align:center;padding:70px 20px 85px;background:white;border:1px solid var(--line);border-radius:9px}.mark{display:block;font-size:48px;color:var(--green);margin-bottom:16px}.empty h2{font:640 clamp(26px,3.4vw,38px)/1.15 var(--font);letter-spacing:-.02em}.empty p{margin:18px 0 28px}.document-controls{display:flex;align-items:center;gap:18px;margin-bottom:16px;font-family:var(--mono);font-size:12.5px}.document-controls label{display:flex;align-items:center;gap:9px;white-space:nowrap}.document-controls select{width:210px;padding:5px;margin:0}#save-state{font-family:var(--mono);color:var(--muted);margin-right:auto}.report-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.paper{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-height:650px}.toolbar{border-bottom:1px solid var(--line);padding:7px 18px;display:flex;gap:4px;background:#fdfdfa}.toolbar button{font-size:13px}.tiptap{padding:38px 44px;min-height:520px;font-size:16px;line-height:1.9;outline:none}.tiptap h1{font-size:29px}.tiptap h2{font:640 23px/1.3 var(--font);letter-spacing:-.02em;margin:30px 0 16px}.tiptap h3{font-size:18px}.tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:20px 0;font-size:14px}.tiptap td,.tiptap th{border:1px solid var(--line);padding:9px;position:relative;vertical-align:top}.tiptap th{background:var(--paper)}.tiptap blockquote{margin-left:0;padding-left:20px;border-left:3px solid var(--green);color:var(--muted)}.tiptap .selectedCell:after{background:#00683815;content:"";position:absolute;inset:0;pointer-events:none}#markdown-source{min-height:580px;border:0;border-radius:0;padding:30px;font:14px/1.8 var(--mono)}#citations{padding:15px 25px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}#citations button{color:var(--green);font-size:12px}.rail{display:grid;gap:20px}.rail .panel{padding:21px}.rail h2{font-size:16px}.grades{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.grade{padding:12px;background:var(--paper);border-radius:6px}.grade span{display:block;font-size:12px;color:var(--muted)}.grade strong{font-size:23px;font-weight:550}.grade small{font-size:12px;color:var(--muted)}.judgment{color:var(--green);font-size:13px}.finding{border-top:1px solid var(--line);padding:11px 0;font-size:13px}.delivery-checks{font-size:12px;color:var(--muted);margin-bottom:12px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.delivery-checks strong{color:var(--ink);font-weight:550}.finding summary{cursor:pointer}.finding p{margin:9px 0;color:var(--muted)}.finding blockquote{margin:9px 0;padding:8px 12px;background:var(--paper)}.learning-control{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin:20px 0 10px;gap:10px}.learning-control label{font-size:13px}.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px}.stepper button{padding:5px 9px}.stepper input{width:38px;border:0;text-align:center;padding:5px 0;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.job{border-top:1px solid var(--line);padding:12px 3px;display:flex;gap:14px;align-items:center;font-size:13px}.job-main{flex:1}.job small{display:block;color:var(--muted)}.job button{font-size:12px;border:1px solid var(--line)}#jobs{margin-top:24px}#notice{position:fixed;top:83px;left:50%;transform:translateX(-50%);max-width:80vw;padding:10px 20px;border:1px solid #bacbbd;background:#f0f8f1;border-radius:8px;z-index:100;box-shadow:0 4px 20px #0001}#notice.error{background:#fff2eb;border-color:#deb7a7}dialog{border:1px solid var(--line);border-radius:10px;width:min(860px,90vw);padding:28px;max-height:85vh}dialog::backdrop{background:#172a2066}dialog pre{font:14px/1.85 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh;overflow:auto}footer{text-align:center;color:var(--muted);font-size:12px;padding:0 20px 25px}.skill{padding:14px 0;border-top:1px solid var(--line)}.skill p{font-size:13px;color:var(--muted)}#wiki{min-height:250px;overflow-wrap:anywhere}#wiki h1{font-size:25px}#wiki pre{white-space:pre-wrap}@media(max-width:1050px){main{padding:25px}.report-grid{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.tiptap{padding:25px}header>.muted{display:none}}@media(max-width:780px){header{padding:0 16px;gap:8px;flex-wrap:wrap}nav{order:3;width:100%;margin:0;justify-content:center}nav button{height:45px;padding:0 12px}.brand{margin-top:9px}#connection{margin-left:auto}main{padding:22px 16px}.columns,.report-grid{grid-template-columns:1fr}.row{flex-direction:column;gap:16px}.report-heading h1{font-size:25px}.document-controls{flex-wrap:wrap;gap:10px}.document-controls select{width:170px}.tiptap{padding:25px 22px}.panel{padding:20px}.empty{padding:45px 15px}}
.run-progress{margin-bottom:24px;border-left:4px solid var(--green)}.run-progress .eyebrow{margin-bottom:7px}.run-progress h2{font-size:21px}.progress-message{white-space:pre-wrap;font-size:14px}.agent-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0}.agent-progress>div{padding:14px;background:var(--paper);border-radius:6px}.agent-progress strong{font-size:14px}.agent-progress span{float:right;color:var(--green);font-size:12px}.agent-progress p{font-size:12px;color:var(--muted);margin:8px 0 0}
@@ -14,8 +14,8 @@
.new-session{background:white;border:1px solid var(--line);text-align:left;padding:11px 14px;color:var(--green);font-weight:600;margin-bottom:24px}
#session-list{overflow:auto;min-height:0;flex:1}.sidebar-empty{padding:12px;color:var(--muted);font-size:13px}
.session-item{display:block;width:100%;text-align:left;padding:12px;margin-bottom:5px;border:1px solid transparent}.session-item.active{background:white;border-color:var(--line)}.session-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550}.session-meta{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:5px}.session-meta time{margin-left:auto}.session-dot,.local-dot{width:6px;height:6px;display:inline-block;background:#afb4ac;border-radius:50%}.session-dot.running,.local-dot{background:var(--green)}.sidebar-bottom{display:flex;align-items:center;gap:8px;padding:20px 12px 0;color:var(--muted);font-size:11px}
-.workspace-shell>main{width:100%;max-width:none;padding:28px 32px 56px;min-width:0}.workspace-shell>main:has(>.chat-page:not([hidden])){padding:0 36px 20px}.chat-page{max-width:1040px;margin:auto;height:calc(100dvh - 94px);display:flex;flex-direction:column;min-height:500px}.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 17px;border-bottom:1px solid var(--line);flex:none}.chat-heading h1{font:600 18px/1.4 var(--font);margin:0 0 4px;overflow-wrap:anywhere}.chat-heading p{font-size:12px;margin:0}.chat-heading button{font-size:12px;white-space:nowrap}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:30px 12px 24px;scrollbar-gutter:stable}.chat-empty{max-width:660px;margin:8vh auto 24px;text-align:left}.chat-empty .mark{font-size:38px;margin-bottom:20px}.chat-empty h2{font:600 30px/1.35 var(--serif);margin-bottom:16px}.chat-empty p{font-size:14px;color:var(--muted);line-height:1.9}.starter-prompts{display:flex;gap:12px;margin-top:30px}.starter-prompts button{flex:1;padding:15px;text-align:left;border:1px solid var(--line);background:white;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:20px}.starter-prompts span{color:var(--green)}
-.chat-message{max-width:850px;margin:0 auto 28px;padding:0 3px}.chat-message.from-user{background:#eeefe8;border-radius:var(--chat-radius);padding:17px 20px;margin-left:auto;margin-right:0;max-width:85%}.message-heading{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:9px}.message-heading strong{font-size:12px;color:var(--green)}.from-user .message-heading strong{color:var(--ink)}.message-state{margin-left:auto}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85}.message-body.rendered-markdown{white-space:normal}.message-body p:last-child{margin-bottom:0}.message-body h1{font:600 24px/1.4 var(--serif)}.message-body h2{font-size:19px;margin-top:24px}.message-body h3{font-size:16px}.message-body pre{overflow:auto;white-space:pre;padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--chat-soft);font:12px/1.7 ui-monospace,monospace}.message-body code{font-size:.9em}.message-body table{border-collapse:collapse;width:100%;font-size:13px;display:block;overflow:auto}.message-body th,.message-body td{border:1px solid var(--line);padding:8px 12px;text-align:left}.message-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.message-files span{font-size:11px;padding:3px 8px;background:white;border:1px solid var(--line);border-radius:5px}.message-error .message-state{color:var(--chat-error)}
+.workspace-shell>main{width:100%;max-width:none;padding:28px 32px 56px;min-width:0}.workspace-shell>main:has(>.chat-page:not([hidden])){padding:0 36px 20px}.chat-page{max-width:1040px;margin:auto;height:calc(100dvh - 94px);display:flex;flex-direction:column;min-height:500px}.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 17px;border-bottom:1px solid var(--line);flex:none}.chat-heading h1{font:600 18px/1.4 var(--font);margin:0 0 4px;overflow-wrap:anywhere}.chat-heading p{font-size:12px;margin:0}.chat-heading button{font-size:12px;white-space:nowrap}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:30px 12px 24px;scrollbar-gutter:stable}.chat-empty{max-width:660px;margin:8vh auto 24px;text-align:left}.chat-empty .mark{font-size:38px;margin-bottom:20px}.chat-empty h2{font:640 30px/1.2 var(--font);letter-spacing:-.02em;margin-bottom:16px}.chat-empty p{font-size:14px;color:var(--muted);line-height:1.9}.starter-prompts{display:flex;gap:12px;margin-top:30px}.starter-prompts button{flex:1;padding:15px;text-align:left;border:1px solid var(--line);background:white;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:20px}.starter-prompts span{color:var(--green)}
+.chat-message{max-width:850px;margin:0 auto 28px;padding:0 3px}.chat-message.from-user{background:#eeefe8;border-radius:var(--chat-radius);padding:17px 20px;margin-left:auto;margin-right:0;max-width:85%}.message-heading{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:9px}.message-heading strong{font-size:12px;color:var(--green)}.from-user .message-heading strong{color:var(--ink)}.message-state{margin-left:auto}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85}.message-body.rendered-markdown{white-space:normal}.message-body p:last-child{margin-bottom:0}.message-body h1{font:640 24px/1.3 var(--font);letter-spacing:-.02em}.message-body h2{font-size:19px;margin-top:24px}.message-body h3{font-size:16px}.message-body pre{overflow:auto;white-space:pre;padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--chat-soft);font:12px/1.7 ui-monospace,monospace}.message-body code{font-size:.9em}.message-body table{border-collapse:collapse;width:100%;font-size:13px;display:block;overflow:auto}.message-body th,.message-body td{border:1px solid var(--line);padding:8px 12px;text-align:left}.message-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.message-files span{font-size:11px;padding:3px 8px;background:white;border:1px solid var(--line);border-radius:5px}.message-error .message-state{color:var(--chat-error)}
.chat-composer{flex:none;border:1px solid #c6cbc0;border-radius:var(--chat-radius);background:var(--chat-surface);padding:12px 15px 9px;box-shadow:0 3px 14px #18291a06}.chat-composer:focus-within{border-color:#7c9a7c}.chat-composer>textarea{border:0;background:transparent;padding:8px 2px;font-size:14px;min-height:74px;max-height:210px;resize:vertical;outline:none}.chat-composer>textarea:focus-visible{outline:0}.composer-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px}.composer-options,.send-controls{display:flex;align-items:center;gap:6px;min-width:0}.composer-tools select{width:auto;border:0;background:transparent;margin:0;padding:5px 4px;font-size:12px;max-width:145px}.composer-options #chat-effort{color:var(--muted);border-left:1px solid var(--line);border-radius:0;max-width:70px}.attach-button{display:flex;align-items:center;gap:5px;padding:5px 7px;font-size:21px;line-height:1.3}.attach-button span{font-size:12px}.subtle-button{font-size:12px;color:var(--muted);white-space:nowrap;padding:6px}.send-controls .primary{font-size:12px;padding:8px 13px;white-space:nowrap}.stop-button{color:var(--chat-error);font-size:12px;white-space:nowrap;border:1px solid #dec8bd;padding:7px 11px}.composer-help{color:var(--muted);font-size:10px;padding:9px 2px 0;margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.chat-error{padding:8px 12px;border:1px solid #e0bbaa;border-radius:7px;background:#fff5f0;color:var(--chat-error);font-size:12px;margin-bottom:7px}.chat-attachments{display:flex;gap:6px;flex-wrap:wrap}.attachment-chip{display:flex;align-items:center;max-width:100%;border:1px solid var(--line);background:var(--chat-soft);padding:3px 5px 3px 9px;font-size:11px;border-radius:6px}.attachment-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:270px}.attachment-chip button{font-size:16px;padding:0 6px}.existing-sources{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;max-height:175px;overflow:auto}.existing-sources label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:400;padding:5px}.existing-sources input{width:15px;height:15px;margin:0;accent-color:var(--green)}.existing-sources small{color:var(--chat-error);margin-left:auto}.existing-sources span{overflow-wrap:anywhere}
.chat-activity{max-width:850px;margin:12px auto 0;border-top:1px solid var(--line);padding-top:11px;font-size:12px;color:var(--muted)}.chat-activity>summary{cursor:pointer;padding:5px 0}.chat-activity>summary #activity-count{font-size:10px;margin-left:8px;border:1px solid var(--line);border-radius:10px;padding:1px 6px}.activity-item{border-bottom:1px solid var(--line);padding:9px 0}.activity-item>summary{display:flex;gap:9px;align-items:center;cursor:pointer;font-size:11px}.activity-item strong{font-weight:500;color:var(--ink)}.activity-item time{margin-left:auto;font-size:10px}.activity-item pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font:11px/1.7 ui-monospace,monospace;padding:10px;background:white;border:1px solid var(--line);border-radius:5px}.activity-indicator{width:6px;height:6px;flex:none;border-radius:50%;background:#aab0a7}.activity-indicator.running{background:var(--green)}.activity-indicator.failed{background:var(--chat-error)}button:disabled,select:disabled{opacity:.5;cursor:default}button:disabled:hover{background:inherit}.primary:disabled:hover{background:var(--green)}button:not(:disabled):active{transform:translateY(1px)}
@media(min-width:1700px){.chat-page{max-width:1100px}}@media(max-width:1150px){:root{--sidebar-width:200px}.workspace-shell>main{padding:25px}.workspace-shell>main:has(>.chat-page:not([hidden])){padding:0 24px 18px}.report-grid{grid-template-columns:minmax(0,1fr)}.rail{grid-template-columns:1fr 1fr}.composer-tools{flex-wrap:wrap}.send-controls{margin-left:auto}}
@@ -37,7 +37,7 @@
body{font-size:14px}.workspace-shell{height:100dvh;min-height:0;overflow:hidden}.session-sidebar{position:relative;top:0;height:100dvh;padding:0 12px 12px;background:#f1f2eb;border-right:1px solid #e1e3da}.sidebar-brand{height:65px;display:flex;align-items:center;padding:0 10px}.sidebar-brand .brand{font-size:20px;letter-spacing:-.5px;font-weight:650}.workspace-switch{width:100%;max-width:none;min-height:34px;margin:0 0 12px;background:transparent;border:0;padding:6px 10px;color:var(--muted);font-size:11px;justify-content:space-between}.workspace-switch #workspace-name{max-width:175px}.workspace-switch:hover{background:#e8ebdf}.new-session{height:36px;min-height:36px;margin:0 0 13px;padding:6px 12px;font-size:12px;font-weight:550;border:1px solid #d4dccb;border-radius:9px;background:#fff;color:var(--green);text-align:center}.session-sidebar nav{display:flex;flex-direction:column;gap:3px;order:initial;width:auto;margin:0 0 24px;padding:0}.session-sidebar nav button{height:34px;display:flex;align-items:center;gap:10px;padding:7px 10px;border:0;border-radius:7px;text-align:left;color:#535c50;font-size:12px;font-weight:450}.session-sidebar nav button.active{background:#e3e9dc;color:var(--green);font-weight:550}.session-sidebar nav button:hover{background:#e8ebdf}.session-sidebar nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.session-item{padding:8px 10px;margin-bottom:4px;border:0;border-radius:7px}.session-item.active{border:0;background:#e6eade}.session-name{font-size:12px;font-weight:450;line-height:1.6}.session-meta{font-size:9px;margin-top:4px;color:#888f82}.session-meta time{font-size:9px}.sidebar-empty{font-size:11px;padding:10px;line-height:1.9;color:#909787}.sidebar-bottom{display:flex;flex-direction:column;gap:8px;align-items:stretch;padding:14px 0 0;border-top:1px solid #dfe4d6;margin-top:10px}.settings-open{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;margin:0;font-size:12px;color:#596551;text-align:left}.settings-open svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.sidebar-connection{display:flex;align-items:center;gap:7px;padding:2px 11px;color:#8a927f}.sidebar-connection small{font-size:9px}.sidebar-connection .local-dot{width:5px;height:5px;background:#7d9b6f}
.workspace-shell>main,.workspace-shell>main:has(>.chat-page:not([hidden])){height:100dvh;overflow:auto;padding:24px 35px;min-width:0}.workspace-shell>main:has(>.chat-page:not([hidden])){padding:0 28px 14px;overflow:hidden}.chat-page{height:calc(100dvh - 14px);min-height:0;max-width:none;width:100%;margin:0;display:flex;flex-direction:column}.chat-heading{height:64px;min-height:64px;padding:10px 0;border-bottom:1px solid #e5e6df;gap:16px;align-items:center}.chat-heading h1{font-size:14px;font-weight:550;margin:0 0 1px;line-height:1.6;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-heading p{font-size:10px;color:#8c9287}.chat-heading>div:first-child{min-width:0}.chat-header-actions{gap:10px}.chat-header-actions>button{border:0;background:transparent;color:var(--muted);font-size:11px;padding:6px 9px}.context-meter>summary{border:0;padding:6px 8px;font-size:10px;color:#92988b}.context-meter[open]>summary{background:#eef0e7;border:0}.chat-scroll{padding:25px 16px 18px;flex:1;width:100%;min-height:0;overflow-y:auto}.chat-message,.chat-activity{max-width:calc(var(--chat-column) - 32px)}.chat-message{margin-bottom:26px;padding:0}.chat-message.from-user{max-width:min(85%,calc(var(--chat-column) - 85px));margin-right:max(0px,calc((100% - var(--chat-column) + 32px)/2));padding:13px 17px;border-radius:14px;background:#edf0e7}.message-body{font-size:14px;line-height:1.85}.message-heading{font-size:10px;margin-bottom:8px}.message-heading strong{font-size:11px}.message-state{font-size:9px}.chat-activity{font-size:11px;margin-top:10px}.chat-composer{width:100%;max-width:var(--chat-column);align-self:center;margin:0;padding:11px 12px 9px;border:1px solid #d9decf;border-radius:var(--chat-radius);background:#fff;box-shadow:0 2px 8px #15251005}.chat-composer:focus-within{border-color:#9eb397;box-shadow:0 2px 10px #29402908}.chat-composer>textarea{min-height:55px;max-height:240px;padding:4px 5px 0;font-size:14px;line-height:1.8;resize:none}.chat-composer>textarea::placeholder{color:#989e92}.composer-tools{margin-top:12px;gap:10px;flex-wrap:nowrap}.composer-options,.send-controls{gap:4px;flex-wrap:nowrap}.composer-tools select{font-size:11px;padding:5px 4px;color:#65715b;max-width:118px;height:28px;border-radius:6px}.composer-tools select:hover:not(:disabled){background:#f0f3ea}.composer-options #chat-permission{max-width:99px;color:#67765d}.send-controls #chat-effort{font-size:10px;color:#8a947e;max-width:61px;border:0}.attach-button{width:29px;height:29px;min-width:29px;justify-content:center;padding:0;color:#526846;font-size:23px;border-radius:50%}.attach-button span{display:none}.chat-web{font-size:10px;gap:4px;margin:0 4px}.chat-web input{width:12px;height:12px}.subtle-button{font-size:10px;padding:4px 6px}.send-controls .primary{height:30px;padding:5px 10px;font-size:11px;min-width:46px;border-radius:9px}.stop-button{height:29px;padding:4px 8px;font-size:10px;border-radius:7px}.composer-help{width:100%;max-width:var(--chat-column);align-self:center;padding:8px 9px 0;margin:0;font-size:9px;color:#9a9f92;line-height:1.5}.chat-attachments{gap:5px;margin-bottom:3px}.attachment-chip{font-size:10px;background:#f4f6ef;border-color:#e0e5d7}.chat-requests{width:100%;max-width:var(--chat-column);align-self:center}.existing-sources{font-size:11px}
.chat-page.is-empty .chat-scroll{flex:none;overflow:visible;margin-top:clamp(55px,18vh,185px);padding:0;scrollbar-gutter:auto}.chat-empty{max-width:var(--chat-column);margin:0 auto 22px;padding:0 3px;text-align:left}.chat-empty h2{font:550 24px/1.5 var(--font);letter-spacing:-.5px;margin:0 0 6px;color:#2d3c2b}.chat-empty>p{font-size:12px;margin:0;color:#8a9280;line-height:1.7}.chat-page.is-empty .chat-composer{max-width:var(--chat-column)}.composer-starters{display:none;max-width:var(--chat-column);width:100%;align-self:center;gap:8px;margin:14px 0 0;flex-direction:row}.chat-page.is-empty .composer-starters{display:flex}.composer-starters button{flex:none;max-width:100%;padding:7px 12px;border:1px solid #e1e6d7;border-radius:20px;background:transparent;font-size:11px;gap:14px;color:#78846a}.composer-starters button:hover{background:#edf1e6;border-color:#c5d3b9}.composer-starters span{font-size:10px;color:#8a9e79}.chat-page.is-empty .composer-help{color:#a0a696}.chat-page:not(.is-empty) .composer-starters{display:none}
-#settings-dialog{border-radius:18px;padding:25px 28px;max-height:85vh;width:min(690px,92vw)}#settings-dialog>.section-title h2{font:550 20px/1.4 var(--font)}#settings-dialog .model-settings{background:transparent;border:0;padding:0;margin:22px 0}#settings-dialog .model-settings legend{display:none}#settings-dialog .model-settings>.row{gap:16px}#settings-dialog .model-settings>.help{font-size:11px;color:#8d9683;line-height:1.8}#settings-dialog .model-settings>.row label{font-size:12px}#settings-dialog .model-settings select{font-size:12px;padding:8px 10px}.role-model-settings{padding-top:16px;border-color:#e1e6d9}.role-model-settings>summary{font-size:12px}.role-model-settings>summary span{font-size:10px}.role-model-row{padding:9px 0;margin:0;border-bottom:1px solid #edf0e8;grid-template-columns:minmax(100px,1fr) 155px 100px;gap:12px}.role-model-row>span b{font-size:12px}.role-model-row small{font-size:10px}.role-model-row select{border-color:#dfe5d6}#settings-learning-block{padding-top:16px}.role-model-settings>p,#settings-learning-block .help{font-size:11px}#settings-dialog .check{font-size:12px}#settings-dialog #execution-choice{font-size:11px;color:#6d825f;font-weight:500}.setup-settings-shortcut{background:#f4f6ed;border-color:#dfe6d6}.report-heading .eyebrow,.heading .eyebrow{display:none}.heading{margin:10px 0 24px}.report-heading h1,.heading h1{font-family:var(--serif)}.report-grid .paper{box-shadow:0 2px 8px #23341603}.tiptap{font-family:var(--font)}
+#settings-dialog{border-radius:18px;padding:25px 28px;max-height:85vh;width:min(690px,92vw)}#settings-dialog>.section-title h2{font:550 20px/1.4 var(--font)}#settings-dialog .model-settings{background:transparent;border:0;padding:0;margin:22px 0}#settings-dialog .model-settings legend{display:none}#settings-dialog .model-settings>.row{gap:16px}#settings-dialog .model-settings>.help{font-size:11px;color:#8d9683;line-height:1.8}#settings-dialog .model-settings>.row label{font-size:12px}#settings-dialog .model-settings select{font-size:12px;padding:8px 10px}.role-model-settings{padding-top:16px;border-color:#e1e6d9}.role-model-settings>summary{font-size:12px}.role-model-settings>summary span{font-size:10px}.role-model-row{padding:9px 0;margin:0;border-bottom:1px solid #edf0e8;grid-template-columns:minmax(100px,1fr) 155px 100px;gap:12px}.role-model-row>span b{font-size:12px}.role-model-row small{font-size:10px}.role-model-row select{border-color:#dfe5d6}#settings-learning-block{padding-top:16px}.role-model-settings>p,#settings-learning-block .help{font-size:11px}#settings-dialog .check{font-size:12px}#settings-dialog #execution-choice{font-size:11px;color:#6d825f;font-weight:500}.setup-settings-shortcut{background:#f4f6ed;border-color:#dfe6d6}.report-heading .eyebrow,.heading .eyebrow{display:none}.heading{margin:10px 0 24px}.report-heading h1,.heading h1{font-family:var(--font);letter-spacing:-.03em}.report-grid .paper{box-shadow:0 2px 8px #23341603}.tiptap{font-family:var(--font)}
@media(min-width:1600px){:root{--chat-column:850px}}@media(max-width:1150px){:root{--sidebar-width:208px;--chat-column:760px}.workspace-shell>main:has(>.chat-page:not([hidden])){padding:0 22px 12px}.chat-page{height:calc(100dvh - 12px)}.composer-tools{flex-wrap:wrap;gap:6px}.send-controls{margin-left:auto}.session-sidebar{padding:0 10px 10px}.workspace-switch #workspace-name{max-width:156px}}
@media(max-width:780px){:root{--sidebar-width:165px}.workspace-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100dvh}.session-sidebar{display:flex;position:relative;top:0;height:100dvh;gap:0;padding:0 8px 9px;overflow:hidden}.sidebar-brand{height:57px;padding:0 7px}.sidebar-brand .brand{font-size:18px}.workspace-switch{max-width:none;margin:0 0 10px;padding:4px 7px;font-size:10px}.workspace-switch #workspace-name{max-width:119px}.new-session{height:34px;min-height:34px;font-size:11px;margin:0 0 12px;padding:5px}.session-sidebar nav{margin-bottom:22px}.session-sidebar nav button{font-size:11px;gap:8px;padding:7px;height:32px}.session-sidebar nav svg{width:14px;height:14px}.sidebar-bottom{display:flex}.settings-open{font-size:11px;padding:6px 7px}.sidebar-connection #connection{display:block}.session-sidebar #session-list{display:block;max-height:none;overflow-y:auto}.session-item{min-width:0;width:100%;padding:7px;margin:0 0 4px}.session-name{font-size:11px}.session-meta time{display:none}.workspace-shell>main,.workspace-shell>main:has(>.chat-page:not([hidden])){height:100dvh;padding:0 15px 10px}.workspace-shell>main:not(:has(>.chat-page:not([hidden]))){padding:20px 15px}.chat-page{height:calc(100dvh - 10px)}.chat-heading{height:57px;min-height:57px;gap:8px;padding:8px 0;flex-wrap:nowrap}.chat-heading h1{font-size:12px}.chat-heading p{font-size:9px}.chat-header-actions{gap:2px}.chat-header-actions>button{font-size:10px;padding:5px}.context-meter>summary{font-size:8px;padding:5px}.chat-page.is-empty .chat-scroll{margin-top:clamp(45px,14vh,115px)}.chat-empty h2{font-size:21px}.chat-empty>p{font-size:11px}.chat-composer{padding:9px}.chat-composer>textarea{font-size:13px}.composer-starters{flex-wrap:wrap;gap:7px}.composer-starters button{font-size:10px;padding:6px 10px}.composer-tools select{font-size:10px}.composer-help{font-size:8px}.role-model-row{grid-template-columns:1fr 115px 75px;gap:8px}}
@media(max-width:560px){:root{--sidebar-width:54px}.session-sidebar{padding:0 5px 9px}.sidebar-brand{height:56px;padding:0;justify-content:center}.sidebar-brand .brand{font-size:0;letter-spacing:0}.sidebar-brand .brand::first-letter{font-size:22px}.workspace-switch{width:36px;min-height:32px;padding:3px;margin:0 auto 10px;justify-content:center}.workspace-switch #workspace-name{font-size:0}.workspace-switch #workspace-name::before{content:'▱';font-size:19px}.workspace-switch>span:last-child{display:none}.new-session{font-size:0;width:36px;margin:0 auto 13px;min-height:32px;border-color:transparent;background:transparent}.new-session::first-letter{font-size:22px}.session-sidebar nav{gap:9px;margin:0}.session-sidebar nav button{width:36px;height:34px;justify-content:center;padding:0;margin:auto}.session-sidebar nav svg{width:17px;height:17px}.session-sidebar nav button>span,#session-list,.sidebar-connection{display:none!important}.sidebar-bottom{margin-top:auto;border:0;padding:0}.settings-open{width:36px;height:34px;margin:auto;padding:0;justify-content:center}.settings-open>span{display:none}.settings-open svg{width:17px;height:17px}.workspace-shell>main:has(>.chat-page:not([hidden])){padding:0 11px 9px}.chat-page{height:calc(100dvh - 9px)}.chat-heading{height:56px;min-height:56px}.chat-header-actions>button{font-size:9px}.chat-page.is-empty .chat-scroll{margin-top:12vh}.chat-empty h2{font-size:19px;letter-spacing:-.3px}.chat-composer>textarea{font-size:12px;min-height:60px}.composer-options,.send-controls{gap:2px}.chat-web{margin:0 2px;font-size:9px}.subtle-button{font-size:9px;padding:4px}.composer-tools{margin-top:8px;flex-wrap:wrap}.composer-options #chat-permission{font-size:9px;max-width:94px}.send-controls .primary{font-size:10px;height:28px}.send-controls select{font-size:10px}.composer-starters{flex-direction:column;align-items:flex-start}.context-meter>div{right:-45px;width:240px}.role-model-row{grid-template-columns:1fr 97px 70px;gap:5px}#settings-dialog{padding:22px}.chat-message.from-user{margin-right:0;max-width:96%}.chat-scroll{padding:20px 0 14px}}