:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#1b211d;background:#f7f8f7;font-synthesis:none;--accent: #5b5ce2;--accent-hover: #494ac9;--line: #e3e7e4;--muted: #6d756f;--surface: #fff;--soft: #f0f2f0}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{min-width:0;overflow:hidden}button,textarea{font:inherit}button{color:inherit}.app-shell{position:relative;display:grid;grid-template-areas:"header" "document" "plan" "messages" "composer";grid-template-rows:auto auto auto minmax(0,1fr) auto;width:100%;height:100vh;height:100dvh;overflow:hidden;background:var(--surface)}.app-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;min-width:0;padding:15px 16px 10px}.brand-row{display:flex;align-items:center;gap:10px;min-width:0}.brand-row>div:last-child{min-width:0}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#7778f3,#4e4fcf);box-shadow:0 6px 18px #5b5ce23d;font-size:12px;font-weight:800}h1{margin:0 0 2px;font-size:16px;line-height:1.2}#connection-status{margin:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:grid;width:31px;height:31px;place-items:center;border:0;border-radius:9px;background:transparent;cursor:pointer;font-size:22px;line-height:1}.icon-button:hover{background:var(--soft)}.icon-button:disabled{cursor:default;opacity:.45}.header-actions{display:flex;gap:2px;align-items:center}.model-select{max-width:120px;height:27px;padding:0 4px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit;font-size:11px;cursor:pointer}.model-select:disabled{cursor:default;opacity:.45}.icon-button.small{width:27px;height:27px;font-size:18px}.document-badge{grid-area:document;display:flex;align-items:center;gap:7px;min-width:0;margin:0 16px 8px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fafbfa;font-size:11px}.status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#a2aaa5}.document-badge[data-connected=true] .status-dot{background:#24a46d;box-shadow:0 0 0 3px #24a46d1f}#document-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-usage{flex:0 0 auto;margin-left:auto;padding:2px 4px;border:0;border-radius:4px;color:var(--muted);background:transparent;cursor:pointer;font-size:9px}.context-usage:hover{color:var(--accent);background:var(--soft)}.plan-panel{grid-area:plan;max-height:min(32vh,220px);margin:0 16px 4px;padding:9px 10px;overflow-y:auto;border:1px solid #dedffe;border-radius:10px;background:#fafaff}.plan-panel[hidden]{display:none}.plan-title{display:flex;justify-content:space-between;font-size:11px}.plan-title span{color:var(--muted);font-size:9px;font-weight:400}.plan-panel p{margin:5px 0;color:var(--muted);font-size:10px}.plan-panel ol{display:grid;gap:4px;margin:7px 0 0;padding:0;list-style:none}.plan-panel li{display:flex;gap:6px;color:var(--muted);font-size:10px}.plan-panel li[data-status=in_progress]{color:var(--accent);font-weight:650}.plan-panel li[data-status=completed]{color:#24835a}.plan-marker{width:10px;flex:0 0 auto;text-align:center}.messages{grid-area:messages;min-width:0;min-height:0;padding:12px 16px 28px;overflow-y:auto;overscroll-behavior:contain}.welcome{padding:34px 8px 0;text-align:center}.welcome-icon{display:grid;width:44px;height:44px;margin:0 auto 14px;place-items:center;border:1px solid #dedffe;border-radius:15px;color:var(--accent);background:#f3f3ff;font-size:22px}.welcome h2{margin:0 0 7px;font-size:18px}.welcome p{margin:0 auto;max-width:270px;color:var(--muted);font-size:13px;line-height:1.55}.suggestions{display:grid;gap:8px;margin-top:24px}.suggestions button{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;font-size:12px;text-align:left}.suggestions button:hover{border-color:#c8c9f7;background:#f8f8ff}.message{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.message.user{justify-content:flex-end}.message-content{max-width:90%;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.message.user .message-content{color:#fff;background:var(--accent);border-bottom-right-radius:4px}.message.assistant .message-content{padding-left:0;background:transparent;white-space:normal}.message.assistant .message-content>:first-child{margin-top:0}.message.assistant .message-content>:last-child{margin-bottom:0}.message.assistant .message-content p{margin:.55em 0}.message.assistant .message-content ul,.message.assistant .message-content ol{margin:.55em 0;padding-left:1.45em}.message.assistant .message-content blockquote{margin:.7em 0;padding-left:10px;border-left:3px solid #c8c9f7;color:var(--muted)}.message.assistant .message-content code{padding:1px 4px;border-radius:4px;background:var(--soft);font:.92em ui-monospace,SFMono-Regular,Menlo,monospace}.message.assistant .message-content pre{max-width:100%;padding:10px;overflow:auto;border-radius:8px;background:var(--soft)}.message.assistant .message-content pre code{padding:0;background:transparent}.message.assistant .message-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.message.assistant .message-content th,.message.assistant .message-content td{padding:5px 7px;border:1px solid var(--line)}.message.assistant .message-content a{color:var(--accent)}.message.system .message-content{width:100%;max-width:none;color:#a14a4a;background:#fff3f3}.message-image{display:block;width:min(180px,90%);max-height:180px;margin-left:auto;object-fit:contain;border:1px solid var(--line);border-radius:9px}.tool-card{margin:9px 0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fafbfa}.tool-card.error{border-color:#efcaca;background:#fff8f8}.tool-card summary{display:flex;align-items:center;gap:8px;padding:9px 10px;cursor:pointer;font-size:11px;list-style:none}.tool-card summary::-webkit-details-marker{display:none}.tool-status-icon{display:grid;width:18px;height:18px;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:#27a66f;font-size:10px;font-weight:800}.tool-card.running .tool-status-icon{background:var(--accent);animation:pulse 1s infinite alternate}.tool-card.error .tool-status-icon{background:#c65a5a}.tool-summary{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-duration{color:var(--muted);font-size:10px}.tool-body{padding:0 10px 10px;border-top:1px solid var(--line)}.tool-label{margin:10px 0 5px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.tool-code,.tool-result{max-height:220px;margin:0;padding:9px;overflow:auto;border-radius:7px;color:#3c4540;background:#eef1ef;font:10px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.error-text{color:#a33f3f;background:#ffeded}.thinking-card{margin:10px 0;border:1px solid var(--line);border-radius:10px;background:#f7f8f7}.message.preliminary .message-content{opacity:.6}.preliminary-badge{color:var(--muted);font-size:10px}.generating-row{display:flex;align-items:center;gap:7px;margin:8px 0;color:var(--muted);font-size:10px}.generating-spinner{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--accent);animation:pulse 1s infinite alternate}.thinking-summary{padding:7px 10px;color:var(--muted);font-size:10px;cursor:pointer;list-style:none}.thinking-summary::-webkit-details-marker{display:none}.thinking-text{max-height:180px;margin:0;padding:0 10px 10px;overflow:auto;color:var(--muted);font:10px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.checkpoint-button{margin-top:9px;padding:6px 8px;border:1px solid #c8c9f7;border-radius:7px;color:var(--accent);background:#f8f8ff;cursor:pointer;font-size:10px}.question-card{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid #d8d9fb;border-radius:12px;background:#fafaff;font-size:11px}.question-card.success{border-color:var(--line);background:#fafbfa}.question-card.error{border-color:#efcaca;background:#fff8f8}.question-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--accent);font-size:11px;font-weight:750}.question-card.success .question-card-title{color:#24835a}.question-progress{flex:0 0 auto;color:var(--muted);font-size:9px;font-weight:500}.question-actions{display:flex;justify-content:flex-end;gap:8px}.question-previous{padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:inherit;background:var(--surface);cursor:pointer;font-size:10px;font-weight:650}.question-previous:hover{border-color:#aeb0f5;background:#f2f2ff}.question-answer-details{display:grid;gap:6px}.question-answer-details summary{color:var(--muted);font-size:10px;cursor:pointer}.question-answer-row{display:grid;gap:2px;padding:6px 8px;border-radius:7px;background:#edf8f2}.question-answer-row span{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.question-answer-row strong{color:#24835a;font-size:11px;font-weight:650;overflow-wrap:anywhere}.question-field{display:grid;min-width:0;gap:7px;margin:0;padding:0;border:0}.question-field:disabled{opacity:1}.question-field legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:0;font-size:12px;line-height:1.45}.question-header{flex:0 0 auto;padding:2px 5px;border-radius:5px;color:var(--accent);background:#ececff;font-size:9px;font-weight:700}.question-options{display:grid;gap:6px}.question-option{display:grid;min-width:0;gap:2px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;color:inherit;background:var(--surface);cursor:pointer;text-align:left}.question-option:hover,.question-option.selected{border-color:#aeb0f5;background:#f2f2ff}.question-option strong{font-size:11px}.question-option span{overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.4}.question-custom-answer{width:100%;min-height:54px;max-height:100px;padding:8px 9px;resize:vertical;border:1px solid var(--line);border-radius:8px;outline:0;background:var(--surface);font-size:11px}.question-custom-answer:focus{border-color:#aeb0f5;box-shadow:0 0 0 2px #5b5ce217}.question-submit{justify-self:end;padding:7px 11px;border:0;border-radius:8px;color:#fff;background:var(--accent);cursor:pointer;font-size:10px;font-weight:650}.question-submit:hover{background:var(--accent-hover)}.question-help,.question-error{margin:0;color:var(--muted);font-size:10px}.question-error{color:#a33f3f}.question-answer{padding:7px 9px;border-radius:7px;color:#24835a;background:#edf8f2;font-weight:650;overflow-wrap:anywhere}.composer-wrap{grid-area:composer;min-width:0;padding:8px 12px 12px;background:linear-gradient(to top,var(--surface) 78%,transparent)}.run-progress{margin:10px 0 2px;padding:8px 10px;border:1px solid #dedffe;border-radius:10px;color:var(--muted);background:#f8f8ff;font-size:10px}.run-progress[hidden]{display:none}.progress-row{display:flex;align-items:center;gap:7px}.progress-spinner{width:9px;height:9px;flex:0 0 auto;border:2px solid #c8c9f7;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}#progress-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#progress-elapsed{flex:0 0 auto;font-variant-numeric:tabular-nums}.progress-track{height:3px;margin-top:7px;overflow:hidden;border-radius:999px;background:#e5e5fb}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7778f3,var(--accent));transition:width .35s ease}.composer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:7px 7px 7px 12px;border:1px solid #d8ddda;border-radius:14px;background:var(--surface);box-shadow:0 8px 28px #16201914}.composer:focus-within{border-color:#adadf0;box-shadow:0 0 0 3px #5b5ce21a,0 8px 28px #16201914}textarea{width:100%;min-height:32px;max-height:140px;padding:6px 0;resize:none;border:0;outline:0;color:inherit;background:transparent;font-size:13px;line-height:1.45}textarea{flex:1 1 120px}.attachment-preview{display:flex;flex:1 0 100%;max-width:100%;gap:5px;overflow-x:auto}.attachment-preview[hidden]{display:none}.attachment-preview span{position:relative}.attachment-preview img{width:44px;height:44px;object-fit:cover;border-radius:7px}.attachment-preview button{position:absolute;top:-5px;right:-5px;width:16px;height:16px;padding:0;border:0;border-radius:50%;color:#fff;background:#555;cursor:pointer;font-size:11px}textarea::placeholder{color:#969d98}.composer-action{align-self:center;flex:0 0 auto;padding:5px 6px;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer;font-size:10px}.composer-action:hover{color:var(--accent);background:var(--soft)}.composer-action:disabled{cursor:default;opacity:.45}.send-button{display:grid;width:32px;height:32px;place-items:center;flex:0 0 auto;border:0;border-radius:10px;color:#fff;background:var(--accent);cursor:pointer;font-size:18px;font-weight:700}.send-button:hover{background:var(--accent-hover)}.stop-icon{display:none;font-size:10px}.send-button[data-busy=true] .send-icon{display:none}.send-button[data-busy=true] .stop-icon{display:inline}.disclaimer{margin:6px 3px 0;color:#939a95;font-size:9px;text-align:center}.panel-help{margin:0 0 12px;color:var(--muted);font-size:10px;line-height:1.5}@keyframes pulse{0%{opacity:.55}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:419px){.app-header{padding-inline:12px}.document-badge,.plan-panel{margin-inline:12px}.messages{padding-inline:12px}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:5px 7px}.composer textarea,.attachment-preview{grid-column:1 / -1}.composer textarea{min-width:0}.composer-action{align-self:center}#image-button{grid-column:2}#paste-button{grid-column:3}.send-button{grid-column:4}}@media(max-width:299px){.brand-mark{display:none}.app-header{padding-inline:10px}.header-actions{gap:0}.icon-button{width:29px}.document-badge,.plan-panel{margin-inline:10px}.messages{padding-inline:10px}.composer-wrap{padding-inline:8px}.context-usage{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-height:599px){.app-header{padding-top:9px;padding-bottom:7px}.brand-mark{width:30px;height:30px;border-radius:9px}.document-badge{margin-bottom:4px;padding-block:5px}.plan-panel{max-height:24vh}.messages{padding-top:6px;padding-bottom:10px}.welcome{padding-top:12px}.welcome-icon{margin-bottom:8px}.suggestions{gap:5px;margin-top:12px}.suggestions button{padding-block:7px}.composer-wrap{padding-top:5px;padding-bottom:7px}textarea{max-height:80px}.disclaimer{margin-top:4px}}@media(prefers-color-scheme:dark){:root{color:#edf1ee;background:#161a17;--surface: #1d221e;--soft: #292f2a;--line: #353c37;--muted: #a4ada6}.document-badge,.tool-card{background:#222823}.run-progress,.plan-panel{border-color:#44458a;background:#252640}.progress-track{background:#393a61}.welcome-icon{border-color:#44458a;background:#292a53}.suggestions button{background:#222823}.suggestions button:hover{background:#2a2b48}.history-item.active{background:#292a53}.question-card{border-color:#44458a;background:#252640}.question-card.success{border-color:var(--line);background:#222823}.question-card.error{border-color:#704545;background:#402929}.question-header{color:#c8c9ff;background:#393a61}.question-option:hover,.question-option.selected{border-color:#7778c8;background:#303159}.question-answer{color:#8cdbb8;background:#25382e}.question-previous:hover{border-color:#7778c8;background:#303159}.question-answer-row{background:#25382e}.question-answer-row strong{color:#8cdbb8}.tool-code,.tool-result{color:#dbe1dd;background:#161a17}.thinking-card{background:#141715}.thinking-text{color:#9aa79e}.message.system .message-content,.error-text{color:#f2b4b4;background:#402929}}
