@charset "UTF-8";
:root{--bg:#fcfcfa;--panel:#f3f4f0;--ink:#242a26;--muted:#7c837c;--line:#e3e6de;--green:#245d4a;--pale:#e8eee5;--red:#9d3833;--mono:"Cascadia Code","SFMono-Regular",Consolas,monospace;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:wait;opacity:.45}input,textarea,select{outline:0}input:focus,textarea:focus,select:focus{border-color:var(--green)}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px}button,input,textarea,select{-webkit-tap-highlight-color:transparent}.hidden{display:none!important}.muted{color:var(--muted)}.error{color:var(--red);font-size:13px;overflow-wrap:anywhere}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--muted)}.primary{display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:9px;padding:12px 20px;background:var(--green);color:#fff;font-weight:550;transition:background .2s}.primary:hover{background:#194937}.primary span{font-size:20px;line-height:1}.wide{width:100%}.brand-symbol{display:grid;place-items:center;background:var(--green);color:#fff;width:54px;height:54px;border-radius:15px;font-size:38px;line-height:1}.brand-symbol.small{width:35px;height:35px;border-radius:10px;font-size:28px}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#67a17b;flex-shrink:0}.dot.offline{background:#bd895c}.icon-button{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;font-size:19px;color:#788076;flex-shrink:0}.icon-button:hover{background:var(--pale)}.text-button{color:var(--muted);font-size:12px;padding:9px}.text-button:hover{color:var(--green)}.login-view{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 10%,#e9eee2 0,transparent 50%),var(--bg);padding:24px}.login-card{width:100%;max-width:390px}.login-card .eyebrow{margin-top:35px}.login-card h1{font-size:30px;font-weight:550;letter-spacing:-1px;margin:10px 0}.login-card .muted{margin:0 0 35px}.login-card input{margin:10px 0 18px}.login-foot{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);margin-top:24px}.login-decoration{position:fixed;bottom:25px;right:30px;font-family:var(--mono);font-size:11px;color:#aab1a5}.app{display:flex;height:100dvh;overflow:hidden}.sidebar{width:292px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:25px 16px 0}.brand{display:flex;align-items:center;gap:11px;padding:0 8px;margin-bottom:30px}.brand strong{display:block;font-size:21px;line-height:1.1;font-weight:600;letter-spacing:-.6px}.brand>div>span{font-size:8px;letter-spacing:1.8px;color:var(--muted);font-family:var(--mono)}.new-session{display:flex;align-items:center;gap:9px;text-align:left;background:#fff;border:1px solid #dce1d5;border-radius:8px;padding:9px 13px;color:var(--green);font-weight:600;box-shadow:0 2px 3px #00000003}.new-session>span{font-size:24px;line-height:1}.new-session kbd{margin-left:auto;border:1px solid var(--line);color:var(--muted);font:10px var(--mono);padding:2px 5px;border-radius:4px}.search-wrap{display:flex;align-items:center;gap:8px;padding:7px 9px;margin:14px 0 17px}.search-wrap>span{font-size:23px;line-height:1;color:var(--muted)}.search-wrap input{border:0;background:none;width:100%;padding:0;font-size:12px}.list-label{display:flex;align-items:center;justify-content:space-between;padding:0 10px;margin-bottom:12px;color:var(--muted);font-size:10px;letter-spacing:.5px}.list-label button{font-size:10px;color:var(--muted);padding:0}.list-label button.active{color:var(--green)}.session-list{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0 -4px;padding:0 4px}.session-item{display:block;width:100%;text-align:left;padding:12px 12px;border-radius:8px;margin-bottom:4px;position:relative}.session-item:hover{background:#e9ece4}.session-item.active{background:#e3eadf}.session-item.active:before{position:absolute;content:"";left:0;top:17px;height:17px;width:3px;background:var(--green);border-radius:2px}.session-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:550;color:#424a40}.session-meta{display:flex;align-items:center;gap:7px;font-size:10px;color:#8c9388;margin-top:5px}.session-meta .folder{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta time{font-family:var(--mono);font-size:9px}.session-empty{padding:25px 10px;color:var(--muted);font-size:12px;text-align:center}.sidebar-foot{padding:16px 7px max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;border-top:1px solid var(--line);margin-top:10px}.connection-info{display:flex;align-items:center;gap:8px;flex:1;font-size:11px;color:#646d60;text-align:left}.info-arrow{margin-left:auto;margin-right:15px;color:#8e9787}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--bg)}.topbar{height:83px;min-height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 35px;gap:15px}.thread-heading{flex:1;min-width:0}.thread-heading h1{font-size:14px;font-weight:550;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-heading p{font-size:10px;color:#8c9389;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0 0}.status-pill{border:1px solid var(--line);border-radius:5px;font:9px var(--mono);letter-spacing:1px;padding:4px 7px;color:#87917f;white-space:nowrap}.status-pill.busy{color:var(--green);background:var(--pale);border-color:transparent}.menu-wrap{position:relative}.dropdown{position:absolute;right:0;top:42px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 35px #15241415;width:160px;padding:6px}.dropdown button{display:block;text-align:left;width:100%;padding:9px 12px;font-size:12px;border-radius:5px}.dropdown button:hover{background:var(--panel)}.welcome{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px;text-align:center;overflow:auto}.welcome-orbit{width:100px;height:100px;position:relative;display:grid;place-items:center;margin-bottom:28px;border:1px solid #e6e9df;border-radius:50%}.welcome-orbit:before{content:"";position:absolute;inset:13px;border:1px solid #e6e9df;border-radius:50%}.welcome-orbit span{font-size:47px;line-height:1;color:var(--green);transform:rotate(-12deg)}.welcome-orbit i{width:7px;height:7px;background:#99ad8d;border:2px solid var(--bg);border-radius:50%;position:absolute;top:9px;left:13px}.welcome-orbit b{width:5px;height:5px;background:#c8b797;border:1px solid var(--bg);border-radius:50%;position:absolute;bottom:6px;right:17px}.welcome .eyebrow{font-size:9px;letter-spacing:2.5px}.welcome h2{font-size:36px;font-weight:500;letter-spacing:-1.5px;margin:8px 0 10px}.welcome>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:25px}.welcome .primary{font-size:12px;padding:10px 16px}.welcome-cards{display:flex;gap:32px;text-align:left;margin-top:65px;max-width:720px;width:100%;justify-content:center}.welcome-cards>div{border-top:1px solid var(--line);padding-top:15px;flex:1}.welcome-cards span{font:8px var(--mono);letter-spacing:1px;color:#969e90}.welcome-cards strong{display:block;font-weight:500;font-size:12px;margin-top:10px}.welcome-cards p{font-size:10px;color:var(--muted);margin-top:5px}.chat{flex:1;min-height:0;overflow:auto;overflow-anchor:none;padding:30px max(30px,calc((100% - 800px)/2));scroll-behavior:auto;overscroll-behavior:contain;scrollbar-width:thin}.messages{display:flex;flex-direction:column;gap:22px}.message{max-width:100%;overflow-wrap:anywhere}.message.user{align-self:flex-end;max-width:90%;background:#edf0e8;padding:12px 17px;border-radius:14px 14px 3px 14px;white-space:pre-wrap;font-size:13px}.message.agent{font-size:14px;line-height:1.85}.message-label{display:flex;align-items:center;gap:8px;font:10px var(--mono);color:var(--green);margin-bottom:10px;letter-spacing:.8px}.message-label:before{content:"⌘";font:20px sans-serif;color:var(--green)}.message p{margin:8px 0}.message h2,.message h3,.message h4{font-size:17px;line-height:1.5;margin:16px 0 7px}.message h3{font-size:15px}.message h4{font-size:14px}.message ul,.message ol{padding-left:23px;margin:9px 0}.message a{color:var(--green);text-decoration-color:#a4b9a9;text-underline-offset:3px}.message code{font-family:var(--mono);font-size:12px;background:#eff1eb;padding:2px 5px;border-radius:4px}.code-block{background:#f0f2ec;border:1px solid #e3e7dc;border-radius:9px;overflow:hidden;margin:12px 0}.code-head{display:flex;justify-content:space-between;padding:5px 12px;color:var(--muted);font:10px var(--mono);border-bottom:1px solid #e2e6db}.code-head button{font-size:10px}.code-block pre{margin:0;padding:13px;overflow:auto;max-height:500px;white-space:pre}.code-block code{padding:0;background:none;font-size:12px;line-height:1.7}.message table{border-collapse:collapse;font-size:12px;max-width:100%;display:block;overflow:auto;margin:10px 0}.message th,.message td{border:1px solid var(--line);padding:7px 12px;text-align:left}.message th{background:var(--panel)}.message blockquote{border-left:3px solid #c8d6c2;margin:10px 0;padding:2px 14px;color:var(--muted)}.tool{border:1px solid var(--line);border-radius:8px;color:#737c6c;background:#f7f8f4;font-size:11px}.tool summary{cursor:pointer;padding:9px 12px;overflow-wrap:anywhere}.tool pre{padding:12px;border-top:1px solid var(--line);margin:0;white-space:pre-wrap;max-height:350px;overflow:auto;font:11px/1.7 var(--mono);color:#606957}.turn-error{background:#faf0eb;padding:12px 15px;border:1px solid #ead3cb;border-radius:8px;color:var(--red);font-size:12px}.thinking{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px;padding:25px 0}.thinking .dot{animation:pulse 1.5s infinite}.bottom-panel{position:relative;flex-shrink:0;padding:12px max(30px,calc((100% - 800px)/2)) max(13px,env(safe-area-inset-bottom));background:var(--bg)}.composer{border:1px solid #dce1d3;background:#fff;border-radius:14px;box-shadow:0 4px 16px #24352206;overflow:hidden}.composer:focus-within{border-color:#9bad90;box-shadow:0 4px 18px #2435220c}.composer textarea{display:block;width:100%;border:0;background:transparent;resize:none;padding:16px 18px 8px;max-height:200px;min-height:75px;line-height:1.7;font-size:13px}.composer textarea::placeholder{color:#a0a698}.composer-tools{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 10px 12px;gap:8px}.model-controls{display:flex;gap:3px;min-width:0}.model-controls select{font-size:10px;color:#858d7e;background:none;border:0;border-radius:5px;padding:4px;min-width:0;max-width:160px}.model-controls select:hover{background:var(--panel)}.send-controls{display:flex;align-items:center;gap:9px}.send{width:32px;height:32px;border-radius:9px;background:var(--green);color:white;font-size:22px;line-height:1}.stop{font-size:10px;border:1px solid var(--line);border-radius:7px;padding:5px 8px;white-space:nowrap}.composer-note{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9ba292;margin:8px 4px 0}.composer-note>span:last-child{font:8px var(--mono);letter-spacing:1px}.approvals{max-height:40dvh;overflow:auto}.approval{padding:14px 16px;border:1px solid #dbd3ba;border-radius:10px;background:#f7f4e9;margin-bottom:10px}.approval h3{font-size:13px;margin:0 0 8px}.approval pre{max-height:150px;overflow:auto;white-space:pre-wrap;font:11px/1.7 var(--mono);background:#eeeadb;padding:10px;border-radius:5px}.approval p{font-size:12px;overflow-wrap:anywhere}.approval label{font-size:12px;margin:9px 0 5px;display:block}.approval input,.approval textarea{background:#fff;font-size:12px}.approval-actions{display:flex;gap:8px;margin-top:12px}.approval-actions button{border:1px solid #d3cfba;border-radius:6px;padding:5px 12px;font-size:11px}.approval-actions button:first-child{background:var(--green);color:#fff;border-color:var(--green)}.approval select{width:100%;font-size:12px;margin-bottom:6px}.error-banner{background:#fcf1eb;border-bottom:1px solid #ecdcd0;color:var(--red);font-size:12px;padding:12px 25px;display:flex;align-items:flex-start;gap:16px;max-height:180px;overflow:auto;overflow-wrap:anywhere}.error-banner span{flex:1}.error-banner button{font-size:18px}dialog{border:1px solid var(--line);border-radius:16px;padding:27px;width:440px;max-width:calc(100% - 32px);max-height:90dvh;overflow:auto;background:var(--bg);box-shadow:0 24px 120px #182a1726}dialog::backdrop{background:#17281755;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-heading h2{font-size:21px;font-weight:550;margin:0}.dialog-heading+p{font-size:12px;margin-bottom:24px}label{font-size:12px;font-weight:500}dialog label{display:block;margin:16px 0 7px}input,dialog select,.approval textarea{display:block;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:13px}input::placeholder{color:#a7ad9f}.form-note{font-size:11px;line-height:1.8;color:var(--muted);margin:14px 0 21px}dialog .primary{margin-top:20px;font-size:12px}.addresses{display:flex;flex-direction:column;gap:8px}.addresses a{color:var(--green);font:12px var(--mono);background:var(--pale);border-radius:6px;padding:10px;text-decoration:none;overflow-wrap:anywhere}.version{font:9px/1.6 var(--mono);color:#a0a698;overflow-wrap:anywhere}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#2f3d2c;color:#fff;padding:10px 22px;border-radius:9px;z-index:99;box-shadow:0 4px 30px #0002;font-size:12px;max-width:90vw;white-space:pre-wrap}.mobile-only{display:none}.sidebar-overlay{position:fixed;inset:0;z-index:29;background:#17281755;backdrop-filter:blur(2px)}@keyframes pulse{50%{opacity:.3}}@media(min-width:1500px){.sidebar{width:310px}.welcome h2{font-size:42px}}@media(max-width:800px){.sidebar{width:265px}.topbar{padding:0 23px}.chat{padding:25px}.bottom-panel{padding-left:23px;padding-right:23px}.welcome{padding:30px 25px}.welcome-cards{gap:18px}.welcome h2{font-size:30px}}@media(max-width:640px){.mobile-only{display:grid}.sidebar{position:fixed;inset:0 auto 0 0;width:min(310px,86vw);z-index:30;transform:translateX(-100%);transition:transform .2s;padding-top:max(25px,env(safe-area-inset-top))}.sidebar.open{transform:translateX(0)}.brand .icon-button{margin-left:auto}.topbar{min-height:70px;height:70px;padding:8px 13px;gap:9px}.thread-heading h1{font-size:13px}.thread-heading p{font-size:9px}.status-pill{font-size:8px;padding:3px 5px;letter-spacing:0}.welcome{padding:25px 24px}.welcome-orbit{width:86px;height:86px;margin-bottom:22px}.welcome .eyebrow{font-size:8px;letter-spacing:1.8px}.welcome h2{font-size:30px}.welcome-cards{gap:18px;margin-top:45px;flex-wrap:wrap}.welcome-cards>div{min-width:125px;flex:1}.welcome-cards>div:last-child{display:none}.welcome-cards p{font-size:10px}.chat{padding:20px 18px}.message.agent{font-size:14px}.message.user{font-size:14px;max-width:94%}.messages{gap:20px}.bottom-panel{padding:9px 12px max(10px,env(safe-area-inset-bottom))}.composer textarea{font-size:16px;padding:13px 13px 6px;min-height:66px}.composer-tools{padding:6px 8px 8px}.model-controls{gap:0}.model-controls select{max-width:135px;font-size:10px}.composer-note{font-size:8px}.composer-note>span:last-child{font-size:7px}.new-session{padding:11px 13px}.session-item{padding:14px 12px}.session-title{font-size:13px}.session-meta{font-size:11px}.search-wrap input{font-size:16px}.error-banner{padding:10px 15px}input,dialog select{font-size:16px}dialog{padding:22px}.login-decoration{right:24px;font-size:9px}.login-card h1{font-size:28px}.login-card input{font-size:16px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.latest-message{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);z-index:5;min-height:40px;padding:8px 17px;border:1px solid #cbd6c6;border-radius:22px;background:var(--bg);color:var(--green);box-shadow:0 3px 15px #24352218;font-size:12px;white-space:nowrap}.latest-message:hover{background:var(--pale)}

/* Keep operation logs compact while leaving actual messages in the conversation. */
.activity-group{min-width:0;border:1px solid var(--line);border-radius:9px;background:#f7f8f4;color:#737c6c;font-size:12px}
.activity-group>summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 12px;cursor:pointer;list-style:none}
.activity-group>summary::-webkit-details-marker{display:none}
.activity-group>summary:before{content:"›";font-size:19px;line-height:1;transition:transform .15s}
.activity-group[open]>summary:before{transform:rotate(90deg)}
.activity-group>summary:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:8px}
.activity-label{white-space:nowrap}
.activity-status{margin-left:auto;font-size:10px;white-space:nowrap;color:var(--green)}
.activity-group.has-failure .activity-status{color:var(--red)}
.activity-group.is-running .activity-label{color:var(--green)}
.activity-items{display:flex;flex-direction:column;gap:7px;padding:0 10px 10px}
.activity-items>.tool{background:var(--bg);min-width:0}
.activity-items>.tool summary{padding:8px 10px}
