:root{font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100%}body{min-height:100vh;color:#e2e8f0;background:#020617}button,input,select,textarea{font:inherit}.app-shell{--app-background: radial-gradient(circle at top, rgba(59, 130, 246, .22), transparent 28%), linear-gradient(180deg, #111827 0%, #020617 100%);--text-primary: #e2e8f0;--text-secondary: #cbd5e1;--text-muted: #9fb4d2;--panel-bg: rgba(2, 6, 23, .66);--panel-border: rgba(148, 163, 184, .18);--field-bg: rgba(15, 23, 42, .92);--field-text: #f8fafc;--accent: #7dd3fc;--accent-strong: #08111f;--selection-accent: #fef08a;--canvas-panel: rgba(9, 17, 31, .64);--node-label-bg: rgba(12, 16, 24, .76);--node-label-border: rgba(255, 255, 255, .22);--node-label-text: #f8fafc;--node-label-selected-bg: rgba(255, 255, 255, .92);--node-label-selected-text: #111827;--handle-tag-bg: rgba(12, 16, 24, .76);--handle-tag-border: rgba(255, 255, 255, .18);--handle-tag-text: #f8fafc;width:100vw;height:100vh;color:var(--text-primary);background:var(--app-background);padding:0;position:relative;overflow:hidden}.app-shell.theme-light{--app-background: radial-gradient(circle at top, rgba(59, 130, 246, .12), transparent 30%), linear-gradient(180deg, #ffffff 0%, #e2e8f0 100%);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #475569;--panel-bg: rgba(255, 255, 255, .72);--panel-border: rgba(100, 116, 139, .18);--field-bg: rgba(255, 255, 255, .94);--field-text: #0f172a;--accent: #2563eb;--accent-strong: #ffffff;--selection-accent: #0f172a;--canvas-panel: rgba(255, 255, 255, .72);--node-label-bg: rgba(255, 255, 255, .92);--node-label-border: rgba(71, 85, 105, .2);--node-label-text: #0f172a;--node-label-selected-bg: rgba(15, 23, 42, .92);--node-label-selected-text: #f8fafc;--handle-tag-bg: rgba(255, 255, 255, .92);--handle-tag-border: rgba(71, 85, 105, .18);--handle-tag-text: #0f172a}.topbar,.summary-panel,.selection-hint,.toolbar-field,.status-card,.overlay-panel,.overlay-select,.mode-pill{border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:22px}.eyebrow{margin:0 0 6px;color:var(--accent);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.brand h1{margin:0;font-size:clamp(1.5rem,3vw,2.25rem)}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-field{display:flex;flex-direction:column;gap:6px;min-width:220px;padding:10px 12px;border-radius:14px}.toolbar-field.compact{min-width:132px}.toolbar-field span{color:var(--text-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.toolbar-field select,.toolbar-field input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--panel-border);color:var(--field-text);background:var(--field-bg)}.view-switcher{display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:var(--panel-bg);border:1px solid var(--panel-border)}.view-button{border:0;border-radius:999px;padding:10px 16px;color:var(--text-secondary);background:transparent;cursor:pointer}.view-button.active{color:var(--accent-strong);background:var(--accent);font-weight:700}.edit-mode-switcher{display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:var(--panel-bg);border:1px solid var(--panel-border)}.edit-mode-button{border:0;border-radius:999px;padding:10px 14px;color:var(--text-secondary);background:transparent;cursor:pointer}.edit-mode-button.active{color:var(--accent-strong);background:var(--selection-accent);font-weight:700}.save-button{border:1px solid var(--panel-border);border-radius:999px;padding:10px 16px;color:var(--text-primary);background:var(--panel-bg);cursor:pointer}.save-button.dirty{border-color:color-mix(in srgb,var(--selection-accent) 75%,transparent);color:var(--selection-accent)}.canvas-root{position:relative;width:100%;height:100%;z-index:0}.canvas-area{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;border:0;border-radius:0;background:transparent}.view-frame,.view-frame canvas,.view2d-canvas{width:100%;height:100%;display:block}.view-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;isolation:isolate}.view-frame canvas{position:relative;z-index:0}.summary-panel{padding:18px;border-radius:24px}.sidebar-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.summary-panel h2{margin:0;font-size:1.35rem}.summary-panel p{color:var(--text-secondary)}.summary-label{margin:0 0 6px;color:var(--accent);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.summary-panel dl{margin:16px 0 0;display:grid;gap:10px}.summary-panel dl div{display:flex;justify-content:space-between;gap:10px;color:var(--text-primary)}.summary-panel dt{color:var(--text-muted)}.inspector-panel{display:flex;flex-direction:column;gap:14px}.inspector-empty{margin:0;color:var(--text-secondary)}.inspector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inspector-field{display:flex;flex-direction:column;gap:6px}.inspector-field span{color:var(--text-muted);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}.inspector-field input,.inspector-field select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--panel-border);color:var(--field-text);background:var(--field-bg)}.status-card{position:absolute;top:16px;left:76px;z-index:20;padding:12px 14px;border-radius:16px}.status-card.error{border-color:#f8717166;color:#fecaca}.selection-hint{position:absolute;left:16px;bottom:16px;z-index:20;padding:12px 14px;border-radius:16px;display:flex;flex-direction:column;gap:4px;max-width:min(320px,calc(100vw - 32px))}.selection-hint span{color:var(--text-muted);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.selection-hint strong{font-size:1rem}.selection-hint small{color:var(--text-muted);font-size:.8rem}.demo-action-hint{position:absolute;left:50%;top:18px;z-index:10;min-width:240px;max-width:min(360px,calc(100vw - 220px));padding:16px 18px 17px;border-radius:24px;border:1px solid rgba(148,163,184,.22);pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;flex-direction:column;gap:4px;transform:translate(-50%);opacity:.45;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:action-hint-fade .16s ease-out;transition:opacity .42s ease}.demo-action-hint.dimmed{opacity:.22}.demo-action-hint.theme-dark{color:#f8fafc;background:#0f172a5c;border-color:#e2e8f02e;box-shadow:0 10px 32px #02061738}.demo-action-hint.theme-light{color:#0f172a;background:#ffffff70;border-color:#0f172a29;box-shadow:0 10px 32px #64748b29}.demo-action-hint strong{font-size:18px;font-weight:700;line-height:1.25;letter-spacing:.01em;text-align:center}.hint-visual{width:168px;height:112px;overflow:visible}.hint-mouse rect,.hint-mouse path,.hint-ring,.hint-line,.hint-node,.hint-parent-node,.hint-plane,.hint-eye{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.74}.hint-click,.hint-wheel,.hint-handle,.hint-child-dot,.hint-flow-node,.hint-eye-dot{fill:currentColor;opacity:.46}.hint-click.active,.hint-wheel.active,.hint-handle.active{animation:hint-pulse 1.1s ease-in-out infinite;opacity:.9}.hint-arrow,.hint-flow-line{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.76}.hint-arrow-head{fill:currentColor;opacity:.76}.hint-cursor,.hint-child-node{fill:currentColor;opacity:.72}.hint-slide-x,.hint-node-drag,.hint-group-move{animation:hint-slide-x 1.6s ease-in-out infinite}.hint-rotate-orbit{transform-origin:66px 31px;animation:hint-orbit 1.8s ease-in-out infinite}.hint-wheel-shift{animation:hint-wheel-shift 1.2s ease-in-out infinite}.hint-zoom{transform-origin:66px 30px;animation:hint-zoom 1.4s ease-in-out infinite}.hint-resize-box{transform-origin:50px 32px;animation:hint-resize 1.5s ease-in-out infinite}.hint-resize-arrows{animation:hint-soft-pulse 1.5s ease-in-out infinite}.hint-node-spin{transform-origin:51px 33px;animation:hint-node-spin 1.8s ease-in-out infinite}.hint-spin-arrow{animation:hint-soft-pulse 1.8s ease-in-out infinite}.hint-parent-node{fill:color-mix(in srgb,currentColor 10%,transparent);animation:hint-border-glow 1.6s ease-in-out infinite}.hint-nest-child{animation:hint-nest 1.8s ease-in-out infinite}.hint-child-dot{opacity:.62}.hint-align-dots .dot-a{animation:hint-align-a 1.8s ease-in-out infinite}.hint-align-dots .dot-b{animation:hint-align-b 1.8s ease-in-out infinite}.hint-align-dots .dot-c{animation:hint-align-c 1.8s ease-in-out infinite}.hint-align-dots .dot-d{animation:hint-align-d 1.8s ease-in-out infinite}.hint-grid-line{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;opacity:.24}.hint-flatten{animation:hint-flatten 1.8s ease-in-out infinite}.hint-plane{fill:color-mix(in srgb,currentColor 8%,transparent)}.hint-plane.flat{opacity:.3}.hint-depth{animation:hint-depth 1.8s ease-in-out infinite}.hint-node.back{opacity:.48}.hint-node.calm{fill:color-mix(in srgb,currentColor 8%,transparent)}.hint-eye{opacity:.58}.hint-flow-line{stroke-dasharray:7 5;animation:hint-dash 1.4s linear infinite}.hint-flow-pulse{fill:currentColor;opacity:.82;animation:hint-flow-pulse 1.4s ease-in-out infinite}@keyframes action-hint-fade{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:.45;transform:translate(-50%)}}@keyframes hint-pulse{0%,to{opacity:.34;transform:scale(.92)}50%{opacity:.95;transform:scale(1.16)}}@keyframes hint-soft-pulse{0%,to{opacity:.42}50%{opacity:.84}}@keyframes hint-slide-x{0%,to{transform:translate(-5px)}50%{transform:translate(6px)}}@keyframes hint-orbit{0%,to{transform:rotate(-10deg)}50%{transform:rotate(12deg)}}@keyframes hint-wheel-shift{0%,to{transform:translateY(-2px);opacity:.42}50%{transform:translateY(3px);opacity:.82}}@keyframes hint-zoom{0%,to{transform:scale(.92)}50%{transform:scale(1.08)}}@keyframes hint-resize{0%,to{transform:scale(.9)}50%{transform:scale(1.12)}}@keyframes hint-node-spin{0%,to{transform:rotate(-8deg)}50%{transform:rotate(14deg)}}@keyframes hint-border-glow{0%,to{opacity:.48}50%{opacity:.86}}@keyframes hint-nest{0%{transform:translate(0);opacity:.42}58%,to{transform:translate(42px);opacity:.84}}@keyframes hint-align-a{50%,to{transform:translate(6px)}}@keyframes hint-align-b{50%,to{transform:translate(-14px,12px)}}@keyframes hint-align-c{50%,to{transform:translate(10px,-14px)}}@keyframes hint-align-d{50%,to{transform:translate(-18px,1px)}}@keyframes hint-flatten{0%,to{transform:translateY(-3px) skewY(-8deg)}50%{transform:translateY(5px) scaleY(.55)}}@keyframes hint-depth{0%,to{transform:translateY(3px)}50%{transform:translate(4px,-4px)}}@keyframes hint-dash{to{stroke-dashoffset:-24}}@keyframes hint-flow-pulse{0%{transform:translate(-12px);opacity:0}35%,75%{opacity:.86}to{transform:translate(28px);opacity:0}}.empty-view{height:100%;display:grid;place-items:center;color:var(--text-secondary)}.twod-view{overflow:hidden;background:linear-gradient(color-mix(in srgb,var(--text-muted) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text-muted) 12%,transparent) 1px,transparent 1px),radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 34%),color-mix(in srgb,var(--canvas-panel) 72%,transparent);background-size:40px 40px,40px 40px,auto,auto;overscroll-behavior:contain;cursor:grab;touch-action:none}.twod-view:active{cursor:grabbing}.twod-viewport-content{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform}.twod-edge-layer,.twod-node-layer{position:absolute;left:0;top:0}.twod-edge-layer{width:1px;height:1px;overflow:visible;z-index:0}.twod-edge{fill:none;stroke:color-mix(in srgb,var(--text-secondary) 64%,transparent);stroke-width:2.5;stroke-linecap:round;pointer-events:none}.twod-edge-hit-area{fill:none;stroke:transparent;stroke-width:18;cursor:pointer}.twod-edge-parent{stroke:color-mix(in srgb,var(--text-secondary) 58%,transparent);stroke-width:2.3}.twod-edge-relation{stroke:#38bdf8;stroke-width:2.8}.twod-edge-flow{stroke:#22c55e;stroke-width:3;stroke-dasharray:10 7}.twod-edge-reference{stroke:#f59e0b;stroke-width:2.6;stroke-dasharray:3 7}.twod-edge.custom{filter:drop-shadow(0 2px 5px rgba(2,6,23,.22))}.twod-edge.selected{stroke:var(--selection-accent);stroke-width:4;stroke-dasharray:none}.twod-edge-label{cursor:pointer}.twod-edge-label rect{fill:var(--field-bg);stroke:var(--panel-border);stroke-width:1;opacity:.94}.twod-edge-label text{fill:var(--field-text);font-size:11px;font-weight:700;pointer-events:none}.twod-edge-label.selected rect{stroke:var(--selection-accent);stroke-width:2}.twod-node-layer{width:0;height:0;z-index:1}.twod-view-controls{position:absolute;right:18px;bottom:18px;z-index:5;display:inline-flex;align-items:center;gap:6px;padding:7px;border:1px solid var(--panel-border);border-radius:10px;color:var(--text-primary);background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.twod-view-controls button{min-width:34px;height:32px;padding:0 8px;border:1px solid var(--panel-border);border-radius:7px;color:var(--field-text);background:var(--field-bg);cursor:pointer;font-weight:700}.twod-view-controls span{min-width:48px;color:var(--text-muted);font-size:.75rem;text-align:center}.twod-node{position:absolute;min-height:58px;display:flex;align-items:center;justify-content:center;padding:10px 16px;border:2px solid color-mix(in srgb,white 32%,transparent);border-radius:8px;color:#fff;box-shadow:0 12px 28px #0206173d;cursor:grab;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;touch-action:none}.twod-node-box{border-radius:8px}.twod-node-sphere{border-radius:50%;padding-inline:14px}.twod-node-ellipse{border-radius:999px;padding-inline:20px}.twod-node:active{cursor:grabbing}.twod-node.selected{border-color:var(--selection-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--selection-accent) 24%,transparent),0 16px 32px #0206174d}.twod-node-label{width:100%;overflow:hidden;color:#fff;font-size:.92rem;font-weight:800;line-height:1.18;overflow-wrap:anywhere;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.42)}.twod-node-input{width:100%;min-width:0;padding:6px 8px;border:1px solid color-mix(in srgb,white 54%,transparent);border-radius:6px;color:#0f172a;background:#fffffff0;font-weight:700;text-align:center}.twod-collapse-button{position:absolute;right:-10px;top:-10px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid var(--panel-border);border-radius:50%;color:var(--field-text);background:var(--field-bg);box-shadow:0 6px 16px #02061738;cursor:pointer;font-weight:800;line-height:1}.node-label{z-index:1;max-width:280px;padding:0;border:0;color:#fff;background:transparent;box-shadow:none;font-weight:600;text-shadow:-1px -1px 0 #000000,1px -1px 0 #000000,-1px 1px 0 #000000,1px 1px 0 #000000,0 1px 2px rgba(0,0,0,.6);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;text-align:center;line-height:1.12;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:6px}.node-label.selected{color:#fff;background:transparent;border-color:transparent;font-weight:700}.node-label-meta{font-size:.68em;opacity:.8;text-transform:uppercase;letter-spacing:.06em}.handle-tag{z-index:1;padding:3px 7px;border-radius:999px;border:1px solid var(--handle-tag-border);color:var(--handle-tag-text);background:var(--handle-tag-bg);font-size:10px;line-height:1;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.flow-label{z-index:1;padding:4px 8px;border-radius:999px;border:1px solid var(--node-label-border);color:var(--node-label-text);background:var(--node-label-bg);font-size:11px;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.menu-open .node-label,.menu-open .flow-label,.menu-open .handle-tag{opacity:.35}.overlay-button{border:1px solid var(--panel-border);color:var(--text-primary);background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer}.overlay-menu-button{position:absolute;top:16px;left:16px;z-index:50;min-width:52px;padding:10px 14px;border-radius:999px}.overlay-top-right{position:absolute;top:16px;right:16px;z-index:60;display:flex;justify-content:flex-end;max-width:min(360px,calc(100vw - 96px))}.node-list-dropdown{position:relative;z-index:60;display:flex;flex-direction:column;gap:6px;min-width:min(300px,calc(100vw - 96px));padding:10px 12px;border:1px solid var(--panel-border);border-radius:16px;color:var(--text-primary);background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.node-list-label{color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.node-list-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--panel-border);border-radius:10px;color:var(--field-text);background:var(--field-bg);cursor:pointer;text-align:left}.node-list-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-list-trigger small{color:var(--text-muted);font-size:.78rem}.node-list-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(420px,calc(100vw - 32px));max-height:min(70vh,620px);overflow:auto;padding:8px;border:1px solid var(--panel-border);border-radius:16px;color:var(--text-primary);background:var(--panel-bg);box-shadow:0 16px 40px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.overlay-select{display:flex;flex-direction:column;gap:6px;min-width:min(280px,calc(100vw - 96px));padding:10px 12px;border-radius:16px}.overlay-select span{color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.overlay-select select{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--panel-border);color:var(--field-text);background:var(--field-bg)}.overlay-bottom-right{position:absolute;right:16px;bottom:16px;z-index:50}.mode-pill{padding:8px 12px;border-radius:999px;color:var(--text-primary);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.overlay-panel{position:absolute;z-index:50;color:var(--text-primary)}.overlay-menu-panel{top:64px;left:16px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 80px);overflow:auto;padding:16px;border-radius:22px}.overlay-side-panel{top:64px;right:16px;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 80px);overflow:auto;padding:0;border-radius:22px}.overlay-panel .summary-panel{margin:0}.overlay-actions{display:flex;flex-direction:column;gap:12px;margin-top:14px}.overlay-actions .toolbar-field,.overlay-actions .view-switcher,.overlay-actions .edit-mode-switcher,.overlay-actions .save-button{width:100%}.overlay-actions .save-button{justify-content:center}.add-menu-wrap{position:relative;width:100%}.add-menu-popover{position:absolute;left:0;top:calc(100% + 8px);z-index:80;width:min(340px,calc(100vw - 64px));display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--panel-border);border-radius:14px;color:var(--text-primary);background:var(--panel-bg);box-shadow:0 18px 44px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.add-menu-section{display:flex;flex-direction:column;gap:8px}.add-menu-section-title{color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.add-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.add-menu-option{min-height:92px;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--panel-border);border-radius:8px;color:var(--field-text);background:var(--field-bg);cursor:pointer;text-align:left}.add-menu-option:hover{border-color:color-mix(in srgb,var(--accent) 70%,white 10%);background:color-mix(in srgb,var(--accent) 12%,var(--field-bg))}.add-menu-preview{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center}.add-preview-box,.add-preview-sphere,.add-preview-ellipse{display:block;border:2px solid color-mix(in srgb,var(--accent) 80%,white 12%);background:color-mix(in srgb,var(--accent) 26%,transparent)}.add-preview-box{width:30px;height:30px;border-radius:5px;box-shadow:5px 5px color-mix(in srgb,var(--accent) 18%,transparent)}.add-preview-sphere{width:32px;height:32px;border-radius:50%;box-shadow:inset -7px -7px color-mix(in srgb,#000000 18%,transparent)}.add-preview-ellipse{width:36px;height:24px;border-radius:50%}.add-preview-arrow{position:relative;width:42px;height:42px;display:block}.add-preview-arrow-line{position:absolute;left:19px;top:4px;width:4px;height:24px;border-radius:999px;background:#fef08a}.add-preview-arrow-head{position:absolute;left:11px;top:24px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:12px solid #fef08a}.add-preview-arrow small{position:absolute;left:50%;bottom:-8px;color:var(--text-muted);font-size:8px;line-height:1;transform:translate(-50%)}.add-menu-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.add-menu-copy strong{font-size:.84rem;line-height:1.15}.add-menu-copy small{color:var(--text-muted);font-size:.72rem;line-height:1.2}.direction-arrow-label{padding:4px 8px;border:1px solid var(--node-label-border);border-radius:999px;color:var(--node-label-text);background:var(--node-label-bg);font-size:11px;font-weight:700;white-space:nowrap;-webkit-user-select:none;user-select:none}.direction-arrow-label.selected{border-color:var(--selection-accent);color:var(--selection-accent)}.object-list{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:calc(100vh - 180px)}.object-item{width:100%;text-align:left;border:1px solid var(--panel-border);background:var(--field-bg);color:var(--field-text);border-radius:12px;padding:10px 12px;cursor:pointer}.object-item.active{border-color:color-mix(in srgb,var(--accent) 70%,white 20%);background:color-mix(in srgb,var(--accent) 18%,var(--field-bg))}.node-tree-list{display:flex;flex-direction:column;gap:3px;overflow:auto;max-height:calc(100vh - 180px)}.node-tree-list.compact{max-height:none;overflow:visible;padding-top:4px}.node-tree-group{position:relative}.node-tree-children{position:relative;margin-left:16px;padding-left:8px;border-left:1px solid color-mix(in srgb,var(--text-muted) 34%,transparent)}.node-tree-item{position:relative;width:100%;min-height:32px;display:flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:11px;color:var(--field-text);background:transparent;cursor:pointer;text-align:left}.node-tree-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--panel-border) 72%,transparent)}.node-tree-item.selected{border-color:color-mix(in srgb,var(--accent) 66%,white 10%);background:color-mix(in srgb,var(--accent) 22%,var(--field-bg))}.node-tree-chevron{width:14px;flex:0 0 14px;color:var(--text-muted);font-size:.72rem;line-height:1;text-align:center}.node-tree-chevron.has-children{color:var(--accent)}.node-tree-branch{width:14px;flex:0 0 14px;color:color-mix(in srgb,var(--text-muted) 80%,transparent);font-size:.9rem;line-height:1}.node-tree-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-tree-name.parent{font-weight:700}.node-tree-count{min-width:20px;padding:2px 6px;border-radius:999px;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 12%,transparent);font-size:.72rem;line-height:1.2;text-align:center}.flow-panel{gap:16px}.flow-section{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--panel-border)}.flow-type-switcher,.flow-direction-grid{display:grid;gap:6px}.flow-type-switcher,.flow-direction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-type-button,.flow-direction-button{border:1px solid var(--panel-border);border-radius:10px;padding:8px 6px;color:var(--text-secondary);background:var(--field-bg);cursor:pointer}.flow-type-button.active,.flow-direction-button.active{border-color:var(--accent);color:var(--accent-strong);background:var(--accent);font-weight:700}.flow-control-label,.flow-message{color:var(--text-muted);font-size:.78rem}.flow-list .object-item{display:flex;flex-direction:column;gap:2px}.flow-list small{color:var(--text-muted)}.save-button.danger{border-color:#f8717180;color:#ef4444}.containment-panel{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-top:10px;border-top:1px solid var(--panel-border)}.containment-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 960px){.workspace{grid-template-columns:1fr}.sidebar-stack{order:-1}.inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.topbar,.toolbar{flex-direction:column;align-items:stretch}.toolbar-field{min-width:0}.inspector-grid{grid-template-columns:1fr}.overlay-top-right{left:76px;right:16px;max-width:none}.overlay-select{min-width:0;width:100%}.overlay-side-panel,.overlay-menu-panel{width:calc(100vw - 32px)}.selection-hint{max-width:calc(100vw - 112px)}}
