:root{color-scheme:light;--bg: #f6f3ee;--surface: #fffdf8;--surface-alt: #efe5d9;--text: #1f2a30;--muted: #647581;--accent: #0f7a8a;--accent-strong: #0a5b68;--ok: #1f7a44;--error: #b53939;--border: #d9cfc2}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,Helvetica Neue,sans-serif;background:radial-gradient(circle at 10% 10%,#fdf3df 0%,var(--bg) 45%,#ece8e2 100%);color:var(--text);min-height:100dvh}a{color:inherit}.app-shell{min-height:calc(var(--app-vh, 1vh) * 100);height:calc(var(--app-vh, 1vh) * 100);display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:linear-gradient(120deg,#fffdf8,#f6efe2);position:sticky;top:0;z-index:1}.header h1{margin:0;font-size:1.45rem}.header p{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}.header-right{display:flex;align-items:center;gap:1rem}.header-right nav{display:flex;gap:.75rem}.header-right nav a{text-decoration:none;font-weight:600}main{padding:1rem}.app-main{flex:1;overflow:hidden}.header-select-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}.header-select-label select{min-width:170px}.header-status{display:inline-flex;align-items:center;gap:.4rem}.status-dot{width:.55rem;height:.55rem;border-radius:999px;display:inline-block}.status-dot-online{background:#1f7a44}.status-dot-busy{background:#9f6708}.status-dot-offline{background:#b53939}.badge{border:1px solid var(--border);border-radius:999px;background:var(--surface-alt);padding:.25rem .65rem;font-size:.75rem}.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;position:relative}.agent-grid-refreshing{position:absolute;top:-1.4rem;right:0;display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--muted)}.card,.agent-card{background:var(--surface);border:1px solid var(--border);border-radius:.9rem;box-shadow:0 8px 22px #1f2a300f}.agent-card{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.agent-card-header{display:flex;justify-content:space-between;align-items:center}.agent-card h3{margin:0}.skills-row{display:flex;gap:.4rem;flex-wrap:wrap}.skills-row span,.tool-tag{background:#ecf6f8;border:1px solid #c5e4ea;border-radius:999px;padding:.2rem .45rem;font-size:.72rem}button,select,textarea{font:inherit}button{border:none;border-radius:.6rem;background:var(--accent);color:#fff;padding:.55rem .85rem;cursor:pointer}button:hover{background:var(--accent-strong)}button:disabled{opacity:.6;cursor:not-allowed}.status{border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.status-online{color:var(--ok);background:#e6f7ec}.status-busy{color:#9f6708;background:#fff4dc}.status-offline{color:var(--error);background:#fbe6e6}.workspace-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.4fr) minmax(320px,1fr);gap:1rem}.workspace-shell{height:100%;min-height:0}.workspace-shell [data-group]{height:100%}.workspace-panel-content{height:100%;min-height:0;overflow:hidden}.workspace-panel-content>.panel{height:100%;overflow:auto}.workspace-resize-handle{width:2px;background:#d4c6b6;position:relative}.workspace-resize-handle:hover,.workspace-resize-handle[data-resize-handle-active=pointer]{background:var(--accent)}.workspace-resize-handle:after{content:"";position:absolute;inset:0 -2px;cursor:col-resize}.column-left,.column-center,.column-right{display:flex;flex-direction:column;gap:1rem}.panel{padding:.9rem}.panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.panel-title-row h2{margin:0;font-size:1rem}.chat-header-block{display:grid;gap:.1rem}.chat-header-actions{display:inline-flex;align-items:center;gap:.45rem}.message-list{display:flex;flex-direction:column;gap:.65rem;min-height:15rem;max-height:min(45dvh,34rem);overflow:auto;margin:.9rem 0}.message-list-wrap{display:grid;gap:.35rem}.message-jump-btn{justify-self:center}.bubble{border-radius:.8rem;padding:.65rem}.bubble p{margin:.35rem 0 0;white-space:pre-wrap}.bubble-markdown{margin-top:.35rem}.bubble-markdown p,.bubble-markdown ul,.bubble-markdown ol,.bubble-markdown pre,.bubble-markdown table,.bubble-markdown blockquote{margin:.35rem 0}.bubble-markdown ul,.bubble-markdown ol{padding-left:1.25rem}.bubble-markdown a{color:var(--accent-strong)}.bubble-markdown blockquote{border-left:3px solid #c8d9df;padding-left:.55rem;color:var(--muted)}.bubble-markdown table{border-collapse:collapse;width:100%;font-size:.8rem}.bubble-markdown th,.bubble-markdown td{border:1px solid var(--border);padding:.25rem .35rem;text-align:left}.bubble-inline-code{background:#e9ecef;border:1px solid #d7dfe6;border-radius:.3rem;padding:.1rem .3rem;font-family:JetBrains Mono,monospace;font-size:.82em}.bubble-user{background:#e2f1f4}.bubble-assistant{background:#f1ece4}.chat-input{display:grid;gap:.6rem}.prompt-editor{border:1px solid var(--border);border-radius:.6rem;padding:.55rem .65rem;margin-bottom:.65rem;background:#f8f5ee}.prompt-editor summary{cursor:pointer;font-weight:600}.prompt-editor-body{margin-top:.6rem;display:grid;gap:.5rem}.prompt-editor-body textarea{width:100%;min-height:170px}.prompt-editor-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.prompt-profile-toolbar,.prompt-template-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.6rem}.prompt-profile-actions{display:inline-flex;gap:.35rem;flex-wrap:wrap}.picker{display:grid;gap:.25rem;font-size:.85rem}.model-picker{gap:.45rem}.picker-label-row{display:flex;align-items:center;justify-content:space-between}.model-search-input{width:100%}.model-picker-actions,.model-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.model-chip{border:1px solid var(--border);border-radius:999px;background:#f6f0e5;color:var(--text);font-size:.72rem;padding:.2rem .55rem;max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-select{width:100%;min-height:12rem;font-family:JetBrains Mono,monospace;font-size:.78rem}textarea,select,input{width:100%;border:1px solid var(--border);border-radius:.6rem;padding:.55rem;background:#fff}.prompt-template-meta,.memory-summary{margin:0}.memory-list{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.memory-list-item{display:grid;gap:.35rem;border:1px solid var(--border);border-radius:.55rem;background:#fff;padding:.45rem .55rem}.memory-list-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memory-empty{margin-top:0}.refined-prompt{margin-bottom:.75rem;border:1px solid #c4dfd8;background:#edf8f4;border-radius:.7rem;padding:.7rem}.refined-prompt h4{margin:0 0 .5rem}.refined-prompt pre,.file-preview{white-space:pre-wrap;overflow:auto;background:#f9f5ef;border:1px solid var(--border);border-radius:.5rem;padding:.6rem;margin:0 0 .65rem}.panel-empty{color:var(--muted);border:1px dashed var(--border);border-radius:.6rem;padding:.7rem;margin-top:.75rem}.panel-error{color:var(--error)}.panel-ok{color:var(--ok)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.stats-grid dt{font-size:.76rem;color:var(--muted)}.stats-grid dd{margin:.15rem 0 0;font-weight:700}.files-modified ul,.file-tree,.file-tree ul{padding-left:1rem}.file-tree-panel{display:flex;flex-direction:column;min-height:280px;max-height:420px}.file-tree-header{position:sticky;top:0;z-index:1;padding-bottom:.4rem;border-bottom:1px solid var(--border);background:var(--surface)}.file-tree-scroll{margin-top:.55rem;overflow-y:auto;overflow-x:hidden;flex:1}.file-tree-state{margin-top:.4rem}.file-tree,.tree-group{list-style:none;margin:0;padding:0}.tree-row{display:flex;align-items:center;gap:.35rem;width:100%;border:none;background:transparent;color:var(--text);border-radius:.45rem;padding-top:.3rem;padding-bottom:.3rem;text-align:left}.tree-row:hover,.tree-row:focus-visible{background:#e7f2f5;outline:none}.tree-row-selected{background:#d9ecf1;color:#0a5b68;font-weight:600}.tree-row-modified{background:#fff4d6;color:#8b5a00}.tree-directory{color:#655336}.tree-icon{width:1rem;flex-shrink:0}.tree-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-chevron{width:.85rem;transition:transform .12s ease}.tree-chevron-open{transform:rotate(90deg)}.tree-file.file-kind-py .tree-icon{color:#346c9c}.tree-file.file-kind-ts .tree-icon{color:#1d69bf}.tree-file.file-kind-text .tree-icon{color:#9b5e28}.tree-file.file-kind-data .tree-icon{color:#1d7b4f}.tree-loading{display:grid;gap:.45rem}.tree-skeleton{height:1.1rem;border-radius:.4rem;background:linear-gradient(90deg,#efe7db,#f7f1e8,#efe7db)}.file-link{border:none;background:transparent;color:var(--accent);padding:0}.file-meta{margin:.4rem 0;color:var(--muted);font-size:.85rem}.file-preview-overlay{position:fixed;inset:0;z-index:40;display:flex;justify-content:center;align-items:center;padding:1rem}.file-preview-backdrop{position:absolute;inset:0;border:none;margin:0;padding:0;background:#141b208c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.file-preview-dialog{position:relative;z-index:1;width:min(980px,100%);height:min(80vh,780px);background:#0d141f;border:1px solid #334155;border-radius:.9rem;color:#e2e8f0;display:flex;flex-direction:column;overflow:hidden}.file-preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.9rem;padding:.9rem;border-bottom:1px solid #334155;background:#111c2b}.file-preview-title-group h2{margin:0;font-size:1rem}.file-preview-path{margin:.35rem 0 0;color:#94a3b8;font-size:.82rem;word-break:break-all}.file-preview-actions{display:flex;gap:.4rem}.file-preview-actions .stream-toggle{display:inline-flex;align-items:center;gap:.35rem;background:#1e293b}.file-preview-actions .stream-toggle:hover{background:#334155}.file-preview-content{flex:1;overflow:auto;padding:.9rem}.file-preview-footer{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;padding:.75rem .9rem;border-top:1px solid #334155;background:#111c2b;color:#94a3b8;font-size:.82rem}.stream-toolbar{display:flex;align-items:center;gap:.4rem}.new-task-menu{position:relative}.new-task-menu summary{list-style:none}.new-task-menu summary::-webkit-details-marker{display:none}.new-task-menu-items{position:absolute;top:calc(100% + .35rem);right:0;z-index:5;min-width:190px;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);box-shadow:0 12px 22px #1f2a301f;padding:.35rem;display:grid;gap:.3rem}.new-task-menu-items button{width:100%;text-align:left;padding:.45rem .5rem;border-radius:.45rem;background:transparent;color:var(--text)}.new-task-menu-items button:hover{background:#ecf6f8}.stream-toggle{padding:.25rem .6rem;font-size:.75rem}.stream-log{display:flex;flex-direction:column;gap:.55rem;margin:.75rem 0;max-height:280px;overflow:auto;padding-right:.2rem}.stream-entry{border:1px solid var(--border);border-radius:.65rem;background:#faf7f2;padding:.55rem .65rem}.tool-display{display:grid;gap:.35rem}.tool-display details{border:1px solid var(--border);border-radius:.5rem;background:#fff;padding:.35rem .5rem}.tool-display summary{cursor:pointer;font-size:.8rem;color:var(--muted)}.tool-display pre{margin:.45rem 0 0;white-space:pre-wrap;overflow:auto}.spinner{animation:spin .9s linear infinite}.spinner-sm{width:.9rem;height:.9rem}.spinner-md{width:1.2rem;height:1.2rem}.spinner-lg{width:1.7rem;height:1.7rem}.skeleton-line,.skeleton-dot,.skeleton-chip{background:linear-gradient(90deg,#ebe2d6,#f8f3ea 55%,#ebe2d6);background-size:200% 100%;animation:pulse-wave 1.3s ease-in-out infinite;border-radius:.45rem}.skeleton-line{height:.75rem}.skeleton-line-full{width:100%}.skeleton-line-lg{width:75%}.skeleton-line-md{width:58%}.skeleton-row{display:flex;gap:.45rem}.skeleton-chip{width:3.4rem;height:1.2rem;border-radius:999px}.skeleton-dot{width:1.1rem;height:1.1rem;border-radius:999px}.skeleton-card{gap:.7rem}.message-skeleton{display:flex;gap:.5rem;align-items:flex-start}.message-skeleton-body{flex:1;display:grid;gap:.35rem}.file-preview-loading{display:grid;gap:.6rem}.stream-disconnected-banner{margin-top:.35rem;border:1px solid #d98f8f;border-radius:.45rem;padding:.45rem .55rem;color:#b53939;background:#fff2f2;font-size:.82rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-wave{0%{background-position:100% 0}to{background-position:-100% 0}}.markdown-body p{margin:0;white-space:pre-wrap}.connection-open{color:var(--ok)}.connection-connecting{color:#9f6708}.connection-closed,.connection-idle{color:var(--muted)}@media(max-width:1100px){.workspace-grid{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start;gap:.7rem}.header-right{width:100%;justify-content:space-between;flex-wrap:wrap}.workspace-resize-handle{display:none}}
