:root{color-scheme:light;--ink:#1b1d21;--muted:#5d626d;--blue:#175cd3;--blue-soft:#eaf2ff;--surface:#f5f6f8;--line:#e3e6eb;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button,a,input,textarea,select{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue)}::selection{background:#c9ddff;color:#113c7b}a{color:var(--blue);text-underline-offset:3px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chat-page{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none}.workspace{position:absolute;top:var(--viewport-top,0px);left:var(--viewport-left,0px);width:var(--viewport-width,100%);height:var(--viewport-height,100dvh);display:flex;min-height:0}.sidebar{width:296px;flex-shrink:0;background:var(--surface);padding:24px 18px 14px;display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:650;margin-bottom:29px;letter-spacing:-.025em}.brand img{border-radius:9px}.field-label{font-size:12px;color:var(--muted);margin:0 8px 8px}.sidebar select{min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:16px;padding:9px 12px;width:100%}.sidebar-actions{display:flex;flex-direction:column;gap:2px;margin:14px 0}.new-chat{display:flex;align-items:center;gap:9px;border:0;min-height:46px;padding:10px 12px;border-radius:12px;background:var(--blue-soft);color:#144fae;font-size:14px;font-weight:600}.text-button{border:0;background:transparent;color:var(--blue);border-radius:10px;min-height:44px;padding:10px;font-size:13px}.text-button:hover{background:#e6eaf0}.search{width:100%;min-height:42px;border:0;border-radius:10px;background:#e9edf2;padding:10px 12px;font-size:14px;caret-color:var(--blue)}.search::placeholder{color:#5d626d;opacity:1}.thread-list{overflow:auto;flex:1;min-height:80px;margin-top:15px;scrollbar-width:thin;scrollbar-color:#b6bcc7 transparent}.thread-row{border:0;background:transparent;border-radius:12px;width:100%;min-height:66px;padding:12px 10px;text-align:left;display:block;margin:2px 0}.thread-row:hover{background:#e9edf2}.thread-row.selected{background:#fff}.thread-row strong{font-size:14px;font-weight:550;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-row small{font-size:12px;color:var(--muted);display:block;margin-top:6px}.sidebar-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;font-size:12px;color:var(--muted)}.sidebar-footer span::before{content:"";display:inline-block;background:#9b6e12;width:6px;height:6px;border-radius:50%;margin-right:6px}.sidebar-footer span.connected::before{background:#287850}.list-empty{font-size:14px;line-height:1.6;color:var(--muted);padding:12px 9px}.main{display:flex;flex-direction:column;min-width:0;flex:1;min-height:0;overflow:hidden}.toolbar{display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 28px;border-bottom:1px solid var(--line);flex-shrink:0}.heading{min-width:0;flex:1}.heading strong{display:block;font-size:17px;font-weight:600}.heading span{display:block;font-size:12px;margin-top:5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{border:0;background:transparent;min-width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:10px}.icon-button:hover{background:var(--surface)}.preview{display:flex;align-items:center;gap:7px;background:var(--blue-soft);padding:11px 13px;border-radius:12px;min-height:44px;font-size:13px;text-decoration:none}.preview svg{width:17px;height:17px}.banner{background:var(--surface);border-bottom:1px solid var(--line);padding:10px 25px;font-size:13px;line-height:1.5;flex-shrink:0}.error{background:#fff1ed;color:#8b3020;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.main>.error{margin:12px 20px 0;flex-shrink:0;max-height:95px;overflow:auto}.transcript{flex:1;min-height:0;overflow:auto;padding:24px 28px 0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bbc1ca transparent}.conversation{max-width:760px;margin:auto}.messages{display:flex;flex-direction:column;gap:27px}.message{font-size:16px;line-height:1.65;overflow-wrap:anywhere;min-width:0}.message.user{align-self:flex-end;max-width:90%;background:var(--blue-soft);border-radius:18px 18px 5px 18px;padding:12px 16px}.message-label{font-size:12px;font-weight:600;color:#484d56;margin-bottom:7px}.message-content{max-width:72ch;white-space:pre-wrap}.message-content a{overflow-wrap:anywhere}.message-content pre,.tool-output{background:#f1f3f6;color:#252932;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;padding:14px;border-radius:12px;max-width:100%}.message-content code{font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:#eef0f3;padding:2px 4px;border-radius:4px}.message-content pre code{background:transparent;padding:0}.message-content strong{font-weight:650}.empty{text-align:center;padding:64px 12px 42px}.empty img{border-radius:14px}.empty h1{font-size:26px;font-weight:600;letter-spacing:-.03em;margin:23px 0 13px;text-wrap:balance}.empty p{font-size:15px;color:var(--muted);line-height:1.7;margin:0 0 24px}.origin{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 26px}.older{display:block;margin:0 auto 18px}.activity{margin-top:24px;font-size:13px;color:var(--muted)}summary{min-height:44px;padding:12px 0;cursor:pointer}.tool{padding:6px 0;border-bottom:1px solid var(--line)}.tool summary{overflow-wrap:anywhere;color:#484d56}.tool-output{max-height:280px;margin:2px 0 10px}.run-status{font-size:12px;line-height:1.5;min-height:20px;color:var(--muted);margin-top:18px}.run-status.running{color:#144fae}.tail{height:24px}.composer-area{flex-shrink:0;padding:10px 28px max(9px,env(safe-area-inset-bottom));background:#fff}.composer{max-width:760px;margin:auto;background:var(--surface);padding:14px 15px 9px;border-radius:20px}.composer:focus-within{box-shadow:0 0 0 2px #b4cdf7}.composer textarea{border:0;outline:none;resize:none;background:transparent;width:100%;font-size:16px;line-height:1.5;min-height:48px;max-height:var(--composer-max-height,150px);padding:0;caret-color:var(--blue);overscroll-behavior:contain}.composer textarea::placeholder{color:#626977;opacity:1}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer select{border:0;background:transparent;min-height:44px;max-width:calc(100% - 54px);font-size:12px;color:var(--muted);padding:8px 4px;border-radius:8px;text-overflow:ellipsis}.send-button{border:0;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center}.send-button:hover,.primary:hover{background:#124aaa}.stop-button{display:flex;align-items:center;gap:6px;border:0;background:#fff;color:#7a3029;border-radius:10px;min-height:44px;font-size:13px;padding:8px 10px}.stop-button svg{width:16px;height:16px}.composer-note{max-width:760px;margin:8px auto 0;text-align:center;color:var(--muted);font-size:10px;line-height:1.45}.primary,.secondary{min-height:46px;border:0;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.primary{background:var(--blue);color:#fff}.secondary{background:var(--surface);color:var(--ink)}.secondary:hover{background:#e9edf2}dialog{border:0;border-radius:20px;padding:24px;width:min(460px,calc(100% - 24px));max-height:85dvh;overflow:auto;box-shadow:0 14px 45px #10182833;color:var(--ink);background:#fff}dialog::backdrop{background:#18223066}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{font-size:22px;font-weight:600;margin:0}dialog h3{font-size:15px;margin:27px 0 8px}dialog p{font-size:14px;line-height:1.65;color:var(--muted)}dialog .secondary{width:100%;margin:5px 0}.version{font-size:12px!important;margin:24px 0 0}.toast{position:fixed;z-index:30;bottom:calc(180px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);border-radius:12px;background:#242a34;color:white;padding:12px 16px;box-shadow:0 8px 25px #10182826;font-size:14px;line-height:1.5}.mobile-only{display:none}.login-page{min-height:100dvh;background:var(--surface);display:grid;place-items:center;padding:30px 20px}.login-panel{width:100%;max-width:360px}.login-panel h1{font-size:28px;letter-spacing:-.025em;margin:24px 0 13px}.login-panel>p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 30px}.login-panel form, #project-form{display:grid;gap:9px}.login-panel label,#project-form label{font-size:14px;font-weight:500;margin-top:9px}.login-panel input,#project-form input{font-size:16px;min-height:48px;padding:11px 12px;border:1px solid #c7ced9;background:#fff;border-radius:10px;width:100%;caret-color:var(--blue)}.login-panel .primary,#project-form .primary{margin-top:16px;width:100%}.login-note{font-size:12px!important;margin:25px 0 0!important}.field-help{font-size:12px!important}.backdrop{display:none}
@media(max-width:760px){.mobile-only{display:inline-flex}.sidebar{position:absolute;inset:0 auto 0 0;width:min(320px,88vw);z-index:15;height:100%;transform:translateX(-100%);transition:transform 180ms cubic-bezier(.2,.8,.2,1);padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}.sidebar.open{transform:translateX(0)}.brand{margin-bottom:24px}.brand .icon-button{margin-left:auto}.backdrop{display:block;position:absolute;inset:0;z-index:14;border:0;background:#17233466}.toolbar{gap:4px;min-height:calc(64px + env(safe-area-inset-top));padding:calc(6px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left))}.heading{padding:0 5px}.heading strong{font-size:16px}.heading span{max-width:calc(100vw - 125px);font-size:11px}.toolbar .preview{padding:10px;font-size:12px}.toolbar .preview svg{display:none}.transcript{padding:22px max(17px,env(safe-area-inset-right)) 0 max(17px,env(safe-area-inset-left))}.message{line-height:1.6}.message.user{max-width:94%}.messages{gap:24px}.composer-area{padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.composer{padding:12px 13px 8px}.composer-note{font-size:10px}.empty{padding:50px 0 30px}.empty h1{font-size:24px}.empty p{font-size:14px}.banner{padding:9px 16px;font-size:12px}.main>.error{margin:8px 12px 0;font-size:13px}dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;border-radius:20px 20px 0 0;padding:22px 22px max(24px,env(safe-area-inset-bottom))}.login-page{padding-top:max(30px,env(safe-area-inset-top));padding-bottom:max(30px,env(safe-area-inset-bottom))}}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-height:500px){.keyboard-open .toolbar{min-height:44px;padding-top:0;padding-bottom:0}.keyboard-open .heading span,.keyboard-open .composer-note{display:none}.keyboard-open .composer-area{padding-bottom:8px}.keyboard-open .transcript{padding-top:8px}.keyboard-open .empty{padding-top:10px}.keyboard-open .empty img{display:none}.keyboard-open .empty h1{margin-top:10px}.keyboard-open .origin{margin-bottom:12px}.keyboard-open .banner{max-height:48px;overflow:auto}.keyboard-compact .toolbar{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.composer-note{font-size:12px}
@media(max-width:760px){.heading span{font-size:12px}.composer-note{font-size:12px}}
