.tiptap{font-size:16px;line-height:1.75;caret-color:var(--brand);outline:none;color:var(--foreground)}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--muted-foreground);opacity:.4;pointer-events:none;height:0}.tiptap h1{font-size:2em;font-weight:700;line-height:1.25;margin:1.4em 0 .5em;letter-spacing:-.03em;color:var(--foreground)}.tiptap h1:first-child{margin-top:0}.tiptap h2{font-size:1.5em;line-height:1.3;margin:1.2em 0 .45em;letter-spacing:-.02em}.tiptap h2,.tiptap h3{font-weight:600;color:var(--foreground)}.tiptap h3{font-size:1.2em;line-height:1.35;margin:1em 0 .35em;letter-spacing:-.01em}.tiptap p{margin:.4em 0;min-height:1.75em}.tiptap hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--border) 15%,var(--border) 85%,transparent);margin:2em 0}.tiptap blockquote{border-left:3px solid var(--brand);padding-left:1.2em;margin:1em 0;color:var(--muted-foreground);font-style:italic}.tiptap pre{background:var(--muted);border:1px solid var(--border);border-radius:12px;padding:1em 1.2em;margin:1em 0;overflow-x:auto;font-family:var(--font-geist-mono),"JetBrains Mono",ui-monospace,monospace;font-size:.875em;line-height:1.65}.tiptap pre code{background:none;padding:0;border:none;font-size:inherit}.tiptap code{background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.15em .4em;font-family:var(--font-geist-mono),"JetBrains Mono",ui-monospace,monospace;font-size:.875em}.tiptap table{width:100%;border-collapse:collapse;margin:1.2em 0;border-radius:12px;overflow:hidden;border:1px solid var(--border);table-layout:fixed}.tiptap td,.tiptap th{border:1px solid var(--border);padding:.55em .85em;min-width:80px;word-wrap:break-word;overflow-wrap:break-word;transition:background-color .15s ease}.tiptap td:focus-within,.tiptap th:focus-within{background:oklch(from var(--brand) l c h/.06)}.tiptap th{background:var(--muted);font-weight:600;font-size:.9em;text-transform:none}.tiptap ::selection{background:oklch(from var(--brand) l c h/.25)}.tiptap strong{font-weight:700}.tiptap em{font-style:italic}.tiptap u{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.tiptap s{text-decoration:line-through;opacity:.65}.tiptap mark{border-radius:3px;padding:0 2px}.slash-command-char{opacity:.25}.tiptap:focus{outline:none}.ProseMirror-selectednode{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.block-drop-indicator{position:absolute;left:0;right:0;height:2px;background:var(--brand);border-radius:1px;pointer-events:none;z-index:50}.block-drop-indicator:after,.block-drop-indicator:before{content:"";position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--brand)}.block-drop-indicator:before{left:-4px}.block-drop-indicator:after{right:-4px}.tiptap>blockquote:first-child,.tiptap>hr:first-child,.tiptap>pre:first-child,.tiptap>table:first-child{margin-top:1em}.tiptap>blockquote:last-child,.tiptap>pre:last-child,.tiptap>table:last-child{margin-bottom:2em}.tiptap>*+blockquote,.tiptap>*+pre,.tiptap>*+table{margin-top:1.2em}.tiptap blockquote+*,.tiptap pre+*,.tiptap table+*{margin-top:1em}.tiptap>.ProseMirror-gapcursor{position:relative}.tiptap>.ProseMirror-gapcursor:after{border-top:1px solid var(--brand);display:block;width:100%;margin:0}.whiteboard-container{position:relative;background:var(--background);contain:layout style size}.whiteboard-container,.whiteboard-svg{width:100%;height:100%;overflow:hidden}.whiteboard-svg{position:absolute;top:0;left:0;touch-action:none;z-index:1;color:var(--foreground)}.whiteboard-svg .wb-world-group{will-change:transform}.wb-pdf-lock-btn{position:absolute;z-index:110;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--popover);color:var(--muted-foreground);box-shadow:0 3px 14px rgba(0,0,0,.14),0 1px 3px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.wb-pdf-lock-btn.locked,.wb-pdf-lock-btn:hover{background:var(--brand);border-color:var(--brand);color:var(--brand-foreground)}.whiteboard-text-editor{position:absolute;z-index:200;background:transparent;border:2px dashed var(--brand);border-radius:4px;font-family:inherit;font-size:16px;color:var(--foreground);padding:4px 8px;outline:none;resize:none;min-width:100px;min-height:20px}.wb-panel{background:var(--popover);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06)}.wb-btn{position:relative;background:transparent;border:none;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted-foreground);transition:background .12s ease,color .12s ease,box-shadow .12s ease}.wb-btn:hover{background:var(--accent);color:var(--accent-foreground)}.wb-btn.active{background:var(--brand);color:var(--brand-foreground);box-shadow:0 1px 6px rgba(0,0,0,.18)}.wb-btn-danger{color:#ef4444}.wb-btn-danger:hover{background:#ef44441a;color:#dc2626}.wb-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.wb-sep{width:1px;height:24px;background:var(--border);margin:0 4px;flex-shrink:0}.wb-toolbar{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:2px;padding:4px 8px;background:var(--popover);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06)}.wb-toolbar-item{display:contents}.wb-color-bar{position:absolute;top:60px;left:50%;transform:translateX(-50%) translateY(-8px);z-index:99;display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--popover);border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.wb-color-bar.open{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}.wb-color-section{display:flex;align-items:center;gap:6px}.wb-color-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted-foreground);user-select:none;min-width:32px}.wb-color-row{display:flex;gap:3px}.wb-color-divider{width:1px;height:22px;background:var(--border)}.wb-color-swatch{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;padding:0;flex-shrink:0}.wb-color-swatch:hover{transform:scale(1.15);z-index:1}.wb-color-swatch.active{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand);transform:scale(1.1)}.wb-color-swatch.transparent-swatch{background:repeating-conic-gradient(var(--muted) 0 25%,transparent 0 50%) 50% /8px 8px!important}.wb-color-swatch.auto-swatch{background:linear-gradient(135deg,#000 50%,#fff 0)!important;border-color:var(--border)}.wb-props{position:absolute;top:12px;right:12px;z-index:99;padding:12px 14px;min-width:180px;max-width:210px;display:flex;flex-direction:column;gap:10px;background:var(--popover);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06)}.wb-props-row label{display:block;font-size:10px;font-weight:600;color:var(--muted-foreground);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.wb-props-range-row{display:flex;align-items:center;gap:8px}.wb-props-range-row input[type=range]{flex:1;height:4px;border-radius:2px;background:var(--accent);outline:none;cursor:pointer;accent-color:var(--brand);-webkit-appearance:none;appearance:none}.wb-props-range-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--brand);border:2px solid var(--brand-foreground);cursor:pointer}.wb-props-value{font-size:11px;font-weight:500;color:var(--muted-foreground);min-width:30px;text-align:right}.wb-style-btns{display:flex;gap:4px}.wb-style-btn{flex:1;height:30px;border:1px solid var(--border);border-radius:6px;background:var(--popover);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);transition:all .12s ease}.wb-style-btn:hover{background:var(--accent)}.wb-style-btn.active{background:var(--brand);border-color:var(--brand);color:var(--brand-foreground)}.wb-stroke-preview{width:28px;height:4px}.wb-bottom-bar{position:absolute;bottom:12px;left:12px;z-index:100;display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--popover);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06)}.wb-zoom-display{min-width:52px;text-align:center;font-size:11px;font-weight:600;color:var(--muted-foreground);user-select:none;background:none;border:none;cursor:pointer;padding:4px 2px;border-radius:6px;transition:background .12s ease}.wb-zoom-display:hover{background:var(--accent);color:var(--accent-foreground)}.wb-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.4);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;animation:wb-fade-in .15s ease-out}.wb-export-popup{width:340px;background:var(--popover);border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.2);overflow:hidden;animation:wb-scale-in .2s ease-out}.wb-export-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.wb-export-title{font-size:14px;font-weight:600;color:var(--foreground)}.wb-export-options{padding:8px;display:flex;flex-direction:column;gap:4px}.wb-export-option{display:flex;align-items:center;gap:12px;padding:12px;border:none;background:transparent;border-radius:10px;cursor:pointer;text-align:left;color:var(--foreground);transition:background .12s ease;width:100%}.wb-export-icon,.wb-export-option:hover{background:var(--accent)}.wb-export-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--brand);flex-shrink:0}.wb-export-name{font-size:13px;font-weight:600;color:var(--foreground)}.wb-export-desc{font-size:11px;color:var(--muted-foreground);margin-top:2px}.wb-context-menu{position:fixed;z-index:600;min-width:180px;background:var(--popover);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);padding:4px;animation:wb-scale-in .12s ease-out;transform-origin:top left}.wb-context-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--foreground);transition:background .12s ease}.wb-context-item:hover{background:var(--accent)}.wb-context-item svg{color:var(--muted-foreground);flex-shrink:0}@keyframes wb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes wb-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (pointer:coarse){.wb-btn{width:40px;height:40px}.wb-toolbar{padding:6px 10px;gap:1px}.wb-color-bar{top:68px;padding:8px 10px}.wb-color-bar.open{transform:translateX(-50%) translateY(0)}.wb-color-swatch{width:24px;height:24px}.wb-bottom-bar{bottom:16px;left:16px}}.board-container{position:relative;width:100%;height:100%;overflow:hidden;background:var(--background);color:var(--foreground);display:flex;flex-direction:column}.board-toolbar{display:flex;align-items:center;gap:6px;padding:8px 20px 0;flex-shrink:0}.board-toolbar-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--muted-foreground);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.board-toolbar-btn:hover{background:var(--accent);color:var(--foreground);border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}.board-columns{display:flex;gap:10px;padding:16px 20px;height:100%;overflow-x:auto;overflow-y:hidden;align-items:flex-start;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.board-column{flex-shrink:0;width:300px;max-height:100%;display:flex;flex-direction:column;background:var(--surface-1,var(--card));color:var(--foreground);border-radius:var(--radius-lg);border:1px solid var(--border);transition:border-color .2s,box-shadow .2s}.board-column--drop{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.board-col-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px;gap:6px}.board-col-header-left{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.board-col-header-right{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;transition:opacity .15s}.board-column:hover .board-col-header-right{opacity:1}.board-col-dot{width:10px;height:10px;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;transition:transform .15s}.board-col-dot:hover{transform:scale(1.3)}.board-col-title{font-size:12.5px;font-weight:600;color:var(--foreground);cursor:default;padding:1px 3px;border-radius:var(--radius-sm);transition:background .15s;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;letter-spacing:.01em}.board-col-title:hover{background:var(--accent)}.board-col-title-input{font-size:12.5px;color:var(--foreground);border:1px solid var(--brand);border-radius:var(--radius-sm);padding:1px 5px;outline:none;width:100%}.board-col-count,.board-col-title-input{font-weight:600;background:var(--accent)}.board-col-count{font-size:10px;color:var(--muted-foreground);border-radius:var(--radius-md);padding:0 6px;flex-shrink:0;line-height:1.7}.board-col-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);border:none;background:none;color:var(--muted-foreground);cursor:pointer;transition:background .15s,color .15s}.board-col-action:hover{background:var(--accent);color:var(--foreground)}.board-col-action--add:hover{color:var(--brand)}.board-col-color-picker{display:flex;gap:5px;padding:6px 12px 4px;overflow:hidden}.board-color-dot{width:16px;height:16px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .12s,transform .1s;flex-shrink:0}.board-color-dot:hover{transform:scale(1.2)}.board-color-dot--active{border-color:var(--foreground)}.board-color-dot--none{background:var(--accent)!important;position:relative}.board-color-dot--none:after{content:"×";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted-foreground);line-height:1}.board-col-cards{flex:1;overflow-y:auto;padding:2px 6px 4px;display:flex;flex-direction:column;gap:5px;min-height:32px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.board-col-empty{justify-content:center;padding:14px 8px;font-size:11px;border:1px dashed var(--border);border-radius:var(--radius-md);opacity:.5}.board-col-add-task,.board-col-empty{display:flex;align-items:center;color:var(--muted-foreground)}.board-col-add-task{gap:5px;padding:7px 12px;font-size:12px;font-weight:500;background:none;border:none;border-top:1px solid transparent;cursor:pointer;transition:color .15s,background .15s;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.board-col-add-task:hover{color:var(--brand);background:var(--accent)}.board-add-column{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1,var(--card));color:var(--muted-foreground);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.board-add-column:hover{border-color:var(--brand);color:var(--brand);background:var(--accent)}.board-add-column span{display:none}.board-card{position:relative;background:var(--popover,var(--card));color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 10px;cursor:grab;transition:box-shadow .15s,border-color .15s;user-select:none;overflow:hidden}.board-card:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));box-shadow:0 1px 6px rgba(0,0,0,.06)}.board-card:active{cursor:grabbing}.board-card--dragging{opacity:.35!important}.board-card-accent{position:absolute;top:0;left:0;width:3px;height:100%;background:var(--card-accent);border-radius:var(--radius-md) 0 0 var(--radius-md)}.board-card-top{display:flex;align-items:center;gap:5px}.board-card-priority{font-size:11px;flex-shrink:0;line-height:1}.board-card-title{flex:1;font-size:12.5px;font-weight:500;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.board-card-menu-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);border:none;background:none;color:var(--muted-foreground);cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s;flex-shrink:0}.board-card:hover .board-card-menu-btn{opacity:1}.board-card-menu-btn:hover{background:var(--accent);color:var(--foreground)}.board-card-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.board-tag-pill{display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:500;padding:0 7px;border-radius:var(--radius-md);border:1px solid;white-space:nowrap;line-height:1.7}.board-tag-pill--btn{cursor:pointer;transition:background .12s,border-color .12s,opacity .12s}.board-tag-pill--btn:hover{opacity:.85}.board-tag-pill--selected{font-weight:600}.board-card-dates{display:flex;align-items:center;gap:4px;margin-top:5px;font-size:10.5px;color:var(--muted-foreground)}.board-card-dates--overdue{color:#ef4444}.board-card-context{z-index:9999;background:var(--popover,var(--card));color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px;min-width:150px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.board-ctx-item{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;font-size:12px;color:var(--foreground);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s;text-align:left}.board-ctx-item:hover{background:var(--accent)}.board-ctx-item--danger{color:#ef4444}.board-ctx-item--danger:hover{background:rgba(239,68,68,.1)}.board-ctx-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.board-ctx-submenu{padding:2px 0 2px 8px}.board-ctx-divider{height:1px;background:var(--border);margin:3px 4px}.board-modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(2px)}.board-modal-overlay:has(.board-modal--fullscreen){padding:0;background:transparent;backdrop-filter:none}.board-modal{background:var(--popover,var(--card));color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:780px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.22);height:calc(100vh - 80px);max-height:900px;overflow:hidden;transition:max-width .2s ease,height .2s ease,border-radius .2s ease}.board-modal--fullscreen{max-width:100%;height:100vh;max-height:100vh;border-radius:0}.board-modal-header{display:flex;align-items:center;gap:8px;padding:16px 16px 8px;flex-shrink:0}.board-modal-title{flex:1;font-size:18px;font-weight:600;color:var(--foreground);background:none;border:none;outline:none;padding:4px 0}.board-modal-title::placeholder{color:var(--muted-foreground)}.board-modal-header-actions{display:flex;gap:3px;flex-shrink:0}.board-modal-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-md);border:none;background:none;color:var(--muted-foreground);cursor:pointer;transition:background .12s,color .12s}.board-modal-btn:hover{background:var(--accent);color:var(--foreground)}.board-modal-btn--danger:hover{background:rgba(239,68,68,.12);color:#ef4444}.board-modal-props{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:8px 16px 4px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 40%,transparent)}.board-prop{gap:8px;padding:5px 0;min-height:32px}.board-prop,.board-prop-label{display:flex;align-items:center}.board-prop-label{gap:5px;font-size:11px;font-weight:500;color:var(--muted-foreground);white-space:nowrap;min-width:64px}.board-prop-value{flex:1;min-width:0}.board-prop-select{width:100%;font-size:12px;color:var(--foreground);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 4px;outline:none;cursor:pointer;transition:border-color .12s;appearance:auto;color-scheme:light dark}.board-prop-select:focus,.board-prop-select:hover{border-color:var(--border)}.board-prop-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;font-size:12.5px;color:var(--foreground);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s,background .12s;text-align:left}.board-prop-trigger:hover{border-color:var(--border);background:var(--accent)}.board-prop-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-prop-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.board-popover-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12.5px;color:var(--foreground);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;text-align:left}.board-popover-item:hover{background:var(--accent)}.board-prop-date{width:100%;font-size:12px;color:var(--foreground);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 8px;outline:none;cursor:pointer;transition:border-color .12s;color-scheme:light dark}.board-prop-date:focus,.board-prop-date:hover{border-color:var(--border)}.board-prop-colors{display:flex;gap:4px;flex:1;flex-wrap:wrap}.date-picker-input{display:flex;align-items:center;gap:2px;width:100%}.date-picker-text-input{flex:1;min-width:0;font-size:12px;color:var(--foreground);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;outline:none;transition:border-color .12s,background .12s}.date-picker-text-input::placeholder{color:var(--muted-foreground);opacity:.55}.date-picker-text-input:focus,.date-picker-text-input:hover{border-color:var(--border);background:var(--accent)}.date-picker-text-input--overdue{color:hsl(var(--destructive))}.date-picker-cal-btn{flex-shrink:0;color:var(--muted-foreground);transition:color .12s,background .12s}.date-picker-cal-btn:hover{color:var(--foreground)}.dp-popup-input-row{display:flex;align-items:center;gap:6px;padding:8px 10px 6px}.dp-popup-input{flex:1;min-width:0;font-size:12px;color:var(--foreground);background:transparent;border:none;outline:none}.dp-popup-input::placeholder{color:var(--muted-foreground);opacity:.55}.dp-divider{height:1px;background:var(--border);margin:0}.dp-nav-row{display:flex;align-items:center;justify-content:space-between;padding:4px 8px}.dp-year-label{font-size:13px;font-weight:600;color:var(--foreground)}.dp-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px 8px 6px}.dp-month-btn{font-size:11.5px;font-weight:400;color:var(--foreground);background:transparent;border:none;border-radius:var(--radius-sm);padding:4px 2px;cursor:pointer;transition:background .1s,color .1s,font-weight .1s;text-align:center}.dp-month-btn:hover{background:var(--accent);color:var(--foreground)}.dp-month-btn--active{font-weight:600}.dp-month-btn--active,.dp-month-btn--active:hover{background:var(--primary);color:var(--primary-foreground)}.dp-footer{padding:4px 8px 6px}.board-modal-section{padding:8px 16px;flex-shrink:0}.board-modal-section--grow{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.board-modal-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin-bottom:6px}.board-modal-tags{display:flex;flex-wrap:wrap;gap:5px}.board-tag-add-btn{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:500;padding:0 7px;border-radius:var(--radius-md);border:1px dashed var(--border);color:var(--muted-foreground);background:none;cursor:pointer;transition:border-color .12s,color .12s;line-height:1.7}.board-tag-add-btn:hover{border-color:var(--brand);color:var(--brand)}.board-tag-creator{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;overflow:hidden}.board-tag-creator-input{font-size:12px;color:var(--foreground);background:var(--accent);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px;outline:none;flex:1;min-width:80px}.board-tag-creator-input:focus{border-color:var(--brand)}.board-tag-creator-colors{display:flex;gap:4px}.board-tag-creator-save{font-size:11px;font-weight:500;padding:3px 10px;border-radius:var(--radius-sm);border:none;background:var(--brand);color:var(--brand-foreground,white);cursor:pointer;transition:opacity .12s}.board-tag-creator-save:disabled{opacity:.35;cursor:not-allowed}.board-tag-creator-save:not(:disabled):hover{opacity:.9}.task-editor-wrapper{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--accent);scrollbar-width:thin;scrollbar-color:var(--border) transparent;position:relative}.task-editor-wrapper .tiptap{padding:10px 14px 10px 30px;min-height:100px;font-size:14px;line-height:1.65}.task-editor-wrapper .tiptap:focus{outline:none}.board-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 14px;flex-shrink:0}.board-modal-footer-meta{font-size:11px;color:var(--muted-foreground)}.board-modal-save{font-size:12px;font-weight:500;padding:5px 18px;border-radius:var(--radius-md);border:none;background:var(--brand);color:var(--brand-foreground,white);cursor:pointer;transition:opacity .12s}.board-modal-save:hover{opacity:.9}@media (max-width:640px){.board-columns{padding:10px;gap:8px}.board-column{width:260px}.board-modal{max-width:100%}.board-modal-props{grid-template-columns:1fr}}.board-settings-panel{background:var(--popover,var(--card));color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.22);max-height:calc(100vh - 72px);overflow:hidden}.board-settings-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}.board-settings-title{font-size:15px;font-weight:600;color:var(--foreground)}.board-settings-tabs{display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--border)}.board-settings-tab{padding:7px 14px;font-size:12px;font-weight:500;color:var(--muted-foreground);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s,border-color .12s}.board-settings-tab:hover{color:var(--foreground)}.board-settings-tab--active{color:var(--brand);border-bottom-color:var(--brand)}.board-settings-content{padding:10px 16px 16px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.board-settings-list{display:flex;flex-direction:column;gap:2px}.board-settings-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--accent)}.board-settings-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-settings-input,.board-settings-name{flex:1;font-size:13px;font-weight:500;color:var(--foreground)}.board-settings-input{background:var(--accent);border:1px solid var(--brand);border-radius:var(--radius-sm);padding:2px 8px;outline:none;min-width:80px}.board-settings-actions{display:flex;align-items:center;gap:1px;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity .12s}.board-settings-item:hover .board-settings-actions{opacity:1}.board-settings-colors{display:flex;gap:4px;padding:4px 0 2px;width:100%;flex-wrap:wrap}.board-settings-add{display:flex;align-items:center;gap:5px;padding:7px 8px;margin-top:4px;font-size:12px;font-weight:500;color:var(--muted-foreground);background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s,color .12s}.board-settings-add:hover{border-color:var(--brand);color:var(--brand)}.board-settings-create-tag{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;margin-top:6px;border-top:1px solid var(--border)}.bh-panel{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100dvh;background:var(--popover,var(--card));border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:60;box-shadow:-4px 0 24px rgba(0,0,0,.08)}.bh-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;flex-shrink:0}.bh-title{font-size:14px;font-weight:600;color:var(--foreground)}.bh-header-actions{display:flex;align-items:center;gap:2px}.bh-controls{padding:0 12px 10px;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.bh-search-row{display:flex;align-items:center;gap:7px;background:var(--accent);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 10px}.bh-search-input{flex:1;font-size:12px;color:var(--foreground);background:none;border:none;outline:none}.bh-search-input::placeholder{color:var(--muted-foreground)}.bh-filter-toggle{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--muted-foreground);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);transition:color .12s,background .12s;white-space:nowrap;flex-shrink:0}.bh-filter-toggle--active,.bh-filter-toggle:hover{color:var(--foreground);background:var(--accent)}.bh-filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bh-select{padding:3px 7px;min-width:110px}.bh-date-input,.bh-select{font-size:11px;color:var(--foreground);background:var(--accent);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;outline:none;flex:1}.bh-date-input{padding:3px 6px;min-width:100px}.bh-sort-btn{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--muted-foreground);background:var(--accent);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px;cursor:pointer;transition:color .12s;white-space:nowrap;flex-shrink:0}.bh-sort-btn:hover{color:var(--foreground)}.bh-divider{height:1px;background:var(--border);flex-shrink:0}.bh-list{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.bh-empty{display:flex;align-items:center;justify-content:center;padding:32px 0;font-size:12px;color:var(--muted-foreground)}.bh-event{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--radius-md);transition:background .12s}.bh-event:hover{background:var(--accent)}.bh-event-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);flex-shrink:0;margin-top:1px}.bh-event-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.bh-event-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.bh-event-action{font-size:11.5px;font-weight:600;color:var(--foreground)}.bh-event-time{font-size:10.5px;color:var(--muted-foreground);white-space:nowrap;flex-shrink:0}.bh-event-name{font-size:11.5px;color:var(--foreground)}.bh-event-detail,.bh-event-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bh-event-detail{font-size:11px;color:var(--muted-foreground)}.bh-event-actor{font-size:10.5px;color:var(--muted-foreground)}.bh-restore-btn{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--muted-foreground);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .12s,border-color .12s,background .12s}.bh-restore-btn:hover{color:var(--foreground);border-color:var(--brand);background:var(--accent)}.bh-footer{padding:8px 16px;font-size:11px;color:var(--muted-foreground);border-top:1px solid var(--border);flex-shrink:0;text-align:center}