.react-flow__node,.react-flow__node *,.react-flow__renderer,.react-flow__renderer *,.react-flow__viewport *,.react-flow__viewport:focus,.react-flow__viewport:focus-visible{outline:none;-webkit-font-smoothing:antialiased!important;text-rendering:geometricPrecision!important}.react-flow__viewport{will-change:transform!important}.remote-cursor{position:absolute;top:0;left:0;pointer-events:none;z-index:1000}.remote-cursor-svg{width:24px;height:24px}.remote-cursor-name{position:absolute;top:18px;left:14px;background-color:var(--user-color,#000);color:white;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap;box-shadow:0 2px 4px rgba(0,0,0,.1);pointer-events:none}.helper-line{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5,5;pointer-events:none;opacity:.8}.user-presence-avatar{width:32px;height:32px;border-radius:0;overflow:hidden;position:relative;z-index:10;border:2px solid}.user-presence-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.user-presence-tooltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);color:white;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:9999;box-shadow:0 4px 12px rgba(0,0,0,.15);opacity:0;transition:opacity duration .2s;background-color:var(--user-color,#000)}.block-status-trigger:hover,.group:hover .canvas-context-badge,.reaction-badge:hover .user-presence-tooltip,.selected .resizer-line,.user-presence-item:hover .user-presence-tooltip{opacity:1}.user-presence-tooltip-arrow{position:absolute;top:-3px;left:50%;transform:translateX(-50%) rotate(45deg);width:6px;height:6px;background-color:var(--user-color,#000)}.project-canvas-container{width:100%;height:100%;position:relative;background-color:white;user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain}.project-canvas .block-header,.project-canvas .handle-drag-target,.project-canvas .react-flow__pane,.project-canvas .shell-block-header{touch-action:none}.react-flow__node.draggable .block-header,.react-flow__node.draggable .handle-drag-target,.react-flow__node.draggable .shell-block-header{cursor:move}.react-flow__node.draggable .block-header:active,.react-flow__node.draggable .handle-drag-target:active,.react-flow__node.draggable .shell-block-header:active{cursor:grabbing}.preview-mode .block-content,.project-canvas .block-content.overflow-y-auto,.project-canvas .block-description,.project-canvas .checklist-block-container,.project-canvas .contact-block-container,.project-canvas .kb-tasks,.project-canvas .palette-block-container,.project-canvas .snippet-block-container{touch-action:pan-y}.project-canvas .kb-scroll{touch-action:pan-x}[data-theme=dark] .project-canvas-container{background-color:#0d0d0d}body.sketch-modal-open>:not(.sketch-modal-backdrop):not(.excalidraw-modal-container){transition:none;filter:none!important}.project-canvas-container [contenteditable=true],.project-canvas-container input,.project-canvas-container textarea{user-select:text;-webkit-touch-callout:default}.block-file-container,.preview-mode .block-card,.preview-mode .react-flow__edge,.preview-mode .react-flow__node{cursor:default!important}.preview-mode .block-card .reaction-badge,.preview-mode .block-card .reaction-button,.preview-mode .block-card [role=button],.preview-mode .block-card a,.preview-mode .block-card button,.preview-mode .block-link-widget,.preview-mode .markdown-editor-container .ProseMirror a{cursor:pointer!important;pointer-events:auto!important}.markdown-editor-container{pointer-events:auto!important}.markdown-editor-container .ProseMirror,.markdown-editor-container .nodrag{user-select:text!important;-webkit-user-select:text!important}.markdown-editor-container .ProseMirror{pointer-events:auto!important;cursor:text!important}.markdown-editor-container .ProseMirror ::selection{background:rgba(37,99,235,.4)!important;color:white!important}[data-theme=dark] .markdown-editor-container .ProseMirror ::selection{background:rgba(59,130,246,.5)!important;color:white!important}.markdown-editor-container .ProseMirror *{user-select:text!important;-webkit-user-select:text!important}.loading-overlay{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:rgba(255,255,255,.5);backdrop-filter:none!important}[data-theme=dark] .loading-overlay{background-color:rgba(0,0,0,.5)}.drop-import-hover-overlay,.drop-import-progress-overlay{position:absolute;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-import-hover-overlay{background-color:rgba(255,255,255,.18);backdrop-filter:none!important}[data-theme=dark] .drop-import-hover-overlay{background-color:rgba(0,0,0,.25)}.drop-import-hover-card,.drop-import-progress-card{display:flex;align-items:center;gap:12px;min-width:300px;max-width:520px;padding:12px 14px;border:1px solid var(--border);background-color:var(--bg-island);box-shadow:0 8px 24px rgba(0,0,0,.12)}.drop-import-hover-icon,.drop-import-progress-spinner{width:18px;height:18px;color:var(--text-main);flex-shrink:0}.drop-import-progress-spinner{animation:spin .9s linear infinite}.drop-import-hover-text,.drop-import-progress-text{display:flex;flex-direction:column;gap:2px}.drop-import-hover-text p,.drop-import-progress-text p{margin:0;line-height:1.25}.drop-import-hover-text p:first-child,.drop-import-progress-text p:first-child{font-size:12px;font-weight:700}.drop-import-hover-text p:last-child,.drop-import-progress-text p:last-child{font-size:11px;opacity:.75}.drop-import-progress-overlay{justify-content:flex-end;align-items:flex-start;padding:16px;background-color:transparent}.hidden-svg{position:absolute;top:0;left:0;width:0;height:0}.preview-mode-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:var(--bg-island);border:1px solid rgba(245,158,11,.2);border-radius:8px}.preview-mode-text{font-size:10px;font-weight:700;color:rgb(245,158,11);text-transform:uppercase;letter-spacing:.1em}.preview-mode-actions{display:flex;align-items:center;gap:4px;margin-left:4px;border-left:1px solid rgba(245,158,11,.2);padding-left:8px}.preview-action-btn{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;display:flex;align-items:center;gap:6px;padding:4px 8px}.preview-return-btn{color:rgb(245,158,11)}.preview-return-btn:hover{background-color:rgba(245,158,11,.2)}.preview-apply-btn{color:rgb(16,185,129)}.preview-apply-btn:hover{background-color:rgba(16,185,129,.2)}.preview-btn-text{font-size:11px;font-weight:700}.theme-checkbox:checked{background-color:var(--text-main)}.react-flow__handle{opacity:0!important;pointer-events:auto!important}.core-block{width:100%;height:100%;background:var(--bg-page);color:var(--text-main);border:2px solid var(--border);border-radius:50px;box-shadow:0 0 0 1px rgba(0,0,0,.05);transition:border-color .3s ease,background-color .3s ease;cursor:default!important;box-sizing:border-box}.core-block.selected{border-color:var(--text-main);box-shadow:0 8px 25px #00000040;z-index:50}.core-title-input{border:none!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;padding-bottom:8px!important}.core-description-input,.core-title-input{width:100%;background:transparent!important}.core-description-input{border:none!important;box-shadow:none!important;resize:none!important}[data-theme=dark] .core-block.selected{box-shadow:0 0 20px 2px #ffffff26}.project-canvas,.project-canvas *,.project-canvas-container,.project-canvas-container *{filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.resizer-handle-core,.resizer-line-core{display:none!important}[data-theme=dark] .core-block{box-shadow:0 0 0 1px rgba(255,255,255,.05)}.pt-2{padding-top:8px}.pt-4{padding-top:16px}.px-2{padding-left:8px;padding-right:8px}.react-flow__controls{box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex!important;flex-direction:row!important;gap:0;background:var(--bg-island)!important;border:1px solid var(--border)!important;border-radius:12px;overflow:hidden;margin-bottom:16px!important;margin-right:12px}[data-theme=dark] .react-flow__controls{box-shadow:0 10px 30px rgba(0,0,0,.5)}.react-flow__controls-button{background:transparent!important;border-right:1px solid var(--border)!important;border-bottom:none!important;width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s;color:var(--text-main)!important;fill:var(--text-main)!important}.react-flow__controls-button:last-child{border-right:none!important}.zoom-indicator{position:absolute;bottom:18px;right:235px;height:36px;padding:0 12px;display:flex;align-items:center;justify-content:center;color:var(--text-main);font-size:11px;font-weight:800;letter-spacing:.1em;pointer-events:none;z-index:1000}.public-project-canvas .zoom-indicator{right:140px}.sync-indicator{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:9999px;background:var(--bg-island);border:1px solid var(--border);pointer-events:auto;cursor:default;user-select:none;transition:opacity .2s}.sync-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sync-dot-synced{background:#22c55e}.sync-dot-offline{background:#ef4444}.sync-indicator-icon{width:12px;height:12px;opacity:.5}.sync-indicator-text{font-size:10px;font-weight:700;opacity:.5;white-space:nowrap;letter-spacing:.02em}.project-presence-avatars,.project-presence-strip,.project-topbar-row{display:flex;align-items:center;gap:8px;min-width:0}.project-mobile-actions{position:relative;flex:0 0 auto}.project-mobile-actions-trigger{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-island);color:var(--text-main)}.project-mobile-actions-trigger.active{border-color:var(--text-main)}.project-mobile-actions-menu{position:absolute;top:calc(100% + 8px);right:-20px;width:280px;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);background:var(--bg-island);box-shadow:0 20px 40px rgba(0,0,0,.25);z-index:2001}.project-mobile-actions-item,.project-mobile-actions-switch{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:8px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-main);border:1px solid var(--border);background:transparent}@media (max-width:870px){.project-topbar-panel-mobile{margin:.75rem .75rem 0!important}.project-topbar-panel-mobile .preview-mode-banner{max-width:calc(100vw - 1.5rem);overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none}.project-topbar-panel-mobile .preview-mode-banner::-webkit-scrollbar{display:none}.project-topbar-row{max-width:calc(100vw - 1.5rem);white-space:nowrap}.project-presence-strip{flex:1 1 auto;max-width:calc(100vw - 56px)}.project-presence-avatars{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-webkit-font-smoothing:subpixel-antialiased!important;text-rendering:optimizeLegibility!important;scrollbar-width:none}.project-presence-avatars::-webkit-scrollbar{display:none}.project-presence-strip .user-presence-avatar{width:26px;height:26px;border-width:1.5px}.project-presence-strip .sync-indicator{padding:4px 8px;gap:4px}.project-presence-strip .sync-indicator-text{font-size:9px}}.react-flow__controls-button:hover{background:var(--bg-sidebar)!important;color:var(--text-main)!important}.react-flow__controls-button svg{width:16px!important;height:16px!important}.react-flow__panel.top-center{left:50%;transform:translateX(-50%)}.project-canvas[class~=project-canvas] .react-flow__edge,.project-canvas[class~=project-canvas] .react-flow__edges{z-index:0}.mental-canvas .react-flow__edge-path{stroke:var(--text-main);opacity:.3;stroke-width:1.5;transition:stroke .2s ease,opacity .2s ease;animation:none;stroke-dasharray:none}.project-canvas .react-flow__edge:hover .react-flow__edge-path{opacity:.6}.project-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:var(--text-main);opacity:1;stroke-dasharray:5;animation:edge-marching-ants .5s linear infinite}@keyframes edge-marching-ants{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}.canvas-container{position:relative;width:100%;height:100%;background:var(--bg-page);overflow:hidden}.canvas-toolbar{position:absolute;top:0;left:0;right:0;z-index:1000;height:48px;justify-content:space-between;padding:0 16px;background:var(--bg-island);border-bottom:1px solid var(--border)}.canvas-toolbar,.toolbar-group{display:flex;align-items:center}.toolbar-group{gap:8px}.breadcrumb{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--text-muted)}.breadcrumb-item{padding:4px 8px;border-radius:0;cursor:pointer;transition:background .2s}.breadcrumb-item:hover,.notion-btn:hover{background:rgba(0,0,0,.05)}.breadcrumb-separator{opacity:.3}.notion-btn{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:0;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;background:transparent;border:none;color:var(--text-main)}.minimap-container{position:fixed;bottom:24px;right:24px;z-index:1500;background:var(--bg-island);border:1px solid var(--border);border-radius:0;padding:12px;box-shadow:0 8px 32px rgba(0,0,0,.08);backdrop-filter:blur(20px)}.minimap-canvas{display:block;border-radius:0;cursor:pointer;transition:transform .2s}.minimap-canvas:hover{transform:scale(1.02)}.minimap-label{margin-top:8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);opacity:.6}.idea-count{color:var(--accent);font-weight:900}.block-card{position:relative;width:100%;height:100%;box-sizing:border-box;user-select:none;-webkit-touch-callout:none;background:var(--bg-island);padding:16px;border:2px solid var(--border);border-radius:1rem;display:flex;flex-direction:column;overflow:visible!important}.react-flow__node.draggable .block-card{cursor:move}.react-flow__node.draggable .block-card:active{cursor:grabbing}.resizer-line{border-color:transparent!important}.resizer-handle{opacity:0!important;width:12px!important;height:12px!important;box-shadow:none!important}@media (pointer:coarse){.resizer-handle{width:48px!important;height:48px!important}}.block-handle{background:transparent!important;border:none!important;width:1px!important;height:1px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:crosshair!important;transition:opacity .2s ease!important;color:var(--text-main)!important;opacity:.2!important;visibility:visible!important;z-index:1000!important;border-radius:0!important;box-shadow:none!important;transform:translateY(-50%)!important}.block-handle:hover{opacity:.8!important}.block-handle-left{left:0!important}.block-handle-right{right:0!important}.block-handle-top{top:0!important;left:50%!important;transform:translate(-50%,-50%)!important}.block-handle-bottom{bottom:0!important;left:50%!important;transform:translate(-50%,50%)!important}.block-handle:after{content:"";position:absolute;width:64px;height:40px;background:transparent;cursor:crosshair}.block-handle-left:after{left:-64px}.block-handle-right:after{left:0}.block-handle-top:after{top:-64px}.block-handle-bottom:after,.block-handle-top:after{left:50%;transform:translateX(-50%);height:64px;width:40px}.block-handle-bottom:after{bottom:-64px}.handle-dot{position:absolute;width:4px;height:4px;background-color:currentColor;border-radius:50%;pointer-events:none}.block-handle-left .handle-dot{left:-8px}.block-handle-right .handle-dot{right:-8px}.block-handle-top .handle-dot{top:-6px}.block-handle-bottom .handle-dot{bottom:-6px}[data-theme=dark] .block-card{background:var(--bg-island)}.block-card.selected{z-index:10;box-shadow:0 8px 25px rgba(0,0,0,.25);border-color:rgba(0,0,0,.6)}[data-theme=dark] .block-card.selected{box-shadow:0 0 20px 2px rgba(255,255,255,.15);border-color:rgba(255,255,255,.6)}.preview-mode .block-card.selected{z-index:5;box-shadow:0 4px 15px rgba(0,0,0,.15);border-color:rgba(0,0,0,.4)}[data-theme=dark] .preview-mode .block-card.selected{z-index:5;box-shadow:0 0 15px 1px rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}.preview-mode .react-flow__node:focus,.preview-mode .react-flow__node:focus-visible,.preview-mode .react-flow__node:focus-within{outline:none!important}.block-card.status-idea{border-style:dashed}.block-card.status-decision{border-style:solid}.block-card.status-action{border-style:solid;border-bottom-width:6px}.block-intent-icon{flex-shrink:0;opacity:.7}.block-intent-icon.task{color:#10b981}.block-intent-icon.decision{color:#f59e0b}.block-intent-icon.milestone{color:#8b5cf6}.block-intent-icon.note{color:#6b7280}.block-badge{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.05);color:rgba(0,0,0,.5);transition:all .2s ease}[data-theme=dark] .block-badge{background:rgba(255,255,255,.05);color:rgba(255,255,255,.5)}.block-card.task{border-left:4px solid #10b981}.block-card.decision{border-left:4px solid #f59e0b}.block-card.milestone{border-left:4px solid #8b5cf6}[data-theme=dark] .block-card.task{border-left-color:#059669}[data-theme=dark] .block-card.decision{border-left-color:#d97706}[data-theme=dark] .block-card.milestone{border-left-color:#7c3aed}.block-content{display:grid;grid-template-rows:1fr auto;flex:1;width:100%;cursor:text;min-height:0;overflow:visible}.sketch-content{flex:1;width:100%;min-height:0;overflow:hidden;position:relative}.sketch-clickable{cursor:pointer}.sketch-thumbnail{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;transition:filter .2s;padding:1px}.sketch-clickable:hover .sketch-thumbnail{filter:blur(3px)}.sketch-placeholder{flex-direction:column;height:100%;gap:10px;opacity:.3;pointer-events:none;font-size:13px}.sketch-edit-overlay,.sketch-placeholder{display:flex;align-items:center;justify-content:center}.sketch-edit-overlay{position:absolute;inset:0;opacity:0;transition:opacity .2s}.sketch-clickable:hover .sketch-edit-overlay{opacity:1}.sketch-edit-badge{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;background:rgba(30,30,30,.85);color:#fff;font-size:13px;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.45);letter-spacing:.01em;backdrop-filter:blur(4px)}.sketch-modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.Dialog,.Modal,.Modal__background,.Modal__content{z-index:11001!important}.excalidraw-modal-container{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;overflow:visible!important;z-index:11000!important}.sketch-modal{display:flex;flex-direction:column;width:80vw;height:75vh;max-width:1100px;background:var(--bg-page);border-radius:12px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.3)}.sketch-modal-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg-island);flex-shrink:0;z-index:1}.sketch-modal-header-actions{display:flex;align-items:center;gap:8px}.sketch-modal-canvas{flex:1;position:relative;overflow:hidden;min-height:0}.sketch-modal-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;border:none}.sketch-modal-btn-close{background:transparent;color:var(--text-main)}.sketch-modal-btn-close:hover{background:var(--bg-hover)}.sketch-modal-btn-save{background:#fff;color:#111;box-shadow:0 4px 12px #00000020}.sketch-modal-btn-save:hover{opacity:.88}.sketch-modal-btn-export{background:var(--bg-hover);color:var(--text-main)}.sketch-modal-btn-export:hover{opacity:.9}.sketch-modal-btn-danger{background:#b42318;color:#fff}.sketch-modal-btn-danger:hover{opacity:.9}.sketch-discard-confirm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:2}.sketch-discard-confirm{width:min(480px,calc(100% - 32px));border-radius:10px;background:var(--bg-page);border:1px solid var(--border);box-shadow:0 20px 42px rgba(0,0,0,.35);padding:18px}.sketch-discard-confirm h3{margin:0;font-size:16px;font-weight:700;color:var(--text-main)}.sketch-discard-confirm p{margin:10px 0 0;font-size:14px;color:var(--text-muted)}.sketch-discard-confirm-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}@media (max-width:720px){.sketch-modal-header{padding:8px 10px}.sketch-modal-header-actions{gap:6px}.sketch-modal-btn{padding:6px 10px}.sketch-discard-confirm-actions{flex-wrap:wrap}}.block-title{width:100%;background:transparent;font-size:18px;font-weight:700;text-align:right;outline:none;border:none;border-bottom:1px solid var(--border);padding:4px 8px;margin-bottom:8px;color:var(--text-main);border-radius:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}[data-theme=dark] .block-title{color:rgba(255,255,255,.9);border-bottom-color:rgba(255,255,255,.05)}.block-title:focus{border-bottom-color:var(--text-main)}[data-theme=dark] .block-title:focus{border-bottom-color:#ffffff}.block-title::placeholder{color:var(--text-muted);opacity:.5}[data-theme=dark] .block-title::placeholder{color:rgba(255,255,255,.1)}.block-status-select-container{width:auto;max-width:none}.block-status-trigger{display:flex;align-items:center;gap:4px;padding:2px 0;background:transparent!important;border:none!important;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.5;cursor:pointer;color:var(--text-main);transition:opacity .2s}.block-status-dropdown{min-width:100px;top:calc(100% + 4px);background:var(--bg-island);border:1px solid var(--border);box-shadow:0 10px 25px rgba(0,0,0,.2);border-radius:4px;z-index:10000}.block-status-option{padding:8px 12px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-main);opacity:.6}.block-status-option:hover{opacity:1;background:rgba(var(--text-main-rgb),.05)}.block-status-option.active{opacity:1;color:var(--accent)}.block-description{resize:none;background:transparent;outline:none;border:none;border-bottom:1px solid var(--border);color:rgba(0,0,0,.8);overflow-x:hidden;word-break:break-all;overflow-wrap:break-word;min-height:0;width:100%;display:block;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;font-family:inherit}.block-description,.markdown-content{font-size:14px;line-height:1.625;padding:4px 0;overflow-y:auto;height:100%}.markdown-content p{margin:0;padding:0}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:0;font-size:1.2em;font-weight:700}.markdown-content ol,.markdown-content ul{margin:0;padding-left:1.5em}[data-theme=dark] .block-description{scrollbar-color:#ffffff transparent}.block-description::-webkit-scrollbar{width:2px;display:block}.block-description::-webkit-scrollbar-track{background:transparent}.block-description::-webkit-scrollbar-thumb{background:#000000;border-radius:0}[data-theme=dark] .block-description::-webkit-scrollbar-thumb{background:#ffffff}.block-description::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-theme=dark] .block-description{color:rgba(255,255,255,.4)}.block-description::placeholder{color:#9ca3af}[data-theme=dark] .block-description::placeholder{color:rgba(255,255,255,.05)}.block-author-container{flex-shrink:0;width:100%}.block-rationale-container{transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInRationale .3s ease-out}.resizer-line{opacity:0}.resizer-handle{width:40px!important;height:40px!important;background:transparent!important;border:none!important;border-radius:50%;z-index:9999!important;position:absolute;pointer-events:auto!important}@media (pointer:coarse){.resizer-handle{width:64px!important;height:64px!important}}.react-flow__resize-control.line{border-color:var(--accent)}.react-flow__resize-control.handle{background:transparent!important;border:none!important}.preview-mode .react-flow__edgeupdater,.react-flow__node-core .react-flow__resize-control.handle.top.left{display:none!important;pointer-events:none!important}.canvas-context-badge{color:var(--text-main);font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border:1px solid var(--border);background-color:rgba(255,255,255,.9);z-index:20;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none}[data-theme=dark] .canvas-context-badge{background-color:rgba(10,10,10,.85)}.react-flow__controls-button:disabled{background-color:#e5e5e5!important;opacity:.5;cursor:not-allowed}[data-theme=dark] .react-flow__controls-button:disabled{background-color:#262626!important}.react-flow__controls-button svg{fill:none!important;stroke:currentColor}.hover\:underline:hover{text-decoration:underline}.text-inherit{color:inherit!important}.no-underline{text-decoration:none!important}.rotate-180{transform:rotate(180deg)}.preview-mode .block-handle,.preview-mode .react-flow__handle{pointer-events:none!important;opacity:0!important}.preview-mode .react-flow__pane{cursor:default!important}.preview-mode .react-flow__pane.dragging,.preview-mode .react-flow__pane:active{cursor:grabbing!important;cursor:-webkit-grabbing!important}.preview-mode .block-content{overflow-y:auto}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in{animation:slide-in .4s cubic-bezier(.23,1,.32,1)}@keyframes slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.ripple-container{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none;z-index:9999}.touch-ripple{position:absolute;border-radius:50%;background-color:var(--text-main);opacity:.2;transform:scale(.5);animation:touch-ripple-grow .8s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none;z-index:10000}.touch-ripple.removing{animation:touch-ripple-fade-out .4s ease-out forwards}@keyframes touch-ripple-grow{to{transform:scale(1.25);opacity:.4}}@keyframes touch-ripple-fade-out{to{opacity:0}}@keyframes context-menu-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.history-item:last-child{margin-bottom:0}.scroll-container{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.temporal-trigger{cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.25rem;margin-top:1px}.group:hover .group-hover\:opacity-100{opacity:1}@keyframes slide-in-top{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.statusDotConnected{background-color:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.6)}.statusDotDisconnected{background-color:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.6)}@media (max-width:768px){.onboarding-panel{display:none}}.auth-subtitle{font-size:.875rem;color:var(--text-muted);margin-top:.5rem;font-weight:500}.auth-form{gap:1.5rem}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:.5rem}.auth-label{font-size:14px;font-weight:500;color:var(--text-muted)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input{width:100%;background-color:transparent;border:none;border-bottom:1px solid var(--border);padding:.875rem 0;font-size:15px;color:var(--text-main);outline:none;transition:all .2s}.auth-input:-webkit-autofill{animation-name:autofill-start;animation-duration:1ms}.auth-input::placeholder{color:var(--text-muted);opacity:.5}.auth-input:focus{border-bottom-color:var(--text-main)}.auth-input-password{padding-right:3rem}.password-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.auth-footer-link:hover,.password-toggle:hover{color:var(--text-main)}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.auth-submit-btn{min-width:120px}.auth-divider{display:flex;align-items:center;margin:2rem 0}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background-color:var(--border)}.auth-divider span{padding:0 1rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}@media (max-width:768px){.auth-form{gap:1.125rem}.auth-actions{justify-content:stretch}.auth-actions>*{flex:1 1 auto;min-width:0}.auth-submit-btn{width:100%}}@media (max-width:480px){.auth-actions{flex-direction:column;align-items:stretch;gap:.625rem}}.auth-sso-grid{display:flex;flex-direction:column;gap:.75rem}.auth-footer-container{position:absolute;bottom:2rem;left:0;right:0;display:flex;justify-content:center;z-index:10000}.auth-footer-link{background:none;border:none;color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:color .2s}.auth-initializing-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#0d0d0d}.auth-initializing-text{font-size:.875rem;font-weight:600;color:#737373;animation:auth-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes auth-pulse{0%,to{opacity:1}50%{opacity:.5}}.app-container{display:flex;height:100vh;width:100vw;padding:12px;gap:12px;background:var(--bg-page);position:relative;z-index:1}@keyframes slideInFromTop{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-from-top-4{animation-name:slideInFromTop}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-in{animation-duration:.2s;animation-fill-mode:forwards;animation-timing-function:ease-out}.fade-in{animation-name:fadeIn}.duration-500{animation-duration:.5s}.group .group-hover\:opacity-100{opacity:0;transition:opacity .2s}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.section-divider{height:1px;background:var(--border);margin:48px 0}@keyframes slideSelect{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.select-option{width:100%;padding:10px 16px;background:transparent;border:none;text-align:left;gap:12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text-main);display:flex;align-items:center;justify-content:space-between}.select-option:hover{background:rgba(10,10,10,.03)}[data-theme=dark] .select-option:hover{background:rgba(255,255,255,.03)}@keyframes fadeInRationale{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.block-rationale{line-height:1.5;color:var(--text-main);transition:all .2s ease;font-family:inherit;background:transparent!important;border:1px solid rgba(var(--text-main-rgb),.08)!important;border-radius:4px;padding:4px 0!important;margin-top:2px}.block-rationale:focus{border-color:rgba(var(--text-main-rgb),.15)!important;opacity:1!important}[data-theme=dark] .block-rationale{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.1)!important}.block-status-select{appearance:none;background-image:none;border-radius:4px;padding:2px 6px;transition:all .2s ease}.block-status-select:hover{background:rgba(0,0,0,.05)}[data-theme=dark] .block-status-select:hover{background:rgba(255,255,255,.05)}.block-timestamp{font-size:10px;color:rgba(0,0,0,.4);font-weight:600;display:flex;align-items:center;gap:4px}[data-theme=dark] .block-timestamp{color:rgba(255,255,255,.4)}.block-author-info{display:flex;align-items:center}.block-lock-icon{color:red;margin-top:2px;margin-right:4px;transform:translateY(.5px)}@keyframes walking-ants{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.command-palette-modal{padding:0!important;max-width:640px!important;overflow:hidden!important}.command-palette-modal [cmdk-root]{width:100%}.command-palette-modal [cmdk-input]{width:100%;padding:16px 20px;font-size:14px;font-family:inherit;background:transparent;color:var(--text-main);border:none;border-bottom:1px solid var(--border);outline:none;box-sizing:border-box}.command-palette-modal [cmdk-input]::placeholder{color:var(--text-muted)}.command-palette-modal [cmdk-list]{max-height:460px;overflow-y:auto;padding:4px 12px 12px;overscroll-behavior:contain}.command-palette-modal [cmdk-list]::-webkit-scrollbar{width:5px}.command-palette-modal [cmdk-list]::-webkit-scrollbar-track{background:transparent}.command-palette-modal [cmdk-list]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.command-palette-modal [cmdk-empty]{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:13px}.command-palette-modal [cmdk-group-heading]{padding:12px 4px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);user-select:none}.command-palette-modal [cmdk-group-items]{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px}.command-palette-modal [cmdk-item]{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px;padding:10px 6px;border:1px solid var(--border);border-radius:6px;cursor:default;user-select:none;transition:background .15s;min-height:58px}.command-palette-modal [cmdk-item][data-selected=true]{background:color-mix(in srgb,var(--text-main) 6%,transparent)}.cmdk-card-keys{display:flex;gap:3px;flex-wrap:wrap}.cmdk-card-keys,.cmdk-card-keys kbd{align-items:center;justify-content:center}.cmdk-card-keys kbd{display:inline-flex;min-width:22px;height:22px;padding:0 6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-main);background:var(--bg-page);border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 0 var(--border);line-height:1}.cmdk-card-label{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.command-palette-hint{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:var(--bg-island);border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.08);cursor:pointer;opacity:1;transition:opacity .15s ease;line-height:1}.command-palette-hint:hover{opacity:.7}.command-palette-hint span{font-size:10px;letter-spacing:.02em;color:var(--text-muted);white-space:nowrap;user-select:none}.command-palette-hint kbd{font-size:9px;font-family:inherit;padding:4px;border-radius:8px;background:var(--bg-page);border:1px solid var(--border);color:var(--text-muted);user-select:none}.canvas-search-bar{position:relative;width:min(350px,42vw)}.canvas-search-bar-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:0 8px 0 10px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg-island) 92%,transparent);box-shadow:0 1px 3px rgba(0,0,0,.08)}.canvas-search-bar-icon{color:var(--text-muted);flex-shrink:0}.canvas-search-bar-input{width:100%;min-width:0;height:32px;border:none;outline:none;background:transparent;color:var(--text-main);font-size:12px}.canvas-search-bar-input::placeholder{color:var(--text-muted)}.canvas-search-bar-advanced{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--bg-page);color:var(--text-muted);font-size:10px;white-space:nowrap}.canvas-search-bar-advanced kbd{font-size:9px;font-family:inherit;padding:1px 4px;border-radius:3px;background:color-mix(in srgb,var(--bg-island) 92%,transparent);border:1px solid var(--border);color:var(--text-muted)}.canvas-search-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:100%;max-height:min(58vh,520px);overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-island);box-shadow:0 18px 40px rgba(0,0,0,.18)}.canvas-search-dropdown-preview{max-height:150px}.canvas-search-dropdown-group+.canvas-search-dropdown-group,.canvas-search-dropdown-section+.canvas-search-dropdown-section{margin-top:10px}.canvas-search-dropdown-heading{padding:4px 6px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.canvas-search-dropdown-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:52px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;text-align:left}.canvas-search-dropdown-item+.canvas-search-dropdown-item{margin-top:4px}.canvas-search-dropdown-item:hover{background:color-mix(in srgb,var(--text-main) 6%,transparent)}.project-canvas-topbar-left,.project-canvas-topbar-left-controls{display:flex;align-items:center;gap:12px}.project-canvas-topbar-left-controls{flex:0 0 auto}.project-canvas-topbar-left-search{display:flex;align-items:center;flex:0 0 auto}@media (max-width:1100px){.canvas-search-bar{width:min(340px,38vw);min-width:240px}.canvas-search-bar-advanced kbd,.canvas-search-bar-advanced span{display:none}}@media (max-width:1240px){.project-canvas-topbar-left{display:grid;grid-template-columns:1fr;row-gap:8px;justify-items:start}.project-canvas-topbar-left-controls{min-height:34px}.project-canvas-topbar-left-search{width:auto}.canvas-search-bar{width:350px;max-width:min(350px,calc(100vw - 120px));min-width:0}}.canvas-search-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh}.canvas-search-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--bg-page) 78%,transparent);backdrop-filter:blur(6px)}.canvas-search-modal{position:relative;width:min(720px,calc(100vw - 24px));border-radius:10px;border:1px solid var(--border);background:var(--bg-island);box-shadow:0 20px 40px rgba(0,0,0,.18);overflow:hidden}.canvas-search-command{width:100%}.canvas-search-input-wrap{display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--border)}.canvas-search-input-icon{width:14px;height:14px;color:var(--text-muted)}.canvas-search-input{width:100%;height:46px;border:none;background:transparent;color:var(--text-main);font-size:13px;outline:none}.canvas-search-input::placeholder{color:var(--text-muted)}.canvas-search-list{max-height:min(60vh,520px);overflow-y:auto;padding:8px 10px 12px}.canvas-search-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.canvas-search-list [cmdk-group-heading]{padding:8px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.canvas-search-list [cmdk-group-items]{display:flex;flex-direction:column;gap:4px}.canvas-search-item{display:grid!important;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:9px 10px;cursor:pointer}.canvas-search-item[data-selected=true]{background:color-mix(in srgb,var(--text-main) 8%,transparent)}.canvas-search-item-icon{width:14px;height:14px;color:var(--text-muted)}.canvas-search-item-content{display:flex;flex-direction:column;gap:2px;min-width:0}.canvas-search-item-title{font-size:12px;color:var(--text-main)}.canvas-search-item-subtitle,.canvas-search-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-search-item-subtitle{font-size:11px;color:var(--text-muted)}.canvas-search-task-id{font-size:10px;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:2px 6px;min-width:56px;text-align:center}.canvas-search-highlight{background:color-mix(in srgb,var(--text-main) 16%,transparent);color:var(--text-main);border-radius:2px;padding:0 2px}.add-block-modal{padding:0!important;max-width:640px!important;overflow:hidden!important}.add-block-modal [cmdk-root]{width:100%}.add-block-modal [cmdk-input]{width:100%;padding:16px 20px;font-size:14px;font-family:inherit;background:transparent;color:var(--text-main);border:none;border-bottom:1px solid var(--border);outline:none;box-sizing:border-box}.add-block-modal [cmdk-input]::placeholder{color:var(--text-muted)}.add-block-modal [cmdk-list]{max-height:460px;overflow-y:auto;padding:4px 12px 12px;overscroll-behavior:contain}.add-block-modal [cmdk-list]::-webkit-scrollbar{width:5px}.add-block-modal [cmdk-list]::-webkit-scrollbar-track{background:transparent}.add-block-modal [cmdk-list]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.add-block-modal [cmdk-empty]{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:13px}.add-block-modal [cmdk-group-heading]{padding:12px 4px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);user-select:none}.add-block-modal [cmdk-group-items]{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px}.add-block-modal [cmdk-item]{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px;padding:14px 6px;border:1px solid var(--border);border-radius:6px;cursor:pointer;user-select:none;transition:background .15s;min-height:72px}.add-block-modal [cmdk-item]:hover{background:color-mix(in srgb,var(--text-main) 8%,transparent)}.add-block-modal [cmdk-item][data-selected=true]{background:color-mix(in srgb,var(--text-main) 6%,transparent)}.add-block-icon{width:22px;height:22px;color:var(--text-main);opacity:.7}.add-block-label{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}