:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;--chat-width:390px;--chat-bg:#191919;--chat-muted:#929292;--line:#303030;--accent:#008b73;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#191919;color:#ececec;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,color .15s,opacity .15s}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid #59c3a7;outline-offset:3px}button svg{width:18px;height:18px;stroke:currentColor;flex-shrink:0}button span[data-icon]{display:inline-flex}.hidden{display:none!important}.workspace{height:100dvh;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 5px var(--chat-width)}.document-panel{min-width:0;display:flex;flex-direction:column;background:#f0f2f5;color:#313946}.document-header{height:56px;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid #d8dde4;background:#fafbfc}.document-brand{min-width:0;display:flex;align-items:center;gap:11px}.document-mark{width:32px;height:35px;display:grid;place-items:center;border-radius:5px;color:#fff;background:#2156a3;font-size:21px;font-weight:700;box-shadow:4px 0 #4474b6}.document-brand>div{min-width:0;display:flex;flex-direction:column;gap:3px}.document-brand strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(45vw,440px)}.document-brand>div>span{font-size:11px;color:#687687}.document-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.quiet-button{border:0;background:transparent;color:#536274;height:34px;padding:0 9px;border-radius:6px;font-size:12px}.quiet-button:hover{background:#e7ecf2}.save-button{background:#fff;color:#3b526e;border:1px solid #cdd6df;height:34px;border-radius:6px;padding:0 11px;font-size:12px;box-shadow:0 1px 2px #273c5010}.save-button:hover{background:#eef4f9}.save-button.dirty{color:#2156a3;border-color:#98b6dc}.editor-area{flex:1;min-height:0;position:relative}.editor-area>#document-editor{height:100%;width:100%}.editor-overlay{position:absolute;inset:0;background:#f0f2f5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:12px;color:#48566a;z-index:3}.editor-overlay p{max-width:420px;font-size:13px;line-height:1.6;color:#7b8796;margin:0}.loading-ring{border:3px solid #d6dfe9;border-top-color:#4c76b1;border-radius:50%;width:30px;height:30px;animation:spin .9s linear infinite;margin-bottom:4px}@keyframes spin{to{transform:rotate(360deg)}}.resize-handle{cursor:col-resize;background:#252525;position:relative;z-index:6;touch-action:none}.resize-handle:hover,.resize-handle:focus,.resizing .resize-handle{background:#667e80}.resizing{user-select:none}.resizing iframe{pointer-events:none}.chat-panel{position:relative;min-width:0;display:flex;flex-direction:column;background:var(--chat-bg);height:100dvh;overflow:hidden}.chat-header{height:64px;min-height:64px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid #2e2e2e}.avatar{height:28px;width:28px;object-fit:cover;object-position:center;background:white;border-radius:50%;flex-shrink:0}.chat-heading{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.chat-heading strong{font-size:14px;letter-spacing:-.15px}.chat-heading>span{font-size:11px;color:var(--chat-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-actions{display:flex;align-items:center;gap:2px}.icon-button{background:transparent;border:0;color:#b9b9b9;padding:0;width:30px;height:32px;border-radius:7px;flex-shrink:0}.icon-button:hover{background:#343434;color:#fff}.account-button{height:30px;padding:0 9px;border:1px solid #464646;border-radius:7px;background:transparent;color:#d8d8d8;font-size:12px;font-weight:600;margin-left:3px}.account-button.admin{border-color:#186b55;color:#77d1b5}.messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 18px 16px;scrollbar-width:thin;scrollbar-color:#4a4a4a transparent}.message{margin-bottom:27px;min-width:0}.message-heading{display:flex;gap:9px;align-items:center;margin-bottom:10px;font-size:13px;font-weight:600}.message-heading .avatar{width:25px;height:25px}.message-content{line-height:1.72;font-size:14px;overflow-wrap:anywhere;white-space:normal}.message-content>p{margin:0 0 12px}.message-content>p:last-child{margin-bottom:0}.message-content h2,.message-content h3{font-size:16px;line-height:1.45;margin:18px 0 9px}.message-content h4{font-size:14px;margin:15px 0 8px}.message-content ul,.message-content ol{padding-left:21px;margin:9px 0 12px}.message-content li{padding-left:2px;margin:4px 0}.message-content a{color:#8bc3fd;text-decoration:underline;text-underline-offset:3px}.message-content code{font-family:Consolas,monospace;font-size:.9em;background:#303030;padding:2px 4px;border-radius:4px}.message-content pre{padding:13px;background:#111;border:1px solid #303030;border-radius:8px;overflow:auto;white-space:pre;line-height:1.5}.message-content pre code{padding:0;background:none}.message-content blockquote{border-left:3px solid #666;margin:12px 0;padding:0 0 0 12px;color:#b7b7b7}.message.user{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-top:11px}.user-bubble{max-width:95%;padding:11px 15px;border-radius:18px 18px 3px 18px;background:#303030;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.message.optimistic{opacity:.85}.message.error .message-content,.run-error{color:#ff9f9f}.message-attachments{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:7px}.message-attachment{color:#c5c5c5;text-decoration:none;border:1px solid #3e3e3e;border-radius:9px;font-size:11px;padding:7px 9px;max-width:100%;overflow-wrap:anywhere}.message-attachment img{display:block;width:130px;height:90px;object-fit:cover;border-radius:6px;margin-bottom:6px}.run-card{margin-bottom:22px;font-size:12px}.run-status{display:flex;align-items:center;gap:8px;color:#bbb;line-height:1.5;padding-bottom:7px}.run-dot{width:6px;height:6px;border-radius:50%;background:#77bcaa;animation:pulse 1.5s ease-in-out infinite;flex-shrink:0}@keyframes pulse{50%{opacity:.3}}.run-card details>summary{color:#9b9b9b;cursor:pointer;padding:4px 0;list-style:none}.run-card details>summary:before{content:'▸';margin-right:6px}.run-card details[open]>summary:before{content:'▾'}.run-steps{list-style:none;padding:6px 0 0;margin:0;max-height:280px;overflow-y:auto;scrollbar-width:thin}.run-steps li{display:flex;align-items:flex-start;gap:8px;padding:6px 0;color:#bbb}.step-symbol{width:13px;color:#82c6b3;text-align:center;flex-shrink:0}.step-symbol.error{color:#ffadad}.step-error{color:#bba6a6;font-size:11px;line-height:1.55;padding:4px 0 2px;overflow-wrap:anywhere}.run-error{line-height:1.6;margin-top:10px}.composer-area{padding:0 15px 8px;background:var(--chat-bg);flex-shrink:0}.composer{display:flex;align-items:flex-end;gap:5px;background:#262626;border:1px solid #424242;border-radius:19px;padding:8px 7px 8px 9px;box-shadow:0 2px 8px #0002}.composer:focus-within{border-color:#606060}.composer textarea{flex:1;min-width:0;background:transparent;color:#ececec;border:0;resize:none;outline:none!important;padding:9px 2px 6px;max-height:min(200px,30dvh);min-height:35px;font-size:13px;line-height:1.55;scrollbar-width:thin}.composer textarea::placeholder{color:#8e8e8e}.attach-button{height:35px}.send-button{width:35px;height:35px;background:#eee;border:0;border-radius:50%;color:#222;flex-shrink:0}.send-button:hover{background:#fff}.send-button.stopping{background:#ebebeb}.send-button.stopping svg{width:15px;height:15px}.composer-hint{color:#666;font-size:9px;text-align:center;margin:7px 0 0;line-height:1.4}.attachment-queue{display:flex;gap:7px;padding:0 0 10px;overflow-x:auto;max-height:95px;scrollbar-width:thin}.queued-file{height:65px;position:relative;border:1px solid #424242;border-radius:10px;display:flex;align-items:center;gap:8px;background:#292929;padding:6px 9px;min-width:100px;max-width:190px;flex-shrink:0}.queued-file img{width:47px;height:47px;border-radius:5px;object-fit:cover}.queued-file>span{font-size:11px;color:#bbb;max-width:105px;overflow:hidden;text-overflow:ellipsis}.queued-file>button{position:absolute;right:2px;top:2px;border:0;border-radius:50%;width:19px;height:19px;background:#131313;color:#ddd;font-size:13px}.connection-notice{font-size:11px;line-height:1.55;color:#d9ba86;padding:10px 11px;margin-bottom:10px;border:1px solid #62533b;border-radius:10px;background:#30291f}.history-panel{position:absolute;inset:64px 0 auto;max-height:calc(100dvh - 155px);display:flex;flex-direction:column;z-index:10;background:#222;border-bottom:1px solid #444;box-shadow:0 18px 40px #0008}.history-heading{height:48px;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 17px}.history-heading strong{font-size:13px}.history-list{overflow-y:auto;padding:0 9px 11px;scrollbar-width:thin}.history-item{display:flex;gap:4px;align-items:center;border-radius:8px;margin:3px 0}.history-item.active{background:#353535}.history-open{flex:1;min-width:0;border:0;background:transparent;color:#ddd;text-align:left;justify-content:flex-start;padding:10px 9px;border-radius:8px;display:flex;align-items:flex-start;flex-direction:column;gap:5px}.history-open:hover{background:#303030}.history-open strong{font-weight:400;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%;font-size:12px}.history-open span{color:#929292;font-size:10px}.history-delete{color:#919191;width:30px;margin-right:4px}.history-delete svg{width:15px;height:15px}.history-empty{padding:20px 9px;color:#999;font-size:12px}.expand-chat{display:none;color:#54667a}.workspace.collapsed{grid-template-columns:minmax(0,1fr)}.collapsed .chat-panel,.collapsed .resize-handle{display:none}.collapsed .expand-chat{display:inline-flex}.account-dialog,.confirm-dialog{width:min(430px,calc(100vw - 32px));border:1px solid #454545;background:#242424;color:#eee;border-radius:16px;padding:22px;box-shadow:0 20px 90px #0009}.account-dialog::backdrop,.confirm-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.eyebrow{font-size:9px;letter-spacing:1.3px;color:#929292}.modal-header h2,.confirm-dialog h2{font-size:19px;margin:7px 0 0;font-weight:600}.account-dialog label{display:flex;flex-direction:column;gap:8px;color:#c7c7c7;font-size:12px;margin-bottom:15px}.account-dialog input{width:100%;height:41px;border-radius:7px;border:1px solid #4c4c4c;background:#1b1b1b;padding:0 11px;color:#eee}.primary-button,.secondary-button,.danger-button{min-height:36px;border-radius:7px;padding:0 13px;font-size:12px}.primary-button{background:#0f8a70;color:white;border:1px solid #109c7e;width:100%}.primary-button:hover{background:#15957b}.secondary-button{border:1px solid #4e4e4e;background:#313131;color:#ddd}.secondary-button:hover{background:#3c3c3c}.editor-overlay .secondary-button{background:white;color:#42566e;border-color:#bdc9d7}.danger-button{background:#a43f43;border:1px solid #ba5355;color:#fff}.settings-card{border:1px solid #414141;border-radius:10px;padding:14px;margin-bottom:20px}.settings-title{display:flex;align-items:center;justify-content:space-between;gap:7px}.settings-title strong{font-size:13px}.status-pill{font-size:10px;color:#ccc;background:#3b3b3b;border-radius:10px;padding:4px 8px}.status-pill.connected{color:#8dd8bc;background:#203e33}.settings-description{font-size:11px;line-height:1.6;color:#aaa;margin:10px 0 12px}.field-hint{font-size:10px;color:#929292;line-height:1.55;margin:-6px 0 16px}.logout-button{display:flex;margin:16px auto 0;border:0;background:none;color:#bdbdbd;font-size:12px;padding:8px}.form-error{color:#ffaaaa;font-size:12px;line-height:1.6;margin:15px 0 0}.confirm-dialog p{font-size:12px;color:#aaa;line-height:1.65;margin:15px 0 22px}.confirm-actions{display:flex;justify-content:flex-end;gap:9px}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:11px 16px;background:#2c3732;color:#e1eee6;border:1px solid #51675b;font-size:12px;line-height:1.55;border-radius:10px;box-shadow:0 6px 28px #0005;z-index:50}.toast.error{background:#412e2e;border-color:#7e5151;color:#ffd7d7}@media(max-width:900px){:root{--chat-width:350px}.document-header{padding:0 11px}.document-brand strong{max-width:170px}.button-label{display:none}.chat-header{gap:5px;padding:0 7px}.chat-heading strong{font-size:13px}.chat-actions .icon-button{width:27px}.messages{padding:19px 14px}.composer-area{padding:0 10px 8px}}@media(max-width:650px){.workspace{grid-template-columns:minmax(0,1fr)}.chat-panel{position:fixed;right:0;top:0;width:min(390px,100vw);z-index:12;box-shadow:-12px 0 45px #0004}.resize-handle{display:none}.document-brand strong{max-width:36vw}.document-actions{gap:4px}.document-header{padding:0 10px}.document-actions .expand-chat{display:inline-flex}.save-button{font-size:11px;padding:0 7px}.document-brand{gap:8px}.document-mark{width:25px;height:29px;font-size:18px}.chat-heading{flex:1}.messages{font-size:13px}.chat-panel .chat-header{gap:8px;padding:0 10px}.chat-actions .icon-button{width:29px}}
.editor-host{position:absolute;inset:0;z-index:1}.editor-host>div,.editor-host iframe{width:100%;height:100%;border:0}.editor-host.inactive{visibility:hidden;pointer-events:none;z-index:0}.editor-overlay{z-index:3}.editor-switch{display:flex;gap:2px;background:#e8edf4;border:1px solid #d5dde7;border-radius:8px;padding:3px;flex-shrink:0}.editor-switch button{height:28px;padding:0 12px;background:transparent;border:0;border-radius:5px;color:#64748b;font-size:12px;font-weight:600}.editor-switch button[aria-pressed=true]{background:#fff;color:#2157a5;box-shadow:0 1px 3px #0001}#switch-excel[aria-pressed=true]{color:#168058}.document-mark.excel{background:#18724a}.message-document-type{display:block;color:#a6b6ad;font-size:10px;line-height:1.4;margin-bottom:4px;text-transform:uppercase;letter-spacing:.4px}@media(max-width:900px){.editor-switch button{padding:0 7px}}@media(max-width:650px){.document-brand{min-width:0}.document-brand strong{max-width:20vw}.editor-switch button{padding:0 6px}.document-actions{gap:5px}}
.run-timing{font-size:11px;color:#aaa;line-height:1.6;margin:5px 0 9px}.run-steps{max-height:320px;overflow-y:auto;overflow-wrap:anywhere}.run-steps li{white-space:pre-wrap}
