:root{color-scheme:dark;--bg: #0b0e14;--panel: #11151c;--panel-2: #161b24;--border: #1f2630;--border-2: #2a3140;--fg: #d8dee9;--fg-dim: #8b95a7;--fg-faint: #5b6577;--accent: #7aa2f7;--accent-2: #5d7fcf;--ok: #9ece6a;--err: #f7768e;--warn: #e0af68;--code-bg: #0d1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg)}button{background:var(--panel-2);color:var(--fg);border:1px solid var(--border-2);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit}button:hover:not(:disabled){background:var(--border-2)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#0b0e14;border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-2)}button.danger{border-color:var(--err);color:var(--err)}input,textarea{background:var(--panel);color:var(--fg);border:1px solid var(--border-2);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;width:100%}input:focus,textarea:focus{outline:none;border-color:var(--accent)}code,pre,.mono{font-family:SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:12px}.shell{display:flex;flex-direction:column;height:100vh}.topbar{height:44px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 14px;gap:12px;background:var(--panel)}.topbar .title{font-weight:600;color:var(--fg)}.topbar .spacer{flex:1}.btn-ghost{background:transparent;border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--panel-2);border-color:var(--border)}.project-list{max-width:760px;margin:32px auto;padding:24px}.project-list h1{margin:0 0 4px;font-size:24px;font-weight:600}.project-list .sub{color:var(--fg-dim);margin-bottom:24px}.project-list .empty{border:1px dashed var(--border-2);border-radius:8px;padding:32px;text-align:center;color:var(--fg-dim)}.project-card{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:8px;background:var(--panel);cursor:pointer;transition:background .1s}.project-card:hover{background:var(--panel-2)}.project-card .name{font-weight:600;flex:1}.project-card .meta{color:var(--fg-faint);font-size:12px}.workspace{display:grid;grid-template-columns:minmax(340px,1fr) 240px 2fr;height:calc(100vh - 44px)}.pane{border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;min-width:0}.pane.last{border-right:none}.pane-header{height:32px;padding:0 12px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:var(--panel);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim)}.pane-body{flex:1;overflow:auto}.chat-list{padding:12px}.msg{margin-bottom:12px;padding:8px 10px;border-radius:6px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.msg.user{background:var(--panel-2);border:1px solid var(--border-2)}.msg.assistant{background:transparent}.msg .role{font-size:10px;text-transform:uppercase;color:var(--fg-faint);margin-bottom:4px;letter-spacing:.05em}.tool-card{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px;margin:4px 0;font-family:SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:11px;color:var(--fg-dim)}.tool-card .tool-name{color:var(--accent);font-weight:600}.tool-card pre{margin:4px 0 0;max-height:120px;overflow:auto;white-space:pre-wrap;color:var(--fg-dim)}.tool-card img{display:block;max-width:100%;margin-top:6px;border:1px solid var(--border-2);border-radius:4px}.chat-input{border-top:1px solid var(--border);padding:10px;background:var(--panel)}.chat-input textarea{resize:none;font-family:inherit;font-size:13px;min-height:56px;max-height:200px}.chat-input .row{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}.chat-input .hint{color:var(--fg-faint);font-size:11px;flex:1;align-self:center}.file-tree{padding:6px}.file-row{display:flex;align-items:center;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;font-family:SF Mono,Cascadia Code,Menlo,Consolas,monospace}.file-row:hover{background:var(--panel-2)}.file-row.active{background:var(--border-2)}.file-viewer{flex:1;overflow:auto;padding:10px;background:var(--code-bg)}.file-viewer pre{margin:0;white-space:pre;font-family:SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;color:var(--fg)}.preview{flex:1;position:relative;background:#1d2230}.preview iframe{width:100%;height:100%;border:0;background:#fff}.preview .empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--fg-faint);font-size:13px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--panel);border:1px solid var(--border-2);border-radius:10px;padding:22px;width:480px;max-width:90vw}.modal h2{margin:0 0 4px;font-size:18px;font-weight:600}.modal .row{margin:14px 0}.modal .label{font-size:11px;text-transform:uppercase;color:var(--fg-faint);margin-bottom:4px;letter-spacing:.05em}.modal .hint{font-size:11px;color:var(--fg-faint);margin-top:4px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.status-ok{color:var(--ok)}.status-err{color:var(--err)}.status-warn{color:var(--warn)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--fg-faint);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}
