.workspace{display:flex;flex-direction:column;height:100vh;background:#0a0a0a;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.workspace-body{display:flex;flex:1;overflow:hidden}.top-bar{display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 16px;background:#1a1a1a;border-bottom:1px solid #2a2a2a}.top-bar-left,.top-bar-center,.top-bar-right{display:flex;align-items:center;gap:12px}.logo-section{display:flex;align-items:center;gap:8px}.logo-icon{font-size:20px}.logo-text{font-size:16px;font-weight:600;color:#fff}.version-badge{padding:2px 8px;background:#4F46E5;border-radius:4px;font-size:11px;font-weight:500}.env-badge{padding:4px 10px;background:#2a2a2a;border-radius:4px;font-size:12px;color:#888}.system-indicators{display:flex;gap:16px}.indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:#888}.indicator-icon{font-size:14px}.indicator-label{color:#666}.indicator-value{color:#aaa;font-weight:500}.time-display{font-size:14px;color:#aaa;font-variant-numeric:tabular-nums}.icon-button{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.icon-button:hover{background:#2a2a2a}.icon-button:disabled{opacity:.4;cursor:not-allowed}.left-panel{width:280px;background:#121212;border-right:1px solid #2a2a2a;display:flex;flex-direction:column;overflow-y:auto}.clock-section{padding:24px 20px;border-bottom:1px solid #2a2a2a;text-align:center}.clock-time{font-size:36px;font-weight:300;color:#fff;font-variant-numeric:tabular-nums}.clock-date{font-size:14px;color:#888;margin-top:4px}.logo-section-left{padding:20px;border-bottom:1px solid #2a2a2a}.logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px}.logo-icon-large{font-size:48px}.logo-text-large{font-size:24px;font-weight:600;color:#fff}.project-navigator{flex:1;padding:16px;overflow-y:auto}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-header h3{font-size:14px;font-weight:600;color:#fff;margin:0}.icon-button-small{background:none;border:none;font-size:14px;cursor:pointer;padding:2px 4px;opacity:.6;transition:opacity .2s}.icon-button-small:hover{opacity:1}.file-tree{margin-top:8px}.section-group{margin-bottom:8px}.section-header{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;border-radius:4px;transition:background .2s;font-size:13px;font-weight:500}.section-header:hover{background:#1a1a1a}.section-icon{font-size:10px;color:#666}.section-name{color:#aaa}.section-entries{margin-left:8px}.file-node{display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;border-radius:4px;transition:background .2s;font-size:12px}.file-node:hover{background:#1a1a1a}.file-icon{font-size:14px}.file-name{color:#ccc}.project-summary{margin-top:12px;padding:12px;background:#1a1a1a;border-radius:6px;font-size:12px}.summary-item{padding:4px 0;color:#888}.quick-actions{padding:16px;border-top:1px solid #2a2a2a}.action-list{display:flex;flex-direction:column;gap:8px}.action-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#aaa;font-size:13px;cursor:pointer;transition:all .2s}.action-button:hover:not(:disabled){background:#2a2a2a;border-color:#3a3a3a}.action-button:disabled{opacity:.4;cursor:not-allowed}.chat-panel{flex:1;display:flex;flex-direction:column;background:#0f0f0f;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid #2a2a2a}.conversation-info{display:flex;align-items:center;gap:12px}.clear-chat-btn{font-size:20px;opacity:.6;transition:opacity .2s,transform .2s}.clear-chat-btn:hover:not(:disabled){opacity:1;transform:scale(1.1)}.clear-chat-btn:disabled{opacity:.3}.conversation-info h2{font-size:18px;font-weight:600;color:#fff;margin:0}.conversation-status{font-size:12px;color:#888}.messages-scroll-wrapper{flex:1;position:relative;display:flex;min-height:0;max-width:1100px;width:100%;margin:0 auto;padding:0 16px}.messages-container{flex:1;overflow-y:auto;padding:16px 0}.jump-to-bottom-btn{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:20;padding:6px 14px;background:#4F46E5;border:1px solid #5a52ea;border-radius:16px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 4px 14px #00000080;transition:background .2s,transform .2s;animation:fadeIn .2s}.jump-to-bottom-btn:hover{background:#5a52ea;transform:translate(-50%) translateY(-2px)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.empty-icon{font-size:48px;margin-bottom:16px}.empty-hint{font-size:13px;color:#555}.message-bubble{margin-bottom:12px;padding:10px 14px;border-radius:8px;max-width:96%;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-left{margin-right:auto;background:#1a1a1a}.message-right{margin-left:auto;background:#2a2a5a}.message-system{margin-left:auto;margin-right:auto;background:#2a2a2a;text-align:center}.message-task{background:#1a2a1a}.message-result{background:#1a2a2a}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px}.message-author{font-weight:600;color:#fff}.message-role{color:#888}.message-time{margin-left:auto;color:#666;font-size:11px}.message-content{color:#eaeaea;line-height:1.45;white-space:pre-wrap}.message-stage{margin-top:8px;padding:4px 8px;background:rgba(255,255,255,.05);border-radius:4px;font-size:11px;color:#888}.chat-input-container{padding:10px 24px 12px;border-top:1px solid #2a2a2a}.input-placeholder{display:flex;gap:8px}.input-placeholder input{flex:1;padding:12px 16px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;color:#aaa;font-size:14px}.input-placeholder input:disabled{cursor:not-allowed}.send-button{padding:12px 24px;background:#4F46E5;border:none;border-radius:8px;color:#fff;font-size:16px;cursor:pointer;transition:background .2s}.send-button:hover:not(:disabled){background:#5a52ea}.send-button:disabled{opacity:.4;cursor:not-allowed}.input-hint{margin-top:8px;font-size:12px;color:#666;text-align:center}.right-panel{width:320px;background:#121212;border-left:1px solid #2a2a2a;display:flex;flex-direction:column;overflow-y:auto}.panel-section{padding:16px;border-bottom:1px solid #2a2a2a}.agents-count{padding:2px 8px;background:#2a2a2a;border-radius:4px;font-size:11px;color:#888}.agents-list{display:flex;flex-direction:column;gap:8px}.agent-card{padding:12px;background:#1a1a1a;border-radius:6px;transition:all .2s}.agent-card:hover{background:#222;transform:translate(-2px)}.agent-card.agent-active{background:#2a2a3a;box-shadow:0 0 0 2px #4f46e5}.agent-header{display:flex;align-items:center;gap:10px}.agent-icon{font-size:24px}.agent-info{flex:1}.agent-name{font-size:14px;font-weight:600;color:#fff}.agent-role{font-size:12px;color:#888}.agent-status{font-size:16px}.agent-description{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a2a;font-size:12px;color:#aaa;line-height:1.4}.model-selector{margin-top:8px}.model-dropdown{width:100%;padding:10px 12px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#fff;font-size:14px;cursor:pointer}.model-info{margin-top:12px;padding:12px;background:#1a1a1a;border-radius:6px}.info-item{display:flex;justify-content:space-between;padding:4px 0;font-size:12px}.info-label{color:#888}.info-value{color:#aaa;font-weight:500}.model-hint{margin-top:12px;padding:8px 12px;background:rgba(79,70,229,.1);border-radius:6px;font-size:11px;color:#888;line-height:1.4}.model-active{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#1a1a1a;border-radius:6px}.model-active-name{font-size:13px;font-weight:600;color:#e6eef6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-active-badge{flex-shrink:0;font-size:11px;color:#94a3b8;background:rgba(79,70,229,.15);padding:2px 8px;border-radius:10px}.model-picker{margin-top:10px}.model-picker-tabs{display:flex;gap:4px}.model-picker-tabs .tab{flex:1;padding:7px 10px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#999;font-size:12px;cursor:pointer}.model-picker-tabs .tab.active{background:rgba(79,70,229,.2);border-color:#4f46e5;color:#e6eef6;font-weight:600}.model-picker-toggle{width:34px;flex-shrink:0;padding:7px 0;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#ccc;font-size:13px;cursor:pointer}.model-picker-toggle:hover{border-color:#4f46e5}.model-picker-body{margin-top:6px;padding:8px;background:#141414;border:1px solid #2a2a2a;border-radius:6px;max-height:320px;overflow-y:auto}.model-picker-search{width:100%;box-sizing:border-box;padding:7px 10px;margin-bottom:6px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:5px;color:#e6eef6;font-size:12px}.model-picker-search:focus{outline:none;border-color:#4f46e5}.model-picker-group{padding:6px 4px 3px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#666}.model-option{padding:7px 10px;border-radius:5px;font-size:12px;color:#ccc;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-option:hover{background:rgba(79,70,229,.15);color:#e6eef6}.model-option-active{background:rgba(79,70,229,.25);color:#fff;font-weight:600}.model-picker-error{padding:6px 8px;font-size:11px;color:#e0a0a0;line-height:1.4}.model-picker-empty{padding:6px 8px;font-size:11px;color:#666;font-style:italic}.model-picker-msg{margin-top:6px;padding:7px 10px;font-size:11px;color:#94a3b8}.context-info{margin-top:8px;display:flex;flex-direction:column;gap:8px}.context-item{display:flex;align-items:center;gap:10px;padding:10px;background:#1a1a1a;border-radius:6px}.context-icon{font-size:20px}.context-details{flex:1}.context-label{font-size:11px;color:#666;margin-bottom:2px}.context-value{font-size:13px;color:#fff;font-weight:500}.left-panel::-webkit-scrollbar,.messages-container::-webkit-scrollbar,.right-panel::-webkit-scrollbar{width:6px}.left-panel::-webkit-scrollbar-track,.messages-container::-webkit-scrollbar-track,.right-panel::-webkit-scrollbar-track{background:#0a0a0a}.left-panel::-webkit-scrollbar-thumb,.messages-container::-webkit-scrollbar-thumb,.right-panel::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}.left-panel::-webkit-scrollbar-thumb:hover,.messages-container::-webkit-scrollbar-thumb:hover,.right-panel::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.message-trace,.message-prompt{margin-top:12px;padding:10px;background:rgba(0,0,0,.3);border-left:3px solid #4a9eff;border-radius:4px;font-size:12px}.message-trace summary,.message-prompt summary{cursor:pointer;font-weight:600;color:#4a9eff;-webkit-user-select:none;user-select:none;padding:4px 0;display:flex;align-items:center;gap:8px}.message-trace summary:hover,.message-prompt summary:hover{color:#6bb3ff}.trace-summary-icon{font-size:14px;flex-shrink:0}.trace-summary-text{flex:1;font-size:12px}.trace-summary-count{font-size:10px;color:#888;background:rgba(74,158,255,.1);padding:2px 6px;border-radius:3px}.trace-steps{margin-top:10px;display:flex;flex-direction:column;gap:8px}.trace-step{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(255,255,255,.03);border-radius:4px;font-size:11px;border-left:2px solid transparent;transition:all .2s}.trace-step:hover{background:rgba(255,255,255,.05)}.trace-icon{font-size:14px;flex-shrink:0}.trace-label{font-weight:600;color:#aaa;min-width:140px;flex-shrink:0}.trace-detail{color:#ccc;flex:1}.trace-step.trace-error{border-left-color:#ef4444;background:rgba(239,68,68,.05)}.trace-step.trace-error .trace-label{color:#ef4444}.trace-step.trace-warning{border-left-color:#f59e0b;background:rgba(245,158,11,.05)}.trace-step.trace-warning .trace-label{color:#f59e0b}.trace-step.trace-success{border-left-color:#10b981;background:rgba(16,185,129,.05)}.trace-step.trace-success .trace-label{color:#10b981}.prompt-content{margin-top:10px;padding:12px;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;line-height:1.6;color:#e0e0e0;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto}.copy-prompt-btn{margin-top:8px;padding:6px 12px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;color:#ccc;font-size:11px;cursor:pointer;transition:all .2s}.copy-prompt-btn:hover{background:#3a3a3a;border-color:#4a9eff;color:#fff}.copy-prompt-btn:active{transform:scale(.98)}.message-header .message-role{font-size:10px;padding:2px 6px;background:rgba(74,158,255,.2);border-radius:3px;color:#4a9eff;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.persona-badge{font-size:10px;padding:3px 8px;border-radius:4px;color:#fff;font-weight:600;letter-spacing:.3px;margin-left:6px}.mode-badge{font-size:10px;padding:3px 8px;background:rgba(139,92,246,.2);border-radius:4px;color:#a78bfa;font-weight:500;margin-left:4px}.message-bubble[data-persona=prompter]{border-left:3px solid #ff9800}.message-bubble[data-persona=sigo]{border-left:3px solid #4F46E5}.message-pending{opacity:.7;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:.9}}.message-error{background:rgba(239,68,68,.1)!important;border-left:3px solid #EF4444}.copy-message-btn{margin-top:8px;padding:4px 10px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;color:#aaa;font-size:11px;cursor:pointer;transition:all .2s}.copy-message-btn:hover{background:#3a3a3a;border-color:#4a9eff;color:#fff}.live-progress{margin:0 0 8px;padding:10px 14px;background:rgba(79,70,229,.08);border:1px solid rgba(79,70,229,.28);border-radius:8px;animation:liveFadeIn .25s ease-out}@keyframes liveFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.live-progress-head{display:flex;align-items:center;gap:8px;font-size:13px}.live-progress-dot{width:8px;height:8px;border-radius:50%;flex:none}.live-progress-dot.thinking{background:#a78bfa;animation:livePulse 1.6s ease-in-out infinite}.live-progress-dot.streaming{background:#34d399;animation:livePulse .7s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.live-progress-title{color:#c4b5fd;font-weight:500}.live-progress-timer{margin-left:auto;font-family:SFMono-Regular,JetBrains Mono,Consolas,monospace;font-size:11px;color:#6b7280;tabular-nums:true;font-variant-numeric:tabular-nums}.live-progress-steps{margin-top:8px;padding-left:2px;display:flex;flex-direction:column;gap:3px}.live-progress-step{display:flex;align-items:baseline;gap:7px;font-size:11.5px;color:#8b93a7;animation:liveFadeIn .2s ease-out}.live-progress-step.current{color:#d1d5db}.live-step-sec{flex:none;width:30px;text-align:right;font-family:SFMono-Regular,JetBrains Mono,Consolas,monospace;font-size:10px;color:#4b5563;font-variant-numeric:tabular-nums}.live-step-icon{flex:none;font-size:12px}.live-step-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-dots{display:inline-flex;align-items:center;gap:5px;color:#8b93a7;font-size:13px}.thinking-label{margin-right:2px}.thinking-dot{width:5px;height:5px;border-radius:50%;background:#a78bfa;animation:thinkingBlink 1.2s infinite ease-in-out}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes thinkingBlink{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.topbar-menu{position:relative;display:inline-block}.topbar-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-panel, #16181d);border:1px solid var(--border, #2a2d35);border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:210px;z-index:1000;overflow:hidden}.topbar-menu-item{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;color:var(--text, #e2e2e2);padding:10px 14px;font-size:13px}.topbar-menu-item:hover{background:rgba(255,255,255,.06)}.topbar-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent}.back-to-chat{position:fixed;top:60px;left:16px;z-index:100;background:var(--bg-panel, #16181d);border:1px solid var(--border, #2a2d35);color:var(--text, #e2e2e2);border-radius:8px;padding:8px 14px;cursor:pointer;font-size:13px}.back-to-chat:hover{background:rgba(255,255,255,.06)}.status-panel{margin-top:8px;padding:6px 10px;background:rgba(79,70,229,.08);border:1px solid rgba(79,70,229,.25);border-radius:6px;font-family:SFMono-Regular,JetBrains Mono,Consolas,monospace;font-size:11.5px;line-height:1.7;color:#9aa8bf}.status-panel-line{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:2px}.status-panel-seg{white-space:nowrap;color:inherit}.status-panel-sep{color:#3a4254;-webkit-user-select:none;user-select:none}.status-panel-topic{color:#c7d0e0;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}@media (max-width: 900px){.status-panel{font-size:10.5px}.status-panel-topic{max-width:60vw}}.memory-list{display:flex;flex-direction:column;gap:8px}.memory-empty{color:#666;font-size:12px;padding:4px 0}.memory-card{padding:10px 12px;background:#1a1a1a;border-radius:6px;border-left:3px solid #2a2a2a;transition:all .2s}.memory-card:hover{background:#222}.memory-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.memory-type{font-size:11px;font-weight:600;color:#9ec5f0}.memory-date{font-size:10px;color:#666}.memory-content{font-size:12.5px;color:#ddd;line-height:1.45;white-space:pre-wrap;word-break:break-word;margin-bottom:6px}.memory-actions{display:flex;justify-content:flex-end}.memory-archive-btn{background:none;border:1px solid #3a3a3a;color:#aaa;border-radius:4px;font-size:11px;padding:2px 8px;cursor:pointer;transition:all .2s}.memory-archive-btn:hover:not(:disabled){border-color:#d9534f;color:#f0a09e}.memory-archive-btn:disabled{opacity:.5;cursor:default}.profile-row{display:flex;align-items:center;gap:8px;padding:6px 0}.profile-row .info-label{min-width:48px}.profile-edit{display:flex;align-items:center;gap:4px;flex:1}.profile-input{flex:1;background:#111;border:1px solid #3a3a3a;border-radius:4px;color:#fff;font-size:12.5px;padding:3px 8px;outline:none}.profile-input:focus{border-color:#4a90d9}.profile-edit-btn{font-size:12px}.profile-lang-select{flex:1;font-size:12.5px;padding:3px 6px}.tree-filter{width:calc(100% - 16px);margin:0 8px 8px;background:#111;border:1px solid #3a3a3a;border-radius:4px;color:#fff;font-size:12px;padding:4px 8px;outline:none}.tree-filter:focus{border-color:#4a90d9}.tree-node{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.tree-node:hover{background:#262626}.tree-node-file{color:#c8c8c8}.tree-arrow-wrap{width:12px;flex-shrink:0}.tree-arrow{font-size:10px;color:#888}.tree-icon{font-size:13px;flex-shrink:0}.tree-name{flex:1;overflow:hidden;text-overflow:ellipsis}.tree-name-path{font-size:12px;color:#9ec5f0}.tree-badge{flex-shrink:0;font-size:10px;color:#888;background:#2a2a2a;border-radius:8px;padding:0 6px;line-height:16px}.tree-size{flex-shrink:0;font-size:10px;color:#666}.tree-empty,.tree-loading{font-size:12px;color:#666;padding:4px 8px;font-style:italic}.tree-error-text{color:#f0a09e}.file-viewer{width:460px;min-width:320px;display:flex;flex-direction:column;background:#141414;border-left:1px solid #2a2a2a;border-right:1px solid #2a2a2a;overflow:hidden}.fv-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#1a1a1a;border-bottom:1px solid #2a2a2a}.fv-title{display:flex;align-items:center;gap:6px;min-width:0}.fv-icon{font-size:15px;flex-shrink:0}.fv-path{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12.5px;color:#9ec5f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fv-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.fv-meta{font-size:11px;color:#888;white-space:nowrap}.fv-close{background:none;border:none;color:#aaa;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px}.fv-close:hover{background:#333;color:#fff}.fv-badge{font-size:11px;color:#e6c26a;background:#2a2417;border-bottom:1px solid #3a3220;padding:4px 12px}.fv-loading,.fv-binary{padding:24px;color:#888;font-size:13px;text-align:center}.fv-error{padding:16px 12px;color:#f0a09e;font-size:12.5px;word-break:break-word}.fv-body{flex:1;overflow:auto;display:flex;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.55}.fv-line-numbers{flex-shrink:0;margin:0;padding:8px 8px 8px 12px;color:#555;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #2a2a2a;background:#171717}.fv-code{margin:0;padding:8px 12px;color:#d8d8d8;white-space:pre;flex:1;min-width:0}.fv-body::-webkit-scrollbar{width:8px;height:8px}.fv-body::-webkit-scrollbar-track{background:#141414}.fv-body::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px}.tree-node{cursor:grab}.tree-node:active{cursor:grabbing}.chat-input-container.drop-active{position:relative;border-top:2px dashed #4a90d9;background:rgba(74,144,217,.05)}.drop-hint{position:absolute;left:0;right:0;top:10px;text-align:center;font-size:13px;color:#9ec5f0;pointer-events:none;text-shadow:0 1px 4px #000;z-index:5}.file-attach-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.file-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;background:#1d2430;border:1px solid #2f3d52;border-radius:12px;padding:2px 4px 2px 9px;font-size:12px;color:#cfe0f5}.file-chip-icon{font-size:11px;flex-shrink:0}.file-chip-path{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.file-chip-remove{background:none;border:none;color:#89a;font-size:11px;cursor:pointer;padding:1px 5px;border-radius:8px;line-height:1}.file-chip-remove:hover{background:#33445c;color:#fff}.file-chip-error{border-color:#6b4a48;background:#2a1f1e;color:#e6c2c0}.nudge-bar{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.nudge-item{display:flex;align-items:center;gap:8px;padding:5px 10px;background:rgba(245,166,35,.07);border:1px solid rgba(245,166,35,.28);border-radius:6px;font-size:12.5px;color:var(--text, #e2e2e2)}.nudge-item[data-kind=git]{background:rgba(46,204,113,.07);border-color:#2ecc7147}.nudge-item[data-kind=tasks]{background:rgba(52,152,219,.07);border-color:#3498db47}.nudge-icon{flex:none;font-size:13px}.nudge-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nudge-dismiss{flex:none;background:none;border:none;cursor:pointer;color:#8a8f9c;font-size:12px;padding:1px 5px;border-radius:4px}.nudge-dismiss:hover{color:var(--text, #e2e2e2);background:rgba(255,255,255,.08)}.nudge-dismiss:disabled{cursor:wait;opacity:.6}.nudge-open{flex:none;background:rgba(245,166,35,.15);border:1px solid rgba(245,166,35,.45);color:#f5d9a8;font-size:11.5px;font-weight:500;cursor:pointer;padding:2px 9px;border-radius:10px;transition:all .15s;white-space:nowrap}.nudge-open:hover{background:rgba(245,166,35,.3);color:#fff}.nudge-current{flex:none;font-size:11px;color:#7f8698;font-style:italic;white-space:nowrap}.open-chat-banner{display:flex;align-items:center;gap:8px;margin:8px 24px 0;padding:8px 12px;background:rgba(245,166,35,.08);border:1px solid rgba(245,166,35,.3);border-radius:6px;font-size:12.5px;color:#f0d9b0}.open-chat-banner-icon{flex:none;font-size:14px}.open-chat-banner-text{flex:1;min-width:0}.open-chat-back{flex:none;background:rgba(245,166,35,.15);border:1px solid rgba(245,166,35,.45);color:#f5d9a8;font-size:12px;font-weight:500;cursor:pointer;padding:3px 10px;border-radius:10px;white-space:nowrap;transition:all .15s}.open-chat-back:hover{background:rgba(245,166,35,.3);color:#fff}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(139,92,246,.12),transparent),var(--bg);padding:24px}.login-card{width:100%;max-width:380px;background:var(--bg-panel, #16181d);border:1px solid var(--border, #2a2d35);border-radius:14px;padding:28px 26px 22px;box-shadow:0 18px 50px #00000073}.login-logo{display:flex;align-items:center;gap:8px;margin-bottom:18px}.login-logo-icon{font-size:22px}.login-logo-text{font-size:20px;font-weight:700;letter-spacing:.5px}.login-title{margin:0 0 18px;font-size:17px;font-weight:600;color:var(--text, #e6eef6)}.login-form{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:12.5px;color:var(--muted, #94a3b8)}.login-input{background:#0b0f14;border:1px solid var(--border, #2a2d35);border-radius:8px;color:var(--text, #e6eef6);font-size:14px;padding:10px 12px;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--accent, #8b5cf6)}.login-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);color:#fca5a5;border-radius:8px;padding:8px 12px;font-size:13px}.login-button{background:var(--accent, #8b5cf6);border:none;border-radius:8px;color:#fff;font-size:14.5px;font-weight:600;padding:11px 16px;cursor:pointer;transition:opacity .15s}.login-button:hover{opacity:.88}.login-button:disabled{opacity:.45;cursor:default}.login-switch{margin-top:16px;text-align:center}.login-switch button{background:none;border:none;color:var(--accent, #8b5cf6);font-size:13px;cursor:pointer;padding:0}.login-switch button:hover{text-decoration:underline}.login-locked{color:var(--muted, #94a3b8);font-size:12.5px}.login-locked-notice{margin-top:6px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent, #8b5cf6) 35%,transparent);border-left:3px solid var(--accent, #8b5cf6);border-radius:8px;background:color-mix(in srgb,var(--accent, #8b5cf6) 10%,var(--panel, #0f1720));color:var(--text, #e6eef6);font-size:12.5px;line-height:1.45}.topbar-user{font-size:.85em;color:var(--text, #e6eef6);white-space:nowrap;margin-right:8px;padding:4px 10px;border-radius:12px;background:rgba(139,92,246,.14);border:1px solid rgba(139,92,246,.4)}.proposals-page{display:flex;flex-direction:column;gap:16px;padding:24px;height:100%;overflow-y:auto;color:#e2e2e2;font-size:14px}.proposals-page h2{margin:0;font-size:20px;color:#fff}.proposals-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.proposals-toolbar .muted{color:#8a8f98;font-size:13px}.btn-primary{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:13px;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#4b5563;cursor:not-allowed}.proposals-list{display:flex;flex-direction:column;gap:12px}.proposal-card{background:#1c2027;border:1px solid #2c3340;border-radius:8px;padding:16px}.proposal-card summary{cursor:pointer;font-weight:600;color:#e8ecf3;outline:none}.proposal-card summary::marker{color:#6b7280}.proposal-meta{display:flex;gap:10px;margin-top:8px;font-size:12px;color:#8a8f98}.proposal-section{margin-top:12px}.proposal-section h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#60a5fa}.proposal-section pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px;color:#c9ced8;font-family:inherit}.proposals-empty,.proposals-error{color:#8a8f98;padding:24px;text-align:center;background:#1c2027;border-radius:8px}.proposals-error{color:#f87171}.project-page{display:flex;flex-direction:column;gap:16px;padding:24px;height:100%;overflow-y:auto;color:#e2e2e2;font-size:14px}.project-page h2{margin:0;font-size:20px;color:#fff}.project-summary{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#8a8f98}.project-summary .num{color:#60a5fa;font-weight:600}.project-section{background:#1c2027;border:1px solid #2c3340;border-radius:8px;padding:12px 16px}.project-section>summary{cursor:pointer;font-weight:600;color:#e8ecf3;outline:none;font-family:monospace}.project-tree{margin:10px 0 0;padding-left:18px;font-family:monospace;font-size:13px}.project-tree ul{list-style:none;margin:0;padding-left:16px}.project-tree li{padding:1px 0;color:#c9ced8}.tree-dir{color:#93c5fd;font-weight:600}.tree-file{color:#9ca3af}.project-error,.project-loading{color:#8a8f98;padding:24px;text-align:center}.project-error{color:#f87171}.system-page{display:flex;flex-direction:column;gap:16px;padding:24px;height:100%;overflow-y:auto;color:#e2e2e2;font-size:14px}.system-page h2{margin:0;font-size:20px;color:#fff}.system-card{background:#1c2027;border:1px solid #2c3340;border-radius:8px;padding:16px}.system-card h3{margin:0 0 14px;font-size:15px;color:#e8ecf3}.system-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.metric-box{background:#161a20;border-radius:6px;padding:12px}.metric-label{font-size:12px;color:#8a8f98;margin-bottom:6px}.metric-value{font-size:18px;font-weight:600;color:#fff}.metric-sub{margin-left:8px;font-size:13px;font-weight:400;color:#9ca3af}.metric-source{margin-top:6px;font-size:11px;color:#6b7280}.llm-status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.llm-badge{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700}.llm-status-ok{background:#14532d;color:#4ade80}.llm-status-warn{background:#78350f;color:#fbbf24}.llm-status-off{background:#374151;color:#9ca3af}.llm-status-err{background:#7f1d1d;color:#f87171}.llm-provider{font-size:14px;color:#e8ecf3}.llm-model{font-size:13px;color:#93c5fd}.llm-quant{font-size:12px;color:#8a8f98}.llm-url{font-size:13px;color:#9ca3af;margin-bottom:12px}.llm-url code{color:#c9ced8}.llm-test-result{margin-top:12px;padding:10px;background:#161a20;border-radius:6px;font-size:13px;white-space:pre-wrap;word-break:break-word;color:#c9ced8}.system-muted{color:#8a8f98}:root{--bg: #0b0f14;--panel: #0f1720;--muted: #94a3b8;--accent: #8b5cf6;--text: #e6eef6}html,body,#root{height:100%;margin:0}.dark-theme{background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;height:100vh}.app-root{display:flex;flex-direction:column;height:100%}.app-body{display:flex;flex:1;overflow:hidden}.main-area{flex:1;padding:20px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);overflow:auto}.topbar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:linear-gradient(90deg,rgba(255,255,255,.02),transparent);border-bottom:1px solid rgba(255,255,255,.02)}.page-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--muted)}.page-placeholder-icon{font-size:48px}.page-placeholder h2{color:var(--text);margin:0}.page-placeholder p{margin:0;max-width:400px;text-align:center}
