:root{--bg-base: #0b1120;--bg-surface-1: #151d2e;--bg-surface-2: #1e293b;--bg-surface-3: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-inverse: #0f172a;--primary: #8b5cf6;--primary-hover: #7c3aed;--primary-light: rgba(139, 92, 246, .12);--primary-glow: rgba(139, 92, 246, .25);--accent: #38bdf8;--accent-light: rgba(56, 189, 248, .12);--success: #10b981;--success-bg: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .12);--error: #ef4444;--error-bg: rgba(239, 68, 68, .12);--border-color: rgba(148, 163, 184, .08);--border-hover: rgba(148, 163, 184, .16);--border-focus: rgba(139, 92, 246, .5);--glass-bg: rgba(15, 23, 42, .72);--glass-border: rgba(255, 255, 255, .06);--glass-blur: blur(16px);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--sidebar-width: 260px;--context-panel-width: 320px;--header-height: 56px;--border-radius-sm: 8px;--border-radius: 12px;--border-radius-lg: 20px;--border-radius-pill: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-serif: "Merriweather", "Georgia", serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--line-height-tight: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(139, 92, 246, .15);--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .3s cubic-bezier(.4, 0, .2, 1)}:root{--main-bg: var(--bg-base);--sidebar-bg: var(--bg-surface-1);--card-bg: var(--bg-surface-1);--panel-bg: var(--bg-surface-1);--accent-color: var(--primary);--primary-color: var(--primary)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-base);color:var(--text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b826;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b840}:root{font-family:var(--font-family);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:block;min-width:320px;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}a{font-weight:500;color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:var(--border-radius-sm);border:1px solid transparent;padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition-fast);background-color:var(--bg-surface-2);color:var(--text-primary);-webkit-user-select:none;user-select:none;line-height:1.4;min-height:36px}button:hover:not(:disabled){background-color:var(--bg-surface-3)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button[type=submit],.btn-primary{background:var(--primary);color:#fff;border:1px solid transparent}button[type=submit]:hover,.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow)}.btn-ghost{background:transparent;box-shadow:none;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover{background:#ffffff0f;color:var(--text-primary)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-surface-2);border-color:var(--border-hover);color:var(--text-primary)}.btn-icon{padding:.4rem;border-radius:var(--border-radius-sm);width:32px;height:32px;min-height:32px;flex-shrink:0}input,textarea,select{background:var(--bg-surface-2);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem .75rem;border-radius:var(--border-radius-sm);font-family:inherit;font-size:var(--font-size-sm);transition:var(--transition-fast);width:100%;line-height:1.5}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.card{background:var(--bg-surface-1);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:var(--space-lg);transition:var(--transition)}.flex-between{display:flex;justify-content:space-between;align-items:center}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--primary)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.container{width:100%;max-width:1200px;margin:0 auto;padding:var(--space-lg)}@media (max-width: 768px){:root{--space-lg: 1rem;--space-xl: 1.5rem}.container{padding:var(--space-md)}.card{padding:var(--space-md);border-radius:var(--border-radius-sm)}}@media (max-width: 480px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}}body{margin:0;font-family:var(--font-family);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse at 10% 0%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(ellipse at 90% 100%,rgba(56,189,248,.04) 0%,transparent 50%);min-height:100vh}#root{width:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.container{display:flex;flex-direction:column;gap:1.5rem}.card{background:var(--bg-surface-1);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.25rem;transition:var(--transition)}.card:hover{border-color:var(--border-hover)}.input-group{display:flex;gap:.75rem}input[type=text],.edit-input,textarea,.edit-textarea{flex:1;background:var(--bg-surface-2);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem .75rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:inherit;transition:var(--transition-fast)}input[type=text]:focus,.edit-input:focus,textarea:focus,.edit-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}input::placeholder{color:var(--text-tertiary)}.dashboard{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;height:calc(100vh - 200px)}@media (max-width: 768px){.dashboard{grid-template-columns:1fr;height:auto;gap:1rem}.chunk-list{max-height:220px;border-bottom:1px solid var(--border-color);padding-bottom:1rem}}.chunk-list{overflow-y:auto;padding-right:.25rem;display:flex;flex-direction:column;gap:2px}.chunk-item{padding:.6rem .75rem;background:transparent;border-radius:var(--border-radius-sm);border:1px solid transparent;cursor:pointer;transition:var(--transition-fast);display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.chunk-item:hover{background:var(--bg-surface-2);color:var(--text-primary)}.chunk-item.active{background:var(--primary-light);color:var(--text-primary);font-weight:500;border-color:#8b5cf633}.chunk-status{width:7px;height:7px;border-radius:50%}.status-pending{background-color:var(--text-tertiary)}.status-processing{background-color:var(--warning);box-shadow:0 0 6px var(--warning-bg);animation:pulse 1.5s infinite}.status-done{background-color:var(--success)}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.content-area{overflow-y:auto;position:relative}.note-card.editing{background:var(--bg-surface-1);border:1px solid var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.btn-small{padding:.35rem .7rem;font-size:var(--font-size-xs);min-height:unset}.sidebar{background:var(--bg-surface-1);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;overflow-y:auto}.sidebar-header{padding:var(--space-lg) var(--space-md) var(--space-md)}.sidebar-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);transition:var(--transition-fast);letter-spacing:-.01em}.sidebar-title:hover{background:#ffffff0a}.sidebar-title svg{color:var(--primary);flex-shrink:0}.sidebar-content{flex:1;padding:0 var(--space-sm)}.sidebar-section{margin-bottom:var(--space-md)}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);cursor:pointer;color:var(--text-tertiary);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none;margin-bottom:2px;border-radius:var(--border-radius-sm);transition:var(--transition-fast)}.sidebar-section-header:hover{color:var(--text-secondary);background:#ffffff05}.sidebar-section-title{display:flex;align-items:center;gap:var(--space-sm)}.sidebar-section-content{display:flex;flex-direction:column;gap:1px}.sidebar-section.collapsed .sidebar-section-content{display:none}.sidebar-item{padding:.45rem .6rem;margin:0;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:400;transition:var(--transition-fast);position:relative;border:1px solid transparent}.sidebar-item:hover{background:#ffffff0a;color:var(--text-primary)}.sidebar-item.active{background:var(--primary-light);color:var(--text-primary);font-weight:500;border-color:#8b5cf626}.sidebar-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--primary)}.sidebar-item-icon{width:16px;height:16px;flex-shrink:0;opacity:.6}.sidebar-item:hover .sidebar-item-icon{opacity:.8}.sidebar-item.active .sidebar-item-icon{opacity:1;color:var(--primary)}.sidebar-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-badge{background:var(--bg-surface-3);color:var(--text-secondary);font-size:.65rem;padding:1px 6px;border-radius:var(--border-radius-pill);font-weight:600;line-height:1.4}.sidebar-item.active .sidebar-item-badge{background:#8b5cf640;color:var(--text-primary)}.sidebar-footer{padding:var(--space-md);font-size:.65rem;color:var(--text-tertiary);text-align:center;opacity:.4;border-top:1px solid var(--border-color)}.sidebar-group{margin-bottom:8px}.sidebar-group-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:6px 8px 2px;font-weight:600;opacity:.7}.sidebar-subgroup-label{font-size:.65rem;color:var(--text-tertiary);margin:4px 8px 2px 16px;opacity:.6}.context-panel{background:var(--bg-surface-1);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;overflow-y:auto}.context-panel-header{padding:var(--space-md);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.context-panel-title{font-size:.6875rem;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.context-panel-close{background:transparent;border:none;color:var(--text-tertiary);padding:var(--space-xs);cursor:pointer;border-radius:var(--border-radius-sm);width:28px;height:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.context-panel-close:hover{background:#ffffff0f;color:var(--text-primary)}.context-panel-content{flex:1;padding:var(--space-md)}.context-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);text-align:center;padding:var(--space-xl)}.context-panel-empty-icon{margin-bottom:var(--space-md);opacity:.2}.context-panel-empty-text{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.context-section-container{display:flex;flex-direction:column;gap:var(--space-lg)}.context-section{padding-top:var(--space-sm)}.context-section .section-title{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:600;margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-xs)}.context-section .links-list{display:flex;flex-direction:column;gap:2px}.context-section .empty-links{font-size:var(--font-size-xs);color:var(--text-tertiary);padding:var(--space-sm);opacity:.6}.context-section .link-item{font-size:var(--font-size-sm);padding:.35rem .5rem;border-radius:var(--border-radius-sm);transition:var(--transition-fast)}.context-section .link-item.clickable:hover{background:#ffffff0a}.ai-suggest-btn{width:100%;padding:var(--space-sm);background:var(--primary-light);color:var(--primary);border:1px solid rgba(139,92,246,.15);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:var(--transition-fast)}.ai-suggest-btn:hover{background:#8b5cf62e;border-color:#8b5cf64d}.suggestion-card{background:var(--bg-surface-2);padding:var(--space-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--space-xs)}.suggestion-reason{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-xs)}.suggestion-actions{display:flex;justify-content:space-between;align-items:center}.confidence-badge{font-size:.65rem;color:var(--accent);background:var(--accent-light);padding:1px 6px;border-radius:var(--border-radius-pill)}.layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr var(--context-panel-width);height:100vh;overflow:hidden}.layout.context-panel-hidden{grid-template-columns:var(--sidebar-width) 1fr}.mobile-header,.mobile-menu-toggle,.mobile-sidebar-overlay{display:none}@media (max-width: 1024px){.layout{grid-template-columns:var(--sidebar-width) 1fr}.layout .context-panel{display:none}}@media (max-width: 768px){.layout{display:block;position:relative;height:100vh;overflow:hidden}.mobile-header{display:flex;align-items:center;gap:.75rem;position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);z-index:2000;padding:0 1rem}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;color:var(--text-secondary);width:36px;height:36px;min-height:36px;box-shadow:none;border-radius:var(--border-radius-sm)}.mobile-menu-toggle:hover{background:#ffffff0f;color:var(--text-primary)}.mobile-brand{font-size:1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.sidebar-container{position:fixed;top:0;left:-280px;width:280px;height:100%;background:var(--bg-surface-1);z-index:2001;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-lg)}.sidebar-container.mobile-visible{transform:translate(280px)}.mobile-sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:900;animation:fadeIn .2s ease-out}.main-content{height:100%;padding-top:var(--header-height)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.note-view{padding:var(--space-xl);width:100%;height:100vh;overflow-y:auto}.note-view-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);gap:1rem}.note-view-title-section{flex:1;min-width:0}.note-view-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);line-height:var(--line-height-tight);margin-bottom:var(--space-sm);border:none;background:transparent;width:100%;padding:var(--space-xs);border-radius:var(--border-radius-sm)}.note-view-title:not(input){cursor:text}.note-view-title:hover:not(input){background:#ffffff05}.note-view-title input{border:1px solid var(--primary);background:var(--bg-surface-2)}.note-view-meta{display:flex;gap:var(--space-md);align-items:center;font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--space-xs)}.note-view-source-link{color:var(--primary);text-decoration:none;cursor:pointer}.note-view-source-link:hover{text-decoration:underline}.note-view-actions{display:flex;gap:var(--space-sm);flex-shrink:0}.note-view-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background:var(--bg-surface-1);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;gap:var(--space-xs);transition:var(--transition-fast)}.note-view-btn:hover{background:var(--bg-surface-2);border-color:var(--border-hover)}.note-view-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.note-view-btn.primary:hover{background:var(--primary-hover)}.note-view-btn:disabled{opacity:.5;cursor:not-allowed}.note-view-content{margin-bottom:var(--space-xl)}.note-view-content textarea{width:100%;min-height:calc(100vh - 300px);padding:var(--space-lg);background:transparent;border:none;border-radius:0;color:var(--text-primary);font-size:var(--font-size-base);line-height:1.7;font-family:Inter,system-ui,sans-serif;resize:none;box-shadow:none}.note-view-content textarea:focus{outline:none;background:transparent}.note-view-markdown{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-primary)}.note-view-markdown h1,.note-view-markdown h2,.note-view-markdown h3{margin-top:var(--space-lg);margin-bottom:var(--space-md);color:var(--text-primary)}.note-view-markdown p{margin-bottom:var(--space-md)}.note-view-markdown code{background:var(--bg-surface-2);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.875em}.note-view-markdown pre{background:var(--bg-surface-2);padding:var(--space-md);border-radius:var(--border-radius-sm);overflow-x:auto;margin-bottom:var(--space-md)}.note-view-tags{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-lg)}.note-view-tag{padding:2px 10px;background:var(--primary-light);color:var(--primary);border-radius:var(--border-radius-pill);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:var(--transition-fast);border:1px solid rgba(139,92,246,.15)}.note-view-tag:hover{background:#8b5cf633}.note-view-tags input{flex:1;min-width:200px;padding:var(--space-xs) var(--space-sm);background:var(--bg-surface-2);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.note-view-tags input:focus{outline:none;border-color:var(--primary)}.note-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:var(--text-tertiary);text-align:center}.note-view-empty-icon{margin-bottom:var(--space-md);opacity:.2}@media (max-width: 768px){.note-view{padding:var(--space-md)}.note-view-header{flex-direction:column}.note-view-actions{width:100%}}.graph-view{height:100vh;display:flex;flex-direction:column;background:var(--main-bg)}.graph-view-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--bg-surface-1)}.graph-view-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.graph-view-filters{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap}.graph-view-filter{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--bg-surface-2);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary);border:1px solid var(--border-color)}.graph-view-filter-label{color:var(--text-tertiary);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.graph-view-filter input[type=checkbox]{cursor:pointer;width:auto}.graph-view-filter input[type=range]{width:80px;cursor:pointer}.graph-view-canvas{flex:1;position:relative}.graph-view-legend{position:absolute;top:var(--space-md);right:var(--space-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);border:1px solid var(--glass-border);font-size:var(--font-size-xs)}.graph-view-legend-title{font-weight:600;margin-bottom:var(--space-xs);color:var(--text-primary);font-size:var(--font-size-xs)}.graph-view-legend-item{display:flex;align-items:center;gap:var(--space-sm);margin:2px 0;color:var(--text-secondary);font-size:var(--font-size-xs)}.graph-view-legend-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.graph-view-stats{position:absolute;bottom:var(--space-md);left:var(--space-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:var(--space-xs) var(--space-md);border-radius:var(--border-radius-sm);border:1px solid var(--glass-border);font-size:var(--font-size-xs);color:var(--text-tertiary);display:flex;gap:var(--space-sm)}.graph-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);text-align:center;padding:var(--space-xl)}.graph-view-empty-icon{margin-bottom:var(--space-md);opacity:.15}.folder-view{padding:var(--space-xl);width:100%;height:100vh;overflow-y:auto}.folder-view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);gap:1rem}.folder-view-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.folder-view-action-btn{padding:var(--space-sm) var(--space-md);background:var(--primary);color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);transition:var(--transition-fast)}.folder-view-action-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow)}.folder-view-action-btn:disabled{opacity:.5;cursor:not-allowed}.folder-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;color:var(--text-tertiary);text-align:center}.folder-view-empty-icon{margin-bottom:var(--space-md);opacity:.15}.folder-view-empty-text{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--space-lg)}.folder-list{display:flex;flex-direction:column;gap:var(--space-md)}.folder-card{background:var(--bg-surface-1);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:0;transition:var(--transition-fast);overflow:hidden}.folder-card:hover{border-color:var(--border-hover)}.folder-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.folder-card-title{font-size:var(--font-size-base);font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.folder-card-count{background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:var(--border-radius-pill);font-size:var(--font-size-xs);font-weight:500}.folder-card-notes{display:grid;gap:2px;padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border-color);background:#00000026}.folder-note-item{padding:var(--space-sm) var(--space-md);background:transparent;border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:var(--space-sm)}.folder-note-item:hover{background:#ffffff0a}.folder-note-icon{color:var(--text-tertiary);flex-shrink:0;opacity:.5}.folder-note-title{color:var(--text-secondary);font-size:var(--font-size-sm);flex:1}@media (max-width: 768px){.folder-view{padding:var(--space-md)}.folder-view-header{flex-direction:column;align-items:flex-start}.folder-view-action-btn{width:100%;justify-content:center}}.book-header-wrapper{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.book-header-left{flex:1;min-width:0}.book-header-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:.5rem}.book-header-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.book-title{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;max-width:100%!important}.dashboard-tabs{display:inline-flex;background:var(--bg-surface-2);padding:3px;border-radius:var(--border-radius-sm);border:1px solid var(--border-color);margin-bottom:1.5rem;overflow-x:auto;gap:2px}.tab-btn{background:transparent;border:none;padding:.45rem 1rem;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;border-radius:6px;font-weight:500;cursor:pointer;transition:var(--transition-fast);min-height:32px;line-height:1.3}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{background:var(--primary);color:#fff;font-weight:500}@media (max-width: 768px){.book-header-wrapper{flex-direction:column;gap:1rem}.book-header-left{width:100%}.book-header-right{width:100%;align-items:stretch}.book-header-actions{width:100%;display:flex;gap:.5rem}.book-header-actions button{flex:1;justify-content:center;padding:.5rem .75rem;font-size:var(--font-size-xs)}.book-title{font-size:1.25rem!important}.dashboard-tabs{width:100%}.tab-btn{flex:1;text-align:center;padding:.45rem .75rem;font-size:var(--font-size-xs)}}@media (max-width: 480px){.book-title{font-size:1.1rem!important}.tab-btn{padding:.4rem .5rem;font-size:.7rem}}.main-content{background:var(--main-bg);height:100vh;overflow-y:auto}.main-content-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:var(--font-size-base)}.markdown-content{max-width:65ch;margin:0 auto;padding:var(--space-lg) 0;font-family:var(--font-serif);color:var(--text-primary);line-height:var(--line-height-relaxed);font-size:1.0625rem}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{font-family:var(--font-family);color:var(--text-primary);margin-top:1.75em;margin-bottom:.5em;line-height:var(--line-height-tight);font-weight:600}.markdown-content h1{font-size:1.875rem}.markdown-content h2{font-size:1.5rem;padding-bottom:.25em;border-bottom:1px solid var(--border-color)}.markdown-content h3{font-size:1.25rem}.markdown-content h4{font-size:1.125rem}.markdown-content p{margin-bottom:1.25em}.markdown-content ul,.markdown-content ol{margin-bottom:1.25em;padding-left:1.5em}.markdown-content li{margin-bottom:.4em}.markdown-content li>p{margin-bottom:.4em}.markdown-content blockquote{border-left:3px solid var(--primary);padding:.75em 1em;margin:0 0 1.25em;font-style:italic;color:var(--text-secondary);background:var(--primary-light);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0}.markdown-content code{font-family:var(--font-mono);background:#ffffff0f;padding:.15em .35em;border-radius:4px;font-size:.875em;color:var(--accent)}.markdown-content pre{background:var(--bg-surface-1);padding:1em;border-radius:var(--border-radius-sm);overflow-x:auto;margin-bottom:1.25em;border:1px solid var(--border-color)}.markdown-content pre code{background:none;padding:0;color:inherit;font-size:.875em}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.markdown-content a:hover{border-bottom-color:var(--accent)}.markdown-content hr{border:none;border-top:1px solid var(--border-color);margin:2em 0}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:1.25em;font-size:.9em;overflow-x:auto;display:block}.markdown-content thead{background:var(--bg-surface-2)}.markdown-content th,.markdown-content td{padding:.6em .85em;border:1px solid var(--border-color);text-align:left;vertical-align:top;word-wrap:break-word}.markdown-content th{font-weight:600;font-family:var(--font-family);color:var(--text-primary)}.markdown-content td{color:var(--text-secondary)}.markdown-content tbody tr:nth-child(2n){background:#ffffff04}.markdown-content tbody tr:hover{background:#ffffff08}.book-dashboard{gap:1rem}
