.node-project-home[hidden],.node-workspace[hidden]{display:none!important}
.node-quick-menu[hidden]{display:none!important}
.node-project-tile{position:relative;min-width:0}
.node-project-tile .node-project-card{width:100%}
.node-project-rename{position:absolute;top:9px;right:9px;z-index:2;display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #5a7087;border-radius:7px;background:#172432e8;color:#c7ddef;font-size:15px;cursor:pointer}
.node-project-rename:hover,.node-project-rename:focus-visible{border-color:#8dc5ff;background:#294968;color:#fff;outline:0}
.node-project-delete{position:absolute;top:9px;right:44px;z-index:2;display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #5a7087;border-radius:7px;background:#172432e8;color:#c7ddef;font-size:18px;cursor:pointer}
.node-project-delete:hover,.node-project-delete:focus-visible{border-color:#f29696;background:#612d35;color:#fff;outline:0}
.node-canvas-toolbar #backToProjects,.node-canvas-toolbar .node-rename-current{margin-left:0}
.node-canvas-toolbar .node-rename-current{display:grid;place-items:center;width:27px;height:27px;padding:0;font-size:13px;flex:none}
.node-canvas-toolbar #flowCount{margin-left:auto}
.node-canvas-toolbar #clearFlow{margin-left:0}
.node-quick-menu{position:fixed;z-index:1000;box-sizing:border-box;display:flex;flex-direction:column;width:min(320px,calc(100vw - 16px));max-height:min(520px,calc(100dvh - 16px));overflow:hidden;border:1px solid #627c96;border-radius:11px;background:#17222e;color:#eef6fc;box-shadow:0 22px 60px #000b}
.node-quick-search{display:flex;align-items:center;gap:8px;flex:none;padding:10px;border-bottom:1px solid #344758;color:#96badc}
.node-quick-search input{width:100%;min-width:0;padding:8px 4px;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:12px}
.node-quick-search input::placeholder{color:#90a5b8}.node-quick-search kbd{padding:3px 5px;border:1px solid #526577;border-radius:4px;color:#9eafbf;font-size:9px}
.node-quick-list{overflow:auto;padding:7px;scrollbar-color:#49667f #17222e}
.node-quick-group{margin:0 0 5px}.node-quick-group summary{padding:8px 9px;border-radius:6px;color:#aec4d8;font-size:10px;font-weight:700;cursor:pointer;list-style:none}.node-quick-group summary::-webkit-details-marker{display:none}.node-quick-group summary::before{content:'›';display:inline-block;margin-right:7px;font-size:14px;transition:transform .15s}.node-quick-group[open] summary::before{transform:rotate(90deg)}.node-quick-group summary:hover{background:#26384a}
.node-quick-option{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:#e5eff8;text-align:left;cursor:pointer}.node-quick-option:hover,.node-quick-option:focus-visible{outline:0;background:#304660}
.node-quick-icon{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:6px;background:#365677;color:#c6e5ff;font-size:13px}.node-quick-option-text{display:grid;gap:2px;min-width:0}.node-quick-option strong{font-size:11px}.node-quick-option small{overflow:hidden;color:#9fb1c2;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.node-quick-help{flex:none;margin:0;padding:9px 13px;border-top:1px solid #344758;color:#8fa5b7;font-size:9px}.node-quick-empty{padding:18px 10px;color:#9fb1c2;font-size:11px;text-align:center}
body[data-node-mode="editor"]{height:100dvh;overflow:hidden}
body[data-node-mode="editor"] .node-rooftop-banner{display:none!important}
body[data-node-mode="editor"] .node-workspace{position:fixed;inset:52px 0 0;width:100vw;height:auto;min-height:0;margin:0;overflow:hidden}
body[data-node-mode="editor"] .node-editor{width:100%;height:100%;min-height:0;overflow:hidden}
body[data-node-mode="editor"] .node-library{box-sizing:border-box;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto}
body[data-node-mode="editor"] .node-canvas-shell{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding:0;overflow:hidden}
body[data-node-mode="editor"] .node-viewport{box-sizing:border-box;flex:1;width:100%;height:100%;min-height:0;border:0}
body[data-node-mode="editor"] .node-canvas-hint{display:none}
body[data-node-mode="editor"] .node-storage-note{display:none}
body[data-node-mode="home"] #runFlow{visibility:hidden}
.node-project-home{display:grid;grid-template-columns:192px minmax(0,1fr);min-height:calc(100vh - 259px);background:#0c0f14;color:#eaf1f8}
.node-project-sidebar{display:flex;flex-direction:column;gap:22px;padding:32px 12px;border-right:1px solid #27313d;background:linear-gradient(180deg,#131a22,#0d1218)}
.node-project-side-title{padding:0 14px;color:#96a9bc;font-size:10px;font-weight:800;letter-spacing:.15em}
.node-project-sidebar nav{display:grid;gap:5px}
.node-project-sidebar nav a,.node-project-sidebar nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:#aebdcc;text-align:left;text-decoration:none;font-size:12px;cursor:pointer}
.node-project-sidebar nav a:hover,.node-project-sidebar nav button:hover,.node-project-sidebar nav .is-current{background:#23344b;color:#f5f9ff}
.node-project-side-foot{display:grid;gap:7px;margin-top:auto;padding:16px 13px;border-top:1px solid #2a3541;color:#8296a8;font-size:10px;line-height:1.5}
.node-project-side-foot strong{color:#d8e5f0;font-size:12px}
.node-project-side-foot button{justify-self:start;margin-top:8px;padding:0;border:0;background:none;color:#9db7d1;font-size:10px;cursor:pointer}
.node-project-content{width:min(1220px,100%);padding:52px clamp(24px,5vw,76px) 80px}
.node-project-eyebrow{color:#78a9e6;font-size:10px;font-weight:800;letter-spacing:.18em}
.node-project-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:13px 0 48px}
.node-project-heading h1{margin:0;color:#f4f7fb;font-size:clamp(28px,3vw,42px);letter-spacing:-.05em}
.node-project-heading p{margin:10px 0 0;color:#9eafbf;font-size:13px}
.node-project-create{min-height:42px;padding:0 18px;border:1px solid #72aff9;border-radius:8px;background:#2779d6;color:#fff;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer;box-shadow:0 8px 22px #0b5dae38}
.node-project-create:hover{background:#398bea}
.node-project-section-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid #2c3845}
.node-project-section-head h2{margin:0;font-size:17px}.node-project-section-head span{color:#8296a8;font-size:11px}
.node-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.node-project-card{display:block;overflow:hidden;padding:0;border:1px solid #384655;border-radius:10px;background:#17202a;color:#eaf2fa;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.node-project-card:hover,.node-project-card:focus-visible{border-color:#88bbef;transform:translateY(-3px);box-shadow:0 12px 28px #0006;outline:0}
.node-project-preview{position:relative;display:block;height:156px;overflow:hidden;background-color:#111923;background-image:radial-gradient(#3a4d61 1px,transparent 1px);background-size:14px 14px;border-bottom:1px solid #344251}
.node-project-preview svg{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 8px #0008)}
.node-project-preview-edge{fill:none;stroke:#76a8dc;stroke-width:3;stroke-linecap:round;opacity:.85}
.node-project-preview.is-empty{display:grid;place-items:center}
.node-project-preview-empty{max-width:180px;color:#8196aa;font-size:11px;line-height:1.5;text-align:center}
.node-project-card-info{display:grid;gap:8px;padding:16px}.node-project-card-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.node-project-card-info small{color:#8fa3b6;font-size:10px}
.node-project-empty{grid-column:1/-1;display:grid;place-items:center;min-height:250px;border:1px dashed #3b4a5b;border-radius:10px;background:#131b24;color:#a6b9c9;text-align:center}
.node-project-empty span{font-size:33px;color:#6da4df}.node-project-empty strong{margin-top:8px;color:#e0ebf4;font-size:14px}.node-project-empty p{margin:4px 0 0;font-size:11px}
.node-project-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 36px));padding:26px;border:1px solid #52677b;border-radius:12px;background:#18222d;color:#f1f6fa;box-shadow:0 26px 70px #000b}
.node-project-dialog::backdrop{background:#03070bd9;backdrop-filter:blur(4px)}
.node-project-dialog-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:9px;background:#254b72;color:#e6f5ff;font-size:23px}
.node-project-dialog h2{margin:17px 0 7px;font-size:21px}.node-project-dialog p{margin:0 0 24px;color:#a7b8c8;font-size:12px}
.node-project-dialog label{display:block;margin-bottom:7px;font-size:11px}.node-project-dialog input{box-sizing:border-box;width:100%;height:42px;padding:0 12px;border:1px solid #536b80;border-radius:7px;background:#101923;color:#fff;font:inherit;font-size:13px}
.node-project-dialog input:focus{outline:2px solid #70b5fb;outline-offset:1px}
.node-project-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.node-project-dialog-actions button{min-height:36px;padding:0 14px;border:1px solid #506276;border-radius:7px;background:#273543;color:#e8f1fa;cursor:pointer;font-size:11px}.node-project-dialog-actions button[type="submit"]{border-color:#65a8ee;background:#287bda;color:#fff}
.node-project-dialog-actions button.node-project-danger{border-color:#c86570;background:#a93646;color:#fff}
@media(max-width:960px){.node-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.node-project-home{grid-template-columns:1fr}.node-project-sidebar{padding:12px;border-right:0;border-bottom:1px solid #27313d}.node-project-side-title,.node-project-side-foot{display:none}.node-project-sidebar nav{display:flex;overflow:auto}.node-project-sidebar nav a,.node-project-sidebar nav button{width:auto;white-space:nowrap}.node-project-content{padding:30px 18px 70px}.node-project-heading{align-items:flex-start;flex-direction:column;margin-bottom:35px}.node-project-grid{grid-template-columns:1fr}.node-project-preview{height:130px}}
.node-side-toggle{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 9px;border:1px solid #53667a;border-radius:6px;background:#1b2733;color:#dfebf6;font:inherit;font-size:11px;cursor:pointer}
.node-side-toggle:hover,.node-side-toggle:focus-visible{border-color:#82b7ee;background:#2b4056;outline:0}
.node-project-content>.node-side-toggle{margin-bottom:18px}
body.node-sidebar-collapsed .node-project-home{grid-template-columns:0 minmax(0,1fr)}
body.node-sidebar-collapsed .node-project-sidebar{display:flex;width:192px;transform:translateX(-100%);visibility:hidden;opacity:0;pointer-events:none}
body.node-sidebar-collapsed.account-nodes .node-editor{grid-template-columns:0 minmax(0,1fr)}
body.node-sidebar-collapsed.account-nodes .node-library{display:flex;width:192px;min-width:192px;transform:translateX(-100%);visibility:hidden;opacity:0;pointer-events:none}
@media(min-width:651px){.node-project-home,body.account-nodes .node-editor{transition:grid-template-columns .28s cubic-bezier(.2,.75,.2,1)}.node-project-sidebar,body.account-nodes .node-library{transition:transform .28s cubic-bezier(.2,.75,.2,1),opacity .2s ease,visibility .28s}}
@media(min-width:651px) and (max-width:850px){body.node-sidebar-collapsed .node-project-sidebar,body.node-sidebar-collapsed.account-nodes .node-library{width:154px;min-width:154px}}
@media(max-width:650px){body.node-sidebar-collapsed .node-project-home{grid-template-columns:1fr}body.node-sidebar-collapsed .node-project-sidebar,body.node-sidebar-collapsed.account-nodes .node-library{display:none}}
@media(prefers-reduced-motion:reduce){.node-project-home,body.account-nodes .node-editor{transition:none}}

/* Canvas context menu — two-stage FAB Fan. No backdrop: the node canvas stays bright. */
body.account-nodes .node-fab-fan{
  position:fixed;z-index:1000;display:block;width:1px;height:1px;max-height:none;
  overflow:visible;border:0;border-radius:0;background:transparent;color:#eef6fc;box-shadow:none;
}
body.node-fan-cursor-active,body.node-fan-cursor-active *{cursor:none!important}
body.account-nodes .node-fan-tether{position:fixed;z-index:1;inset:0;width:100vw;height:100vh;overflow:visible;pointer-events:none}
body.account-nodes .node-fan-tether line{fill:none;stroke:#9ccfff;stroke-width:1;stroke-dasharray:3 7;stroke-linecap:round;opacity:.78;vector-effect:non-scaling-stroke;animation:nodeFanTetherDash 1.1s linear infinite}
body.account-nodes .node-fan-cursor{position:fixed;z-index:7;left:0;top:0;display:grid;place-items:center;width:26px;height:26px;transform:translate(-50%,-50%);border:1px solid #a8d5ff;border-radius:50%;background:#15283a;color:#fff;font-size:16px;line-height:1;pointer-events:none;box-shadow:0 0 0 4px #65b4ff20,0 0 16px #65b4ff80}
body.account-nodes .node-fab-fan .node-quick-list{position:absolute;inset:0;overflow:visible;padding:0}
body.account-nodes .node-fan-center{
  position:absolute;z-index:4;left:0;top:0;width:54px;height:54px;padding:0;
  transform:translate(-50%,-50%);border:1px solid #8fc7ff;border-radius:50%;
  background:#2479d5;color:#fff;box-shadow:0 10px 30px #0008,0 0 0 6px #2479d526;
  font-size:0;cursor:pointer;transition:transform .28s cubic-bezier(.2,.9,.25,1.35),background .2s ease;
}
body.account-nodes .node-fan-center::after{content:'+';display:block;font-size:28px;line-height:1;transform:rotate(0);transition:transform .38s cubic-bezier(.2,.9,.25,1.3)}
body.account-nodes .node-fab-fan.is-open .node-fan-center::after{content:'✱';font-size:25px;transform:rotate(135deg)}
body.account-nodes .node-fab-fan.is-submenu .node-fan-center::after{content:'←';font-size:21px;transform:rotate(0)}
body.account-nodes .node-fan-center:hover{background:#3591ef;transform:translate(-50%,-50%) scale(1.08)}
body.account-nodes .node-fan-category,
body.account-nodes .node-fan-action,
body.account-nodes .node-fab-fan .node-quick-option{
  position:absolute;left:0;top:0;display:grid;place-items:center;align-content:center;gap:5px;
  width:76px;height:76px;margin:0;padding:7px;overflow:visible;
  border:1px solid #56728d;border-radius:50%;background:#172532;color:#edf7ff;
  box-shadow:0 12px 28px #0009,0 0 0 1px #8dc8ff16;text-align:center;cursor:pointer;
  transform:translate(calc(-50% + var(--fan-x)),calc(-50% + var(--fan-y))) scale(1);
  transform-origin:center;animation:nodeFabShoot .42s var(--fan-delay) both cubic-bezier(.16,1.25,.32,1);
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
body.account-nodes .node-fan-category:hover,
body.account-nodes .node-fan-action:hover,
body.account-nodes .node-fab-fan .node-quick-option:hover,
body.account-nodes .node-fan-category:focus-visible,
body.account-nodes .node-fan-action:focus-visible,
body.account-nodes .node-fab-fan .node-quick-option:focus-visible{
  outline:0;border-color:#9dd2ff;background:#29435a;box-shadow:0 14px 32px #000a,0 0 18px #5cabff70;filter:brightness(1.12)
}
body.account-nodes .node-fan-category strong,
body.account-nodes .node-fan-action strong,
body.account-nodes .node-fab-fan .node-quick-option strong{display:block;max-width:66px;font-size:10px;line-height:1.15;overflow-wrap:anywhere}
body.account-nodes .node-fab-fan .node-quick-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#315b7e;color:#d9efff;font-size:12px;font-weight:800}
body.account-nodes .node-fab-fan .node-quick-option[data-modifier="true"]{border-color:#e8974f;background:#6a3d20;color:#fff4e5}
body.account-nodes .node-fab-fan .node-quick-option[data-modifier="true"] .node-quick-icon{background:#985324;color:#fff1df}
body.account-nodes .node-fab-fan .node-quick-search{position:absolute;left:0;top:-202px;width:280px;transform:translateX(-50%);padding:9px 12px;border:1px solid #607d99;border-radius:999px;background:#15212ced;box-shadow:0 12px 35px #0009;backdrop-filter:blur(12px)}
body.account-nodes .node-fab-fan .node-quick-search[hidden]{display:none!important}
body.account-nodes .node-fab-fan .node-quick-help{position:absolute;left:0;top:166px;width:300px;transform:translateX(-50%);margin:0;padding:7px 10px;border:1px solid #40556a;border-radius:999px;background:#111a23e8;color:#aebfd0;font-size:10px;text-align:center;white-space:nowrap;box-shadow:0 9px 24px #0007}
body.account-nodes .node-fab-fan .node-quick-empty{position:absolute;left:0;top:76px;width:220px;transform:translateX(-50%);margin:0;padding:10px;border-radius:8px;background:#17222e;color:#b8c9d8;text-align:center}
@keyframes nodeFabShoot{
  from{opacity:0;transform:translate(-50%,-50%) scale(.12)}
  72%{opacity:1;transform:translate(calc(-50% + var(--fan-x)),calc(-50% + var(--fan-y))) scale(1.08)}
  to{opacity:1;transform:translate(calc(-50% + var(--fan-x)),calc(-50% + var(--fan-y))) scale(1)}
}
@keyframes nodeFanTetherDash{to{stroke-dashoffset:-20}}
@media(max-width:650px){
  body.account-nodes .node-fan-category,body.account-nodes .node-fan-action,body.account-nodes .node-fab-fan .node-quick-option{width:66px;height:66px}
  body.account-nodes .node-fan-category strong,body.account-nodes .node-fan-action strong,body.account-nodes .node-fab-fan .node-quick-option strong{font-size:9px}
}
@media(prefers-reduced-motion:reduce){body.account-nodes .node-fan-category,body.account-nodes .node-fan-action,body.account-nodes .node-fab-fan .node-quick-option{animation-duration:.01ms}}

/* Larger project and quick-menu controls for comfortable reading. */
body.account-nodes .node-project-sidebar nav a,
body.account-nodes .node-project-sidebar nav button{min-height:42px;font-size:13px}
body.account-nodes .node-project-side-foot button{min-height:30px;font-size:12px}
body.account-nodes .node-project-create{min-height:46px;padding-inline:20px;font-size:14px}
body.account-nodes .node-project-dialog-actions button{min-height:40px;padding-inline:16px;font-size:13px}
body.account-nodes .node-side-toggle{min-height:34px;padding:5px 11px;font-size:12px}
body.account-nodes .node-quick-group summary{min-height:34px;font-size:12px}
body.account-nodes .node-quick-option strong{font-size:12px}
body.account-nodes .node-quick-option small{font-size:10px}
body.account-nodes .node-quick-help{font-size:10px}

body.account-nodes[data-node-mode="editor"] .node-quick-search input{font-size:14px}
body.account-nodes[data-node-mode="editor"] .node-quick-search kbd{font-size:11px}
body.account-nodes[data-node-mode="editor"] .node-quick-group summary{font-size:14px}
body.account-nodes[data-node-mode="editor"] .node-quick-option strong{font-size:14px}
body.account-nodes[data-node-mode="editor"] .node-quick-option small{font-size:12px;line-height:1.4}
body.account-nodes[data-node-mode="editor"] .node-quick-help,
body.account-nodes[data-node-mode="editor"] .node-quick-empty{font-size:12px}

