*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#1a2332;--sidebar-width:220px;--bg:#f8f6f2;--surface:#fff;--surface-hover:#f2efea;--border:#e8e4de;--border-strong:#d4cfc8;--text-primary:#1a1a1a;--text-secondary:#6b6560;--text-muted:#9e9890;--accent:#4f7ef0;--accent-hover:#3d6bde;--accent-light:#eef2fd;--green:#3cb371;--green-light:#edf7f1;--red:#e05252;--red-light:#fdf0f0;--amber:#d4860a;--amber-light:#fef6e4;--sidebar-text:#a8b8cc;--sidebar-text-active:#fff;--sidebar-item-hover:#ffffff0f;--sidebar-item-active:#ffffff1a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a}html,body,#root{height:100%;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:14px}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);flex-direction:column;flex-shrink:0;height:100%;padding:0;display:flex;overflow:hidden}.sidebar-logo{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;margin-bottom:8px;padding:22px 20px 20px;display:flex}.sidebar-logo-mark{background:var(--accent);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;font-weight:600;display:flex}.sidebar-logo-name{color:var(--sidebar-text-active);letter-spacing:-.01em;font-size:14px;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:4px 10px;display:flex}.sidebar-item{border-radius:var(--radius-md);color:var(--sidebar-text);text-align:left;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.sidebar-item:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text-active)}.sidebar-item.active{background:var(--sidebar-item-active);color:var(--sidebar-text-active)}.sidebar-item-icon{opacity:.85;flex-shrink:0;align-items:center;display:flex}.sidebar-item.active .sidebar-item-icon,.sidebar-item:hover .sidebar-item-icon{opacity:1}.sidebar-footer{border-top:1px solid #ffffff0f;padding:16px 10px 20px}.sidebar-users{flex-direction:column;gap:8px;display:flex}.sidebar-user{color:var(--sidebar-text);align-items:center;gap:10px;padding:4px 12px;font-size:12.5px;display:flex}.sidebar-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:flex}.sidebar-avatar--a{color:#c8d8f5;background:#3d5fa8}.sidebar-avatar--j{color:#b8e4cc;background:#3d7a5a}.error-banner{background:var(--red-light);border-radius:var(--radius-md);color:var(--red);border:1px solid #f5c6c6;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.error-banner-icon{flex-shrink:0;align-items:center;margin-top:1px;display:flex}.error-banner-msg{flex:1;line-height:1.45}.error-banner-dismiss{color:var(--red);opacity:.6;flex-shrink:0;margin-top:-1px;padding:0 2px;font-size:18px;line-height:1;transition:opacity .1s}.error-banner-dismiss:hover{opacity:1}.search-view{flex-direction:column;height:100%;display:flex}.search-topbar{padding:24px 32px 0}.view-title{color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:600}.search-body{flex:1;max-width:760px;padding:20px 32px 32px;overflow-y:auto}.search-form{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.search-input-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;padding:0 6px 0 14px;transition:border-color .15s;display:flex}.search-input-wrap:focus-within{border-color:var(--accent)}.search-icon{color:var(--text-muted);flex-shrink:0;align-items:center;margin-right:8px;display:flex}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:13px 0;font-size:15px}.search-input::placeholder{color:var(--text-muted)}.search-submit{background:var(--accent);color:#fff;border-radius:var(--radius-md);flex-shrink:0;align-items:center;gap:6px;padding:7px 16px;font-size:13.5px;font-weight:500;transition:background .12s,opacity .12s;display:flex}.search-submit:hover:not(:disabled){background:var(--accent-hover)}.search-submit:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:99px;padding:5px 12px;font-size:12.5px;font-weight:500;transition:all .12s}.filter-chip:hover{border-color:var(--accent);color:var(--accent)}.filter-chip.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.cache-banner{background:var(--amber-light);border-radius:var(--radius-md);color:var(--amber);border:1px solid #f0d08a;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px;font-size:12.5px;display:flex}.cache-banner-icon{flex-shrink:0;align-items:center;display:flex}.cache-refresh-btn{color:var(--amber);background:0 0;border:none;margin-left:auto;font-size:12.5px;font-weight:500;text-decoration:underline}.cache-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.answer-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:20px 22px}.answer-card-header{margin-bottom:12px}.answer-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:11px;font-weight:600}.answer-text{color:var(--text-primary);white-space:pre-wrap;font-size:14.5px;line-height:1.65}.source-results-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:600}.source-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;padding:14px 16px;transition:border-color .12s}.source-card:hover{border-color:var(--border-strong)}.source-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.source-card-meta{align-items:center;gap:8px;display:flex}.source-card-actions{align-items:center;gap:6px;display:flex}.source-link{color:var(--text-muted);border-radius:var(--radius-sm);padding:2px 6px;font-size:14px;transition:color .12s,background .12s}.source-link:hover{color:var(--accent);background:var(--accent-light)}.source-expand-btn{color:var(--text-muted);border-radius:var(--radius-sm);padding:2px 6px;font-size:10px;transition:color .12s,background .12s}.source-expand-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.source-card-title{color:var(--text-primary);font-size:13.5px;font-weight:500;line-height:1.4}.source-card-excerpt{color:var(--text-secondary);border-top:1px solid var(--border);white-space:pre-wrap;margin-top:10px;padding-top:10px;font-size:13px;line-height:1.6}.source-score{color:var(--text-muted);font-size:11.5px}.source-badge{letter-spacing:.02em;border-radius:99px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.source-badge--granola{color:#7c3aed;background:#f0e8fd}.source-badge--github{color:#24292e;background:#e8edf5}.source-badge--article{background:var(--accent-light);color:var(--accent)}.source-badge--note{background:var(--green-light);color:var(--green)}.source-badge--url{background:var(--surface-hover);color:var(--text-secondary)}.search-empty,.search-error,.search-placeholder{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:48px 0;font-size:14px;display:flex}.search-placeholder p{max-width:300px;line-height:1.55}.search-placeholder-icon{color:var(--text-muted)}.search-error{color:var(--red);background:var(--red-light);border-radius:var(--radius-md);text-align:left;padding:12px 16px}.todos-view{flex-direction:column;height:100%;display:flex}.todos-topbar{align-items:center;gap:12px;padding:24px 32px 0;display:flex}.todos-body{flex-direction:column;flex:1;gap:32px;max-width:680px;padding:20px 32px 40px;display:flex;overflow-y:auto}.refresh-btn{border-radius:var(--radius-sm);color:var(--text-muted);padding:6px 8px;transition:color .12s,background .12s}.refresh-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.todo-section{flex-direction:column;gap:0;display:flex}.todo-section-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.todo-section-avatar{background:var(--accent-light);width:26px;height:26px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.todo-section-avatar--jahnavi{color:#2d7a4f;background:#e8f4ec}.todo-section-avatar--aadhya{color:#3d5fa8;background:#e8edf8}.todo-section-name{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:600}.todo-section-count{color:var(--text-muted);background:var(--surface-hover);border-radius:99px;margin-left:auto;padding:1px 8px;font-size:12px}.todo-list{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.todo-empty{color:var(--text-muted);padding:8px 0 4px;font-size:13px}.todo-item{border-radius:var(--radius-md);background:var(--surface);border:1.5px solid var(--border);align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .12s;display:flex;position:relative}.todo-item:hover{border-color:var(--border-strong)}.todo-item.recurring{border-left:3px solid var(--green)}.todo-item.done{opacity:.5}.todo-item.done .todo-text{text-decoration:line-through}.todo-item.mutating{opacity:.6;pointer-events:none}.todo-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.todo-check{color:var(--text-muted);flex-shrink:0;align-items:center;margin-top:1px;transition:color .12s;display:flex}.todo-check:hover,.todo-check.checked{color:var(--green)}.todo-content{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.todo-text{color:var(--text-primary);word-break:break-word;font-size:13.5px;line-height:1.4}.todo-edit-input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;padding:0;font-size:13.5px}.todo-tags{flex-wrap:wrap;gap:6px;display:flex}.recurring-tag{letter-spacing:.04em;color:var(--green);text-transform:uppercase;font-size:10.5px;font-weight:600}.deadline-tag{border-radius:99px;padding:1px 7px;font-size:11px;font-weight:600}.deadline-tag.overdue{background:var(--red-light);color:var(--red)}.deadline-tag.upcoming{background:var(--amber-light);color:var(--amber)}.todo-delete{color:var(--text-muted);opacity:0;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1;transition:opacity .12s,color .12s}.todo-item:hover .todo-delete{opacity:1}.todo-delete:hover{color:var(--red)}.todo-done-group{flex-direction:column;gap:4px;margin-top:8px;display:flex}.todo-done-divider{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:4px 0 2px;font-size:11px;font-weight:600}.add-todo-btn{color:var(--text-muted);text-align:left;padding:8px 0;font-size:13px;transition:color .12s}.add-todo-btn:hover{color:var(--accent)}.add-todo-form{background:var(--surface);border:1.5px solid var(--accent);border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px 12px;display:flex}.add-todo-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.add-todo-input::placeholder{color:var(--text-muted)}.add-todo-date{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg);outline:none;padding:3px 6px;font-size:12px}.add-todo-submit{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:4px 12px;font-size:13px;font-weight:500}.add-todo-submit:hover{background:var(--accent-hover)}.add-todo-cancel{color:var(--text-muted);font-size:12.5px}.add-todo-cancel:hover{color:var(--text-secondary)}.todos-loading{color:var(--text-muted);text-align:center;padding:40px 0;font-size:14px}.ingest-view{flex-direction:column;height:100%;display:flex}.ingest-topbar{padding:24px 32px 0}.ingest-body{flex:1;align-items:flex-start;gap:28px;padding:20px 32px 40px;display:flex;overflow-y:auto}.ingest-left{flex-direction:column;flex:1;gap:28px;min-width:0;max-width:480px;display:flex}.ingest-right{flex-shrink:0;width:300px}.ingest-section{flex-direction:column;gap:12px;display:flex}.ingest-section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.ingest-section-sub{color:var(--text-muted);margin-top:-4px;font-size:12.5px}.ingest-section-sub code{background:var(--surface-hover);border-radius:3px;padding:0 4px;font-family:ui-monospace,monospace;font-size:11.5px}.ingest-url-form{flex-direction:column;gap:10px;display:flex}.ingest-url-input{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--surface);outline:none;padding:10px 14px;font-size:13.5px;transition:border-color .15s}.ingest-url-input:focus{border-color:var(--accent)}.ingest-url-input::placeholder{color:var(--text-muted)}.ingest-paste-form{flex-direction:column;gap:10px;display:flex}.ingest-title-input{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--surface);outline:none;padding:8px 14px;font-size:13.5px;transition:border-color .15s}.ingest-title-input:focus{border-color:var(--accent)}.ingest-title-input::placeholder{color:var(--text-muted)}.ingest-paste-area{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--surface);resize:vertical;outline:none;padding:10px 14px;font-size:13.5px;line-height:1.55;transition:border-color .15s}.ingest-paste-area:focus{border-color:var(--accent)}.ingest-paste-area::placeholder{color:var(--text-muted)}.type-chips{flex-wrap:wrap;gap:6px;display:flex}.type-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:99px;padding:4px 11px;font-size:12px;font-weight:500;transition:all .12s}.type-chip:hover{border-color:var(--accent);color:var(--accent)}.type-chip.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.ingest-submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);align-self:flex-start;padding:8px 18px;font-size:13.5px;font-weight:500;transition:background .12s,opacity .12s}.ingest-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.ingest-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ingest-status{border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.ingest-status--ok{background:var(--green-light);color:var(--green)}.ingest-status--warn{background:var(--amber-light);color:var(--amber)}.ingest-status--error{background:var(--red-light);color:var(--red)}.github-repos-list{flex-direction:column;gap:4px;margin-bottom:4px;display:flex}.github-repo-row{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 12px;display:flex}.github-repo-name{color:var(--text-secondary);flex:1;font-family:ui-monospace,monospace;font-size:13px}.github-repo-remove{color:var(--text-muted);padding:0 2px;font-size:16px;transition:color .12s}.github-repo-remove:hover{color:var(--red)}.github-add-form{gap:8px;display:flex}.github-add-input{border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:var(--surface);outline:none;flex:1;padding:8px 12px;font-family:ui-monospace,monospace;font-size:13.5px;transition:border-color .15s}.github-add-input:focus{border-color:var(--accent)}.github-add-input::placeholder{color:var(--text-muted);font-family:DM Sans,sans-serif}.recent-sources-list{flex-direction:column;gap:4px;display:flex}.recent-source-row{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.recent-source-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.recent-source-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.recent-source-url{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.recent-source-url:hover{color:var(--accent)}.recent-source-date{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.recent-source-delete{color:var(--text-muted);opacity:0;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1;transition:opacity .12s,color .12s}.recent-source-row:hover .recent-source-delete{opacity:1}.recent-source-delete:hover{color:var(--red)}.source-badge-sm{letter-spacing:.02em;border-radius:99px;flex-shrink:0;align-items:center;margin-top:1px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.source-badge-sm--granola{color:#7c3aed;background:#f0e8fd}.source-badge-sm--github{color:#24292e;background:#e8edf5}.source-badge-sm--article,.source-badge-sm--url{background:var(--accent-light);color:var(--accent)}.source-badge-sm--note{background:var(--green-light);color:var(--green)}.source-badge-sm--competitor{color:#b91c1c;background:#fde8e8}.source-badge-sm--research{color:#1d6fa8;background:#e8f4fd}.source-badge-sm--doc{background:var(--surface-hover);color:var(--text-secondary)}.source-badge-sm--tool{background:var(--amber-light);color:var(--amber)}.ingest-empty{color:var(--text-muted);font-size:13px}.app-layout{height:100%;display:flex}.app-main{background:var(--bg);flex:1;min-width:0;height:100%;overflow-y:auto}
