:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172126;background:#f5f7f8;font-synthesis:none;letter-spacing:0;--border: #d8dfe2;--border-strong: #bcc7cb;--surface: #ffffff;--surface-muted: #eef2f3;--text: #172126;--text-muted: #66747b;--teal: #16766f;--teal-dark: #0e5c57;--coral: #c85f4c;--danger: #a53f36;--warning-bg: #fff4dc;--editor: #171b1d}*{box-sizing:border-box;letter-spacing:0}html,body,#root{width:100%;min-width:0;height:100%;margin:0}body{overflow:hidden;background:#f5f7f8}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2d8f87;outline-offset:2px}.studio-page,.studio-workspace-page{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;background:#f5f7f8}.studio-header{z-index:10;display:grid;width:100%;height:58px;min-height:58px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;border-bottom:1px solid var(--border);background:#fffffff5;padding:0 18px}.studio-header-leading{display:flex;min-width:0;align-items:center;gap:8px}.studio-header>:last-child{justify-self:end}.studio-brand{display:inline-flex;min-width:0;align-items:center;gap:9px;color:var(--text);text-decoration:none}.studio-brand-icon,.brand-mark{display:inline-grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid #a7c9c5;border-radius:7px;background:#dff0ed;color:var(--teal-dark)}.studio-brand-icon svg,.brand-mark svg{width:19px;height:19px}.studio-brand>span:last-child{display:flex;min-width:0;flex-direction:column;line-height:1.1}.studio-brand strong{font-size:14px}.studio-brand small{margin-top:3px;color:var(--text-muted);font-size:10px}.project-id{display:block;max-width:min(36vw,360px);overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:inline-grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;text-decoration:none}.icon-button:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.icon-button:disabled{cursor:default;opacity:.45}.icon-button svg{width:18px;height:18px}.icon-button.small{width:28px;height:28px;flex-basis:28px}.icon-button.small svg{width:15px;height:15px}.button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:700;line-height:1;cursor:pointer;text-decoration:none}.button svg{width:16px;height:16px}.button:disabled{cursor:default;opacity:.5}.button-primary{border-color:var(--teal);background:var(--teal);color:#fff}.button-primary:hover:not(:disabled){border-color:var(--teal-dark);background:var(--teal-dark)}.button-secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.button-secondary:hover:not(:disabled),.button-ghost:hover:not(:disabled){background:var(--surface-muted)}.button-ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.button.compact{min-height:30px;padding:6px 10px;font-size:12px}.eyebrow{margin:0 0 5px;color:var(--coral);font-size:11px;font-weight:800;text-transform:uppercase}.library-main{width:min(1120px,100%);min-height:0;margin:0 auto;overflow-y:auto;padding:38px 30px 56px}.library-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.library-toolbar h1{margin:0;font-size:28px;line-height:1.15}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px}.project-card{min-width:0;min-height:154px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.project-card:hover{border-color:#9eb8b5;box-shadow:0 8px 22px #1f333a14}.project-card>button{display:grid;width:100%;height:100%;min-height:154px;grid-template-columns:42px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:12px;border:0;background:transparent;padding:18px;color:var(--text);cursor:pointer;text-align:left}.project-card-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:7px;background:#e5f0ef;color:var(--teal-dark)}.project-card-icon svg{width:21px;height:21px}.project-card-body{display:flex;min-width:0;flex-direction:column;gap:7px;padding-top:2px}.project-card-body strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.project-card-body span{color:var(--text-muted);font-size:12px}.project-card-footer{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px;color:var(--text-muted);font-size:11px}.project-card-footer>span{display:inline-flex;min-width:0;align-items:center;gap:6px}.project-card-footer svg{width:14px;height:14px}.center-state,.workspace-gate,.not-found{display:flex;min-height:300px;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--text-muted);text-align:center}.center-state>svg,.workspace-gate>svg,.empty-state>svg{width:28px;height:28px}.center-state strong,.workspace-gate strong,.not-found strong{color:var(--text);font-size:16px}.empty-state{min-height:360px;border:1px dashed var(--border-strong);border-radius:8px;background:#ffffff8a}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#131d216b;padding:20px}.dialog{width:min(440px,100%);border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 22px 60px #14202533;padding:22px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.dialog-heading h2{margin:0;font-size:20px}.field{display:flex;flex-direction:column;gap:7px;margin-top:15px;color:var(--text-muted);font-size:12px;font-weight:700}.field input,.field select,.auth-form input{width:100%;height:40px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;padding:0 11px;color:var(--text);outline:none}.field input:focus,.field select:focus,.auth-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #16766f1f}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.form-error,.auth-error{margin:14px 0 0;color:var(--danger);font-size:12px;line-height:1.5}.auth-page{display:grid;width:100%;height:100%;place-content:center;gap:10px;background:#edf1f2;color:var(--text-muted);font-size:13px;text-align:center}.auth-panel{display:flex;width:min(390px,calc(100vw - 32px));flex-direction:column;align-items:stretch;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:30px;text-align:left;box-shadow:0 16px 42px #1f333a1a}.auth-panel .brand-mark{margin-bottom:20px}.auth-panel h1{margin:0 0 24px;color:var(--text);font-size:24px}.auth-action{width:100%}.auth-form{display:flex;flex-direction:column;gap:13px;margin-top:14px}.auth-form label{display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:12px;font-weight:700}.workspace-gate{min-height:0;flex:1}.workspace-shell{display:flex;min-height:0;flex:1;flex-direction:column}.workspace-status{display:flex;height:30px;min-height:30px;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--border);background:#edf4f3;padding:0 14px;color:var(--teal-dark);font-size:11px;font-weight:700}.workspace-status span{display:inline-flex;align-items:center;gap:6px}.workspace-status span.disconnected{color:var(--coral)}.workspace-status svg{width:13px;height:13px}.workspace-main{display:grid;min-width:0;min-height:0;flex:1;grid-template-columns:244px minmax(0,1fr) minmax(300px,25vw);overflow:hidden}.workspace-tabs{display:flex;height:38px;min-height:38px;align-items:stretch;border-bottom:1px solid var(--border);background:var(--surface);padding-left:244px}.workspace-tabs button{display:inline-flex;min-width:94px;align-items:center;justify-content:center;gap:6px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:700}.workspace-tabs button:hover,.workspace-tabs button.active{color:var(--teal-dark)}.workspace-tabs button.active{border-bottom-color:var(--teal)}.workspace-tabs svg{width:14px;height:14px}.workspace-tabs .mobile-only{display:none}.workspace-files-panel,.workspace-center,.workspace-agent-panel{min-width:0;min-height:0;overflow:hidden}.workspace-files-panel>.file-tree,.workspace-center>.editor-pane,.workspace-center>.editor-empty,.workspace-center>.managed-process-surface,.workspace-center>.processes-panel,.workspace-agent-panel>.agent-panel{width:100%;height:100%}.file-tree{display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}.workspace-agent-panel{border-left:1px solid var(--border);background:var(--surface)}.agent-panel{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--surface)}.agent-heading{display:flex;height:40px;min-height:40px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 8px 0 12px;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.agent-heading>span{display:inline-flex;align-items:center;gap:6px}.agent-heading svg{width:14px;height:14px}.agent-thread-select{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:7px 10px;color:var(--text-muted);font-size:10px;font-weight:700}.agent-thread-select select{min-width:0;height:30px;border:1px solid var(--border);border-radius:5px;background:var(--surface);padding:0 7px;color:var(--text);font-size:11px}.agent-messages{min-height:0;flex:1;overflow:auto;background:#f8faf9;padding:12px 10px}.agent-message{max-width:94%;margin:0 0 12px}.agent-message strong{display:block;margin:0 0 4px;color:var(--text-muted);font-size:10px}.agent-message p{margin:0;border-left:2px solid var(--border-strong);padding:2px 0 2px 9px;color:var(--text);font-size:12px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.agent-message.user{margin-left:auto}.agent-message.user strong{text-align:right}.agent-message.user p{border-right:2px solid var(--teal);border-left:0;padding-right:9px;padding-left:0}.agent-message.system p{color:var(--text-muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.agent-message.streaming p{border-color:var(--coral)}.agent-state{display:flex;min-height:160px;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:16px;color:var(--text-muted);font-size:12px;text-align:center}.agent-state>svg{width:22px;height:22px}.agent-state.error,.agent-inline-error{color:var(--danger)}.agent-running{display:flex;align-items:center;gap:6px;margin:3px 0 10px;color:var(--teal-dark);font-size:11px}.agent-running svg{width:13px;height:13px}.agent-inline-error{border-top:1px solid #e6beb9;padding:8px 0;font-size:11px}.agent-composer{position:relative;border-top:1px solid var(--border);background:var(--surface);padding:9px}.agent-composer textarea{display:block;width:100%;min-height:68px;resize:none;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);padding:9px 42px 9px 9px;color:var(--text);font:inherit;font-size:12px;line-height:1.45;outline:none}.agent-composer textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #16766f1f}.agent-send{position:absolute;right:14px;bottom:14px;background:var(--teal);color:#fff}.agent-send:hover:not(:disabled){background:var(--teal-dark);color:#fff}.unavailable-surface{display:flex;width:100%;height:100%;min-height:0;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:#f7f9f9;color:var(--text-muted);text-align:center}.unavailable-surface>svg{width:26px;height:26px}.unavailable-surface strong{color:var(--text);font-size:14px}.unavailable-surface span{font-size:12px}.managed-process-surface,.processes-panel{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--editor)}.processes-panel>.managed-process-surface{min-height:0;flex:1}.process-command-tabs{display:flex;height:40px;min-height:40px;align-items:stretch;border-bottom:1px solid #30373a;background:#202629;padding:0 8px}.process-command-tabs button{display:inline-flex;min-width:92px;align-items:center;justify-content:center;gap:6px;border:0;border-bottom:2px solid transparent;background:transparent;color:#9ba6ab;cursor:pointer;font-size:11px;font-weight:700}.process-command-tabs button.active{border-bottom-color:#58b8af;color:#e4ecef}.process-command-tabs svg{width:14px;height:14px}.process-toolbar{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #30373a;background:#202629;padding:0 10px 0 13px}.process-title,.process-actions{display:flex;min-width:0;align-items:center;gap:8px}.process-title{color:#d5dde0;font-size:12px}.process-title>svg{width:15px;height:15px;color:#8f9ba0}.process-state{border:1px solid #475156;border-radius:4px;padding:3px 6px;color:#9ba6ab;font-size:10px;font-weight:700}.process-state.running{border-color:#3c817b;color:#70c9c0}.process-state.failed{border-color:#8f4d46;color:#ef958b}.process-actions .icon-button{color:#9ba6ab}.process-error{border-bottom:1px solid #6d403b;background:#3c2624;padding:8px 12px;color:#efaaa2;font-size:11px}.preview-frame{min-width:0;min-height:180px;flex:1;background:#fff}.preview-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}.preview-frame-loading{display:flex;width:100%;height:100%;align-items:center;justify-content:center;gap:8px;color:#65747b;font-size:12px}.preview-frame-loading svg{width:17px;height:17px}.preview-process .process-console{flex:0 0 136px;border-top:1px solid #30373a}.publish-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border-bottom:1px solid #315f5b;background:#163633;padding:12px 14px;color:#d8f4f1;font-size:12px}.publish-result>span{color:#86c8c1;font-size:11px}.publish-result .button{text-decoration:none}@media(max-width:600px){.publish-result{grid-template-columns:minmax(0,1fr) auto}.publish-result .button{grid-column:1 / -1}}.process-console{min-height:0;flex:1;overflow:auto;padding:12px 14px;color:#c3ccd0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65}.process-console>div:not(.process-console-empty){display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;overflow-wrap:anywhere;white-space:pre-wrap}.process-console>div>span{color:#65747b;font-size:9px;text-transform:uppercase}.process-console>div.stderr{color:#efaaa2}.process-console-empty{color:#6f7b80}.file-tree-heading{display:flex;height:40px;min-height:40px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 8px 0 13px;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.file-tree-heading-actions,.file-tree-actions{display:inline-flex;align-items:center}.file-tree-mutation-error{border-bottom:1px solid #e6beb9;background:#fff0ee;padding:7px 10px;color:var(--danger);font-size:11px;overflow-wrap:anywhere}.file-tree-scroll{min-height:0;flex:1;overflow:auto;padding:6px 5px}.file-tree-row{display:flex;width:100%;min-width:0;height:30px;align-items:center;gap:2px;border-radius:5px;background:transparent;padding-right:3px;color:#3f4c52;cursor:pointer;font-size:12px;text-align:left}.file-tree-open{display:flex;min-width:0;height:100%;flex:1;align-items:center;gap:5px;border:0;background:transparent;padding:0;color:inherit;cursor:pointer;text-align:left}.file-tree-actions{flex:0 0 auto;opacity:0}.file-tree-row:hover .file-tree-actions,.file-tree-row:focus-within .file-tree-actions{opacity:1}.file-tree-actions button{display:inline-grid;width:24px;height:24px;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer}.file-tree-actions button:hover{background:#fffc;color:var(--text)}.file-tree-actions svg{width:12px;height:12px}.file-tree-row:hover{background:var(--surface-muted)}.file-tree-row.active{background:#dcecea;color:var(--teal-dark)}.file-tree-caret,.file-tree-icon{display:inline-grid;width:15px;height:15px;flex:0 0 15px;place-items:center;color:#718087}.file-tree-icon.directory{color:var(--coral)}.file-tree-caret svg,.file-tree-icon svg{width:14px;height:14px}.file-tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-note{display:flex;min-height:28px;align-items:center;gap:5px;border:0;background:transparent;color:var(--text-muted);font-size:11px}button.file-tree-note{width:100%;cursor:pointer;text-align:left}.file-tree-note svg{width:12px;height:12px}.file-tree-note.error,.file-tree-state.error{color:var(--danger)}.file-tree-state{display:flex;min-height:120px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:14px;color:var(--text-muted);font-size:12px;text-align:center}.file-tree-state svg{width:17px;height:17px}.editor-pane,.editor-empty{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--editor)}.editor-empty{align-items:center;justify-content:center;gap:10px;color:#849097;font-size:13px}.editor-empty svg{width:28px;height:28px}.editor-toolbar{display:flex;height:40px;min-height:40px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #30373a;background:#202629;padding:0 8px 0 12px}.editor-file-name{display:flex;min-width:0;align-items:center;gap:7px;color:#c8d0d4;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.editor-file-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-file-name svg{width:14px;height:14px;flex:0 0 14px}.editor-file-name i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#f1a25e}.editor-surface{min-height:0;flex:1}.editor-loading{display:flex;height:100%;align-items:center;justify-content:center;gap:8px;color:#9ba6ab;font-size:12px}.editor-loading svg{width:17px;height:17px}.editor-banner{display:flex;min-height:42px;align-items:center;gap:9px;border-bottom:1px solid;padding:6px 10px;font-size:12px}.editor-banner>span{min-width:0;flex:1}.editor-banner>svg{width:16px;height:16px;flex:0 0 16px}.editor-banner.conflict{border-color:#d5b362;background:var(--warning-bg);color:#6e5312}.editor-banner.error{border-color:#c77b73;background:#fff0ee;color:var(--danger)}.spin{animation:studio-spin .8s linear infinite}@keyframes studio-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.studio-header{height:54px;min-height:54px;grid-template-columns:minmax(0,1fr) auto;padding:0 10px}.studio-header .project-id{display:none}.library-main{padding:26px 16px 40px}.library-toolbar{align-items:flex-start}.library-toolbar h1{font-size:23px}.library-toolbar .button{min-width:40px;padding-inline:10px}.project-grid{grid-template-columns:1fr}.workspace-main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.workspace-tabs{height:44px;min-height:44px;overflow-x:auto;padding-left:0}.workspace-tabs .mobile-only{display:inline-flex}.workspace-tabs button{min-width:76px;flex:1 0 76px;font-size:10px}.workspace-files-panel,.workspace-center,.workspace-agent-panel{display:none;grid-area:1 / 1}.workspace-files-panel.mobile-active,.workspace-center.mobile-active,.workspace-agent-panel.mobile-active{display:block}.workspace-files-panel .file-tree{border-right:0;border-bottom:1px solid var(--border)}.workspace-agent-panel{border-left:0}.file-tree-actions{opacity:1}.process-toolbar{min-height:52px}.process-command-tabs{overflow-x:auto}.process-command-tabs button{min-width:104px;flex:1 0 104px}.dialog{padding:18px}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}
