@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary: #ffffff;--bg-secondary: #f3f4f6;--bg-accent: #e5e7eb;--bg-hover: var(--bg-accent);--text-primary: #111827;--text-secondary: #374151;--text-tertiary: #6b7280;--accent-color: #2563eb;--accent-hover: #1d4ed8;--danger-color: #dc2626;--success-color: #10b981;--border-color: #d1d5db;--color-overdue: #ef4444;--color-today: #f59e0b;--color-future: #10b981;--color-badge-text: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--sidebar-width: 260px;--header-height: 56px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);--scrollbar-track: transparent;--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .25)}.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-accent: #334155;--bg-hover: var(--bg-accent);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #9ca3af;--accent-color: #3b82f6;--accent-hover: #60a5fa;--danger-color: #fca5a5;--success-color: #34d399;--border-color: #334155;--color-overdue: #f87171;--color-today: #fbbf24;--color-future: #34d399;--color-badge-text: #0f172a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 10px 25px -2px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .3);--scrollbar-track: transparent;--scrollbar-thumb: rgba(255, 255, 255, .15);--scrollbar-thumb-hover: rgba(255, 255, 255, .25)}*{box-sizing:border-box;margin:0;padding:0}h1,h2,h3,h4,h5,h6{color:inherit}html{height:100%}body{width:100vw;height:100%;margin:0;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.app-container{display:flex;width:100%;height:100%;background-color:var(--bg-primary)}.sidebar{width:var(--sidebar-width);height:100%;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s;position:relative}.sidebar.collapsed{border-right:none}.sidebar-resize-handle{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:50;background-color:transparent;transition:background-color .2s}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{background-color:var(--accent-color);opacity:.5}.sidebar-header{padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 8px}.sidebar-footer{flex-shrink:0}.main-area{flex:1;height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);min-width:0}.tree-item{display:flex;align-items:center;padding:10px 8px;border-radius:6px;cursor:pointer;color:var(--text-secondary);user-select:none;transition:all .15s ease-in-out;margin-bottom:2px;position:relative}.tree-item:hover{background-color:var(--bg-accent);color:var(--text-primary)}.tree-item.active{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;box-shadow:0 4px 12px #6366f140}.tree-item.active .icon-color{color:#fff!important}.tree-item.focused:not(.active){background-color:var(--bg-accent);box-shadow:inset 0 0 0 1px var(--text-tertiary)}.tree-item.drag-over{background-color:var(--bg-hover)!important;border:1px dashed var(--accent-color)!important;opacity:.8}.tree-item-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding-left:calc(var(--depth) * 16px)}.tree-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-size:14px}.icon-button{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-button:hover{background-color:var(--bg-accent);color:var(--text-primary)}.app-toolbar{height:var(--header-height);padding:0 24px;display:flex;align-items:center;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-primary);z-index:100;overflow:visible}.editor-header-bar{height:48px;padding:0 24px;display:flex;align-items:center;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.title-input{font-family:inherit;font-size:1.25rem;font-weight:600;border:none;background:transparent;color:var(--text-primary);width:100%;outline:none}.title-input::placeholder{color:var(--text-tertiary)}.editor-body{flex:1;display:flex;overflow:hidden}.editor-pane{flex:1;padding:24px;overflow-y:auto}.textarea-editor{width:100%;height:100%;resize:none;border:none;background:transparent;color:var(--text-primary);font-family:Inter,monospace;font-size:15px;line-height:1.6;outline:none}.markdown-preview{padding:0 16px;line-height:1.7;color:var(--text-primary)}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin-top:1.5em;margin-bottom:.5em;font-weight:600}.markdown-preview h1{font-size:2em}.markdown-preview h2{font-size:1.5em;border-bottom:1px solid var(--border-color);padding-bottom:.3em}.markdown-preview p{margin-bottom:1em}.markdown-preview code{background:var(--bg-accent);padding:.2em .4em;border-radius:3px;font-family:monospace;font-size:.9em}.markdown-preview pre{background:var(--text-primary);color:var(--bg-primary);padding:16px;border-radius:8px;overflow-x:auto;font-family:monospace;margin:1.5rem 0}.markdown-preview pre code{background:transparent;color:inherit;padding:0}.markdown-preview blockquote{border-left:4px solid var(--accent-color);padding-left:1rem;color:var(--text-secondary);font-style:italic;margin:1.5rem 0}@media(max-width:768px){.sidebar{position:fixed;z-index:40;transform:translate(-100%);width:280px!important}.sidebar-resize-handle{display:none}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-md)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:30}.sidebar-overlay.open{display:block;backdrop-filter:blur(2px)}}.tiptap-container{height:100%;width:100%}.tiptap{outline:none;width:100%;padding-bottom:50vh;color:var(--text-primary)}.tiptap p.is-editor-empty:first-child:before{color:var(--text-tertiary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.tiptap h1,.tiptap h2,.tiptap h3{margin-top:1.5em;margin-bottom:.5em;font-weight:600;color:var(--text-primary)}.tiptap h1{font-size:2em}.tiptap h2{font-size:1.5em;border-bottom:1px solid var(--border-color);padding-bottom:.3em}.tiptap h3{font-size:1.25em}.tiptap blockquote{border-left:4px solid var(--accent-color);padding-left:1rem;color:var(--text-secondary);font-style:italic;margin:1.5rem 0}.tiptap-code-block-wrapper{position:relative}.copy-code-btn{position:absolute;top:8px;right:8px;background:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-color);padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;opacity:0;z-index:10}.tiptap-code-block-wrapper:hover .copy-code-btn{opacity:1}.copy-code-btn:hover{background:var(--bg-accent);color:var(--text-primary)}.icon-check{color:var(--color-future)}.tiptap pre{background:var(--text-primary);color:var(--bg-primary);padding:16px;border-radius:8px;overflow-x:auto;font-family:monospace;margin:1.5rem 0}.tiptap pre code{background:transparent;color:inherit;padding:0}.tiptap code{background:var(--bg-accent);color:var(--accent-color);padding:.2em .4em;border-radius:3px;font-family:monospace;font-size:.9em}.editor-tag{color:var(--accent-color);background:var(--bg-secondary);padding:0 4px;border-radius:4px;font-weight:500;transition:background .2s}.editor-tag:hover{background:var(--bg-accent)}.tiptap ul,.tiptap ol{padding-left:24px;margin-bottom:1em}.tiptap hr{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.tiptap ul[data-type=taskList]{list-style:none;padding:0}.tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px}.tiptap ul[data-type=taskList] li>label{display:flex;align-items:center;margin-top:4px;cursor:pointer}.tiptap ul[data-type=taskList] li>label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.tiptap ul[data-type=taskList] li>div{flex:1}.tiptap ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--text-tertiary)}.tiptap table,.markdown-preview table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;overflow:hidden;border:1px solid var(--border-color);margin-bottom:1rem}.tiptap table td,.tiptap table th,.markdown-preview table td,.markdown-preview table th{min-width:1em;border:1px solid var(--border-color);padding:8px 12px;vertical-align:top;box-sizing:border-box;position:relative}.tiptap table th,.markdown-preview table th{font-weight:700;text-align:left;background-color:var(--bg-secondary)}.tiptap table .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;background:#2563eb1a;pointer-events:none}.tiptap table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--accent-color);pointer-events:none}.tiptap .tableWrapper{overflow-x:auto;margin-bottom:1rem}.table-controls{padding:2px 4px}.table-controls button{font-size:11px;font-weight:600}.global-task-item{transition:all .2s cubic-bezier(.4,0,.2,1)!important}.global-task-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-color)!important}.kanban-board-scroll::-webkit-scrollbar{height:8px}.kanban-board-scroll::-webkit-scrollbar-track{background:transparent}.kanban-board-scroll::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:20px}.kanban-column{background:#00000005;border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000000d}.dark .kanban-column{background:#00000026}.kanban-card{transition:all .2s cubic-bezier(.4,0,.2,1);border-top:3px solid transparent!important}.kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important;border-top-color:var(--accent-color)!important}.editor-tag{background:var(--bg-secondary);color:var(--accent-color);border:1px solid var(--border-color);padding:1px 6px;border-radius:12px;font-size:.9em;font-weight:600;text-decoration:none!important;line-height:inherit;display:inline-block}.tag-menu{position:absolute;z-index:1000;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);padding:4px;min-width:140px;display:flex;flex-direction:column}.tag-menu button{padding:8px 12px;text-align:left;background:transparent;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px}.tag-menu button:hover,.tag-menu button.active{background-color:var(--bg-hover)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100000;animation:fadeIn .15s ease-out}.modal-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:var(--shadow-lg);width:90%;max-width:420px;animation:slideUpFade .2s cubic-bezier(.16,1,.3,1)}.modal-content .danger-btn{transition:opacity .2s ease}.modal-content .danger-btn:hover{opacity:.9}.modal-content .secondary-btn{transition:background .2s ease}.modal-content .secondary-btn:hover{background:var(--bg-hover)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border:4px solid transparent;background-clip:padding-box;border-radius:9999px;min-height:40px}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover);border:4px solid transparent}::-webkit-scrollbar-corner{background:transparent}@media print{.sidebar,.app-toolbar,.editor-header-bar,.table-trigger-btn,.custom-bubble-menu,.kanban-board{display:none!important}.app-container,.main-area,.editor-body,.editor-pane{height:auto!important;overflow:visible!important;background:transparent!important;padding:0!important;margin:0!important}body{background-color:#fff!important;color:#000!important}.editor-link{color:#000!important;text-decoration:underline!important}}
