.sketch-canvas{display:block}.node-label{fill:var(--text-primary,#212529);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500}.node-type-badge{fill:var(--text-secondary,#6c757d);pointer-events:none;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.5px;font-size:9px}.edge-label{fill:var(--text-secondary,#6c757d);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px}g.node{cursor:grab}g.node:hover{filter:brightness(1.05)}g.node.dragging{cursor:grabbing;filter:brightness(1.1)drop-shadow(0 2px 8px #00000026)}g.node.selected{filter:brightness(1.05)}.container-label{fill:var(--text-secondary,#6c757d);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.selection-highlight{pointer-events:none;animation:.8s linear infinite selection-dash}@keyframes selection-dash{to{stroke-dashoffset:-18px}}.connection-port{cursor:crosshair;transition:opacity .15s}.connection-port circle{transition:r .15s}.connection-port:hover circle{r:7}.edge-drawing-line{pointer-events:none;animation:.6s linear infinite edge-draw-dash}.edge-drawing-active .connection-port{opacity:.6!important}@keyframes edge-draw-dash{to{stroke-dashoffset:-20px}}g.edge{cursor:pointer}g.edge.selected path,g.edge.selected line{stroke:var(--accent-pink,#ec4899)!important;stroke-width:3px!important}.edge-delete{transition:opacity .15s}.pin-indicator{pointer-events:none;transition:opacity .15s}.sketch-canvas.drag-over{outline:2px dashed var(--accent-pink,#ec4899);outline-offset:-2px}.ai-thinking .node,.ai-thinking .edge{animation:1.5s ease-in-out infinite ai-pulse}@keyframes ai-pulse{0%,to{opacity:1;filter:none}50%{opacity:.5;filter:brightness(1.2)}}.signup-prompt{text-align:center}.signup-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.plan-picker{gap:10px;margin-bottom:20px;display:flex}.plan-option{border:2px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:12px 16px;transition:all .2s}.plan-option strong{color:var(--text-primary);margin-bottom:2px;font-size:14px;display:block}.plan-option span{color:var(--text-secondary);font-size:13px}.plan-option:hover{border-color:#ec48994d}.plan-option-active{border-color:var(--accent-pink);background:#ec48990d}.plan-option-active strong{color:var(--accent-pink)}.oauth-buttons{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.oauth-btn-container{min-height:44px}.oauth-btn-container>div,.oauth-btn-container>div>div{width:100%!important;max-width:100%!important}.oauth-btn-container iframe{width:100%!important}.oauth-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;transition:background .15s;display:flex}.oauth-btn:hover{background:var(--border-color)}.oauth-icon{border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;font-weight:700;display:flex}.google-btn .oauth-icon{color:#4285f4}.facebook-btn .oauth-icon{color:#1877f2}.microsoft-btn .oauth-icon{color:#00a4ef}.oauth-icon-svg{flex-shrink:0;width:20px;height:20px}.upgrade-features{text-align:left;margin-bottom:20px;padding:0;list-style:none}.upgrade-features li{color:var(--text-secondary);align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.upgrade-features .check{color:var(--accent-green,#10b981);font-weight:700}.ctx-picker{text-align:center;width:720px;max-width:95vw;padding:36px 40px}.ctx-picker-header{margin-bottom:32px}.ctx-picker-icon{width:56px;height:56px;color:var(--accent-pink);background:linear-gradient(135deg,#ec48991a,#f973161a);border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.ctx-picker-header h2{margin-bottom:8px;font-size:22px;font-weight:700}.ctx-picker-header p{color:var(--text-muted);font-size:14px;line-height:1.5}.ctx-picker-section{margin-bottom:24px}.ctx-picker-label{text-transform:uppercase;letter-spacing:.8px;text-align:left;border-bottom:1px solid var(--border-subtle,#f3f4f6);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:8px;font-size:12px;font-weight:600;display:flex}.ctx-picker-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.ctx-picker-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.ctx-pick-card{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;transition:all .2s;display:flex}.ctx-pick-card:hover{border-color:var(--card-color,var(--accent-pink));background:var(--card-hover-bg,#ec48990a);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ctx-pick-icon{background:var(--card-icon-bg,#ec489914);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ctx-pick-icon svg{width:20px;height:20px;color:var(--card-color,var(--accent-pink))}.ctx-pick-label{color:var(--text-primary);font-size:12px;font-weight:500;line-height:1.2}.ctx-pro-badge{text-transform:uppercase;letter-spacing:.3px;color:#fff;vertical-align:middle;background:linear-gradient(135deg,#ec4899,#f97316);border-radius:4px;margin-left:3px;padding:1px 5px;font-size:9px;font-weight:600;display:inline-block}.ctx-pick-locked{opacity:.6}.ctx-pick-locked:hover{opacity:.85}.ctx-item-locked{opacity:.55}.ctx-item-locked:hover{opacity:.8}.confirm-overlay{z-index:2000}.confirm-dialog{text-align:center;width:400px}.confirm-message{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.5}.confirm-actions{justify-content:center;gap:10px;display:flex}.confirm-btn-cancel{flex:1}.confirm-btn-primary{background:var(--gradient-primary);color:#fff;border-color:#0000;flex:1}.confirm-btn-danger{background:var(--danger-color);color:#fff;border-color:#0000;flex:1}.relayout-dialog{text-align:center;width:440px}.relayout-options{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.relayout-option{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;text-align:left;border-radius:12px;align-items:flex-start;gap:14px;padding:16px;transition:all .2s;display:flex}.relayout-option:hover{border-color:var(--accent-pink);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#ec489908,#f9731608);transform:translateY(-1px)}.relayout-option-ai{border-color:#ec489933}.relayout-option-icon{width:44px;height:44px;color:var(--accent-pink);background:linear-gradient(135deg,#ec489914,#f9731614);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.relayout-option-text{flex-direction:column;gap:3px;display:flex}.relayout-option-text strong{font-size:14px}.relayout-option-text span{color:var(--text-muted);font-size:12px;line-height:1.4}@media (width<=600px){.ctx-picker-grid{grid-template-columns:repeat(3,1fr)}.ctx-picker{width:95vw}}.signup-dismiss{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px;font-size:13px}.signup-dismiss:hover{color:var(--text-primary)}.toolbar-user{align-items:center;gap:6px;margin-left:auto;display:flex}.toolbar-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.toolbar-username{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:12px;overflow:hidden}.file-manager-dialog{flex-direction:column;height:70vh;display:flex;width:900px!important;max-width:95vw!important;max-height:80vh!important;padding:0!important}.fm-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.fm-header h2{margin:0;font-size:18px}.fm-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:24px;line-height:1}.fm-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.fm-toolbar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.fm-action-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:background .15s;display:inline-flex}.fm-action-btn:hover{background:var(--border-color)}.fm-body{flex:1;min-height:0;display:flex}.fm-main{border-right:1px solid var(--border-color);flex-direction:column;flex:1;min-width:0;max-width:440px;display:flex}.fm-detail{background:var(--bg-secondary);flex:1;min-width:0;overflow-y:auto}.fm-detail-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.fm-detail-content{padding:20px}.fm-detail-title{color:var(--text-primary);margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.3}.fm-detail-meta{color:var(--text-muted);margin-bottom:16px;font-size:12px}.fm-detail-section{margin-bottom:16px}.fm-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.fm-detail-canvas{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;justify-content:center;align-items:center;min-height:120px;padding:8px;display:flex}.fm-detail-text{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;max-height:120px;padding:8px;font-size:12px;line-height:1.6;overflow-y:auto}.fm-detail-summary{white-space:pre-wrap}.fm-detail-actions{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.fm-detail-actions-left{gap:8px;display:flex}.fm-btn-danger{color:var(--danger-color)}.fm-btn-danger:hover{color:var(--danger-color);background:#ef444414}.fm-item-selected{border-left:2px solid var(--accent-pink);background:#ec48990f!important}.fm-list{flex:1;padding:8px 16px 16px;overflow-y:auto}.fm-item{border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex;position:relative}.fm-item:hover{background:var(--bg-secondary)}.fm-item-icon{width:36px;height:36px;color:var(--accent-pink);background:#ec489914;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.fm-diagram-icon{color:var(--accent-blue);background:#3b82f614}.fm-diagram-icon svg{width:18px;height:18px}.fm-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fm-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.fm-item-meta{color:var(--text-muted);font-size:12px}.fm-item-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.fm-item:hover .fm-item-actions{opacity:1}.fm-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px;transition:background .15s}.fm-btn:hover{background:var(--border-color)}.fm-btn-primary{background:var(--gradient-primary);color:#fff;border-color:#0000;font-weight:600}.fm-btn-primary:hover{background:var(--gradient-primary);box-shadow:0 2px 8px #ec489933}.fm-btn-icon{color:var(--text-muted);justify-content:center;align-items:center;padding:5px;display:flex}.fm-btn-icon:hover{color:var(--text-primary)}.move-popover{z-index:10;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:10px;width:260px;padding:12px;position:absolute;top:100%;right:0}.move-popover-header{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;font-size:13px;font-weight:600;overflow:hidden}.move-folder-select{width:100%;margin-bottom:8px}.move-popover-actions{justify-content:flex-end;gap:6px;display:flex}.folder-breadcrumb{flex-wrap:wrap;flex:1;align-items:center;gap:2px;min-width:0;font-size:13px;display:flex}.breadcrumb-link{color:var(--accent-pink);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px}.breadcrumb-link:hover{background:#ec489914}.breadcrumb-sep{color:var(--text-muted);margin:0 2px}.breadcrumb-current{color:var(--text-primary);padding:2px 6px;font-weight:600}.save-dialog{width:620px!important;max-width:95vw!important;padding:0!important}.save-tabs{border-bottom:1px solid var(--border-color);display:flex}.save-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:14px 16px;font-size:14px;font-weight:500;transition:all .2s}.save-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.save-tab.active{color:var(--accent-pink);border-bottom-color:var(--accent-pink)}.save-tab-content{padding:20px 24px}.save-textarea{resize:vertical;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.save-textarea:focus{border-color:var(--accent-pink);outline:none;box-shadow:0 0 0 2px #ec48991a}.save-textarea[readonly]{opacity:.8;cursor:default}.folder-picker{align-items:stretch;gap:8px;display:flex}.notes-label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.notes-label-row label{margin-bottom:0}#create-context-container .ctx-dropdown{width:100%;display:block!important}#create-context-container .ctx-trigger{justify-content:space-between;width:100%}#create-context-container .ctx-panel{width:100%;max-height:280px;left:0;right:0}.save-dialog:has(.ctx-dropdown-open){overflow:visible}.save-dialog:has(.ctx-dropdown-open) .save-tab-content{overflow:visible}.fm-inline-input{border:1px solid var(--accent-pink);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;outline:none;width:100%;padding:6px 10px;font-family:inherit;font-size:13px}.fm-inline-input:focus{box-shadow:0 0 0 2px #ec489926}@media (width<=900px){.file-manager-dialog{border-radius:12px 12px 0 0;width:100%!important;max-height:90vh!important}.fm-detail{display:none}.fm-main{border-right:none}}.mn-dialog{flex-direction:column;width:90vw;max-width:640px;max-height:80vh;display:flex}.mn-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.mn-header h2{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:18px;overflow:hidden}.mn-new-btn{white-space:nowrap;background:var(--gradient-primary)!important;color:#fff!important;border-color:#0000!important;font-weight:600!important}.mn-list{flex:1;min-height:120px;margin-bottom:16px;overflow-y:auto}.mn-empty{text-align:center;color:var(--text-secondary);padding:40px 20px}.mn-list-item{border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px;transition:border-color .15s;display:flex}.mn-list-item:hover{border-color:var(--accent-purple)}.mn-list-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mn-list-title{color:var(--text-primary);font-size:14px}.mn-list-meta{color:var(--text-muted);font-size:12px}.mn-list-summary{color:var(--text-secondary);font-size:13px;line-height:1.4}.mn-list-actions{flex-shrink:0;gap:6px;display:flex}.mn-form{flex-direction:column;flex:1;gap:8px;margin-bottom:16px;display:flex;overflow-y:auto}.mn-label{color:var(--text-secondary);font-size:13px;font-weight:500}.mn-input{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.mn-input:focus{border-color:var(--accent-purple)}.mn-textarea{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);resize:vertical;border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.mn-textarea:focus{border-color:var(--accent-purple)}.mn-form-error{color:var(--danger-color);font-size:13px}.mn-organize-btn{align-self:flex-start;margin-top:4px;background:var(--gradient-primary)!important;color:#fff!important;border-color:#0000!important;padding:8px 20px!important;font-weight:600!important}.mn-organize-btn:disabled{opacity:.6;cursor:not-allowed}.mn-detail{flex:1;margin-bottom:16px;overflow-y:auto}.mn-summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--accent-purple);border-radius:8px;margin-bottom:20px;padding:14px 16px}.mn-summary-label{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-purple);margin-bottom:6px;font-size:11px;font-weight:600}.mn-summary-text{color:var(--text-primary);margin:0;font-size:14px;line-height:1.5}.mn-folder{border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;overflow:hidden}.mn-folder-header{background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;transition:background .15s;display:flex}.mn-folder-header:hover{background:var(--border-subtle)}.mn-folder-header svg{color:var(--accent-purple);flex-shrink:0}.mn-folder-name{color:var(--text-primary);flex:1;font-size:14px;font-weight:600}.mn-folder-count{color:var(--text-muted);font-size:12px}.mn-folder-items{padding:6px 14px 10px}.mn-folder-collapsed .mn-folder-items{display:none}.mn-note-item{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:8px;padding:6px 0;display:flex}.mn-note-item:last-child{border-bottom:none}.mn-item-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:4px;flex-shrink:0;margin-top:2px;padding:2px 6px;font-size:10px;font-weight:600}.mn-item-action-item .mn-item-badge{color:var(--danger-color);background:#ef44441f}.mn-item-decision .mn-item-badge{color:var(--success-color);background:#10b9811f}.mn-item-discussion .mn-item-badge{color:var(--accent-blue);background:#3b82f61f}.mn-item-info .mn-item-badge{color:var(--text-muted);background:#9ca3af1f}.mn-item-text{color:var(--text-primary);font-size:13px;line-height:1.4}.mn-share-btn{white-space:nowrap}.mn-share-menu{z-index:10001;background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:8px;min-width:180px;padding:4px}.mn-share-option{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:background .15s;display:flex}.mn-share-option:hover{background:var(--bg-secondary)}.mn-share-option svg{color:var(--text-secondary);flex-shrink:0}.mn-share-copied{text-align:center;color:var(--success-color);padding:6px;font-size:12px;font-weight:600}
