.column{background:var(--card-bg-default);border:1px solid var(--board-card-border);border-radius:8px;overflow:hidden;box-shadow:var(--card-shadow);z-index:0;-webkit-user-select:none;user-select:none}.column:hover{box-shadow:var(--card-shadow-hover)}.column.column--selected{box-shadow:0 0 0 2px var(--selection-ring),var(--card-shadow)}.column.column--selected:hover{box-shadow:0 0 0 2px var(--selection-ring),var(--card-shadow-hover)}.column-header{padding:8px 12px;cursor:grab;background:var(--canvas-bg);border-bottom:1px solid var(--board-card-border);display:flex;align-items:center}.column-header:active{cursor:grabbing}.column-title-input{background:transparent;border:none;color:var(--text-primary);font-weight:600;font-size:14px;width:100%;outline:none;padding:2px 0;font-family:inherit}.column-title-input:focus{border-bottom:1px solid var(--selection-ring);margin-bottom:-1px}.column-title-input::placeholder{color:var(--text-placeholder);font-weight:400}.column-body{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:60px}.column-empty{color:var(--text-secondary);font-size:13px;text-align:center;padding:20px 0;font-style:italic}.column-drop-indicator{height:2px;background:var(--selection-ring);border-radius:1px;margin:-1px 0;position:relative;z-index:1}.column--drop-target{box-shadow:0 0 0 2px var(--selection-ring)}.column-body .card{position:relative;left:auto!important;top:auto!important;width:100%!important}:root{color-scheme:light;--canvas-bg: #f5f5f5;--canvas-dot-color: rgba(0, 0, 0, .15);--canvas-drop-outline: #3b82f6;--canvas-drop-bg: rgba(59, 130, 246, .04);--selection-ring: #3b82f6;--marquee-border: #3b82f6;--marquee-bg: rgba(59, 130, 246, .08);--card-bg-default: #ffffff;--card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .12);--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #9ca3af;--text-placeholder: #aaaaaa;--menu-bg: #ffffff;--menu-shadow: 0 4px 16px rgba(0, 0, 0, .12);--menu-highlight: #f3f4f6;--menu-separator: #e5e7eb;--controls-bg: rgba(255, 255, 255, .9);--controls-shadow: 0 1px 4px rgba(0, 0, 0, .12);--controls-btn-hover: rgba(0, 0, 0, .06);--controls-btn-active: rgba(0, 0, 0, .1);--image-loading-bg: #f0f0f0;--image-error-color: #999999;--dashboard-bg: #f9fafb;--dashboard-header-bg: #ffffff;--dashboard-header-border: #e5e7eb;--dashboard-title-color: #111827;--dashboard-subtitle-color: #6b7280;--board-card-bg: #ffffff;--board-card-border: #e5e7eb;--board-card-hover-border: #d1d5db;--board-card-hover-shadow: 0 2px 8px rgba(0, 0, 0, .08);--board-card-title-color: #111827;--board-card-meta-color: #9ca3af;--folder-header-bg: #f3f4f6;--folder-header-color: #374151;--folder-header-hover-bg: #e5e7eb;--folder-chevron-color: #9ca3af;--empty-state-color: #6b7280;--empty-state-btn-bg: #3b82f6;--empty-state-btn-hover-bg: #2563eb;--empty-state-btn-color: #ffffff;--toolbar-btn-bg: #ffffff;--toolbar-btn-border: #d1d5db;--toolbar-btn-color: #374151;--toolbar-btn-hover-bg: #f3f4f6;--back-btn-bg: rgba(255, 255, 255, .9);--back-btn-color: #374151;--back-btn-hover-bg: rgba(243, 244, 246, .95);--back-btn-shadow: 0 1px 4px rgba(0, 0, 0, .12);--sidebar-bg: #ffffff;--sidebar-border: #e5e7eb;--sidebar-item-hover: rgba(0, 0, 0, .06);--sidebar-item-active: rgba(0, 0, 0, .1);--sidebar-text: #6b7280;--sidebar-text-hover: #111827;--sidebar-divider: #e5e7eb;--arrow-color: #64748b;--arrow-color-selected: #3b82f6}[data-theme=dark]{color-scheme:dark;--canvas-bg: #1a1a1e;--canvas-dot-color: rgba(255, 255, 255, .18);--canvas-drop-outline: #60a5fa;--canvas-drop-bg: rgba(96, 165, 250, .06);--selection-ring: #60a5fa;--marquee-border: #60a5fa;--marquee-bg: rgba(96, 165, 250, .1);--card-bg-default: #2a2a2e;--card-shadow: 0 2px 8px rgba(0, 0, 0, .3);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .4);--text-primary: #e4e4e7;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-placeholder: #52525b;--menu-bg: #27272a;--menu-shadow: 0 4px 16px rgba(0, 0, 0, .4);--menu-highlight: #3f3f46;--menu-separator: #3f3f46;--controls-bg: rgba(39, 39, 42, .9);--controls-shadow: 0 1px 4px rgba(0, 0, 0, .3);--controls-btn-hover: rgba(255, 255, 255, .08);--controls-btn-active: rgba(255, 255, 255, .12);--image-loading-bg: #3f3f46;--image-error-color: #71717a;--dashboard-bg: #18181b;--dashboard-header-bg: #1f1f23;--dashboard-header-border: #3f3f46;--dashboard-title-color: #e4e4e7;--dashboard-subtitle-color: #a1a1aa;--board-card-bg: #27272a;--board-card-border: #3f3f46;--board-card-hover-border: #52525b;--board-card-hover-shadow: 0 2px 8px rgba(0, 0, 0, .3);--board-card-title-color: #e4e4e7;--board-card-meta-color: #71717a;--folder-header-bg: #27272a;--folder-header-color: #d4d4d8;--folder-header-hover-bg: #3f3f46;--folder-chevron-color: #71717a;--empty-state-color: #a1a1aa;--empty-state-btn-bg: #3b82f6;--empty-state-btn-hover-bg: #2563eb;--empty-state-btn-color: #ffffff;--toolbar-btn-bg: #27272a;--toolbar-btn-border: #3f3f46;--toolbar-btn-color: #d4d4d8;--toolbar-btn-hover-bg: #3f3f46;--back-btn-bg: rgba(39, 39, 42, .9);--back-btn-color: #d4d4d8;--back-btn-hover-bg: rgba(63, 63, 70, .95);--back-btn-shadow: 0 1px 4px rgba(0, 0, 0, .3);--sidebar-bg: #1e1e1e;--sidebar-border: #333333;--sidebar-item-hover: rgba(255, 255, 255, .08);--sidebar-item-active: rgba(255, 255, 255, .12);--sidebar-text: #9ca3af;--sidebar-text-hover: #e5e7eb;--sidebar-divider: #333333;--arrow-color: #94a3b8;--arrow-color-selected: #60a5fa}body{background:var(--canvas-bg)}.sync-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.sync-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sync-dot--synced{background:#22c55e}.sync-dot--syncing{background:#f59e0b;animation:sync-pulse 1.5s ease-in-out infinite}.sync-dot--offline{background:var(--text-muted)}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.3}}.sync-status-canvas{position:fixed;bottom:16px;left:72px;z-index:100}@media(pointer:coarse){.sync-status-canvas{left:76px}}.first-load{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--dashboard-bg)}.first-load-spinner{width:32px;height:32px;border:3px solid var(--text-muted);border-top-color:var(--text-secondary);border-radius:50%;animation:spin .8s linear infinite}.first-load-text{font-size:14px;color:var(--text-secondary);margin-top:12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}.canvas-container{position:fixed;inset:0 0 0 56px;overflow:clip;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-container--drop-target{outline:2px dashed var(--canvas-drop-outline);outline-offset:-2px;background:var(--canvas-drop-bg)}.canvas-content{position:absolute;top:0;left:0;width:0;height:0;transform-origin:0 0;will-change:transform}.selection-marquee{position:fixed;border:1px solid var(--marquee-border);background:var(--marquee-bg);pointer-events:none;z-index:1000}.theme-toggle-canvas{position:fixed;top:12px;right:12px;z-index:100;background:var(--back-btn-bg);color:var(--back-btn-color);border:none;border-radius:8px;padding:8px 10px;font-size:16px;cursor:pointer;box-shadow:var(--back-btn-shadow);transition:background .15s ease;line-height:1}.theme-toggle-canvas:hover{background:var(--back-btn-hover-bg)}.zoom-controls{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:100;background:var(--controls-bg);border-radius:8px;padding:4px;box-shadow:var(--controls-shadow)}.zoom-controls button{min-width:36px;min-height:36px;border:none;background:transparent;cursor:pointer;border-radius:6px;font-size:16px;color:var(--text-primary);display:flex;align-items:center;justify-content:center}.zoom-controls button:hover{background:var(--controls-btn-hover)}.zoom-controls button:active{background:var(--controls-btn-active)}.zoom-controls .zoom-level{min-width:36px;text-align:center;font-size:11px;color:var(--text-secondary);padding:4px 0;-webkit-user-select:none;user-select:none}@media(pointer:coarse){.zoom-controls{bottom:20px;right:20px;padding:6px;gap:2px}.zoom-controls button{min-width:48px;min-height:48px;font-size:20px}}.card{position:absolute;background:var(--card-bg-default, #fff);border-radius:8px;box-shadow:var(--card-shadow);overflow:visible;display:flex;flex-direction:column;cursor:default;-webkit-user-select:none;user-select:none;min-width:150px;min-height:100px;z-index:1}.card--selected{box-shadow:0 0 0 2px var(--selection-ring),var(--card-shadow);z-index:2}.card:hover{box-shadow:var(--card-shadow-hover)}.card--selected:hover{box-shadow:0 0 0 2px var(--selection-ring),var(--card-shadow-hover)}.card-color-strip{height:6px;width:100%;flex-shrink:0}.card-editor-wrapper{flex:1;overflow:auto;padding:12px;-webkit-user-select:text;user-select:text}.card-resize-handle{position:absolute;z-index:3;opacity:0;transition:opacity .15s ease}.card:hover .card-resize-handle{opacity:1}.card-resize-handle--right{right:-3px;top:0;bottom:0;width:6px;cursor:ew-resize}.card-resize-handle--bottom{bottom:-3px;left:0;right:0;height:6px;cursor:ns-resize}.card-resize-handle--corner{right:-4px;bottom:-4px;width:12px;height:12px;cursor:nwse-resize;border-radius:2px}@media(pointer:coarse){.card-resize-handle{opacity:1}.card-resize-handle--right{width:8px}.card-resize-handle--bottom{height:8px}.card-resize-handle--corner{width:16px;height:16px;background:var(--controls-btn-hover)}}.card-editor-content{outline:none;min-height:60px;font-size:14px;line-height:1.5;color:var(--text-primary)}.card-editor-content p{margin:0 0 8px}.card-editor-content h1,.card-editor-content h2,.card-editor-content h3{font-weight:600;margin:0 0 8px;line-height:1.3}.card-editor-content h1{font-size:20px}.card-editor-content h2{font-size:17px}.card-editor-content h3{font-size:15px}.card-editor-content ul,.card-editor-content ol{margin:0 0 8px;padding-left:20px}.card-editor-content li{margin-bottom:2px}.card-editor-content strong{font-weight:600}.card-editor-content em{font-style:italic}.card-editor-content .is-empty:before{content:attr(data-placeholder);color:var(--text-placeholder);float:left;height:0;pointer-events:none}.ProseMirror:focus{outline:none}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.context-menu-content{background:var(--menu-bg);border-radius:8px;padding:4px;box-shadow:var(--menu-shadow);min-width:160px;z-index:2000;font-size:14px;font-family:inherit;animation:contextMenuFadeIn .15s ease-out}.context-menu-content[data-state=open]{animation:contextMenuFadeIn .15s ease-out}.context-menu-item{padding:8px 12px;border-radius:4px;cursor:default;outline:none;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none;line-height:1}.context-menu-item[data-highlighted]{background:var(--menu-highlight)}.context-menu-item[data-disabled]{opacity:.5}.context-menu-sub-trigger{justify-content:space-between}.context-menu-chevron{margin-left:auto;color:var(--text-muted);font-size:16px}.context-menu-separator{height:1px;background:var(--menu-separator);margin:4px 0}.context-menu-shortcut{margin-left:auto;font-size:12px;color:var(--text-muted)}.color-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.context-menu-sub-content{min-width:140px}.dashboard{min-height:100vh;background:var(--dashboard-bg)}.dashboard-header{background:var(--dashboard-header-bg);border-bottom:1px solid var(--dashboard-header-border);padding:20px 0;position:sticky;top:0;z-index:10}.dashboard-header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.dashboard-title{font-size:22px;font-weight:600;color:var(--dashboard-title-color);margin:0;letter-spacing:-.01em}.dashboard-content{max-width:1200px;margin:0 auto;padding:24px}.board-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.board-card{background:var(--board-card-bg);border:1px solid var(--board-card-border);border-radius:8px;padding:16px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.board-card:hover{border-color:var(--board-card-hover-border);box-shadow:var(--board-card-hover-shadow)}.board-card-name{font-size:15px;font-weight:500;color:var(--board-card-title-color);margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-card-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--board-card-meta-color)}.board-card-badge{display:inline-flex;align-items:center;gap:4px}.folder-group{margin-bottom:24px}.folder-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--folder-header-bg);border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;margin-bottom:12px}.folder-group-header:hover{background:var(--folder-header-hover-bg)}.folder-chevron{color:var(--folder-chevron-color);font-size:14px;transition:transform .15s ease;flex-shrink:0}.folder-chevron.collapsed{transform:rotate(-90deg)}.folder-group-name{font-size:14px;font-weight:500;color:var(--folder-header-color);margin:0}.folder-board-count{font-size:12px;color:var(--folder-chevron-color);margin-left:auto}.folder-group-content{padding-left:12px}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.dashboard-empty-title{font-size:18px;font-weight:500;color:var(--dashboard-title-color);margin:0 0 8px}.dashboard-empty-text{font-size:14px;color:var(--empty-state-color);margin:0 0 24px}.dashboard-empty-btn{padding:10px 20px;background:var(--empty-state-btn-bg);color:var(--empty-state-btn-color);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.dashboard-empty-btn:hover{background:var(--empty-state-btn-hover-bg)}.dashboard-toolbar{display:flex;align-items:center;gap:8px}.dashboard-toolbar-btn{padding:7px 14px;background:var(--toolbar-btn-bg);border:1px solid var(--toolbar-btn-border);border-radius:6px;font-size:13px;font-weight:500;color:var(--toolbar-btn-color);cursor:pointer;transition:background .15s ease;white-space:nowrap}.dashboard-toolbar-btn:hover{background:var(--toolbar-btn-hover-bg)}.back-to-dashboard{position:fixed;top:12px;left:12px;z-index:100;background:var(--back-btn-bg);color:var(--back-btn-color);border:none;border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer;box-shadow:var(--back-btn-shadow);display:flex;align-items:center;gap:6px;transition:background .15s ease}.back-to-dashboard:hover{background:var(--back-btn-hover-bg)}.dashboard-section-label{font-size:13px;font-weight:500;color:var(--dashboard-subtitle-color);margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em}.image-card{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-card img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.image-card--loading{background:var(--image-loading-bg);animation:image-card-pulse 1.5s ease-in-out infinite}@keyframes image-card-pulse{0%,to{opacity:.6}50%{opacity:1}}.image-card--error{color:var(--image-error-color);font-size:13px;-webkit-user-select:none;user-select:none}.link-card{flex:1;display:flex;flex-direction:column;padding:12px;gap:8px;overflow:hidden;-webkit-user-select:none;user-select:none}.link-card__title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-card__url-row{display:flex;flex-direction:row;align-items:center;gap:6px;min-width:0}.link-card__icon{flex-shrink:0;color:var(--text-secondary);display:flex;align-items:center}.link-card__url{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.link-card__url:hover{text-decoration:underline;color:var(--selection-ring)}.link-card__input{background:transparent;border:1px solid var(--menu-separator);border-radius:4px;padding:4px 8px;font-size:13px;color:var(--text-primary);width:100%;outline:none;box-sizing:border-box}.link-card__input:focus{border-color:var(--selection-ring)}.link-card__input--url{font-size:12px;color:var(--text-secondary)}.todo-card{flex:1;display:flex;flex-direction:column;padding:12px;gap:4px;overflow:auto;-webkit-user-select:none;user-select:none}.todo-card__title{background:transparent;border:none;font-size:14px;font-weight:600;color:var(--text-primary);padding:0 0 8px;outline:none;width:100%}.todo-card__title::placeholder{color:var(--text-placeholder);font-weight:400}.todo-card__items{display:flex;flex-direction:column;gap:2px}.todo-card__item{display:flex;align-items:center;gap:8px;min-height:28px}.todo-card__checkbox{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--selection-ring)}.todo-card__item-text{flex:1;background:transparent;border:none;font-size:13px;color:var(--text-primary);padding:4px 0;outline:none;min-width:0}.todo-card__item-text::placeholder{color:var(--text-placeholder)}.todo-card__item-text--checked{text-decoration:line-through;color:var(--text-muted)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:56px;z-index:200;display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border)}.sidebar-back-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--sidebar-text);font-size:18px;transition:background .15s ease,color .15s ease;flex-shrink:0}.sidebar-back-btn:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text-hover)}.sidebar-back-btn:active{background:var(--sidebar-item-active)}.sidebar-back-arrow{line-height:1}.sidebar-divider{width:32px;height:1px;background:var(--sidebar-divider);margin:4px 0;flex-shrink:0}.tool-item{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;border-radius:8px;background:none;cursor:grab;color:var(--sidebar-text);transition:background .15s ease,color .15s ease;flex-shrink:0;user-select:none;-webkit-user-select:none}.tool-item:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text-hover)}.tool-item:active{background:var(--sidebar-item-active);cursor:grabbing}.tool-item-icon{font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center}.tool-item-label{font-size:9px;line-height:1;letter-spacing:.02em;white-space:nowrap}.drag-preview{width:120px;height:80px;border-radius:8px;background:var(--card-bg-default);box-shadow:0 4px 16px #00000026;opacity:.85;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%)}.drag-preview-label{font-size:13px;font-weight:500;color:var(--text-secondary)}@media(pointer:coarse){.tool-item{width:48px;height:48px}.sidebar-back-btn{width:44px;height:44px}.sidebar{width:60px}}
