.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.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:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.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.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;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}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.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:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform: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:0 solid #3367d9}.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%}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-user-select:none;user-select:none;background:#050510;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root{flex-direction:column;height:100dvh;display:flex}.space-bg{z-index:-3;background:linear-gradient(#0a0a1a 0%,#050510 50%,#020208 100%);position:fixed;inset:0}.star-layer{z-index:-2;pointer-events:none;position:fixed;inset:0}#stars-1{opacity:.9;background-image:radial-gradient(1px 1px at 10px 15px,#fff,#0000),radial-gradient(1px 1px at 35px 55px,#fff,#0000),radial-gradient(1px 1px at 60px 25px,#fff,#0000),radial-gradient(1px 1px at 85px 70px,#fff,#0000),radial-gradient(1px 1px at 110px 40px,#ddd,#0000),radial-gradient(2px 2px at 135px 90px,#fff,#0000),radial-gradient(1px 1px at 160px 20px,#fff,#0000),radial-gradient(1px 1px at 185px 60px,#fff,#0000),radial-gradient(1px 1px at 210px 100px,#ccc,#0000),radial-gradient(1px 1px at 235px 35px,#fff,#0000),radial-gradient(2px 2px at 260px 75px,#fff,#0000),radial-gradient(1px 1px at 285px 110px,#fff,#0000),radial-gradient(1px 1px at 5px 125px,#fff,#0000),radial-gradient(1px 1px at 30px 145px,#ddd,#0000),radial-gradient(2px 2px at 55px 170px,#fff,#0000),radial-gradient(1px 1px at 80px 195px,#fff,#0000),radial-gradient(1px 1px at 105px 220px,#fff,#0000),radial-gradient(1px 1px at 130px 180px,#ccc,#0000),radial-gradient(1px 1px at 155px 240px,#fff,#0000),radial-gradient(2px 2px at 180px 160px,#fff,#0000),radial-gradient(1px 1px at 205px 265px,#fff,#0000),radial-gradient(1px 1px at 230px 205px,#fff,#0000),radial-gradient(1px 1px at 255px 280px,#ddd,#0000),radial-gradient(1px 1px at 280px 145px,#fff,#0000),radial-gradient(1px 1px at 300px 300px,#fff,#0000);background-size:300px 300px;animation:180s linear infinite drift}#stars-2{opacity:.5;background-image:radial-gradient(1px 1px at 20px 40px,#aaf,#0000),radial-gradient(1px 1px at 70px 80px,#fce,#0000),radial-gradient(2px 2px at 120px 30px,#fff,#0000),radial-gradient(1px 1px at 170px 110px,#aaf,#0000),radial-gradient(1px 1px at 220px 60px,#fce,#0000),radial-gradient(1px 1px at 270px 130px,#fff,#0000),radial-gradient(2px 2px at 40px 160px,#fff,#0000),radial-gradient(1px 1px at 90px 200px,#aaf,#0000),radial-gradient(1px 1px at 140px 250px,#fce,#0000),radial-gradient(2px 2px at 190px 190px,#fff,#0000),radial-gradient(1px 1px at 240px 230px,#aaf,#0000),radial-gradient(1px 1px at 290px 280px,#fff,#0000);background-size:300px 300px;animation:260s linear infinite drift2}#stars-3{opacity:.35;background-image:radial-gradient(1px 1px at 50px 50px,#fff,#0000),radial-gradient(2px 2px at 150px 100px,#fcc,#0000),radial-gradient(1px 1px at 250px 200px,#cff,#0000),radial-gradient(1px 1px at 100px 250px,#fff,#0000),radial-gradient(1px 1px at 200px 20px,#fcc,#0000),radial-gradient(2px 2px at 300px 150px,#fff,#0000);background-size:300px 300px;animation:400s linear infinite drift3}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-300px)}}@keyframes drift2{0%{transform:translate(0)}to{transform:translate(-50px,-300px)}}@keyframes drift3{0%{transform:translate(0)}to{transform:translate(30px,-300px)}}.twinkle{z-index:-2;pointer-events:none;background:#fff;border-radius:50%;width:3px;height:3px;animation:3s ease-in-out infinite twinkle;position:fixed}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.shooting-star{z-index:-1;pointer-events:none;opacity:0;background:#fff;border-radius:50%;width:2px;height:2px;position:fixed}@keyframes shoot{0%{opacity:0;transform:translate(0)}2%{opacity:1}10%{opacity:1}18%{opacity:0;transform:translate(var(--dx), var(--dy))}to{opacity:0}}.shoot-tail{background:linear-gradient(90deg,#0000,#fffc,#ffffff4d);border-radius:1px;height:1px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.toolbar{padding:8px 10px;padding-top:max(8px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(16px);z-index:100;background:#0a0a19e6;border-bottom:1px solid #788cc81a;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;display:flex}.toolbar-group{align-items:center;gap:3px;display:flex}.toolbar-divider{background:#788cc81f;width:1px;height:24px;margin:0 3px}.toolbar button{color:#c8cce0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#19193280;border:1px solid #788cc82e;border-radius:8px;padding:7px 11px;font-family:inherit;font-size:12px;transition:background .15s,border-color .15s}.toolbar button:active{background:#32325acc;border-color:#788cc866}.toolbar button.danger{color:#e88;border-color:#c850504d}.toolbar button.danger:active{background:#5a1e1e99}.toolbar input.search-input{color:#c8cce0;background:#19193280;border:1px solid #788cc82e;border-radius:8px;outline:none;width:140px;padding:7px 11px;font-family:inherit;font-size:12px}.toolbar input.search-input:focus{border-color:#788cc866}.toolbar input.search-input::placeholder{color:#8c96b466}.react-flow{background:0 0!important}.react-flow__attribution{display:none}.react-flow__controls{overflow:hidden;background:#0a0a19cc!important;border:1px solid #788cc826!important;border-radius:8px!important}.react-flow__controls-button{color:#c8cce0!important;background:0 0!important;border-bottom:1px solid #788cc81a!important}.react-flow__controls-button:hover{background:#32325a99!important}.react-flow__minimap{background:#0a0a19cc!important;border:1px solid #788cc826!important;border-radius:8px!important}.custom-node{white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(8px);text-align:center;border:1.5px solid #0000;border-radius:20px;align-items:center;gap:5px;max-width:210px;padding:7px 13px;font-family:inherit;font-size:13px;transition:box-shadow .2s;display:flex}.custom-node.selected{outline-offset:2px;outline:2px solid #6496ff99;box-shadow:0 0 24px #6496ff40}.custom-node.search-match{outline-offset:2px;outline:2px solid #ffc85099;box-shadow:0 0 24px #ffc85033}.custom-node.search-dimmed{opacity:.25}.node-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.toggle-btn{cursor:pointer;width:18px;height:18px;color:inherit;background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;line-height:1;transition:background .15s;display:flex}.toggle-btn:active{background:#ffffff40}.task-badge{color:#8ab4ff;text-align:center;background:#6496ff33;border-radius:8px;flex-shrink:0;min-width:16px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.4}.task-badge.done{color:#5acf90;background:#50c87833}.cls-root{color:#fff;background:#1a1a38e6;border-color:#788cff66;border-radius:14px;padding:10px 20px;font-size:15px;font-weight:600;box-shadow:0 0 30px #648cff26}.cls-cafe{color:#f5c97a;background:#3d1f0ad9;border-color:#7a4520cc;font-weight:600;box-shadow:0 0 18px #c88c3c1a}.cls-cafe-sub{color:#e8c98a;background:#322314cc;border-color:#7a643280}.cls-cafe-sub2{color:#d8b070;background:#2d2619bf;border-color:#6e5a3266;font-size:12px}.cls-cafe-sub3{color:#c09858;background:#28241cb3;border-color:#64553259;font-size:11px}.cls-personal{color:#7af5b2;background:#0a2e1ad9;border-color:#1a7a45cc;font-weight:600;box-shadow:0 0 18px #3cc8781a}.cls-personal-sub{color:#5acf90;background:#14281ccc;border-color:#326e4680}.cls-mental{color:#c47af5;background:#1a0a2ed9;border-color:#6020a0cc;font-weight:600;box-shadow:0 0 18px #a050dc1a}.cls-mental-sub{color:#a85cd0;background:#231932cc;border-color:#5a3c8280}.sug:after{content:"✦";vertical-align:super;opacity:.6;color:#8cf;margin-left:2px;font-size:9px}.info-panel{-webkit-backdrop-filter:blur(20px);z-index:300;padding:0 16px;padding-bottom:max(16px, env(safe-area-inset-bottom));background:#0f0f1ef7;border-top:1px solid #788cc826;border-radius:16px 16px 0 0;flex-direction:column;max-height:80dvh;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 40px #0006}.info-panel.open{transform:translateY(0)}.panel-handle{background:#788cc84d;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 8px}.panel-title{color:#e0e4f0;flex-shrink:0;margin-bottom:8px;font-size:17px;font-weight:600}.panel-close{color:#b4bedc80;cursor:pointer;z-index:1;background:0 0;border:none;padding:0;font-size:22px;line-height:1;position:absolute;top:12px;right:14px}.panel-tabs{flex-shrink:0;gap:4px;margin-bottom:10px;display:flex}.tab-btn{color:#b4bedc99;cursor:pointer;text-align:center;background:#19193266;border:1px solid #788cc826;border-radius:8px;flex:1;padding:8px 4px;font-family:inherit;font-size:11px;font-weight:600}.tab-btn.active{color:#c8cce0;background:#32326480;border-color:#788cc84d}.panel-notes{resize:none;color:#d0d4e0;background:#14142880;border:1px solid #788cc826;border-radius:10px;flex-shrink:0;width:100%;height:64px;padding:10px 12px;font-family:inherit;font-size:13px}.panel-notes:focus{border-color:#788cc866;outline:none}.panel-notes::placeholder{color:#8c96b466}.panel-tasks,.panel-history{flex-direction:column;flex:1;gap:6px;min-height:0;display:none;overflow-y:auto}.panel-tasks.active,.panel-history.active{display:flex}.task-item{background:#14142866;border:1px solid #788cc81a;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.task-check{cursor:pointer;border:2px solid #788cc84d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.task-check.done{background:#50c8784d;border-color:#50c87899}.task-check.done svg{display:block}.task-check svg{width:12px;height:12px;display:none}.task-text{color:#c8cce0;cursor:pointer;flex:1;font-size:13px}.task-text.done{color:#8c96b480;text-decoration:line-through}.task-del{color:#c8505066;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.task-del:active{color:#c85050cc}.add-row{flex-shrink:0;gap:8px;padding-top:6px;display:flex}.add-input{color:#d0d4e0;background:#14142880;border:1px solid #788cc826;border-radius:10px;flex:1;padding:9px 12px;font-family:inherit;font-size:13px}.add-input:focus{border-color:#788cc866;outline:none}.add-input::placeholder{color:#8c96b466}.add-btn{color:#abf;cursor:pointer;background:#3c50a080;border:1px solid #6478c84d;border-radius:10px;flex-shrink:0;padding:9px 14px;font-size:13px;font-weight:600}.hist-entry{color:#a0a4b8;background:#14142866;border:1px solid #788cc814;border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;display:flex}.hist-date{color:#7882a099;white-space:nowrap;font-size:10px}.empty-state{color:#8c96b480;text-align:center;padding:12px;font-size:11px}.edit-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:400;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.edit-modal{background:#141428f7;border:1px solid #788cc826;border-radius:16px;width:84%;max-width:340px;padding:20px}.edit-modal h3{color:#b4bedc99;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:13px;font-weight:500}.edit-modal input{color:#e0e4f0;background:#0f0f1e99;border:1px solid #788cc833;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:15px}.edit-modal input:focus{border-color:#788cc880;outline:none}.edit-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.install-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#c8cce0;background:#0f0f1ee6;border-bottom:1px solid #788cc81a;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:none}.install-bar.show{display:flex}.legend{color:#b4bedc4d;pointer-events:none;z-index:5;font-size:10px;line-height:1.8;position:absolute;bottom:10px;left:10px}
