.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--ground:#f4f4f6;--canvas-bg:#ececee;--panel:#fff;--surface:#fafafb;--text:#18171d;--text-2:#45434d;--muted:#85838f;--line:#e8e7ec;--line-strong:#d6d5dc;--accent:#5a32fa;--accent-hover:#4a22ea;--accent-ink:#4a24e6;--accent-soft:#efebff;--accent-line:#b9a8ff;--spark:#ffe14a;--danger:#d23b3b;--edge:#9b99a6;--dot:#dddce2;--sh-1:0 0 #0000;--sh-2:0 0 #0000;--sh-3:0 18px 44px #18171d24, 0 4px 10px #18171d0f;--ring:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);--c-yellow:#ffd84d;--t-yellow:#fff6d1;--c-blue:#7db4ff;--t-blue:#e3efff;--c-red:#ff8f7d;--t-red:#ffe7e2;--c-green:#62d39b;--t-green:#ddf6e8;--c-purple:#b6a4ff;--t-purple:#eeeaff;--c-orange:#ffb36b;--t-orange:#ffefdf;--c-gray:#c9c6d3;--t-gray:#f0eff4;--on-color:#1d1b26;--r-card:10px;--r-group:14px;--r-btn:8px;--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;--spring:linear(.006, .072, .186, .323, .498, .628, .741, .836, .91, .965, 1.012, 1.034, 1.046, 1.051, 1.05, 1.045, 1.037, 1.03, 1.023, 1.017, 1.011, 1.007, 1.003, 1, .999, .998, .998, .997, .998, .998, .998, .999, 1);--spring-d:.55s;--bouncy:linear(.007, .175, .47, .787, 1.049, 1.216, 1.277, 1.272, 1.209, 1.12, 1.033, .967, .929, .919, .93, .953, .979, .998, 1.014, 1.022, 1.022, 1.018, 1.011, 1.004, .998, .995, .993, .994, .996, .998, 1, 1.001, 1);--bouncy-d:.7s;--glide:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports not (transition-timing-function:linear(0, 1)){:root{--spring:cubic-bezier(.34, 1.56, .64, 1);--bouncy:cubic-bezier(.34, 1.56, .64, 1)}}@media (prefers-color-scheme:dark){:root{--ground:#151517;--canvas-bg:#191919;--panel:#242629;--surface:#1d1d20;--text:#ececef;--text-2:#c3c2ca;--muted:#8f8e99;--line:#2f2f34;--line-strong:#404047;--accent:#8a6dff;--accent-hover:#9d85ff;--accent-ink:#b4a3ff;--accent-soft:#2a2450;--accent-line:#5f4cc0;--danger:#f07167;--edge:#7c7b86;--dot:#2b2b30;--sh-1:0 0 #0000;--sh-2:0 0 #0000;--sh-3:0 18px 44px #00000080, 0 4px 10px #00000059;--t-yellow:#3a331b;--t-blue:#1d2a3d;--t-red:#3c2421;--t-green:#1c3328;--t-purple:#2b2545;--t-orange:#3b2b1e;--t-gray:#2a2a31;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}*{scrollbar-width:thin}body{scrollbar-color:transparent transparent}:is(.sidebar,.drawer,.panel,.search,.tmenu,.tpop,.list-view):hover{scrollbar-color:color-mix(in srgb, var(--muted) 40%, transparent) transparent}body{background:var(--ground);color:var(--text);font:14px/1.6 var(--font);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow:clip}button{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-btn);cursor:pointer;transition:background .15s, border-color .15s, color .15s, transform .16s var(--spring), box-shadow .15s;padding:5px 11px}button:hover{border-color:var(--line-strong);background:var(--surface)}button:active{transform:scale(.96)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover{background:var(--accent-hover)}button.danger{color:var(--danger)}button.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}button.icon{color:var(--text-2);background:0 0;border:none;place-items:center;padding:5px;display:inline-grid}button.icon:hover{background:var(--accent-soft);color:var(--accent)}button:disabled{opacity:.5;cursor:default}input{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-btn);padding:9px 11px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}a{color:inherit;cursor:pointer}kbd{font:11px var(--font);color:var(--muted);border:1px solid var(--line);background:0 0;border-bottom-width:2px;border-radius:5px;margin-left:4px;padding:0 5px}.primary kbd{color:#ffffffe6;border-color:#ffffff80}.muted{color:var(--muted)}.small{font-size:12px}.boot,.canvas-loading{height:100%;color:var(--muted);place-items:center;display:grid}.badge{letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border-radius:6px;flex:none;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.badge svg{width:12px;height:12px}.login{background:var(--canvas-bg);background-image:radial-gradient(var(--dot) 1px, transparent 1.3px);background-size:20px 20px;place-items:center;height:100%;padding:16px;display:grid}.login-box{background:var(--panel);border:1px solid var(--line);width:min(380px,100%);box-shadow:var(--sh-3);animation:pop var(--bouncy-d) var(--bouncy) both;border-radius:18px;flex-direction:column;gap:16px;padding:36px 30px 30px;display:flex}.login-box h1{letter-spacing:-.03em;margin:0;font-size:24px}.login-box p{margin:0}.login-box label{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.login-box button{padding:11px}.error{color:var(--danger);font-size:13px}.shell{grid-template-columns:248px 1fr;height:100%;display:grid}.shell.with-panel{grid-template-columns:248px 1fr min(520px,40vw)}@media (width>=768px){.shell{transition:grid-template-columns .35s var(--glide)}.shell.side-collapsed{grid-template-columns:0 1fr}.shell.side-collapsed.with-panel{grid-template-columns:0 1fr min(520px,40vw)}.shell.side-collapsed.panel-full{grid-template-columns:0 0 1fr}.shell.panel-full>.panel{grid-column:3}.shell.side-collapsed .sidebar{border-right:0;padding:0;overflow:hidden}}.sidebar,.topbar{-webkit-user-select:none;user-select:none}.sidebar{border-right:1px solid var(--line);background:var(--ground);padding:12px 10px 40px;overflow-y:auto}.brand{letter-spacing:-.02em;justify-content:space-between;align-items:center;padding:4px 6px 14px 8px;font-size:15px;font-weight:800;display:flex}.hist button{color:var(--muted);padding:3px}.hist svg{width:16px;height:16px}.side-head{letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;padding:14px 8px 4px;font-size:11px;font-weight:700;display:flex}button.mini{border-radius:6px;padding:0 7px;line-height:20px}.sidebar ul{margin:0;padding:0;list-style:none}.tree-row{border-radius:8px;align-items:center;transition:background .15s;display:flex}.tree-row a,.links a{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);border-radius:8px;flex:1;padding:5px 6px;text-decoration:none;transition:background .15s,color .15s;display:block;overflow:hidden}.tree-row:hover,.links a:hover{background:color-mix(in srgb, var(--text) 5%, transparent)}.tree-row.on,.links li.on a{background:var(--panel);box-shadow:var(--sh-1)}.tree-row.on a,.links li.on a{color:var(--text);font-weight:650}.twisty{width:18px;height:18px;color:var(--muted);background:0 0;border:none;border-radius:5px;flex:none;place-items:center;padding:0;display:inline-grid}.twisty svg{width:14px;height:14px;transition:rotate .2s var(--glide)}.twisty.open svg{rotate:90deg}.twisty:hover{background:var(--surface);color:var(--text)}.tree-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.tree-row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.tree-row.drop-in,.side-head.drop-in{background:var(--accent-soft);outline:1px solid var(--accent-line);border-radius:8px}.links a{padding-left:10px}.links small{color:var(--muted)}.links.recent a{align-items:center;gap:6px;display:flex}.links .ref-icon{color:var(--muted);background:0 0}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);z-index:30;align-items:center;gap:8px;height:52px;padding:0 12px 0 16px;display:flex;position:relative}.crumbs{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;min-width:0;display:flex;overflow:hidden}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumb-sep{color:var(--line-strong);margin:0 6px}.crumbs .current{cursor:text;letter-spacing:-.015em;border-radius:8px;margin-left:-8px;padding:3px 8px;font-weight:700;transition:background .15s}.crumbs .current:hover{background:var(--ground)}.title-input{width:260px;padding:4px 8px;font-weight:700}.sync{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.sync i{background:var(--c-green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #62d39b2e}.sync.saving i{background:var(--c-yellow);box-shadow:0 0 0 3px #ffd84d33}.sync.offline{color:#c2410c}.sync.offline i{background:var(--c-orange)}.search-btn,.drawer-btn{color:var(--text-2);background:var(--ground);border-color:#0000;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.search-btn svg,.drawer-btn svg{width:16px;height:16px}.drawer-btn.on{background:var(--accent-soft);color:var(--accent)}.badge-n{background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.menu-wrap{position:relative}.menu{z-index:50;background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-3);transform-origin:100% 0;min-width:230px;animation:pop-sm .4s var(--bouncy) both;border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:40px;right:0}.menu button,.menu a{text-align:left;background:0 0;border:none;border-radius:8px;padding:8px 10px;text-decoration:none}.menu button:hover,.menu a:hover{background:var(--accent-soft)}.menu hr{border:none;border-top:1px solid var(--line);margin:4px 0}.menu span{padding:4px 10px}.workarea{flex:1;min-height:0;display:flex;position:relative;overflow:clip}.stage{flex:1;min-width:0;min-height:0;position:relative}.canvas{background:var(--canvas-bg);position:absolute;inset:0}.react-flow{--xy-background-color:var(--canvas-bg);--xy-background-pattern-color:var(--dot);--xy-minimap-background-color:var(--panel);--xy-controls-button-background-color:var(--panel);--xy-controls-button-color:var(--text);--xy-controls-button-border-color:var(--line);--xy-selection-background-color:color-mix(in srgb, var(--accent) 7%, transparent);--xy-selection-border:1.5px solid var(--accent-line);--xy-handle-background-color:var(--panel);--xy-handle-border-color:var(--edge);--xy-resize-background-color:var(--accent);--xy-node-boxshadow-selected:none;overflow:clip!important}.react-flow__background{color:var(--dot)}.react-flow__controls{box-shadow:var(--sh-2);border-radius:10px;overflow:hidden}.react-flow__nodesselection-rect{pointer-events:none;background:color-mix(in srgb, var(--accent) 5%, transparent);border:1px dashed var(--accent-line);border-radius:10px}.react-flow{--xy-controls-button-background-color:var(--panel);--xy-controls-button-background-color-hover:var(--accent-soft);--xy-controls-button-color:var(--text-2);--xy-controls-button-color-hover:var(--accent);--xy-controls-button-border-color:var(--line);--xy-minimap-background-color:var(--panel);--xy-minimap-mask-background-color:color-mix(in srgb, var(--canvas-bg) 72%, transparent);--xy-minimap-mask-stroke-color:var(--accent-line);--xy-minimap-node-background-color:color-mix(in srgb, var(--text) 38%, transparent);--xy-minimap-node-stroke-color:transparent}.react-flow__minimap{border:1px solid var(--line);box-shadow:none;opacity:.7;border-radius:10px;transition:opacity .2s;overflow:hidden}.react-flow__minimap:hover{opacity:1;box-shadow:var(--sh-1)}.react-flow__panel.react-flow__minimap{margin:0 14px 14px 0}.empty-hint{color:var(--muted);pointer-events:none;text-align:center;animation:fade-up .6s var(--glide) both;flex-direction:column;gap:4px;padding:0 16px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.empty-hint strong{color:var(--text-2);font-size:16px}.react-flow__node{text-align:left;font-size:14px}.canvas.far .react-flow__node .group,.canvas.far .react-flow__node .gblock,.canvas.moving .react-flow__node .group,.canvas.moving .react-flow__node .gblock{box-shadow:none!important}.react-flow__handle{z-index:4;opacity:0;width:10px;height:10px;transition:opacity .15s, scale .25s var(--bouncy);border-width:2px}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle,.react-flow.connecting .react-flow__handle{opacity:1}.react-flow__handle:hover{background:var(--accent);border-color:var(--panel);scale:1.5}.react-flow__handle{cursor:crosshair}.react-flow__handle:after{content:"";border-radius:50%;position:absolute;inset:-6px}.react-flow__resize-control.handle{border-radius:3px;width:8px;height:8px}.react-flow__resize-control.line:not(.wresize){border-color:#0000}.react-flow__node-cards{--rz-r:var(--r-group)}.react-flow__node-cards:has(>.group.single){--rz-r:var(--r-card)}.react-flow__resize-control.wresize{--rz-w:2px;--rz-reach:calc(var(--rz-r) + 14px)}.react-flow__resize-control.line.wresize{cursor:ew-resize;z-index:3;background:0 0;border:0;width:10px}.react-flow__resize-control.line.wresize.top,.react-flow__resize-control.line.wresize.bottom{cursor:ns-resize;width:100%;height:10px}.react-flow__resize-control.wresize:after{content:"";box-sizing:border-box;pointer-events:none;border:var(--rz-w) solid var(--accent);opacity:0;transition:opacity .18s, clip-path .38s var(--spring);position:absolute}.react-flow__resize-control.line.wresize.bottom:after{height:var(--rz-reach);border-radius:0 0 var(--rz-r) var(--rz-r);clip-path:inset(0 50%);border-top:0;bottom:5px;left:0;right:0;-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - 14px),#0000);mask-image:linear-gradient(0deg,#000 calc(100% - 14px),#0000)}.react-flow__resize-control.line.wresize.top:after{height:var(--rz-reach);border-radius:var(--rz-r) var(--rz-r) 0 0;clip-path:inset(0 50%);border-bottom:0;top:5px;left:0;right:0;-webkit-mask-image:linear-gradient(#000 calc(100% - 14px),#0000);mask-image:linear-gradient(#000 calc(100% - 14px),#0000)}.react-flow__resize-control.line.wresize.left:after{width:var(--rz-reach);border-radius:var(--rz-r) 0 0 var(--rz-r);clip-path:inset(50% 0);border-right:0;top:0;bottom:0;left:5px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000)}.react-flow__resize-control.line.wresize.right:after{width:var(--rz-reach);border-radius:0 var(--rz-r) var(--rz-r) 0;clip-path:inset(50% 0);border-left:0;top:0;bottom:0;right:5px;-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 14px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 14px),#0000)}.react-flow__resize-control.line.wresize:is(:hover,:active):after{opacity:.85;clip-path:inset(0)}.react-flow__resize-control.handle.wresize{z-index:4;background:0 0;border:0;border-radius:4px;width:14px;height:14px}.react-flow__resize-control.handle.wresize:after{width:calc(var(--rz-r) + 16px);height:calc(var(--rz-r) + 16px);-webkit-mask-image:radial-gradient(circle at var(--rz-at), #000 calc(var(--rz-r) + 4px), transparent calc(var(--rz-r) + 16px));mask-image:radial-gradient(circle at var(--rz-at), #000 calc(var(--rz-r) + 4px), transparent calc(var(--rz-r) + 16px));transition:opacity .18s, scale .38s var(--spring);scale:.6}.react-flow__resize-control.handle.wresize.bottom.right:after{border-bottom-right-radius:var(--rz-r);--rz-at:100% 100%;transform-origin:100% 100%;border-top:0;border-left:0;bottom:7px;right:7px}.react-flow__resize-control.handle.wresize.bottom.left:after{border-bottom-left-radius:var(--rz-r);--rz-at:0 100%;transform-origin:0 100%;border-top:0;border-right:0;bottom:7px;left:7px}.react-flow__resize-control.handle.wresize.top.right:after{border-top-right-radius:var(--rz-r);--rz-at:100% 0;transform-origin:100% 0;border-bottom:0;border-left:0;top:7px;right:7px}.react-flow__resize-control.handle.wresize.top.left:after{border-top-left-radius:var(--rz-r);--rz-at:0 0;transform-origin:0 0;border-bottom:0;border-right:0;top:7px;left:7px}.react-flow__resize-control.handle.wresize:is(:hover,:active):after{opacity:.85;scale:1}@media (prefers-reduced-motion:reduce){.react-flow__resize-control.wresize:after{transition:opacity .15s}}.group{flex-direction:column;display:flex}.group.resizing{min-height:100%}.glist,.group.single .glist>.gblock{flex:1 0 auto}.group{border-radius:var(--r-group);position:relative}.group.multi{background:var(--panel);box-shadow:var(--sh-2);border:1px solid #0000;padding:5px}.group.target{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent), var(--sh-2)}.group.single.target{outline:2px dashed var(--accent-line);outline-offset:4px}.react-flow__node-cards.selected .group.multi{border-color:var(--accent-line);box-shadow:var(--ring), var(--sh-2)}.react-flow__node-cards.dragging .group.multi,.react-flow__node-cards.dragging .group.single .gblock{box-shadow:none}.react-flow__node-cards.dragging .group{rotate:-.6deg}.glist{flex-direction:column;gap:2px;display:flex}.gblock{background:var(--panel);--pad:24px;--pt:4px;padding:var(--pt) 12px var(--pt) calc(var(--pad) + var(--ind,0) * 24px);transition:translate .25s var(--spring), opacity .2s;border:1px solid #0000;border-radius:8px;line-height:1.6;position:relative}.group.single .gblock{border-radius:var(--r-card);box-shadow:var(--sh-1);--pt:8px;border-color:#0000}.gblock:hover>.bdot:before{opacity:.75}.gblock.editing{translate:none}.group.multi .gblock.editing,.group.multi .gblock.editing:hover{border-color:#0000}.react-flow__node-cards.selected .group.single .gblock{border-color:var(--accent-line);box-shadow:var(--ring), var(--sh-1)}.gblock.bsel,.group.multi .gblock.bsel{background:var(--accent-soft);border-color:var(--accent-line)}.gblock.mirror>.bdot:before{outline:1.3px dashed color-mix(in srgb, currentColor 70%, transparent);outline-offset:3px}.group[data-color=yellow],.group:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg=yellow])){--card-c:var(--c-yellow);--card-t:var(--t-yellow)}.group[data-color=blue],.group:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg=blue])){--card-c:var(--c-blue);--card-t:var(--t-blue)}.group[data-color=red],.group:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg=red])){--card-c:var(--c-red);--card-t:var(--t-red)}.group[data-color=green],.group:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg=green])){--card-c:var(--c-green);--card-t:var(--t-green)}.group[data-color=purple],.group:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg=purple])){--card-c:var(--c-purple);--card-t:var(--t-purple)}.group[data-color=orange],.group:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg=orange])){--card-c:var(--c-orange);--card-t:var(--t-orange)}.group[data-color=gray],.group:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg=gray])){--card-c:var(--c-gray);--card-t:var(--t-gray)}.group{--card-fill:color-mix(in srgb, var(--card-c,transparent) 55%, var(--card-t,transparent))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .group{--card-fill:color-mix(in srgb, var(--card-c,transparent) 22%, var(--card-t,transparent))}}:root[data-theme=dark] .group{--card-fill:color-mix(in srgb, var(--card-c,transparent) 22%, var(--card-t,transparent))}.group.multi[data-color],.group.multi:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg])){background:var(--card-fill)}.group.multi:is([data-color],:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg]))) .gblock:not(.bsel){background:0 0}.group.single[data-color] .gblock,.group.single:where(:not([data-color]):has(>.glist>.gblock:first-child[data-bg])) .gblock{background:var(--card-fill)}.gblock .ProseMirror [data-bg]{background:0 0!important}.gblock .ProseMirror>[data-bg]{border-radius:0;margin:0;padding:0}.gblock.lifted{opacity:0;border-width:0;height:0;margin:-1px 0;padding-top:0;padding-bottom:0;overflow:hidden}.gblock.born{animation:pop var(--bouncy-d) var(--bouncy) both;animation-delay:var(--delay,0s)}.group.multi .gblock.born{animation:none}.gblock.landed{animation:squash .5s var(--bouncy)}.bview{cursor:text;min-height:1.6em}.empty-line{min-height:1.6em;margin:0}.gblock .prose p,.gblock .prose h1,.gblock .prose h2,.gblock .prose h3,.gblock .prose ul,.gblock .prose ol{margin:0}.gblock.list:not(.parent)>.bview>.prose>:is(ul,ol),.gblock.list:not(.parent)>.block-editor .ProseMirror>:is(ul,ol){margin-left:-22px}.gblock.list:not(.parent)>.bview>.prose>ul[data-type=taskList],.gblock.list:not(.parent)>.block-editor .ProseMirror>ul[data-type=taskList]{margin-left:-19px}.gblock{--lead:calc(.825em + .5px)}.gblock[data-head="1"]{--lead:13.5px}.gblock[data-head="2"]{--lead:12px}.gblock[data-head="3"]{--lead:12.9px}.gblock[data-head="1"] .prose>:is(h1,h2,h3),.prose>[data-hl="1"]{letter-spacing:-.025em;font-size:20px;line-height:1.3}.gblock[data-head="2"] .prose>:is(h1,h2,h3),.prose>[data-hl="2"]{letter-spacing:-.02em;font-size:17px;line-height:1.35}.gblock[data-head="3"] .prose>:is(h1,h2,h3),.prose>[data-hl="3"]{letter-spacing:-.01em;font-size:15px;line-height:1.65}.gblock.blank:not(.todo):not(.parent):not(.editing)>.bdot:before{opacity:0}.gblock.blank:not(.todo):not(.parent):not(.editing):hover>.bdot:before{opacity:.16}.bdot{left:calc(var(--pad) + var(--ind,0) * 24px - 20px);top:calc(var(--pt-top,var(--pt)) + var(--lead,.8em) - 9px);cursor:grab;z-index:2;touch-action:none;border-radius:6px;place-items:center;width:18px;height:18px;transition:background .15s;display:grid;position:absolute}.bdot:before{content:"";opacity:.38;width:4.5px;height:4.5px;transition:opacity .15s, scale .25s var(--bouncy);background:currentColor;border-radius:50%}.bdot:hover{background:var(--ground)}.bdot:hover:before{opacity:.85;scale:1.35}.gblock.list>.bdot:before{opacity:0}.gblock.list>.bdot:hover{background:0 0}.group{position:relative}.glines{pointer-events:none;z-index:1;position:absolute;inset:0}.gline{pointer-events:auto;cursor:pointer;background:0 0;border:0;width:12px;padding:0;position:absolute}.gline:before{content:"";background:color-mix(in srgb, var(--text) 13%, transparent);border-radius:4px;width:1px;transition:left .15s,width .15s,background .15s;position:absolute;top:0;bottom:0;left:5.5px}.gline:hover:before{background:color-mix(in srgb, var(--text) 20%, transparent);width:6px;left:3px}.gblock.folded>.bdot:before{opacity:.7;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 16%, transparent)}.more{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;position:absolute;top:50%;right:10px;translate:0 -50%}.gspacer{background:color-mix(in srgb, var(--accent) 6%, transparent);outline:1.5px dashed var(--accent-line);outline-offset:-1.5px;animation:spacer-in .4s var(--spring) both;border-radius:8px}.mcount{color:var(--accent);background:var(--panel);border:1px solid var(--accent-line);opacity:0;transition:opacity .15s, scale .25s var(--bouncy);pointer-events:none;z-index:2;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;position:absolute;top:-10px;right:10px;scale:.9}.gblock:hover>.mcount{opacity:1;scale:1}.gblock>.mcount{top:calc(var(--pt-top,var(--pt)) + var(--lead,.8em) - 9px);background:var(--accent-soft);opacity:.85;pointer-events:all;cursor:pointer;height:18px;font:700 11px/18px var(--font);border:0;padding:0 7px;right:8px;scale:1}.gblock>.mcount:hover{opacity:1;background:var(--accent);color:#fff}.gblock:has(>.mcount){padding-right:48px}.gblock.shared>.bdot:before{box-shadow:inset 0 0 0 1.5px var(--accent);opacity:.9;background:0 0}.gblock.shared>.bdot{cursor:default}.twin{animation:.9s ease-in-out infinite alternate twin}.block-editor .ProseMirror{outline:none;min-height:1.6em}.block-editor .ProseMirror p{margin:0}.drag-ghost{z-index:400;pointer-events:none;animation:lift .35s var(--bouncy) both;position:fixed;top:0;left:0;rotate:-1.4deg}.ghost-inner{filter:drop-shadow(0 16px 26px #1d1b262e);flex-direction:column;gap:2px;display:flex}.ghost-inner>.gblock{border-color:var(--line);border-radius:var(--r-card)}.drag-ghost.doc-ghost .ghost-inner>*{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px}body.dragging-now,body.dragging-now *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.react-flow__node-cards .group{transition:opacity .25s var(--glide)}body.dragging-now .react-flow__node-cards:not(.dragging) .group:not(.target){opacity:.55}.group.snapped{animation:snap-glow .85s var(--glide)}@keyframes snap-glow{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--spark) 75%, transparent), 0 0 0 0 color-mix(in srgb, var(--accent) 28%, transparent)}to{box-shadow:0 0 0 9px color-mix(in srgb, var(--spark) 0%, transparent), 0 0 22px 6px color-mix(in srgb, var(--accent) 0%, transparent)}}.entry.open:not(.web-entry) .entry-title{visibility:hidden}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1);height:100%;transition:box-shadow .2s, translate .25s var(--spring);position:relative;overflow:hidden}.react-flow__node:hover .card{box-shadow:var(--sh-2)}.react-flow__node.selected .card{border-color:var(--accent-line);box-shadow:var(--ring), var(--sh-1)}.card.board{background:linear-gradient(var(--panel), var(--panel)) padding-box, linear-gradient(135deg, var(--accent-line), var(--line)) border-box;border:1.5px solid #0000;flex-direction:column;gap:4px;min-height:100px;padding:14px 16px;display:flex}.board-icon{color:var(--accent);background:var(--accent-soft);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.board-title{letter-spacing:-.02em;font-size:16px;font-weight:750}.board-hint{color:var(--muted);font-size:11px}.card.file.image{padding:0;line-height:0}.card.file.image img{width:100%;height:auto;display:block}.card.file.pdf{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.pdf-badge{color:#fff;background:#e5534b;border-radius:5px;align-self:flex-start;padding:1px 6px;font-size:11px;font-weight:800}.file-name{word-break:break-all;font-weight:650}.card.youtube{flex-direction:column;padding:0;display:flex}.yt-bar{color:var(--muted);cursor:grab;padding:4px 10px;font-size:11px}.card.youtube iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.source-link{color:var(--accent);border-color:var(--accent-soft);z-index:1;margin-top:8px;padding:2px 8px;font-size:12px;position:relative}.source-link.block{margin:10px 16px 0}.empty{color:var(--muted)}.react-flow__edgelabel-renderer{z-index:1000}.edge-label-wrap{pointer-events:all;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.edge-label{background:var(--panel);border:1.5px solid var(--edge);white-space:nowrap;box-shadow:var(--sh-1);border-radius:999px;padding:1px 10px;font-size:12px;font-weight:600}.edge-input{width:140px;padding:3px 8px;font-size:12px}.edge-toolbar,.toolbar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-3);white-space:nowrap;animation:pop-sm .4s var(--bouncy) both;border-radius:12px;align-items:center;gap:2px;padding:4px;display:flex}.edge-toolbar button,.toolbar button{background:0 0;border:none;padding:4px 8px;font-size:12px}.edge-toolbar button:hover,.toolbar button:hover{background:var(--ground)}.sep{background:var(--line);flex:none;width:1px;height:20px;margin:0 4px}button.dot{background:var(--panel);border:none;border-radius:50%;flex:none;width:18px;height:18px;padding:0;box-shadow:inset 0 0 0 1.5px #1d1b2624}button.dot:hover{transform:scale(1.2)}button.dot.color-red{background:var(--c-red)}button.dot.color-orange{background:var(--c-orange)}button.dot.color-yellow{background:var(--c-yellow)}button.dot.color-green{background:var(--c-green)}button.dot.color-blue{background:var(--c-blue)}button.dot.color-purple{background:var(--c-purple)}button.dot.color-gray{background:var(--c-gray)}button.dot.color-none{background:linear-gradient(135deg, var(--panel) 45%, var(--danger) 47%, var(--danger) 53%, var(--panel) 55%)}button.dot.on{box-shadow:0 0 0 2px var(--panel), 0 0 0 3.5px var(--text)}.ftoolbar{z-index:150;background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-3);white-space:nowrap;scrollbar-width:none;max-width:calc(100vw - 16px);animation:tb-in .45s var(--bouncy) both;border-radius:12px;align-items:center;gap:2px;padding:4px;display:flex;position:fixed;top:0;left:0;overflow-x:auto}.ftoolbar .tcolor .swatch{width:16px;height:16px;box-shadow:inset 0 0 0 1.5px var(--panel);background:conic-gradient(#f9c74f,#90be6d,#43aa8b,#577590,#9a86ff,#f28482,#f9844a,#f9c74f);border-radius:50%;display:block}.ftoolbar .tmore svg{width:16px;height:16px}.tpop{z-index:160;background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-3);animation:tb-in .3s var(--bouncy) both;border-radius:12px;padding:6px;position:fixed}.tpop.tcolors{gap:6px;padding:8px 10px;display:flex}.tpop.tcolors .dot{border:0;border-radius:50%;width:20px;height:20px;padding:0}.tpop.tmenu{flex-direction:column;min-width:150px;display:flex}.tpop.tmenu button{text-align:left;color:var(--text);background:0 0;border:0;border-radius:8px;padding:7px 10px}.tpop.tmenu button:hover{background:var(--accent-soft)}.tpop.tmenu button.danger{color:var(--danger)}.cmenu{min-width:190px}.tree-input{min-width:0;font:inherit;border:1px solid var(--accent-line);background:var(--panel);color:var(--text);border-radius:6px;outline:none;flex:1;padding:3px 6px}.cmenu button{justify-content:space-between;gap:16px;display:flex}.cmenu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.cmenu kbd{color:var(--muted);font:11px var(--font)}.ftoolbar.snap{transition:transform .5s var(--spring)}.ftoolbar.dragging{box-shadow:var(--sh-3), var(--ring);rotate:-1deg}.ftoolbar button{min-width:30px;height:30px;color:var(--text-2);background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.ftoolbar button svg{width:16px;height:16px}.ftoolbar button.ticon{width:30px;padding:0}.ftoolbar button.ticon svg{width:17px;height:17px}.ftoolbar button:hover{background:var(--ground);color:var(--text)}.ftoolbar button.on{background:var(--accent-soft);color:var(--accent)}.ftoolbar button.primary{background:var(--accent);color:#fff}.ftoolbar button.primary:hover{background:var(--accent-hover)}.ftoolbar button.danger{color:var(--danger)}.ftoolbar button.dot{width:18px;min-width:18px;height:18px;margin:0 2px;padding:0}.ftoolbar .tb-hl{color:#1d1b26;background:#fde68a;border-radius:3px;padding:0 4px;font-weight:700;line-height:1.4}.tgrip{width:22px;height:30px;color:var(--muted);cursor:grab;touch-action:none;border-radius:6px;flex:none;place-items:center;display:grid}.tgrip:hover{background:var(--ground);color:var(--accent)}.ftoolbar .tpin{color:var(--accent)}.ftoolbar .note{color:var(--muted);padding:0 8px;font-size:12px}.dockzone{z-index:149;border:1.5px dashed var(--line-strong);background:color-mix(in srgb, var(--panel) 80%, transparent);height:52px;color:var(--text-2);pointer-events:none;animation:pop-sm .35s var(--bouncy) both;transition:border-color .15s, background .15s, scale .3s var(--bouncy);border-radius:14px;place-items:center;font-size:13px;display:grid;position:fixed}.dockzone.hot{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);scale:1.03}.prose{word-break:keep-all;overflow-wrap:anywhere;outline:none;font-size:15px;line-height:1.65}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:0 0 6px}.prose h1{letter-spacing:-.03em;margin:6px 0 8px;font-size:22px;line-height:1.3}.prose h2{letter-spacing:-.02em;margin:6px 0;font-size:18px;line-height:1.35}.prose h3{letter-spacing:-.015em;margin:4px 0 6px;font-size:16px}.prose ul,.prose ol{margin:0 0 6px;padding-left:22px}.prose ul[data-type=taskList]{padding-left:2px;list-style:none}.prose ul[data-type=taskList] li{gap:8px;display:flex}.prose ul[data-type=taskList] li>label{flex:none;margin-top:2px}.prose ul[data-type=taskList] li>label input{width:16px;height:16px;accent-color:var(--accent)}.prose ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.prose ul[data-type=taskList] li>div{flex:1}.prose blockquote{border-left:3px solid var(--accent-line);color:var(--text-2);margin:0 0 6px;padding-left:12px}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px;overflow-x:auto}.prose code{font-family:var(--mono);background:var(--surface);border-radius:4px;padding:0 4px;font-size:.9em}.prose pre code{background:0 0;padding:0}.prose hr{border:none;border-top:1px solid var(--line);margin:12px 0}.prose img{border-radius:8px;max-width:100%}.prose mark{color:inherit;background:#facc1566;border-radius:3px;padding:0 2px}.prose a{color:var(--accent)}.item-link{color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:0 5px;font-weight:600;text-decoration:none;transition:background .15s}.item-link:hover{background:color-mix(in srgb, var(--accent-soft) 70%, var(--accent-line))}.item-link:before{content:"↗ ";font-size:.85em}.tag{color:var(--accent-ink);background:color-mix(in srgb, var(--accent) 9%, transparent);cursor:pointer;border-radius:5px;padding:0 4px;font-size:.94em;font-weight:600}.prose p.is-editor-empty:first-child:before,.block-editor .ProseMirror p.is-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;pointer-events:none;height:0}.ProseMirror>[data-bg]{border-radius:8px;margin:2px 0;padding:4px 10px}.ProseMirror>[data-bg=yellow]{background:var(--t-yellow)}.ProseMirror>[data-bg=blue]{background:var(--t-blue)}.ProseMirror>[data-bg=red]{background:var(--t-red)}.ProseMirror>[data-bg=green]{background:var(--t-green)}.ProseMirror>[data-bg=purple]{background:var(--t-purple)}.ProseMirror>[data-bg=orange]{background:var(--t-orange)}.ProseMirror>[data-bg=gray]{background:var(--t-gray)}.ProseMirror>h1[data-bg],.ProseMirror>h2[data-bg],.ProseMirror>h3[data-bg]{color:var(--on-color)}.ProseMirror>h1[data-bg=yellow],.ProseMirror>h2[data-bg=yellow],.ProseMirror>h3[data-bg=yellow]{background:var(--c-yellow)}.ProseMirror>h1[data-bg=blue],.ProseMirror>h2[data-bg=blue],.ProseMirror>h3[data-bg=blue]{background:var(--c-blue)}.ProseMirror>h1[data-bg=red],.ProseMirror>h2[data-bg=red],.ProseMirror>h3[data-bg=red]{background:var(--c-red)}.ProseMirror>h1[data-bg=green],.ProseMirror>h2[data-bg=green],.ProseMirror>h3[data-bg=green]{background:var(--c-green)}.ProseMirror>h1[data-bg=purple],.ProseMirror>h2[data-bg=purple],.ProseMirror>h3[data-bg=purple]{background:var(--c-purple)}.ProseMirror>h1[data-bg=orange],.ProseMirror>h2[data-bg=orange],.ProseMirror>h3[data-bg=orange]{background:var(--c-orange)}.ProseMirror>h1[data-bg=gray],.ProseMirror>h2[data-bg=gray],.ProseMirror>h3[data-bg=gray]{background:var(--c-gray)}.ref-block,.web-block{color:inherit;align-items:center;gap:8px;min-height:26px;text-decoration:none;display:flex}.ref-icon{color:var(--accent);background:var(--accent-soft);border-radius:6px;flex:none;place-items:center;min-width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.ref-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:650;overflow:hidden}.ref-board .ref-title:after{content:" 보드";color:var(--muted);font-size:11px;font-weight:400}.ref-open{flex:none;padding:0 7px;font-size:12px}.web-block small{color:var(--muted);font-size:11px}.web-block{display:block;position:relative}.web-row{min-height:26px;color:inherit;align-items:center;gap:8px;text-decoration:none;display:flex}.site-icon{object-fit:contain;background:var(--surface);border-radius:6px;flex:none;width:22px;height:22px}.web-card{color:inherit;border:1px solid var(--line);border-radius:var(--r-card);background:var(--panel);flex-direction:column;margin:2px 0;text-decoration:none;display:flex;overflow:hidden}.web-card:hover{border-color:var(--accent-line)}.wc-img{aspect-ratio:1.91;object-fit:cover;background:var(--surface);border-bottom:1px solid var(--line);width:100%;display:block}.wc-body{flex-direction:column;gap:4px;min-width:0;padding:10px 12px 11px;display:flex}.wc-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.wc-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.wc-site{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;margin-top:2px;display:flex;overflow:hidden}.wc-site .site-icon,.wc-site .ref-icon{border-radius:4px;width:16px;min-width:16px;height:16px;font-size:9px}.web-frame{border:1px solid var(--line);border-radius:var(--r-card);background:var(--panel);margin:2px 0 4px;position:relative;overflow:hidden}.wf-bar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;height:34px;padding:0 6px 0 8px;display:flex}.wf-bar .site-icon,.wf-bar .ref-icon{border-radius:4px;width:16px;min-width:16px;height:16px;font-size:9px}.wf-url{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.wf-bar button,.wf-open{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;font-size:14px;text-decoration:none;display:grid}.wf-bar button:hover,.wf-open:hover{background:var(--accent-soft);color:var(--accent)}.web-frame iframe{background:#fff;border:0;width:100%;display:block}body.pdown .web-frame iframe,body.pdown .yt-block{pointer-events:none}.wf-blocked{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:13px;display:flex}.wf-blocked p{margin:0}.wf-blocked span{gap:8px;display:flex}.wf-blocked a,.wf-blocked button{border-radius:var(--r-btn);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;padding:6px 12px;font-size:12.5px;text-decoration:none}.wf-blocked a.primary{background:var(--accent);border-color:var(--accent);color:#fff}.wf-grip{touch-action:none;cursor:ns-resize;height:10px;position:absolute;bottom:0;left:0;right:0}.wf-grip:after{content:"";background:var(--line-strong);opacity:0;border-radius:2px;width:36px;height:4px;margin-left:-18px;transition:opacity .15s;position:absolute;bottom:3px;left:50%}.web-frame:hover .wf-grip:after{opacity:1}.web-views{background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:2;border-radius:8px;gap:1px;padding:2px;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:4px;right:4px;transform:translateY(-2px);box-shadow:0 2px 8px #1412281f}.web-block.view-link .web-views{margin-top:-14px;top:50%}.web-block.view-card .web-views{top:auto;bottom:6px;right:6px}.web-block.view-web .web-views{top:4px;right:96px}.web-block:hover .web-views,.web-views:focus-within{opacity:1;pointer-events:auto;transform:none}.web-views button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:600}.web-views button:hover{color:var(--text);background:var(--surface)}.web-views button.on{background:var(--accent-soft);color:var(--accent)}.yt-block{aspect-ratio:16/9;border:0;border-radius:8px;width:100%;display:block}.pdf-quote blockquote{border-left:3px solid var(--c-yellow);margin:0 0 6px;padding-left:12px}.pdf-quote img{border-radius:6px;max-width:100%;margin-bottom:6px;display:block}.suggest{background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-3);width:290px;max-height:290px;animation:pop-sm .35s var(--bouncy) both;transform-origin:0 0;border-radius:12px;flex-direction:column;padding:4px;display:flex;overflow-y:auto}.suggest button{text-align:left;background:0 0;border:none;justify-content:space-between;gap:8px;padding:7px 10px;display:flex}.suggest button.on{background:var(--accent-soft);color:var(--accent)}.suggest small{color:var(--muted)}.suggest.empty{color:var(--muted);padding:8px 12px}.drawer{border-left:1px solid var(--line);background:var(--ground);width:400px;transition:margin-right .5s var(--spring), opacity .2s, background .2s;flex-direction:column;flex:none;display:flex;overflow-y:auto}.drawer.closed{opacity:0;pointer-events:none;margin-right:-400px}.drawer.drop{background:var(--accent-soft)}.drawer-head{letter-spacing:.04em;color:var(--muted);background:inherit;z-index:2;align-items:center;gap:8px;padding:12px 10px 6px 16px;font-size:12px;font-weight:700;display:flex;position:sticky;top:0}.drawer-head .count{flex:1}.drawer-list{flex-direction:column;gap:10px;padding:4px 12px 120px;display:flex}.drawer-empty{border:1.5px dashed var(--line-strong);color:var(--muted);border-radius:14px;flex-direction:column;gap:4px;margin:8px 12px;padding:18px;font-size:13px;line-height:1.6;display:flex}.drawer-empty strong{color:var(--text-2)}.entry{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-group);box-shadow:var(--sh-1);transition:box-shadow .2s}.entry:hover{box-shadow:var(--sh-2)}.entry.flash{animation:entry-in .7s var(--bouncy)}.entry-head{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:9px 8px 9px 10px;display:flex}.entry-head .chev{color:var(--muted);transition:transform .4s var(--spring);place-items:center;display:grid}.entry-head .chev svg{width:16px;height:16px}.entry.open .entry-head .chev{transform:rotate(90deg)}.entry-title{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.entry-head button.icon{opacity:.6;padding:3px}.entry-head:hover button.icon{opacity:1}.entry-head button.icon svg{width:15px;height:15px}.entry-wrap{transition:grid-template-rows .5s var(--spring);grid-template-rows:0fr;display:grid}.entry.open .entry-wrap{grid-template-rows:1fr}.entry-inner{min-height:0;overflow:hidden}.entry.open .entry-inner{border-top:1px solid var(--line);padding:10px 14px 16px 4px}.group{--head:24px}.group.multi{padding:calc(5px + var(--head)) 17px calc(5px + var(--head)) 5px}.group.single>.glist>.gblock:first-child{--pt-top:calc(var(--pt) + var(--head));padding-top:var(--pt-top)}.group.single>.glist>.gblock:last-child{padding-bottom:calc(var(--pt) + var(--head));padding-right:24px}.ghead{opacity:0;pointer-events:none;z-index:4;align-items:center;gap:2px;height:24px;transition:opacity .15s;display:flex;position:absolute;top:4px;left:6px;right:6px}.group:hover>.ghead{opacity:1;pointer-events:auto;cursor:grab}body.dragging-now .ghead,.react-flow__node-cards.dragging .ghead{display:none}.ghead .gh-gap{flex:1}.ghead button{width:24px;height:22px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.ghead button svg{width:14px;height:14px}.ghead button:hover{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}.card-outline{outline:none;padding:2px 0 8px 20px;position:relative}.card-outline .gblock{background:0 0}.card-panel .card-outline .prose{font-size:16px}.outline-empty{color:var(--muted);padding:16px}.panel-crumb{color:var(--text-2);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.panel-crumb:hover{background:var(--ground)}.panel-crumb svg{width:15px;height:15px}.gblock.flash{animation:1.2s ease-out flash-row}@keyframes flash-row{0%{background:var(--accent-soft)}}.panel{border-left:1px solid var(--line);background:var(--panel);min-width:0;min-height:0;animation:slide-in .5s var(--spring) both;flex-direction:column;display:flex}.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;height:52px;padding:0 10px;display:flex}.panel-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:700;overflow:hidden}.panel-body{flex:1;padding:18px 22px 60px;overflow-y:auto}.links-section{border-top:1px solid var(--line);margin-top:28px;padding-top:8px}.links-section h3{letter-spacing:.04em;color:var(--muted);margin:14px 0 6px;font-size:12px;font-weight:700}.links-section ul{margin:0;padding-left:18px}.links-section a{color:var(--accent)}.pdf-frame{border:0;flex:1;width:100%}.shell.panel-full{grid-template-columns:248px 0 1fr}.shell.panel-full .main{display:none}.shell.panel-full .panel-body{width:100%;max-width:820px;margin:0 auto}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:160;background:#14121e47;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.search{background:var(--panel);border:1px solid var(--line);width:min(880px,100%);max-height:70vh;box-shadow:var(--sh-3);transform-origin:top;animation:bloom .5s var(--bouncy) both;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.search-input{border:none;border-bottom:1px solid var(--line);border-radius:0;outline:none;padding:18px 20px;font-size:17px}.search-input:focus{box-shadow:none}.search-body{flex:1;grid-template-columns:1fr 1.2fr;min-height:0;display:grid}.search-list{border-right:1px solid var(--line);margin:0;padding:6px;list-style:none;overflow-y:auto}.search-list li{cursor:pointer;animation:fade-up .35s var(--glide) both;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex}.search-list li:nth-child(2){animation-delay:30ms}.search-list li:nth-child(3){animation-delay:60ms}.search-list li:nth-child(4){animation-delay:90ms}.search-list li:nth-child(n+5){animation-delay:.12s}.search-list li.on{background:var(--accent-soft)}.search-list .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kind{color:var(--muted);background:var(--ground);border-radius:5px;flex:none;padding:1px 6px;font-size:10px;font-weight:700}.kind-board{color:var(--accent);background:var(--accent-soft)}.search-preview{flex-direction:column;gap:14px;padding:18px 20px;display:flex;overflow-y:auto}.search-preview .prose{flex:1}.preview-actions{flex-wrap:wrap;gap:8px;display:flex}.list-view{background:var(--canvas-bg);padding:24px 28px 60px;position:absolute;inset:0;overflow-y:auto}.list-view h2{letter-spacing:-.025em;margin:0 0 6px}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:18px;display:grid}.list-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-group);box-shadow:var(--sh-1);transition:box-shadow .2s, translate .25s var(--spring);animation:fade-up .4s var(--glide) both;flex-direction:column;display:flex}.list-card:hover{box-shadow:var(--sh-2);translate:0 -2px}.list-card-body{cursor:pointer;flex-direction:column;gap:6px;max-height:190px;padding:12px 16px;display:flex;overflow:hidden}.list-card-body .kind{align-self:flex-start}.list-card-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.list-card-actions button{padding:3px 9px;font-size:12px}.canvas-toolbar-wrap{z-index:20;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.canvas-toolbar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-3);border-radius:16px;align-items:center;gap:2px;padding:5px;display:flex}.canvas-toolbar button{min-width:50px;color:var(--text-2);background:0 0;border:none;border-radius:11px;flex-direction:column;align-items:center;gap:1px;padding:5px 6px 4px;display:flex}.canvas-toolbar button:hover{background:var(--ground);translate:0 -2px}.canvas-toolbar button.on{background:var(--accent-soft);color:var(--accent)}.canvas-toolbar .ti{place-items:center;height:22px;display:grid}.canvas-toolbar .ti svg{width:19px;height:19px}.canvas-toolbar small{color:inherit;white-space:nowrap;font-size:10.5px;font-weight:600}.canvas-toolbar button:disabled{opacity:.38;cursor:default;background:0 0;translate:none}.canvas-toolbar .sep{background:var(--line);width:1px;height:26px;margin:0 3px}.canvas-toolbar .zoomctl{align-items:center;gap:0;margin-left:2px;display:flex}.canvas-toolbar .zoomctl button{font-variant-numeric:tabular-nums;min-width:28px;height:30px;color:var(--muted);flex-direction:row;padding:0 4px;font-size:12px;font-weight:650}.canvas-toolbar .zoomctl .zoom-now{min-width:44px;color:var(--text-2)}.canvas-toolbar .zoomctl button svg{width:15px;height:15px}.pdf-panel{min-height:0}.pdf-wrap{background:#4d5054;flex:1;min-height:0;position:relative}.pdf-scroll{position:absolute;inset:0;overflow:auto}.pdf-scroll.area-mode .textLayer{pointer-events:none}.pdf-scroll.area-mode .page{cursor:crosshair}.pdf-status,.pdf-note{color:var(--muted);padding:8px 14px;font-size:12px}.pdf-status{color:#ddd;place-items:center;display:grid;position:absolute;inset:0}.hl-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.hl{pointer-events:auto;cursor:grab;mix-blend-mode:multiply;border-radius:2px;position:absolute}.hl.flash{outline:3px solid var(--accent)}.area-draft{z-index:4;pointer-events:none;background:#3f84d91f;border:2px dashed #3f84d9;position:absolute}.hl-pick{z-index:10;background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-3);animation:pop-sm .35s var(--bouncy) both;border-radius:12px;gap:4px;padding:5px;display:flex;position:absolute}.hl-pick button{border-radius:50%;width:22px;height:22px;padding:0}.hl-list{border-bottom:1px solid var(--line);max-height:32%;font-size:12px;overflow-y:auto}.hl-list summary{cursor:pointer;color:var(--muted);padding:6px 12px}.hl-list ul{margin:0;padding:0 8px 8px;list-style:none}.hl-list li{background:var(--surface);cursor:grab;border-left:4px solid;border-radius:5px;margin:4px 0;padding:5px 26px 5px 8px;position:relative}.hl-list small{color:var(--muted);margin-right:4px}.hl-del{color:var(--muted);background:0 0;border:none;padding:0 4px;position:absolute;top:4px;right:4px}.toast{background:var(--text);color:var(--panel);z-index:200;box-shadow:var(--sh-3);max-width:calc(100vw - 32px);animation:toast-in .55s var(--bouncy) both;border-radius:12px;padding:11px 16px;font-weight:500;position:fixed;bottom:88px;left:50%;transform:translate(-50%)}.fab,.only-mobile,.scrim{display:none}@keyframes pop{0%{opacity:0;scale:.72}to{opacity:1;scale:1}}@keyframes pop-sm{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes bloom{0%{opacity:0;translate:0 -6px;scale:.94}to{opacity:1;translate:0;scale:1}}@keyframes squash{0%{scale:1.03 .94}to{scale:1}}@keyframes lift{0%{scale:1}to{scale:1.04}}@keyframes spacer-in{0%{opacity:0;height:0}}@keyframes tb-in{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes toast-in{0%{opacity:0;translate:0 16px;scale:.96}to{opacity:1;translate:0;scale:1}}@keyframes entry-in{0%{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent);scale:.95}to{scale:1}}@keyframes twin{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 28%, transparent)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-up{0%{opacity:0;translate:0 6px}}@keyframes slide-in{0%{opacity:0;translate:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (width<=767px){.shell,.shell.with-panel{grid-template-columns:1fr}.sidebar{z-index:120;width:82vw;max-width:320px;transition:transform .45s var(--spring);background:var(--panel);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.side-open .sidebar{transform:none}.side-open .scrim{z-index:110;background:#14121e4d;animation:.2s both fade-in;display:block;position:fixed;inset:0}.only-mobile{display:inline-grid}.search-btn kbd,.search-btn span,.drawer-btn span,.sync{display:none}.sync.offline{display:inline-flex}.panel{z-index:90;position:fixed;inset:0}.drawer{z-index:85;width:min(400px,94vw);box-shadow:var(--sh-3);position:fixed;top:52px;bottom:0;right:0}.drawer.closed{margin-right:0;transform:translate(100%)}.search-body{grid-template-columns:1fr}.search-preview{display:none}.modal-backdrop{padding-top:12px}.fab{right:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:80;background:var(--accent);color:#fff;box-shadow:var(--sh-3);border:none;border-radius:999px;align-items:center;gap:6px;padding:12px 18px;font-weight:700;display:inline-flex;position:fixed}.fab svg{width:18px;height:18px}.with-panel .fab,.drawer-open .fab{display:none}.list-view{padding:16px}.title-input{width:160px}.canvas-toolbar-wrap{display:none}.toast{bottom:90px}}.ref-icon svg{width:13px;height:13px}.react-flow__node-section{pointer-events:none!important}.react-flow__node-section .sec-head,.react-flow__node-section .react-flow__resize-control{pointer-events:all}.section{border:1.5px solid var(--line);background:color-mix(in srgb, var(--panel) 40%, transparent);border-radius:18px;width:100%;height:100%;transition:border-color .2s,box-shadow .2s}.react-flow__node-section.selected .section{border-color:var(--accent-line);box-shadow:var(--ring)}.sec-head{cursor:grab;height:46px;color:var(--text-2);padding:12px 18px;font-size:15px;font-weight:700;position:absolute;top:0;left:0;right:0}.sec-head:active{cursor:grabbing}.sec-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.sec-input{font:inherit;border:1px solid var(--accent-line);background:var(--panel);width:min(320px,100%);color:var(--text);border-radius:8px;outline:none;padding:2px 8px}.section[data-bg=yellow]{border-color:color-mix(in srgb, var(--c-yellow) 70%, transparent);background:color-mix(in srgb, var(--c-yellow) 9%, transparent)}.section[data-bg=yellow] .sec-head{color:var(--c-yellow)}.section[data-bg=blue]{border-color:color-mix(in srgb, var(--c-blue) 70%, transparent);background:color-mix(in srgb, var(--c-blue) 9%, transparent)}.section[data-bg=blue] .sec-head{color:var(--c-blue)}.section[data-bg=red]{border-color:color-mix(in srgb, var(--c-red) 70%, transparent);background:color-mix(in srgb, var(--c-red) 9%, transparent)}.section[data-bg=red] .sec-head{color:var(--c-red)}.section[data-bg=green]{border-color:color-mix(in srgb, var(--c-green) 70%, transparent);background:color-mix(in srgb, var(--c-green) 9%, transparent)}.section[data-bg=green] .sec-head{color:var(--c-green)}.section[data-bg=purple]{border-color:color-mix(in srgb, var(--c-purple) 70%, transparent);background:color-mix(in srgb, var(--c-purple) 9%, transparent)}.section[data-bg=purple] .sec-head{color:var(--c-purple)}.section[data-bg=orange]{border-color:color-mix(in srgb, var(--c-orange) 70%, transparent);background:color-mix(in srgb, var(--c-orange) 9%, transparent)}.section[data-bg=orange] .sec-head{color:var(--c-orange)}.section[data-bg=gray]{border-color:color-mix(in srgb, var(--c-gray) 70%, transparent);background:color-mix(in srgb, var(--c-gray) 9%, transparent)}.section[data-bg=gray] .sec-head{color:var(--c-gray)}.drawer-site{background:#fff;border:0;width:100%;height:min(70vh,760px);display:block}body.pdown .drawer-site{pointer-events:none}.web-entry .badge .site-icon,.web-entry .badge .ref-icon{border-radius:3px;width:14px;min-width:14px;height:14px;margin-right:3px;font-size:8px}.web-entry .entry-head a.icon{color:var(--muted);place-items:center;text-decoration:none;display:grid}.web-entry.open .entry-inner{padding:0}.gblock.todo{padding-left:calc(var(--pad) + var(--ind,0) * 24px + 24px)}.bcheck{left:calc(var(--pad) + var(--ind,0) * 24px + 1px);top:calc(var(--pt-top,var(--pt)) + var(--lead,.8em) - 8px);border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;z-index:2;border-radius:4px;width:16px;height:16px;padding:0;position:absolute}.bcheck:hover{border-color:var(--accent-line)}.bcheck.on{background:#3fae6a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") 50%/12px no-repeat;border-color:#3fae6a}.gblock.done>.bview,.gblock.done>.block-editor{opacity:.5}.notice-backdrop{z-index:200;background:#14121e47;place-items:center;animation:.15s both fade-in;display:grid;position:fixed;inset:0}.notice{background:var(--panel);width:min(420px,100vw - 32px);color:var(--text);border:1px solid var(--line);box-shadow:var(--sh-3);border-radius:14px;flex-direction:column;gap:8px;padding:20px 22px 18px;display:flex}.notice strong{font-size:15px}.notice p{margin:0;line-height:1.55}.notice-check{color:var(--muted);cursor:pointer;align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.notice>button{align-self:flex-end;margin-top:4px}@media (hover:none){.web-views{opacity:1;pointer-events:auto;transform:none}}.date-chip{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:6px;padding:0 6px;font-size:.92em;font-weight:600;line-height:1.5;display:inline-block}.date-chip:before{content:"";vertical-align:-1px;opacity:.7;border:1.5px solid;border-top-width:3px;border-radius:2px;width:.7em;height:.7em;margin-right:4px;display:inline-block}.date-chip:hover{background:var(--accent-soft);color:var(--accent)}.ProseMirror-selectednode.date-chip{outline:2px solid var(--accent-line)}.onboard{z-index:25;background:color-mix(in srgb, var(--panel) 90%, transparent);border:1px solid var(--line);color:var(--muted);pointer-events:none;white-space:nowrap;animation:fade-up .5s var(--glide) both;border-radius:999px;padding:7px 14px;font-size:13px;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.onboard.flash{color:var(--accent-ink);border-color:var(--accent-line);background:var(--accent-soft)}.empty-hint .examples{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;font-size:12.5px;display:flex}.empty-hint .examples button{border:1px solid var(--line);background:var(--panel);color:var(--text-2);border-radius:999px;padding:3px 10px;font-size:12.5px}.empty-hint .examples button:hover{border-color:var(--accent-line);color:var(--accent)}.bdot:before{opacity:.3}.gblock.editing:not(.folded)>.bdot:before{opacity:.45}.gline:before{opacity:0;transition:opacity .2s,left .15s,width .15s,background .15s}.group:hover .gline:before,.group:focus-within .gline:before{opacity:1}.group.card-folded:not(:has(>.glist>.gblock.editing:not(:first-child)))>.glist>.gblock:not(:first-child){display:none}.group.card-folded:has(>.glist>.gblock.editing:not(:first-child)) .gmore-rows{display:none}.gmore-rows{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-self:flex-start;margin:0 0 2px 29px;padding:1px 6px;font-size:12px}.gmore-rows:hover{background:var(--ground);color:var(--text)}.topbar{background:var(--canvas-bg);border-bottom-color:#0000;height:44px}.topbar .crumbs .current{font-weight:500}.sync.saved{gap:0;font-size:0}.sync i{box-shadow:none;opacity:.7}.topbar .search-btn{color:var(--muted);background:0 0}.topbar .search-btn:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.topbar .search-btn kbd{opacity:.6}.ftoolbar.fixed.idle:not(:hover){box-shadow:none;background:0 0;border-color:#0000}.ftoolbar.fixed.idle:not(:hover)>*{opacity:0}.group.card-folded:not(:has(>.glist>.gblock.editing:not(:first-child))){padding:8px 16px}.group.card-folded:not(:has(>.glist>.gblock.editing:not(:first-child)))>.glist>.gblock:first-child{text-align:center;padding:4px 12px;font-weight:700}.group.card-folded:not(:has(>.glist>.gblock.editing:not(:first-child)))>.glist>.gblock:first-child :is(p,h1,h2,h3){font-weight:700}.group.card-folded .gmore-rows{display:none}.group.card-folded:not(:has(>.glist>.gblock.editing:not(:first-child)))>.glist>.gblock:first-child>.bdot{display:none}.group.card-folded:not(:has(>.glist>.gblock.editing:not(:first-child)))>.ghead{top:50%;translate:0 -50%}.sidebar{flex-direction:column;display:flex}.bigtabs{flex-direction:column;gap:1px;margin-top:6px;display:flex}.bigtab{width:100%;color:var(--text-2);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:6px 10px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.bigtab:hover{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text)}.bigtab.on{background:var(--panel);color:var(--text)}.bigtab .bt-icon{width:18px;height:18px;color:var(--muted);place-items:center;display:grid}.bigtab .bt-icon svg{width:16px;height:16px}.bigtab .bt-hash{font-size:14px;font-weight:700}.bigtab .bt-caret{color:var(--muted);opacity:0;margin-left:auto;display:grid}.bigtab .bt-caret svg{width:13px;height:13px}.bigtab-row:hover .bt-caret{opacity:1}.side-head.bigtab-row{text-transform:none;letter-spacing:0;align-items:center;margin:0;padding:0;display:flex}.side-head.bigtab-row .mini{opacity:0}.side-head.bigtab-row:hover .mini,.side-head.bigtab-row .mini:focus-visible{opacity:1}.bigtabs .tree{margin:2px 0 6px 10px}.side-trash{color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin-top:auto;padding:6px 10px;font-size:13px;text-decoration:none;display:flex}.side-trash:hover,.side-trash.on{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text)}.lv-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.lv-head h2{margin:0}.lv-gap{flex:1}.lv-search{background:color-mix(in srgb, var(--text) 5%, transparent);width:min(260px,100%);color:var(--text);font:inherit;border:0;border-radius:8px;padding:6px 10px}.lv-tags{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.lv-tags a{color:var(--text-2);border-radius:999px;padding:2px 9px;font-size:13px;text-decoration:none}.lv-tags a small{color:var(--muted)}.lv-tags a:hover{background:color-mix(in srgb, var(--text) 5%, transparent)}.lv-tags a.on{background:var(--accent-soft);color:var(--accent-ink)}.card-table{grid-template-columns:minmax(0,3fr) minmax(0,1.2fr) minmax(0,1.3fr) auto;display:grid}.ct-row{cursor:pointer;display:contents}.ct-row>span{border-bottom:1px solid var(--line);align-items:center;gap:6px;min-width:0;padding:9px 10px;display:flex}.ct-row:not(.ct-head):hover>span{background:color-mix(in srgb, var(--text) 3%, transparent)}.ct-row:focus-visible>span{background:var(--accent-soft)}.ct-head>span{color:var(--muted);cursor:default;font-size:12px}.ct-card .ct-text{flex-direction:column;min-width:0;display:flex}.ct-card strong,.ct-card small,.ct-board{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ct-card small{color:var(--muted)}.ct-color{background:var(--line-strong);border-radius:50%;flex:none;width:8px;height:8px}.ct-color.c-yellow{background:var(--c-yellow)}.ct-color.c-blue{background:var(--c-blue)}.ct-color.c-red{background:var(--c-red)}.ct-color.c-green{background:var(--c-green)}.ct-color.c-purple{background:var(--c-purple)}.ct-color.c-orange{background:var(--c-orange)}.ct-color.c-gray{background:var(--c-gray)}.ct-board{color:var(--text-2);font-size:13px}.ct-tags{flex-wrap:wrap}.ct-tags .chip{background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:0 7px;font-size:12px;text-decoration:none}.ct-when{white-space:nowrap;font-size:12.5px}.tag-list{margin:0;padding:0;list-style:none}.tag-list a{border-bottom:1px solid var(--line);color:var(--text);justify-content:space-between;gap:12px;padding:9px 10px;text-decoration:none;display:flex}.tag-list a:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.tl-name{font-weight:500}@media (width<=720px){.card-table{grid-template-columns:minmax(0,1fr) auto}.ct-board,.ct-tags,.ct-head>span:nth-child(2),.ct-head>span:nth-child(3){display:none!important}}.tabstrip{background:var(--canvas-bg);scrollbar-width:none;align-items:center;gap:2px;height:36px;padding:4px 10px 0;display:flex;overflow-x:auto}.tabstrip::-webkit-scrollbar{display:none}.tab{min-width:0;max-width:200px;height:30px;color:var(--muted);cursor:pointer;border-radius:9px;flex:none;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:13px;display:flex}.tab:hover{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text)}.tab.on{background:var(--panel);color:var(--text)}.pl-icon{width:16px;height:16px;color:var(--muted);flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.pl-icon svg{width:14px;height:14px}.pl-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tab-x,.tab-new{width:22px;height:22px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.tab-x{opacity:0}.tab:hover .tab-x,.tab.on .tab-x{opacity:1}.tab-x:hover,.tab-new:hover{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}.tab-x svg,.tab-new svg{width:12px;height:12px}.side-list{margin-top:14px}.side-link{color:var(--text-2);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:5px 10px;font-size:13px;text-decoration:none;display:flex}.side-link:hover{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text)}.side-link.on{background:var(--panel);color:var(--text)}.topbar .tabstrip{background:0 0;flex:1;min-width:0;height:auto;padding:0}.tab .crumbs{flex:initial;min-width:0;font-size:13px;overflow:hidden}.tab.on{max-width:420px}.tab .crumbs .current{cursor:text;font-weight:500}.journal{grid-template-columns:minmax(0,720px) 260px;justify-content:center;align-items:start;gap:32px;height:100%;padding:28px 24px 120px;display:grid;position:relative;overflow:auto}.j-main{min-width:0}.j-main:after{content:"";height:calc(100vh - 160px);display:block}.j-day+.j-day{margin-top:56px}.j-more{height:1px}.j-head{flex-wrap:wrap;align-items:flex-end;gap:6px;margin:0 0 12px 4px;display:flex}.j-date{width:100%;color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.j-today{background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:0 7px;font-size:12px}.j-head h1{letter-spacing:-.02em;margin:0;font-size:30px;line-height:1.2}.j-back{color:var(--muted);background:0 0;border:0;border-radius:8px;margin:8px auto 0;padding:5px 14px;font-size:13px;display:block}.j-back:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.j-card{background:var(--panel);border-radius:var(--r-group);min-height:160px;padding:22px 22px 26px 6px}.j-sec{margin-top:22px}.j-sec h3{color:var(--muted);margin:0 0 6px 4px;font-size:12px;font-weight:500}.j-ref,.j-past{width:100%;color:var(--text-2);text-align:left;background:0 0;border:0;border-radius:10px;align-items:baseline;gap:10px;padding:7px 12px;font-size:13.5px;display:flex}.j-ref:hover,.j-past:hover{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text)}.j-ref-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.j-side{position:sticky;top:0}.mcal{background:var(--panel);border-radius:var(--r-group);font-variant-numeric:tabular-nums;padding:12px}.mcal-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mcal-head strong{font-size:13.5px;font-weight:600}.mcal-head button,.mcal-day{color:var(--text-2);background:0 0;border:0}.mcal-head button{width:26px;height:26px;color:var(--muted);border-radius:7px}.mcal-head button:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.mcal-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.mcal-wd{color:var(--muted);padding:2px 0 4px;font-size:11px}.mcal-day{border-radius:8px;min-width:0;height:30px;padding:0;font-size:12.5px;position:relative}.mcal-day:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.mcal-day.out{color:var(--muted);opacity:.5}.mcal-day.today{color:var(--accent);font-weight:700}.mcal-day.sel{background:var(--accent);color:#fff}.mcal-day.has:after{content:"";opacity:.55;background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:3px;left:50%}@media (width<=960px){.journal{grid-template-columns:minmax(0,1fr);padding:16px 16px 120px}.j-side{order:-1;position:static}}.mcal-head button svg{vertical-align:middle;width:15px;height:15px}.group.mind,.card-outline.mind{--mind-node:color-mix(in srgb, var(--text) 6%, var(--card-fill,var(--panel)))}.group.mind{padding:calc(5px + var(--head)) 17px calc(5px + var(--head)) 5px}.group.mind>.glist,.card-outline.mind>.glist{position:relative}.card-outline.mind{padding-bottom:8px;overflow-x:auto}.mind>.glist>svg.mlinks{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.mlinks path{fill:none;stroke-linecap:round;stroke:color-mix(in srgb, var(--text) 28%, transparent);stroke-width:1.6px}.mlinks path.d2{stroke:color-mix(in srgb, var(--text) 20%, transparent);stroke-width:1.3px}.mlinks path.d3{stroke:color-mix(in srgb, var(--text) 14%, transparent);stroke-width:1.1px}.mlinks path.side{stroke-dasharray:4 5}.mind>.glist>.gblock{--pt:5px;background:var(--mind-node);border-radius:10px;width:max-content;min-width:64px;max-width:280px;position:absolute;top:0;left:0;--ind:0!important;padding:5px 12px 5px 24px!important}.mind>.glist>svg+.gblock{background:0 0;padding-left:22px;font-size:1.06em;font-weight:700}.mind>.glist>.gblock.mdrop{box-shadow:0 0 0 2px var(--accent)}.gfoot{white-space:nowrap;z-index:3;align-items:center;gap:8px;height:22px;font-size:12px;display:flex;position:absolute;bottom:5px;left:29px;right:12px;overflow:hidden}.gfoot a{color:var(--muted);text-decoration:none}.gfoot a:hover{color:var(--text)}.group.card-folded>.gfoot{display:none}.card-meta{flex-direction:column;gap:4px;margin:16px 0 4px 24px;font-size:13px;display:flex}.cm-tags{flex-wrap:wrap;align-items:center;gap:4px;display:flex;position:relative}.cm-chip{background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:6px;align-items:center;display:inline-flex}.cm-chip a{color:var(--text-2);padding:0 4px 0 7px;text-decoration:none}.cm-chip button{color:var(--muted);opacity:.5;background:0 0;border:0;padding:0 6px 0 2px}.cm-chip button:hover{opacity:1}.cm-add,.cm-summary,.cm-fold{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:6px;padding:1px 6px;font-size:12.5px}.cm-add:hover,.cm-summary:hover,.cm-fold:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.cm-props.open{gap:4px;padding:6px 0;display:grid}.cm-row{grid-template-columns:110px minmax(0,260px);align-items:center;gap:10px;display:grid}.cm-name{color:var(--muted);font-size:12.5px}.cm-fold{justify-self:start}.prop-in{background:color-mix(in srgb, var(--text) 5%, transparent);width:100%;min-width:0;color:var(--text);font:inherit;border:0;border-radius:6px;padding:3px 7px;font-size:13px}.prop-check{justify-self:start}.cm-picker{z-index:30;background:var(--panel);width:220px;box-shadow:var(--sh-3);border-radius:10px;margin-top:4px;padding:6px;position:absolute;top:100%;left:40px}.cm-picker input{background:color-mix(in srgb, var(--text) 5%, transparent);width:100%;color:var(--text);font:inherit;border:0;border-radius:7px;padding:5px 8px;font-size:13px}.cm-list{flex-direction:column;margin-top:4px;display:flex}.cm-list button{color:var(--text-2);text-align:left;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:13px}.cm-list button:hover{background:var(--accent-soft);color:var(--accent-ink)}.cm-new{color:var(--accent)!important}.lv-btn{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:3px 9px;font-size:13px}.lv-btn:hover,.lv-btn.on{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.tag-settings{background:var(--panel);border-radius:12px;flex-direction:column;gap:6px;max-width:560px;margin:0 0 16px;padding:12px;display:flex}.ts-row{grid-template-columns:minmax(0,1fr) 90px minmax(0,1.4fr) auto;align-items:center;gap:6px;display:grid}.ts-row:not(:has(.ts-opts)){grid-template-columns:minmax(0,1fr) 90px auto}.ts-del{color:var(--muted);background:0 0;border:0;border-radius:6px;width:26px;height:26px}.ts-del:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.tag-settings>.lv-btn{place-self:flex-start start}.ct-prop{color:var(--text-2);cursor:text;font-size:13px}.ct-empty{color:var(--line-strong)}.ct-tags[hidden]{display:none!important}.ink-layer{pointer-events:none;z-index:1002;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.ink-stroke{pointer-events:visiblePainted;cursor:move;fill:var(--ink-fill);--ink-fill:var(--text)}.ink-stroke.c-red{--ink-fill:color-mix(in srgb, var(--c-red) 78%, var(--text))}.ink-stroke.c-yellow{--ink-fill:color-mix(in srgb, var(--c-yellow) 85%, var(--text))}.ink-stroke.c-green{--ink-fill:color-mix(in srgb, var(--c-green) 78%, var(--text))}.ink-stroke.c-blue{--ink-fill:color-mix(in srgb, var(--c-blue) 78%, var(--text))}.ink-stroke.c-purple{--ink-fill:color-mix(in srgb, var(--c-purple) 78%, var(--text))}.ink-stroke.hl{opacity:.4}.ink-stroke.hl.c-ink{--ink-fill:var(--muted)}.ink-stroke.sel{stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.ink-layer.drawing .ink-stroke{cursor:inherit}.ink-capture{z-index:6;cursor:crosshair;touch-action:none;position:absolute;inset:0}.ink-capture.erase{cursor:cell}.ink-hint{background:var(--panel);color:var(--text-2);pointer-events:none;border-radius:8px;padding:3px 10px;font-size:12px;position:absolute;top:12px;left:50%;translate:-50%}.ink-opts{background:var(--panel);box-shadow:var(--sh-3);border-radius:13px;align-items:center;gap:2px;padding:4px;display:flex}.ink-opts .sep{background:var(--line);width:1px;height:18px;margin:0 4px}.ink-opts button{width:30px;height:30px;color:var(--text-2);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.ink-opts button:hover{background:var(--ground)}.ink-opts button.on{background:var(--accent-soft);color:var(--accent)}.ink-opts button svg{width:17px;height:17px}.ink-color:after{content:"";background:var(--ink-fill,var(--text));border-radius:50%;width:14px;height:14px}.ink-color.c-ink{--ink-fill:var(--text)}.ink-color.c-red{--ink-fill:color-mix(in srgb, var(--c-red) 78%, var(--text))}.ink-color.c-yellow{--ink-fill:color-mix(in srgb, var(--c-yellow) 85%, var(--text))}.ink-color.c-green{--ink-fill:color-mix(in srgb, var(--c-green) 78%, var(--text))}.ink-color.c-blue{--ink-fill:color-mix(in srgb, var(--c-blue) 78%, var(--text))}.ink-color.c-purple{--ink-fill:color-mix(in srgb, var(--c-purple) 78%, var(--text))}.ink-color.on{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--ground)!important}.ink-size i{background:currentColor;border-radius:50%;display:block}.ink-size.s1 i{width:4px;height:4px}.ink-size.s2 i{width:7px;height:7px}.ink-size.s3 i{width:11px;height:11px}.img-wrap{max-width:100%;display:inline-block;position:relative}.img-edit{background:color-mix(in srgb, var(--panel) 90%, transparent);color:var(--text-2);opacity:0;border:0;border-radius:7px;padding:2px 9px;font-size:12px;transition:opacity .15s;position:absolute;top:6px;right:6px}.img-wrap:hover .img-edit{opacity:1}.react-flow__node .img-edit:hover{color:var(--text)}.imged-back{z-index:160;background:color-mix(in srgb, var(--canvas-bg) 70%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;display:grid;position:fixed;inset:0}.imged{background:var(--panel);width:min(1100px,100vw - 32px);height:min(820px,100vh - 32px);box-shadow:var(--sh-3);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.imged-head,.imged-sub{align-items:center;gap:4px;padding:8px 10px;display:flex}.imged-sub{min-height:38px;padding-top:0;font-size:13px}.imged-tools{align-items:center;gap:2px;display:flex}.imged .sep{background:var(--line);width:1px;height:18px;margin:0 6px}.imged-tools button,.imged-sub button{min-width:32px;height:32px;color:var(--text-2);background:0 0;border:0;border-radius:9px;place-items:center;padding:0 8px;display:grid}.imged-tools button:hover,.imged-sub button:hover{background:var(--ground)}.imged-tools button.on,.imged-sub button.on{background:var(--accent-soft);color:var(--accent)}.imged-tools button:disabled{opacity:.35}.imged-tools svg{width:18px;height:18px}.imged svg.ic{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round}.imged-gap{flex:1}.imged-btn{height:32px;color:var(--text-2);background:0 0;border:0;border-radius:9px;padding:0 14px;font-size:13.5px}.imged-btn:hover{background:var(--ground)}.imged-btn.primary{background:var(--accent);color:#fff}.imged-btn:disabled{opacity:.45}.imged-color:after{content:"";background:var(--sw);border-radius:50%;width:15px;height:15px}.imged-apply{margin-left:8px;background:var(--accent)!important;color:#fff!important}.imged-stage{background:var(--canvas-bg);flex:1;place-items:center;min-height:0;padding:12px;display:grid;position:relative}.imged-canvas{touch-action:none;cursor:crosshair;max-width:100%;max-height:100%}.imged-canvas.t-text{cursor:text}.imged-crop{outline:1.5px dashed var(--accent);pointer-events:none;position:absolute;box-shadow:0 0 0 9999px #00000073}.imged-text{z-index:161;border:1px dashed var(--accent);background:0 0;border-radius:6px;outline:none;min-width:160px;padding:3px 6px;font:600 16px Pretendard,system-ui,sans-serif;position:fixed}.lv-seg{background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:9px;padding:2px;display:inline-flex}.lv-seg button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:2px 10px;font-size:13px}.lv-seg button.on{background:var(--panel);color:var(--text)}.lv-btn.danger{color:var(--danger)}.lv-btn:disabled{opacity:.5}.ts-name{margin-bottom:8px}.kb-by{align-items:center;gap:8px;margin:4px 0 10px;font-size:13px;display:flex}.kb-by select{width:auto}.kanban{align-items:flex-start;gap:12px;padding-bottom:24px;display:flex;overflow-x:auto}.kb-col{border-radius:var(--r-group);background:color-mix(in srgb, var(--text) 4%, transparent);flex-direction:column;flex:0 0 248px;gap:8px;min-height:120px;padding:10px;transition:background .15s;display:flex}.kb-col.over{background:var(--accent-soft)}.kb-col header{align-items:baseline;gap:6px;padding:0 4px 2px;font-size:13px;display:flex}.kb-card{background:var(--panel);width:100%;color:var(--text);text-align:left;cursor:grab;border:0;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.kb-card strong{font-size:14px;font-weight:600}.kb-card small{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.kb-board{font-size:11.5px}
