:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,system-ui,sans-serif;background:#0c0a09;color:#e7e5e4}.unlock{max-width:420px;margin:16vh auto;text-align:center;padding:32px}.unlock h1{font-size:28px;font-weight:700;margin-bottom:4px}.unlock .muted{color:#78716c;font-size:14px;margin-bottom:24px}.unlock input{display:block;margin:0 auto 16px;padding:10px 14px;width:280px;border-radius:8px;border:1px solid #3f3b38;background:#1c1917;color:inherit;font-size:15px}.unlock button{padding:10px 24px;border-radius:8px;border:0;background:#16a34a;color:#fff;font-weight:600;cursor:pointer;font-size:15px}.unlock button:hover:not(:disabled){background:#15803d}.unlock button:disabled{opacity:.5;cursor:not-allowed}.err{color:#fca5a5;font-size:13px;margin-top:10px}.hint{font-size:12px;color:#57534e;margin-top:20px}.mission-control{display:grid;grid-template-columns:230px 1fr 290px;height:100vh;overflow:hidden}.col{display:flex;flex-direction:column;border-right:1px solid #1a1917;overflow:hidden}.col h2{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#78716c;margin:0 0 8px}@media (max-width:768px){.mission-control{grid-template-columns:1fr}.panel-sessions,.panel-vault{display:none}}.panel-sessions{background:#111110}.panel-section{padding:12px 12px 8px;border-bottom:1px solid #1a1917}.panel-section.flex-grow{flex:1 1;overflow-y:auto;border-bottom:none}.project-select{width:100%;padding:6px 8px;border:1px solid #292524;border-radius:6px;color:inherit;font-size:13px;margin-bottom:8px}.btn-new,.project-select,.project-select option{background:#1c1917}.btn-new{width:100%;padding:7px 10px;border:1px solid #292524;border-radius:6px;color:#a8a29e;font-size:13px;cursor:pointer;text-align:left}.btn-new:hover{background:#292524;color:#e7e5e4}.mini-form{margin-top:6px}.mini-form input{width:100%;padding:6px 8px;background:#1c1917;border:1px solid #292524;border-radius:6px;color:inherit;font-size:13px;margin-bottom:6px}.mini-actions{display:flex;gap:6px}.mini-actions button{flex:1 1;padding:5px;border-radius:5px;border:0;font-size:12px;font-weight:600;cursor:pointer;background:#16a34a;color:#fff}.mini-actions .btn-cancel{background:#292524;color:#a8a29e}.session-list{list-style:none;padding:4px 0;margin:8px 0 0}.session-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;font-size:13px;color:#a8a29e}.session-item.active,.session-item:hover{background:#1c1917;color:#e7e5e4}.session-item.active{border-left:2px solid #16a34a;padding-left:10px}.session-count{font-size:11px;color:#57534e}.panel-chat{background:#0c0a09}.chat-header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid #1a1917;flex-shrink:0;min-height:44px}.chat-title{font-size:13px;font-weight:600;color:#e7e5e4}.ctx-badge{font-size:11px;padding:2px 8px;background:#14532d;color:#4ade80;border-radius:999px;border:1px solid #166534}.messages{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.empty-hint{color:#44403c;font-size:13px;text-align:center;margin:auto;max-width:280px;line-height:1.5}.message{max-width:80%;display:flex;flex-direction:column;gap:4px}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.msg-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#57534e}.message.user .msg-role{text-align:right}.msg-body{margin:0;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.message.user .msg-body{background:#14532d;border:1px solid #166534;color:#dcfce7;border-radius:12px 12px 2px 12px}.message.assistant .msg-body{background:#1c1917;border:1px solid #292524;color:#e7e5e4;border-radius:12px 12px 12px 2px}.message.error .msg-body{border-color:#7f1d1d;background:#1c0a0a;color:#fca5a5}.message.thinking .msg-body{color:#57534e;font-style:italic}.input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #1a1917;flex-shrink:0}.input-row textarea{flex:1 1;resize:none;padding:10px 12px;background:#1c1917;border:1px solid #292524;border-radius:8px;color:inherit;font-family:inherit;font-size:14px;line-height:1.4;outline:none}.input-row textarea:focus{border-color:#3f3b38}.input-row textarea:disabled{opacity:.5}.input-row button{padding:10px 18px;border-radius:8px;border:0;background:#16a34a;color:#fff;font-weight:600;cursor:pointer;align-self:flex-end;font-size:14px}.input-row button:hover:not(:disabled){background:#15803d}.input-row button:disabled{opacity:.4;cursor:not-allowed}.panel-vault{background:#111110}.vault-top{padding:12px;border-bottom:1px solid #1a1917;flex-shrink:0}.vault-search{width:100%;padding:6px 10px;border-radius:6px;border:1px solid #292524;background:#1c1917;color:inherit;font-size:13px;margin-bottom:8px}.add-type-row{display:flex;gap:6px}.btn-type{flex:1 1;padding:6px 4px;background:#1c1917;border:1px solid #292524;border-radius:6px;color:#a8a29e;font-size:12px;cursor:pointer}.btn-type:hover{background:#292524;color:#e7e5e4}.add-form{display:flex;flex-direction:column;gap:6px;margin-top:8px}.add-form input,.add-form textarea{width:100%;padding:7px 10px;border-radius:6px;border:1px solid #292524;background:#1c1917;color:inherit;font-family:inherit;font-size:13px}.add-form textarea{resize:vertical}.add-actions{display:flex;gap:6px}.add-actions button{flex:1 1;padding:7px;border-radius:6px;border:0;font-size:13px;font-weight:600;cursor:pointer;background:#16a34a;color:#fff}.add-actions button:disabled{opacity:.5;cursor:not-allowed}.add-actions button:hover:not(:disabled){background:#15803d}.add-actions .btn-cancel{background:#292524;color:#a8a29e}.add-actions .btn-cancel:hover{background:#3f3b38}.img-drop{display:flex;align-items:center;justify-content:center;min-height:100px;border:2px dashed #3f3b38;border-radius:8px;cursor:pointer;color:#57534e;font-size:13px}.img-drop:hover{border-color:#16a34a}.img-drop.has-img{border-style:solid;border-color:#166534}.img-preview{max-width:100%;max-height:140px;border-radius:6px;object-fit:contain}.vault-list{list-style:none;padding:4px 0;margin:0;overflow-y:auto;flex:1 1}.vault-item{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid #161514}.vault-item.active{background:#052e16}.vault-icon{font-size:14px;flex-shrink:0}.vault-thumb{width:28px;height:28px;border-radius:4px;object-fit:cover;flex-shrink:0}.vault-title{font-size:13px;color:#a8a29e;cursor:pointer;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-item.active .vault-title{color:#4ade80}.vault-title:hover{color:#e7e5e4}.active-badge{color:#16a34a;font-size:10px}.btn-del{background:none;border:none;color:#44403c;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;flex-shrink:0;line-height:1}.btn-del:hover{background:#292524;color:#fca5a5}.vault-empty{padding:12px;color:#44403c;font-size:12px;font-style:italic}.vault-hint{font-size:11px;color:#3a3733;padding:6px 12px;margin:0;flex-shrink:0}.repo-row{display:flex;align-items:center;gap:5px;padding:3px 0;font-size:12px;color:#60a5fa;margin-top:2px}.repo-star{background:none;border:none;cursor:pointer;color:#57534e;font-size:13px;padding:0 2px;flex-shrink:0;line-height:1}.repo-star.active,.repo-star:hover{color:#fbbf24}.repo-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.gh-row{display:flex;align-items:center;gap:6px;margin-top:6px}.gh-btn{flex:1 1;padding:5px 8px;background:#1c1917;border:1px solid #292524;border-radius:6px;color:#a8a29e;font-size:12px;cursor:pointer;text-align:left}.gh-btn:hover{background:#292524;color:#e7e5e4}.gh-btn.connected{border-color:#166534;color:#4ade80;background:#052e16}.gh-dot{font-size:10px;flex-shrink:0}.gh-dot.ok{color:#4ade80}.gh-dot.err{color:#fca5a5}.gh-settings{max-width:460px;width:95%}.gh-label{display:block;font-size:11px;color:#78716c;margin-bottom:4px}.gh-input{width:100%;padding:7px 10px;background:#1c1917;border:1px solid #292524;border-radius:6px;color:inherit;font-size:13px}.gh-login{font-size:12px;color:#4ade80;align-self:center;white-space:nowrap}.gh-status{font-size:12px;margin:8px 0}.gh-status.ok{color:#4ade80}.gh-status.err{color:#fca5a5}.gh-actions{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.gh-actions button{padding:7px 14px;border-radius:6px;border:0;font-size:13px;font-weight:600;cursor:pointer;background:#292524;color:#a8a29e}.gh-actions button:hover:not(:disabled){background:#3f3b38;color:#e7e5e4}.gh-actions button:disabled{opacity:.4;cursor:not-allowed}.gh-actions .btn-primary{background:#16a34a;color:#fff}.gh-actions .btn-primary:hover:not(:disabled){background:#15803d}.gh-actions .btn-danger{background:#7f1d1d;color:#fca5a5}.gh-actions .btn-cancel{margin-left:auto}.rag-status{font-size:11px;margin:6px 0 0;padding:0}.rag-status.indexing{color:#d97706}.rag-status.ready{color:#4ade80}.rag-info{font-size:11px;color:#57534e;margin-left:auto}.ctx-badge.rag{background:#14532d;color:#4ade80;border-color:#166534}.ctx-badge.delegate{background:#1e3a5f;color:#60a5fa;border-color:#1d4ed8}.chunk-count{font-size:10px;color:#57534e;flex-shrink:0}.link-item{display:flex;align-items:center;gap:6px;padding:5px 0;font-size:13px}.link-arrow{color:#d97706;flex-shrink:0}.link-name{flex:1 1;color:#a8a29e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-badge{font-size:10px;padding:1px 6px;border-radius:999px;flex-shrink:0}.task-badge.running{background:#78350f;color:#fcd34d}.task-badge.done{background:#14532d;color:#4ade80}.task-badge.incoming{background:#1e3a5f;color:#93c5fd;margin-left:6px}.mini-form select{width:100%;padding:6px 8px;background:#1c1917;border:1px solid #292524;border-radius:6px;color:inherit;font-size:13px;margin-bottom:6px}.delegate-msg{border-left:2px solid #1d4ed8;padding-left:8px}.delegate-msg .msg-body{background:#0f1c2e;border-color:#1d4ed8;color:#bfdbfe}.delegate-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.delegate-status.pending{color:#60a5fa}.delegate-status.running{color:#d97706}.delegate-status.done{color:#4ade80}.delegate-status.error{color:#fca5a5}.muted{color:#78716c;font-size:13px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#1c1917;border:1px solid #3f3b38;border-radius:12px;padding:24px;max-width:380px;width:90%}.modal h3{margin:0 0 12px;font-size:15px}.modal .pending{color:#d97706;font-size:13px}.modal .ok{color:#16a34a;font-size:13px}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.modal .actions button{padding:8px 16px;border-radius:6px;border:0;font-weight:600;cursor:pointer;font-size:13px;background:#292524;color:#a8a29e}.modal .actions button:hover{background:#3f3b38}.danger{background:#7f1d1d!important;color:#fca5a5!important}.danger:hover{background:#991b1b!important}