@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--bg-primary:#fff;--bg-secondary:#f7f6f3;--bg-tertiary:#f1f1ef;--bg-sidebar:#fbfbfaf7;--bg-hover:#37352f0a;--bg-active:#37352f14;--bg-tooltip:#37352f;--text-primary:#37352f;--text-secondary:#787774;--text-tertiary:#b4b4b0;--text-inverse:#fff;--border-default:#e3e2e0;--border-strong:#d3d1cb;--border-subtle:#f0efed;--accent:#2383e2;--accent-hover:#0b6bcb;--accent-soft:#2383e21a;--color-red:#e03e3e;--color-orange:#d9730d;--color-yellow:#dfab01;--color-green:#0f7b6c;--color-blue:#2383e2;--color-purple:#9065b0;--color-pink:#ad1a72;--tag-red:#fbe4e4;--tag-orange:#faebdd;--tag-yellow:#fbf3db;--tag-green:#ddedea;--tag-blue:#ddebf1;--tag-purple:#eae4f2;--tag-pink:#f4dfeb;--tag-gray:#e3e2e0;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 36px #0000001f;--shadow-popover:#0f0f0f0a 0px 0px 0px 1px, #0f0f0f14 0px 3px 6px, #0f0f0f29 0px 9px 24px;--sidebar-width:260px;--topbar-height:44px;--content-max-width:900px;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px}.dark{--bg-primary:#191919;--bg-secondary:#202020;--bg-tertiary:#2f2f2f;--bg-sidebar:#191919f7;--bg-hover:#ffffff0a;--bg-active:#ffffff14;--bg-tooltip:#e3e2e0;--text-primary:#e3e2e0;--text-secondary:#9b9a97;--text-tertiary:#5a5a58;--text-inverse:#191919;--border-default:#2c2c2b;--border-strong:#3c3c3b;--border-subtle:#232323;--accent:#529cca;--accent-hover:#6bb8e6;--accent-soft:#529cca26;--tag-red:#3d2121;--tag-orange:#3d2f1d;--tag-yellow:#3d391f;--tag-green:#1d2d29;--tag-blue:#1d2a35;--tag-purple:#2d2535;--tag-pink:#35202b;--tag-gray:#2c2c2b;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 36px #0006;--shadow-popover:#ffffff0a 0px 0px 0px 1px, #0000004d 0px 3px 6px, #00000080 0px 9px 24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);transition:background var(--transition-base), color var(--transition-base);height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Apple Color Emoji,Arial,sans-serif;line-height:1.5;overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-layout{width:100vw;height:100vh;display:flex;overflow:hidden}.main-content{min-width:0;transition:margin-left var(--transition-smooth);flex-direction:column;flex:1;display:flex;overflow:hidden}.page-content{flex:1;padding:0;overflow:hidden auto}.page-inner{max-width:var(--content-max-width);min-height:100%;margin:0 auto;padding:12px 96px 80px}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-sidebar);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);height:100vh;transition:width var(--transition-smooth), min-width var(--transition-smooth), opacity var(--transition-smooth);z-index:10;flex-direction:column;display:flex;position:relative;overflow:hidden}.sidebar.collapsed{opacity:0;border-right:none;width:0;min-width:0;overflow:hidden}.sidebar-header{justify-content:space-between;align-items:center;padding:12px 12px 4px;display:flex}.sidebar-workspace{border-radius:var(--radius-sm);cursor:pointer;min-width:0;transition:background var(--transition-fast);flex:1;align-items:center;gap:8px;padding:4px 6px;display:flex}.sidebar-workspace:hover{background:var(--bg-hover)}.workspace-avatar{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent), var(--color-purple));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:flex}.workspace-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.sidebar-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav{flex-direction:column;gap:1px;padding:4px 8px;display:flex}.sidebar-nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;align-items:center;gap:8px;padding:5px 8px;font-size:14px;display:flex}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item svg{flex-shrink:0;width:18px;height:18px}.sidebar-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:16px 14px 4px;font-size:11px;font-weight:500}.sidebar-pages{flex:1;padding:0 8px 12px;overflow:hidden auto}.page-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;min-height:30px;padding:3px 4px 3px 8px;font-size:14px;display:flex;position:relative}.page-item:hover{background:var(--bg-hover);color:var(--text-primary)}.page-item.active{background:var(--bg-active);color:var(--text-primary)}.page-item-expand{border-radius:var(--radius-xs);width:20px;height:20px;color:var(--text-tertiary);transition:transform var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-item-expand:hover{background:var(--bg-active)}.page-item-expand.expanded{transform:rotate(90deg)}.page-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;display:flex}.page-item-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.page-item-actions{opacity:0;transition:opacity var(--transition-fast);gap:2px;display:flex}.page-item:hover .page-item-actions{opacity:1}.page-item-action{border-radius:var(--radius-xs);width:22px;height:22px;color:var(--text-secondary);transition:background var(--transition-fast);justify-content:center;align-items:center;display:flex}.page-item-action:hover{background:var(--bg-active)}.page-children{padding-left:12px}.sidebar-new-page{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:8px;margin:4px 8px 8px;padding:8px 12px;font-size:14px;display:flex}.sidebar-new-page:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-footer{border-top:1px solid var(--border-subtle);padding:8px 12px 12px}.topbar{height:var(--topbar-height);min-height:var(--topbar-height);transition:border-color var(--transition-fast);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.topbar.scrolled{border-bottom-color:var(--border-subtle)}.topbar-left,.topbar-right{align-items:center;gap:4px;display:flex}.topbar-breadcrumb{color:var(--text-secondary);align-items:center;gap:4px;font-size:14px;display:flex}.topbar-breadcrumb-item{border-radius:var(--radius-xs);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:3px 6px;overflow:hidden}.topbar-breadcrumb-item:hover{background:var(--bg-hover)}.topbar-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex}.topbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cover-image{cursor:pointer;width:100%;height:30vh;min-height:200px;max-height:300px;position:relative;overflow:hidden}.cover-image img{object-fit:cover;width:100%;height:100%}.cover-image-gradient{width:100%;height:100%}.cover-image-overlay{opacity:0;transition:opacity var(--transition-fast);padding:8px 16px;position:absolute;bottom:0;right:0}.cover-image:hover .cover-image-overlay{opacity:1}.cover-image-btn{border-radius:var(--radius-sm);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);cursor:pointer;transition:background var(--transition-fast);padding:4px 8px;font-size:12px}.cover-image-btn:hover{background:var(--bg-secondary)}.page-header{margin-bottom:4px;padding-top:40px}.page-header-icon{cursor:pointer;transition:transform var(--transition-fast);margin-bottom:8px;font-size:72px;line-height:1;display:inline-block}.page-header-icon:hover{transform:scale(1.05)}.page-header-actions{opacity:0;transition:opacity var(--transition-fast);gap:8px;margin-bottom:12px;display:flex}.page-header:hover .page-header-actions{opacity:1}.page-header-action{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:flex}.page-header-action:hover{background:var(--bg-hover);color:var(--text-primary)}.page-title-input{width:100%;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;padding:0;font-size:40px;font-weight:700;line-height:1.2}.page-title-input::placeholder{color:var(--text-tertiary)}.btn{border-radius:var(--radius-sm);transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-default)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:3px 8px;font-size:12px}.search-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-start;padding-top:15vh;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.search-dialog{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:600px;box-shadow:var(--shadow-popover);animation:.2s slideUp;overflow:hidden}.search-input-wrap{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:12px 16px;display:flex}.search-input-wrap svg{color:var(--text-tertiary);flex-shrink:0}.search-input{flex:1;font-size:16px;line-height:1.5}.search-input::placeholder{color:var(--text-tertiary)}.search-results{max-height:400px;padding:4px;overflow-y:auto}.search-result-item{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:10px;padding:8px 12px;display:flex}.search-result-item:hover{background:var(--bg-hover)}.search-result-icon{font-size:18px}.search-result-info{flex:1;min-width:0}.search-result-title{font-size:14px;font-weight:500}.search-result-path{color:var(--text-tertiary);font-size:12px}.search-empty{text-align:center;color:var(--text-tertiary);padding:24px;font-size:14px}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton{background:var(--bg-tertiary);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--bg-hover) 50%, transparent 100%);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.toast-container{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.theme-toggle{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:8px;padding:5px 8px;font-size:14px;display:flex}.theme-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.auth-container{background:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex;position:relative;overflow:hidden}.auth-card{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);z-index:10;position:relative;overflow:hidden}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{background:var(--bg-tertiary);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:inline-flex}.auth-title{color:var(--text-primary);margin-bottom:8px;font-size:24px;font-weight:700}.auth-subtitle{color:var(--text-secondary);font-size:14px}.auth-form-group{margin-bottom:16px}.auth-label{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.auth-input-wrapper{position:relative}.auth-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-input{background:var(--bg-tertiary);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);border:1px solid #0000;padding:10px 12px 10px 36px;font-size:14px}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--bg-primary)}.auth-submit-btn{background:var(--text-primary);width:100%;color:var(--bg-primary);border-radius:var(--radius-md);transition:opacity var(--transition-fast);justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:10px;font-size:14px;font-weight:500;display:flex}.auth-submit-btn:hover{opacity:.9}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:16px}.auth-switch-btn{color:var(--text-secondary);transition:color var(--transition-fast);font-size:13px}.auth-switch-btn:hover{color:var(--text-primary)}@media (max-width:768px){.sidebar{z-index:50;box-shadow:var(--shadow-lg);position:fixed}.page-inner{padding:12px 24px 80px}.page-title-input{font-size:28px}}.topbar-dropdown-menu{z-index:100;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);min-width:260px;max-height:80vh;padding:4px;animation:.15s slideDown;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.topbar-menu-item{border-radius:var(--radius-xs);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:13px;transition:background .1s;display:flex}.topbar-menu-item:hover{background:var(--bg-hover)}.page-inner.full-width{max-width:100%!important;padding-left:48px!important;padding-right:48px!important}.tiptap-wrapper{position:relative}.floating-menu{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);align-items:center;gap:2px;padding:4px;display:flex}.floating-menu button{border-radius:var(--radius-xs);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .12s;display:flex}.floating-menu button:hover{background:var(--bg-hover);color:var(--text-primary)}.floating-menu button.active{background:var(--accent);color:#fff}.bubble-menu{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);align-items:center;gap:1px;padding:4px;display:flex}.bubble-menu button{border-radius:var(--radius-xs);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .12s;display:flex}.bubble-menu button:hover{background:var(--bg-hover);color:var(--text-primary)}.bubble-menu button.active{background:var(--accent);color:#fff}.tiptap-editor{min-height:200px;color:var(--text-primary);font-size:15px;line-height:1.7;font-family:var(--font-editor,"Inter", sans-serif);outline:none}.tiptap-editor>:first-child{margin-top:0}.tiptap-editor p{margin:4px 0}.tiptap-editor h1{margin:24px 0 8px;font-size:1.875em;font-weight:700;line-height:1.3}.tiptap-editor h2{margin:20px 0 6px;font-size:1.5em;font-weight:600;line-height:1.3}.tiptap-editor h3{margin:16px 0 4px;font-size:1.25em;font-weight:600;line-height:1.3}.tiptap-editor ul,.tiptap-editor ol{margin:4px 0;padding-left:24px}.tiptap-editor li{margin:2px 0}.tiptap-editor li p{margin:0}.tiptap-editor blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:12px 0;padding-left:16px;font-style:italic}.tiptap-editor hr{border:none;border-top:1px solid var(--border-default);margin:20px 0}.tiptap-editor code{background:var(--bg-tertiary);color:var(--color-red);border-radius:3px;padding:2px 5px;font-family:SF Mono,Fira Code,monospace;font-size:.9em}.tiptap-editor pre{color:#cdd6f4;border-radius:var(--radius-md);background:#1e1e2e;margin:12px 0;padding:16px 20px;font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.tiptap-editor pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.tiptap-editor ul[data-type=taskList]{padding-left:2px;list-style:none}.tiptap-editor ul[data-type=taskList] li{align-items:flex-start;gap:8px;margin:4px 0;display:flex}.tiptap-editor ul[data-type=taskList] li label{margin-top:3px}.tiptap-editor ul[data-type=taskList] li label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.tiptap-editor ul[data-type=taskList] li[data-checked=true]>div>p{color:var(--text-tertiary);text-decoration:line-through}.editor-link{color:var(--accent);text-underline-offset:2px;cursor:pointer;text-decoration:underline}.editor-image{border-radius:var(--radius-md);max-width:100%;height:auto;margin:12px 0}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0}.tiptap-editor mark{background:#ffd40059;border-radius:2px;padding:1px 3px}.ai-typing{align-items:center;gap:4px;display:flex}.ai-typing span{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.4s infinite aiTyping}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes aiTyping{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.ai-message-content{color:var(--text-primary);word-break:break-word;font-size:14px;line-height:1.7}.ai-message-content h1{margin:12px 0 6px;font-size:1.4em;font-weight:700}.ai-message-content h2{margin:10px 0 4px;font-size:1.2em;font-weight:600}.ai-message-content h3{margin:8px 0 4px;font-size:1.05em;font-weight:600}.ai-message-content strong{color:var(--text-primary);font-weight:600}.ai-message-content em{font-style:italic}.ai-message-content code{background:var(--bg-tertiary);color:var(--color-red);border-radius:3px;padding:1px 5px;font-family:SF Mono,Fira Code,monospace;font-size:.9em}.ai-message-content blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:8px 0;padding-left:12px;font-style:italic}.ai-message-content li{margin:2px 0;padding-left:4px}.ai-message-content ul[data-type=taskList]{padding:0;list-style:none}.ai-message-content li[data-type=taskItem]{align-items:flex-start;gap:8px;margin:4px 0;display:flex}.ai-message-content li[data-type=taskItem] p{margin:0}.ai-message-content li[data-type=taskItem]:before{content:"☐";color:var(--text-tertiary);font-family:inherit;font-size:16px;line-height:1.5}.ai-message-content li[data-type=taskItem][data-checked=true]{color:var(--text-tertiary);text-decoration:line-through}.ai-message-content li[data-type=taskItem][data-checked=true]:before{content:"☑";color:var(--accent)}.ai-message-content hr{border:none;border-top:1px solid var(--border-default);margin:12px 0}.ai-message-content table,.tiptap-editor table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}.ai-message-content th,.tiptap-editor th{background:var(--bg-tertiary);text-align:left;border:1px solid var(--border-default);text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);padding:8px 12px;font-size:12px;font-weight:600}.ai-message-content td,.tiptap-editor td{border:1px solid var(--border-default);vertical-align:top;padding:8px 12px}.ai-message-content tr:hover td,.tiptap-editor tr:hover td{background:var(--bg-hover)}.ai-message-content li.numbered{margin-left:20px;list-style:decimal}.ai-message-content blockquote{border-left:3px solid var(--color-yellow);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-primary);background:#ffd40014;margin:10px 0;padding:10px 14px;font-style:normal}.tasks-page{height:calc(100vh - 48px);padding:0!important}.tasks-layout{height:100%;display:flex}.tasks-sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-secondary);flex-direction:column;width:280px;min-width:280px;display:flex;overflow-y:auto}.tasks-sidebar-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px;display:flex}.tasks-sidebar-header h2{font-size:16px;font-weight:600}.btn-icon{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.btn-icon:hover{background:var(--bg-hover);color:var(--accent)}.new-project-form{border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);padding:12px 16px}.new-project-form input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);outline:none;padding:6px 10px;font-size:13px}.new-project-form input:focus{border-color:var(--accent)}.icon-pick{border-radius:var(--radius-xs);background:var(--bg-tertiary);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.icon-pick.active{border-color:var(--accent);background:var(--bg-hover)}.tasks-alert{align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;display:flex}.tasks-alert-red{color:var(--color-red);background:#eb575714}.tasks-alert-blue{color:var(--accent);background:#5b7ff514}.project-list{flex:1;padding:8px;overflow-y:auto}.project-card{border-radius:var(--radius-md);cursor:pointer;background:var(--bg-primary);border-left:3px solid;margin-bottom:6px;padding:12px;transition:all .15s;position:relative}.project-card:hover{background:var(--bg-hover)}.project-card.active{background:var(--bg-hover);box-shadow:var(--shadow-sm)}.project-card-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.project-icon{font-size:16px}.project-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.project-card-actions{opacity:0;transition:opacity .15s}.project-card:hover .project-card-actions{opacity:1}.project-card-actions button{border-radius:var(--radius-xs);cursor:pointer;width:24px;height:24px;color:var(--text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.project-card-actions button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.project-progress-bar{background:var(--bg-tertiary);border-radius:2px;height:4px;margin-bottom:6px;overflow:hidden}.project-progress-fill{border-radius:2px;height:100%;transition:width .3s}.project-card-footer{color:var(--text-tertiary);justify-content:space-between;font-size:11px;display:flex}.tasks-content{flex-direction:column;flex:1;padding:0 24px;display:flex;overflow-y:auto}.tasks-content-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;padding:24px 0 16px;display:flex}.tasks-content-header h1{align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.task-add-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 0;display:flex}.task-add-row input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.task-add-row input::placeholder{color:var(--text-tertiary)}.task-item-wrapper{position:relative}.task-item{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:6px 4px;transition:background .1s;display:flex;position:relative}.task-item.hovered{background:var(--bg-hover)}.task-expand-btn{cursor:pointer;width:20px;height:20px;color:var(--text-tertiary);border-radius:var(--radius-xs);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-expand-btn:hover{background:var(--bg-tertiary)}.task-checkbox{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.task-checkbox:hover{opacity:.8}.task-title{cursor:default;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.task-title-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:14px}.task-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.task-badge{border-radius:var(--radius-xs);background:var(--bg-tertiary);white-space:nowrap;align-items:center;gap:3px;padding:1px 6px;font-size:11px;display:flex}.task-badge-date{font-weight:500}.task-actions{opacity:0;flex-shrink:0;gap:2px;transition:opacity .1s;display:flex}.task-item.hovered .task-actions{opacity:1}.task-actions button{cursor:pointer;width:24px;height:24px;color:var(--text-tertiary);border-radius:var(--radius-xs);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.task-actions button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.task-context-menu{z-index:100;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);padding:4px;position:absolute;top:100%;right:0}.task-context-menu button{cursor:pointer;width:100%;color:var(--text-primary);border-radius:var(--radius-xs);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.task-context-menu button:hover{background:var(--bg-hover)}.task-menu-divider{background:var(--border-subtle);height:1px;margin:4px 0}.task-menu-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;font-size:11px;font-weight:600}.task-add-subtask{padding:4px 0}.task-add-subtask input{border:none;border-bottom:1px solid var(--border-default);width:100%;color:var(--text-primary);background:0 0;outline:none;padding:4px 0;font-family:inherit;font-size:13px}.task-add-subtask input:focus{border-bottom-color:var(--accent)}
