.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:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--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}.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-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--bg:#0b1020;--panel:#0f172ac7;--panel-strong:#111827;--panel-soft:#ffffff14;--text:#dbe4f0;--muted:#8fa1b9;--heading:#f8fafc;--border:#94a3b833;--border-strong:#7dd3fc73;--accent:#38bdf8;--accent-strong:#22d3ee;--accent-soft:#38bdf824;--success:#34d399;--danger:#fb7185;--shadow:0 24px 70px #00000059;--radius:24px;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#38bdf838,#0000 34rem),radial-gradient(circle at 85% 12%,#a855f72e,#0000 28rem),linear-gradient(135deg,#020617 0%,#0f172a 48%,#111827 100%);min-width:1180px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--heading);letter-spacing:-.04em}#root{min-height:100vh}.auth-page,.loading-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{grid-template-columns:1fr 1fr;gap:18px;width:min(940px,100%);display:grid}.auth-brand,.auth-panel{min-height:520px}.auth-panel{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(#0f172ae6,#0f172abd);align-content:center;gap:18px;padding:28px;display:grid}.loading-card{gap:14px;min-width:320px;display:grid}.auth-panel h2{font-size:1.7rem}.auth-form{gap:12px;display:grid}.auth-form label{color:var(--heading);gap:7px;font-size:.88rem;font-weight:800;display:grid}.auth-error{color:#fecdd3;background:#fb71851f;border:1px solid #fb718557;border-radius:14px;padding:10px 12px;font-size:.85rem}.auth-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;font-size:.8rem;font-weight:900;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.google-button,.auth-form .primary-button{justify-content:center;width:100%}.account-card{border:1px solid var(--border);border-radius:var(--radius);background:#0f172a9e;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.account-card strong{max-width:165px;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;display:block;overflow:hidden}.app-frame{gap:0;display:grid}.app-shell{grid-template-columns:300px minmax(620px,1fr) 320px;gap:18px;min-height:100vh;padding:18px;display:grid}.invitation-banner{border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(135deg,#facc152e,#38bdf81a);border:1px solid #facc1557;justify-content:space-between;align-items:center;gap:18px;margin:18px 18px 0;padding:14px 16px;display:flex}.invitation-banner strong{color:var(--heading)}.invitation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.invitation-item{border:1px solid var(--border);background:#0f172a8a;border-radius:16px;align-items:center;gap:8px;padding:8px;display:flex}.invitation-item span{color:var(--heading);font-size:.86rem;font-weight:800}.project-sidebar,.right-rail,.subcollection-panel{z-index:5;flex-direction:column;gap:16px;display:flex;position:relative}.brand-card,.project-create-card,.panel-card,.workspace-header,.collection-node{border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(#0f172adb,#0f172ab8)}.brand-card,.project-create-card,.panel-card{border-radius:var(--radius);padding:22px}.brand-card{gap:12px;display:grid}.brand-card h1{font-size:2rem;line-height:.95}.brand-card p,.workspace-header p,.panel-copy,.empty-state{color:var(--muted);font-size:.9rem}.eyebrow{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:800}.project-create-card{gap:10px;display:grid}.project-create-card label{color:var(--heading);font-size:.86rem;font-weight:700}.project-create-row{gap:8px;display:flex}.field-input,.collection-title-input{border:1px solid var(--border);width:100%;color:var(--heading);background:#0f172ad1;border-radius:13px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.field-input{min-height:40px;padding:0 12px}.field-input:focus,.collection-title-input:focus{border-color:var(--border-strong);box-shadow:0 0 0 4px #38bdf81f}.field-input:disabled,.collection-title-input:disabled{cursor:default;opacity:.78}.primary-button,.secondary-button,.ghost-button,.link-button,.icon-button{color:var(--heading);border:0;font-weight:800}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#03121f;border-radius:14px;min-height:40px;padding:0 16px;box-shadow:0 14px 28px #22d3ee2e}.primary-button.compact{min-height:36px}.secondary-button,.ghost-button,.link-button,.icon-button{background:var(--panel-soft);border:1px solid var(--border);border-radius:12px;padding:8px 10px}.ghost-button,.link-button{color:var(--accent-strong);background:var(--accent-soft)}.danger-button{color:var(--danger)}.danger-action{color:var(--danger);background:#fb71851a;border-color:#fb718557}.collapse-button{color:var(--accent-strong);min-width:58px;font-size:.74rem}.trash-icon{width:16px;height:16px;color:var(--danger);display:block}.comment-control{position:relative}.comment-button{color:#facc15;position:relative}.comment-button.has-comments{background:#facc151f;border-color:#facc156b}.comment-icon{width:16px;height:16px;display:block}.comment-count{color:#111827;background:#fde68a;border:1px solid #0f172ae6;border-radius:999px;place-items:center;min-width:17px;height:17px;font-size:.65rem;font-weight:900;display:grid;position:absolute;top:-7px;right:-7px}.comment-popover{z-index:30;color:#422006;background:linear-gradient(135deg,#fef08afa,#fde047f0),#fef08a;border:1px solid #ca8a0447;border-radius:18px;gap:12px;width:280px;padding:14px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 50px #00000047}.comment-popover:before{content:"";background:#fef08a;border-top:1px solid #ca8a0447;border-left:1px solid #ca8a0447;width:14px;height:14px;position:absolute;top:-7px;right:16px;transform:rotate(45deg)}.comment-popover .eyebrow{color:#854d0e}.comment-popover-header{gap:2px;display:grid}.comment-popover-header strong{color:#422006;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comment-list{gap:8px;max-height:180px;display:grid;overflow:auto}.comment-item,.empty-comment{background:#fffbeb99;border:1px solid #854d0e29;border-radius:12px;padding:9px}.comment-item p,.empty-comment{color:#422006;font-size:.84rem;line-height:1.35}.comment-item time{color:#854d0e;margin-top:6px;font-size:.68rem;font-weight:800;display:block}.comment-input{resize:vertical;color:#422006;min-height:82px;font:inherit;background:#fffbebb8;border:1px solid #854d0e38;border-radius:12px;outline:none;padding:10px}.comment-input:focus{border-color:#854d0e80;box-shadow:0 0 0 3px #854d0e1f}.comment-popover .primary-button{color:#422006;box-shadow:none;background:linear-gradient(135deg,#fbbf24,#f59e0b)}.project-list{gap:10px;display:grid}.project-list-item{border:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:#0f172a94;border-radius:18px;justify-content:space-between;align-items:center;padding:14px;display:flex}.project-list-item.active{border-color:var(--border-strong);background:linear-gradient(135deg,#38bdf833,#a855f71f)}.project-list-item span{color:var(--heading);font-weight:800}.project-list-item small{color:var(--muted)}.workspace{grid-template-rows:auto 1fr;gap:18px;min-width:0;display:grid}.workspace-header{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.workspace-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.workspace-header h2{font-size:1.55rem}.save-status{margin-top:4px;font-size:.78rem;font-weight:800}.save-status-saving,.save-status-loading{color:var(--accent-strong)}.save-status-saved{color:var(--success)}.save-status-error{color:var(--danger)}.role-pill{width:fit-content;color:var(--accent-strong);background:#38bdf81a;border:1px solid #7dd3fc52;border-radius:999px;align-items:center;margin-top:8px;padding:4px 9px;font-size:.74rem;font-weight:900;display:inline-flex}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020617b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.share-modal{border:1px solid var(--border);width:min(720px,100%);max-height:min(760px,92vh);box-shadow:var(--shadow);background:linear-gradient(#0f172afa,#0f172aeb);border-radius:28px;gap:18px;padding:24px;display:grid;overflow:auto}.modal-heading,.share-invite-form,.share-row{align-items:center;gap:12px;display:flex}.modal-heading,.share-row{justify-content:space-between}.share-invite-form{grid-template-columns:minmax(220px,1fr) 130px auto;display:grid}.share-section{gap:10px;display:grid}.share-section h3{font-size:1rem}.share-row{border:1px solid var(--border);background:#02061747;border-radius:18px;padding:12px}.share-row strong,.share-row small{display:block}.share-row strong{color:var(--heading)}.share-row small{color:var(--muted);font-size:.75rem}.permission-select{width:auto;min-width:118px}.schema-canvas-shell{border:1px solid var(--border);min-height:720px;box-shadow:var(--shadow);background:linear-gradient(#0f172a59,#020617b8),radial-gradient(circle at 50% 0,#38bdf824,#0000 34rem);border-radius:32px;overflow:hidden}.react-flow{--xy-edge-stroke-default:#7dd3fcb8;--xy-edge-stroke-width-default:2;--xy-controls-button-background-color-default:#0f172ae6;--xy-controls-button-color-default:var(--heading);--xy-controls-button-border-color-default:var(--border)}.schema-minimap{border:1px solid var(--border);background:#0f172ac7;border-radius:16px;overflow:hidden}.schema-controls{border:1px solid var(--border);border-radius:14px;overflow:hidden}.docref-edge .react-flow__edge-path{stroke:var(--success)}.subcollection-edge .react-flow__edge-path{stroke:#94a3b88c;stroke-dasharray:6 6}.react-flow__edge-textbg{fill:#0f172aeb}.react-flow__edge-text{fill:var(--heading);font-weight:800}.collection-node{border-radius:22px;flex-direction:column;gap:12px;padding:16px;display:flex;overflow:hidden}.collection-node-header,.collection-node-footer,.property-controls,.panel-heading{align-items:center;gap:10px;display:flex}.collection-node-header,.panel-heading{justify-content:space-between}.collection-title-input{letter-spacing:-.04em;background:#02061766;border-color:#0000;margin-top:4px;padding:8px 10px;font-size:1.25rem;font-weight:900}.collection-count{color:var(--success);background:#34d3991a;border:1px solid #34d39947;border-radius:999px;flex:none;padding:6px 9px;font-size:.76rem;font-weight:900}.collection-node-footer{flex-wrap:wrap;margin-top:auto;padding-top:8px}.node-handle{background:var(--accent-strong);border:2px solid #07111f;width:12px;height:12px}.node-resize-line{border-color:var(--accent-strong)}.node-resize-handle{background:var(--accent-strong);border:2px solid #07111f;width:11px;height:11px}.property-editor{gap:9px;display:grid}.property-row{border:1px solid var(--border);background:#02061742;border-radius:16px;gap:9px;padding:10px;display:grid}.property-controls{flex-wrap:wrap}.property-name-input{flex:110px;min-width:110px}.type-select{flex:0 0 132px}.reference-select{flex:150px}.required-toggle{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.required-toggle input{accent-color:var(--accent)}.nested-property-block{margin-left:calc((var(--depth,0) + 1) * 8px);border-left:2px solid #38bdf847;gap:8px;padding-left:10px;display:grid}.nested-heading{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:900}.add-property-button{width:fit-content}.subcollection-panel{min-width:0}.panel-card{gap:18px;display:grid;position:sticky;top:18px}.panel-card h2{font-size:1.35rem}.subcollection-list{gap:10px;display:grid}.subcollection-card{border:1px solid var(--border);color:var(--heading);text-align:left;background:#02061752;border-radius:16px;justify-content:space-between;align-items:center;padding:14px;display:flex}.subcollection-card span{font-weight:900}.subcollection-card small{color:var(--muted)}.empty-state{border:1px dashed var(--border);background:#0206172e;border-radius:14px;padding:12px}
