.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;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))}.home::-webkit-scrollbar{width:6px}.device-panel::-webkit-scrollbar{width:6px}.properties-panel::-webkit-scrollbar{width:6px}.home::-webkit-scrollbar-track{background:0 0}.device-panel::-webkit-scrollbar-track{background:0 0}.properties-panel::-webkit-scrollbar-track{background:0 0}.home::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.device-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.properties-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.home::-webkit-scrollbar-button:single-button{display:none}.device-panel::-webkit-scrollbar-button:single-button{display:none}.properties-panel::-webkit-scrollbar-button:single-button{display:none}@media (width<=768px){.home-tossup__row{gap:var(--space-md);flex-direction:column}.home-tossup__figure{max-width:100%}}@media (width<=768px){.home-feature__text-row,.home-feature__text-row--left{gap:var(--space-xl);flex-direction:column;width:100%}.home-feature__heading-right,.home-feature__tagline{text-align:center}}@media (width<=768px){.home-footer>div{flex-wrap:wrap;justify-content:center}.home-footer p{text-align:center;width:100%;margin-bottom:var(--space-sm)}}@media (width<=768px){.home-pricing__grid{grid-template-columns:repeat(2,1fr);max-width:480px;display:grid}.home-pricing__grid>div{flex:none;min-width:0;max-width:none}}.flow-handle--t-top,.flow-handle--s-top,.flow-handle--t-bottom,.flow-handle--s-bottom{left:50%!important}.flow-handle--t-left,.flow-handle--s-left,.flow-handle--t-right,.flow-handle--s-right{top:50%!important}.flow-handle--t-top-secondary,.flow-handle--s-top-secondary,.flow-handle--t-bottom-secondary,.flow-handle--s-bottom-secondary{left:calc(50% + 30px)!important}.flow-handle--t-left-secondary,.flow-handle--s-left-secondary,.flow-handle--t-right-secondary,.flow-handle--s-right-secondary{top:calc(50% + 30px)!important}.flow-handle--t-top-tertiary,.flow-handle--s-top-tertiary,.flow-handle--t-bottom-tertiary,.flow-handle--s-bottom-tertiary{left:calc(50% - 30px)!important}.flow-handle--t-left-tertiary,.flow-handle--s-left-tertiary,.flow-handle--t-right-tertiary,.flow-handle--s-right-tertiary{top:calc(50% - 30px)!important}.flow-node--mini .flow-handle--t-top,.flow-node--mini .flow-handle--s-top,.flow-node--mini .flow-handle--t-bottom,.flow-node--mini .flow-handle--s-bottom{visibility:visible!important;left:50%!important}.flow-node--mini .flow-handle--t-left,.flow-node--mini .flow-handle--s-left,.flow-node--mini .flow-handle--t-right,.flow-node--mini .flow-handle--s-right{visibility:visible!important;top:50%!important}.flow-node--mini .flow-handle--t-top-secondary,.flow-node--mini .flow-handle--s-top-secondary,.flow-node--mini .flow-handle--t-bottom-secondary,.flow-node--mini .flow-handle--s-bottom-secondary{visibility:hidden!important;left:calc(50% + 30px)!important}.flow-node--mini .flow-handle--t-left-secondary,.flow-node--mini .flow-handle--s-left-secondary,.flow-node--mini .flow-handle--t-right-secondary,.flow-node--mini .flow-handle--s-right-secondary{visibility:hidden!important;top:calc(50% + 30px)!important}.flow-node--mini .flow-handle--t-top-tertiary,.flow-node--mini .flow-handle--s-top-tertiary,.flow-node--mini .flow-handle--t-bottom-tertiary,.flow-node--mini .flow-handle--s-bottom-tertiary{visibility:hidden!important;left:calc(50% - 30px)!important}.flow-node--mini .flow-handle--t-left-tertiary,.flow-node--mini .flow-handle--s-left-tertiary,.flow-node--mini .flow-handle--t-right-tertiary,.flow-node--mini .flow-handle--s-right-tertiary{visibility:hidden!important;top:calc(50% - 30px)!important}.flow-node--extended .flow-handle--t-top,.flow-node--extended .flow-handle--s-top,.flow-node--extended .flow-handle--t-bottom,.flow-node--extended .flow-handle--s-bottom{visibility:visible!important;left:50%!important}.flow-node--extended .flow-handle--t-left,.flow-node--extended .flow-handle--s-left,.flow-node--extended .flow-handle--t-right,.flow-node--extended .flow-handle--s-right,.flow-node--extended-sides .flow-handle--t-left,.flow-node--extended-sides .flow-handle--s-left,.flow-node--extended-sides .flow-handle--t-right,.flow-node--extended-sides .flow-handle--s-right{visibility:visible!important;top:50%!important}.flow-node--extended-sides .flow-handle--t-top-tertiary,.flow-node--extended-sides .flow-handle--s-top-tertiary,.flow-node--extended-sides .flow-handle--t-bottom-tertiary,.flow-node--extended-sides .flow-handle--s-bottom-tertiary{visibility:hidden!important;left:calc(50% - 30px)!important}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent)!important;stroke-width:2.4px!important;filter:drop-shadow(0 0 4px var(--accent-glow))!important}@media (width<=768px){.toolbar__burger{justify-content:center;align-items:center;min-width:2.8rem;padding:.4rem .65rem;font-size:1rem;display:inline-flex!important}.toolbar{flex-shrink:0;height:auto!important;position:relative!important}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.home__nav-mobile-wrap{top:var(--header-height,3rem);z-index:51;background:var(--bg-panel);border-bottom:1px solid var(--border-card);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));gap:var(--space-sm);padding:var(--space-md) var(--space-xl);animation:slide-down-home var(--transition-duration) ease-out;flex-direction:column;display:flex;position:fixed;left:0;right:0}.home__nav-mobile-wrap>*{width:100%;justify-content:center!important}.home__toolbar{flex-shrink:0;height:auto!important;position:relative!important}@keyframes slide-down-home{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}}.home::-webkit-scrollbar{width:6px}.device-panel::-webkit-scrollbar{width:6px}.properties-panel::-webkit-scrollbar{width:6px}.home::-webkit-scrollbar-track{background:0 0}.device-panel::-webkit-scrollbar-track{background:0 0}.properties-panel::-webkit-scrollbar-track{background:0 0}.home::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.device-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.properties-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.home::-webkit-scrollbar-button:single-button{display:none}.device-panel::-webkit-scrollbar-button:single-button{display:none}.properties-panel::-webkit-scrollbar-button:single-button{display:none}.device-panel{scrollbar-width:thin;scrollbar-color:#1a1530 transparent}.device-panel::-webkit-scrollbar{width:6px}.device-panel::-webkit-scrollbar-track{background:0 0}.device-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.device-panel::-webkit-scrollbar-button:single-button{display:none}.toolbar{gap:var(--space-xs);background:var(--bg-panel);border-bottom:1px solid var(--border-card);width:100%;-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));z-index:10;box-sizing:border-box;flex-direction:column;flex-shrink:0;padding:.6rem 1.25rem;display:flex}.toolbar-row{align-items:center;gap:var(--space-lg);padding-inline-start:var(--space-xl);display:flex}.toolbar__btn,.home__btn{line-height:1!important}.home__toolbar{gap:var(--space-xs);background:var(--bg-panel);border-bottom:1px solid var(--border-card);width:100%;-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));box-sizing:border-box;flex-direction:column;flex-shrink:0;padding:.6rem 1.25rem;display:flex}.home__toolbar-row{align-items:center;gap:var(--space-lg);padding-inline-start:var(--space-xl);display:flex}.home__burger{display:none}.toolbar__btn{align-items:center;gap:var(--space-sm);font-size:var(--text-subtitle);color:var(--text-primary);background:var(--bg-btn-base);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration), color var(--transition-duration);padding:.4rem .9rem;font-weight:500;display:inline-flex}.toolbar__btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.toolbar__btn:active{border-color:var(--accent-dark);background:var(--bg-pressed)}.app-root{flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.device-panel{background:var(--bg-surface);border-right:1px solid var(--border-subtle);gap:var(--space-md);flex-direction:column;flex-shrink:0;width:220px;max-height:calc(100dvh - 4.5rem);padding:1rem .75rem;display:flex;overflow-y:auto}.flow-handle:after{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px}.device-panel__title{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 .25rem;font-weight:600}.device-panel__list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.device-card{align-items:center;gap:var(--space-md);width:100%;font-size:var(--text-body);color:var(--text-primary);border:1px solid var(--bg-hover);border-radius:var(--radius-md);cursor:grab;transition:background var(--transition-duration), border-color var(--transition-duration), box-shadow var(--transition-duration);background:#1e1b3299;padding:.55rem .75rem;font-weight:500;display:flex}.device-card:hover{background:var(--bg-btn-base);border-color:var(--border-muted-md);box-shadow:0 0 8px var(--accent-glow-light)}.device-card__icon{flex-shrink:0}.network-canvas{background:var(--bg-base);flex:1;min-width:0;position:relative;overflow:hidden}.network-canvas>.react-flow{position:absolute!important;inset:0!important}.properties-panel{background:var(--bg-surface);border-left:1px solid var(--border-subtle);gap:var(--space-md);flex-direction:column;flex-shrink:0;width:260px;padding:1rem .75rem;display:flex;overflow-y:auto}.properties-panel__title{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 .25rem;font-weight:600}.properties-panel__hint{font-size:var(--text-subtitle);color:var(--text-muted);margin:0;line-height:1.5}.properties-panel__section{gap:var(--space-md);flex-direction:column;display:flex}.properties-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--border-subtle);margin:0;padding-bottom:.25rem;font-size:.7rem;font-weight:600}.properties-ip-row{gap:var(--space-xs);align-items:flex-end;display:flex}.properties-ip-row>.properties-field:first-child{flex:3}.properties-check-row{gap:var(--space-lg);align-items:center;display:flex}.properties-checkbox{align-items:center;gap:var(--space-xs);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.85rem;display:inline-flex}.properties-checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:1rem;height:1rem}.properties-checkbox__label{color:var(--text-primary)}.properties-ip-row>.properties-field:last-child{flex:1;min-width:3rem;max-width:5rem}.properties-field{flex-direction:column;gap:.3rem;display:flex}.properties-field__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.75rem;font-weight:600}.properties-field__value{font-size:var(--text-body);color:var(--text-primary)}.properties-field--readonly .properties-field__value{color:var(--text-disabled);font-style:italic}.properties-field__input{font-size:var(--text-body);color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-sm);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);background:#1e1b32b3;outline:none;padding:.4rem .55rem;font-family:inherit}.properties-field__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.properties-field__input--invalid{border-color:var(--error)}.flow-node{align-items:center;gap:var(--space-sm);border:1.5px solid var(--border-card);min-width:90px;transition:box-shadow var(--transition-duration), border-color var(--transition-duration), background var(--transition-duration);-webkit-user-select:none;user-select:none;resize:none;background:#161428e6;border-radius:.65rem;flex-direction:column;padding:.75rem .85rem;display:flex}.flow-node:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow-light)}.flow-node--triangle,.flow-node--diamond,.flow-node--triangle:hover,.flow-node--diamond:hover{box-shadow:none!important}.react-flow__node.selected .flow-node{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow-light)}.flow-node--triangle,.flow-node--diamond{box-shadow:none!important}.flow-node--circle{resize:none;overflow:visible;border-radius:50%!important;padding:0!important}.flow-node--circle .flow-node__card{padding:1.2rem 0}.flow-node--triangle{overflow:visible;background:0 0!important;border-color:#0000!important;border-radius:0!important;padding:0!important}.flow-node--triangle .flow-node__card{padding:1.6rem 0}.flow-node--diamond{overflow:visible;background:0 0!important;border-color:#0000!important;border-radius:0!important;padding:0!important}.flow-node--diamond .flow-node__card{padding:1.2rem 0}.flow-node__icon{background:var(--bg-element);border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.flow-node__card{flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex}.flow-node__icon-col{flex-shrink:0}.flow-node__info{flex-direction:column;align-items:center;gap:.2rem;display:flex}.flow-node__label{font-size:var(--text-label);color:var(--text-primary);white-space:nowrap;font-weight:600}.flow-node__rename-overlay{z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.flow-node__rename-input{width:80%;max-width:140px;font-size:var(--text-label);color:var(--text-primary);border-radius:var(--radius-sm);text-align:center;pointer-events:auto;background:#1e1b37f2;border:1.5px solid #0000;outline:none;padding:4px 8px;font-weight:600}.flow-node__rename-input:focus{box-shadow:0 0 12px var(--accent-glow);border-color:var(--accent)}.flow-handle{background:var(--accent-bg-handle)!important;pointer-events:all!important;width:10px!important;height:10px!important;box-shadow:none!important;border:none!important;border-radius:50%!important}.flow-handle--t-top,.flow-handle--s-top,.flow-handle--t-bottom,.flow-handle--s-bottom{left:50%!important}.flow-handle--t-left,.flow-handle--s-left,.flow-handle--t-right,.flow-handle--s-right{top:50%!important}.flow-handle--t-top-secondary,.flow-handle--s-top-secondary,.flow-handle--t-bottom-secondary,.flow-handle--s-bottom-secondary{left:calc(50% + 30px)!important}.flow-handle--t-left-secondary,.flow-handle--s-left-secondary,.flow-handle--t-right-secondary,.flow-handle--s-right-secondary{top:calc(50% + 30px)!important}.flow-handle--t-top-tertiary,.flow-handle--s-top-tertiary,.flow-handle--t-bottom-tertiary,.flow-handle--s-bottom-tertiary{left:calc(50% - 30px)!important}.flow-handle--t-left-tertiary,.flow-handle--s-left-tertiary,.flow-handle--t-right-tertiary,.flow-handle--s-right-tertiary{top:calc(50% - 30px)!important}.flow-node--mini .flow-handle--t-top,.flow-node--mini .flow-handle--s-top,.flow-node--mini .flow-handle--t-bottom,.flow-node--mini .flow-handle--s-bottom{visibility:visible!important;left:50%!important}.flow-node--mini .flow-handle--t-left,.flow-node--mini .flow-handle--s-left,.flow-node--mini .flow-handle--t-right,.flow-node--mini .flow-handle--s-right{visibility:visible!important;top:50%!important}.flow-node--mini .flow-handle--t-top-secondary,.flow-node--mini .flow-handle--s-top-secondary,.flow-node--mini .flow-handle--t-bottom-secondary,.flow-node--mini .flow-handle--s-bottom-secondary{visibility:hidden!important;left:calc(50% + 30px)!important}.flow-node--mini .flow-handle--t-left-secondary,.flow-node--mini .flow-handle--s-left-secondary,.flow-node--mini .flow-handle--t-right-secondary,.flow-node--mini .flow-handle--s-right-secondary{visibility:hidden!important;top:calc(50% + 30px)!important}.flow-node--mini .flow-handle--t-top-tertiary,.flow-node--mini .flow-handle--s-top-tertiary,.flow-node--mini .flow-handle--t-bottom-tertiary,.flow-node--mini .flow-handle--s-bottom-tertiary{visibility:hidden!important;left:calc(50% - 30px)!important}.flow-node--mini .flow-handle--t-left-tertiary,.flow-node--mini .flow-handle--s-left-tertiary,.flow-node--mini .flow-handle--t-right-tertiary,.flow-node--mini .flow-handle--s-right-tertiary{visibility:hidden!important;top:calc(50% - 30px)!important}.flow-node--extended .flow-handle--t-top,.flow-node--extended .flow-handle--s-top,.flow-node--extended .flow-handle--t-bottom,.flow-node--extended .flow-handle--s-bottom{visibility:visible!important;left:50%!important}.flow-node--extended .flow-handle--t-left,.flow-node--extended .flow-handle--s-left,.flow-node--extended .flow-handle--t-right,.flow-node--extended .flow-handle--s-right,.flow-node--extended-sides .flow-handle--t-left,.flow-node--extended-sides .flow-handle--s-left,.flow-node--extended-sides .flow-handle--t-right,.flow-node--extended-sides .flow-handle--s-right{visibility:visible!important;top:50%!important}.flow-node--extended-sides .flow-handle--t-top-tertiary,.flow-node--extended-sides .flow-handle--s-top-tertiary,.flow-node--extended-sides .flow-handle--t-bottom-tertiary,.flow-node--extended-sides .flow-handle--s-bottom-tertiary{visibility:hidden!important;left:calc(50% - 30px)!important}.flow-node.is-hovered .flow-handle,.flow-handle:hover{background:var(--accent)!important;box-shadow:0 0 6px var(--accent-glow)!important}.text-node{background:var(--bg-primary);border:1px solid var(--border-subtle);cursor:default;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;padding:clamp(.35rem,.3em,1rem) clamp(.55rem,.45em,1.2rem);transition:box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000040}.text-node:hover{box-shadow:0 2px 8px #00000059}.react-flow__node.selected .text-node{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow-light)}.text-node[data-borderless=true]{box-shadow:none!important;background:0 0!important;border:none!important}.text-node[data-theme=purple]{border:1px solid var(--border-card);box-shadow:none;background:#161428d9}.text-node[data-theme=purple]:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow-light);background:#1e1b37f2}.text-node[data-theme=purple]>.text-node__label{font-weight:600}.text-node[data-theme=purple] .text-node__input{color:var(--text-primary)!important}.text-node__label{color:var(--text-primary);cursor:text;text-align:center;outline:none}.text-node__input{color:var(--text-primary);text-align:center;cursor:text;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;width:100%}.react-flow__pane{cursor:grab!important}.react-flow__pane:active{cursor:grabbing!important}.react-flow__footer{display:none!important}.react-flow__edge-path{stroke:var(--edge)!important;stroke-width:2px!important}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent)!important;stroke-width:2.4px!important;filter:drop-shadow(0 0 4px var(--accent-glow))!important}.react-flow__connection-line{stroke:var(--accent)!important;stroke-width:2px!important;stroke-dasharray:6 4!important}.react-flow__node{filter:none!important;outline:none!important}.edge-label{color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:auto;cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration);-webkit-user-select:none;user-select:none;background:#161428d9;padding:2px 8px;font-size:.75rem;font-weight:600}.edge-label:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow-light);background:#1e1b37f2}.edge-label-input{color:var(--text-primary);border:1.5px solid var(--accent);border-radius:var(--radius-sm);box-shadow:0 0 12px var(--accent-glow);text-align:center;background:#161428f2;outline:none;padding:4px 8px;font-size:.75rem;font-weight:600}.edge-label-input::placeholder{color:var(--text-muted);font-weight:400}.edge-label-input:focus{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.toolbar__burger{display:none}.toolbar__nav-mobile-wrap{top:var(--header-height,3rem);z-index:51;background:var(--bg-panel);border-bottom:1px solid var(--border-card);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));gap:var(--space-sm);padding:var(--space-md) var(--space-xl);animation:slide-down var(--transition-duration) ease-out;flex-direction:column;display:flex;position:fixed;left:0;right:0}.toolbar__nav-mobile-wrap>*{width:100%;justify-content:center!important}@media (width<=768px){.toolbar__burger{justify-content:center;align-items:center;min-width:2.8rem;padding:.4rem .65rem;font-size:1rem;display:inline-flex!important}.toolbar{flex-shrink:0;height:auto!important;position:relative!important}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.home__nav-mobile-wrap{top:var(--header-height,3rem);z-index:51;background:var(--bg-panel);border-bottom:1px solid var(--border-card);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));gap:var(--space-sm);padding:var(--space-md) var(--space-xl);animation:slide-down-home var(--transition-duration) ease-out;flex-direction:column;display:flex;position:fixed;left:0;right:0}.home__nav-mobile-wrap>*{width:100%;justify-content:center!important}.home__toolbar{flex-shrink:0;height:auto!important;position:relative!important}@keyframes slide-down-home{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}}.home::-webkit-scrollbar{width:6px}.device-panel::-webkit-scrollbar{width:6px}.properties-panel::-webkit-scrollbar{width:6px}.home::-webkit-scrollbar-track{background:0 0}.device-panel::-webkit-scrollbar-track{background:0 0}.properties-panel::-webkit-scrollbar-track{background:0 0}.home::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.device-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.properties-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.home::-webkit-scrollbar-button:single-button{display:none}.device-panel::-webkit-scrollbar-button:single-button{display:none}.properties-panel::-webkit-scrollbar-button:single-button{display:none}.context-menu__wrapper{z-index:9997;position:fixed;inset:0}.context-menu{z-index:9998;padding:var(--space-xs);background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-sm);min-width:160px;-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));flex-direction:column;display:flex;position:fixed;box-shadow:0 4px 12px #0000004d}.context-menu__item{align-items:center;gap:var(--space-sm);width:100%;padding:.45rem var(--space-md);font-size:var(--text-body);color:var(--text-primary);border-radius:var(--radius-xs);cursor:pointer;text-align:left;transition:background var(--transition-duration), color var(--transition-duration);background:0 0;border:none;font-family:inherit;display:flex}.context-menu__item:hover{background:var(--bg-hover)}.context-menu__label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.context-menu__label--danger{color:var(--error)}.import-toast{border-radius:var(--radius-md);z-index:100;padding:.6rem 1.25rem;font-size:.875rem;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.import-toast--success{background:var(--success-bg);color:#fff}.import-toast--error{background:var(--error);color:#fff}.home::-webkit-scrollbar{width:6px}.device-panel::-webkit-scrollbar{width:6px}.properties-panel::-webkit-scrollbar{width:6px}.home::-webkit-scrollbar-track{background:0 0}.device-panel::-webkit-scrollbar-track{background:0 0}.properties-panel::-webkit-scrollbar-track{background:0 0}.home::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.device-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.properties-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.home::-webkit-scrollbar-button:single-button{display:none}.device-panel::-webkit-scrollbar-button:single-button{display:none}.properties-panel::-webkit-scrollbar-button:single-button{display:none}.confirm-dialog{z-index:9999;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(380px,90vw);padding:1.5rem;display:flex}.confirm-dialog__title{font-size:var(--text-title);color:var(--text-primary);margin:0;font-weight:600}.confirm-dialog__message{font-size:var(--text-subtitle);color:var(--text-muted);margin:0;line-height:1.5}.confirm-dialog__actions{gap:var(--space-lg);justify-content:flex-end;margin-top:.25rem;display:flex}.confirm-dialog__btn{font-size:var(--text-body);color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration);background:#1e1b32cc;padding:.45rem 1rem;font-family:inherit;font-weight:500}.confirm-dialog__btn:hover{border-color:var(--border-muted-md);background:var(--bg-hover)}.confirm-dialog__btn--cancel:focus-visible,.confirm-dialog__btn--confirm:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.confirm-dialog__btn--confirm:hover{border-color:var(--error);color:#fca5a5;background:#f8717126}.help-modal{z-index:9998;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#0f172ab3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-sm);flex-direction:column;width:min(600px,85vw);max-height:80vh;padding:1.5rem;display:flex;overflow:hidden;box-shadow:0 8px 30px #0006}.help-modal__header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.help-modal__title{font-size:var(--text-title);color:var(--text-primary);margin:0;font-weight:600}.help-modal__close{border:1px solid var(--border-muted-md);border-radius:var(--radius-xs);width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--text-body);background:0 0;justify-content:center;align-items:center;display:flex}.help-modal__close:hover{border-color:var(--accent);color:var(--text-primary)}.help-modal__body{flex:1;overflow-y:auto}.help-modal__section{margin-bottom:var(--space-lg)}.help-modal__subtitle{margin:0 0 calc(var(--space-xs) / 2);font-size:var(--text-body);color:var(--accent);font-weight:600}.help-modal__text{font-size:var(--text-subtitle);color:var(--text-muted);margin:0;line-height:1.5}.help-modal__footer{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-subtle);justify-content:flex-end;display:flex}.help-modal__btn{padding:calc(var(--space-xs) / 1.5) 1rem;font-size:var(--text-body);border:1px solid var(--border-muted-md);border-radius:var(--radius-xs);color:var(--accent);cursor:pointer;background:0 0;font-weight:500}.help-modal__btn:hover{border-color:var(--accent);background:var(--bg-hover)}.font-size-modal{z-index:9999;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.font-size-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(340px,90vw);padding:1.25rem;display:flex}.font-size-modal__header{justify-content:space-between;align-items:center;display:flex}.font-size-modal__title{font-size:var(--text-title);color:var(--text-primary);margin:0;font-weight:600}.font-size-modal__close{border:1px solid var(--border-muted-md);border-radius:var(--radius-xs);width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--text-body);background:0 0;justify-content:center;align-items:center;display:flex}.font-size-modal__close:hover{border-color:var(--accent);color:var(--text-primary)}.font-size-modal__body{gap:var(--space-md);flex-direction:column;display:flex}.font-size-modal__label-row{font-size:var(--text-subtitle);color:var(--text-muted)}.font-size-modal__slider{appearance:none;background:var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;outline:none;width:100%;height:6px}.font-size-modal__slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:grab;width:18px;height:18px;transition:box-shadow var(--transition-duration);border-radius:50%}.font-size-modal__slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 3px #6366f140}.font-size-modal__slider::-moz-range-thumb{background:var(--accent);cursor:grab;border:none;border-radius:50%;width:18px;height:18px}.font-size-modal__number-row{align-items:center;gap:var(--space-sm);display:flex}.font-size-modal__number-input{width:72px;padding:calc(var(--space-xs) / 1.5) var(--space-sm);font-size:var(--text-body);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-card);border-radius:var(--radius-xs);text-align:center;transition:border-color var(--transition-duration);outline:none;font-family:inherit}.font-size-modal__number-input:focus{border-color:var(--accent)}.font-size-modal__unit{font-size:var(--text-body);color:var(--text-muted)}.font-size-modal__footer{justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-xs);border-top:1px solid var(--border-subtle);display:flex}.font-size-modal__btn{padding:calc(var(--space-xs) / 1.5) 1rem;font-size:var(--text-body);border:1px solid var(--border-muted-md);border-radius:var(--radius-xs);color:var(--accent);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration);background:0 0;font-family:inherit;font-weight:500}.font-size-modal__btn:hover{border-color:var(--accent);background:#6366f126}.font-size-modal__btn--primary{color:var(--accent);border-color:var(--accent)}.font-size-modal__btn--primary:hover{color:#fff;background:#6366f140}.theme-modal{z-index:9999;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.theme-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(380px,90vw);padding:1.25rem;display:flex}.theme-modal__header{justify-content:space-between;align-items:center;display:flex}.theme-modal__title{font-size:var(--text-title);color:var(--text-primary);margin:0;font-weight:600}.theme-modal__close{border:1px solid var(--border-muted-md);border-radius:var(--radius-xs);width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--text-body);background:0 0;justify-content:center;align-items:center;display:flex}.theme-modal__close:hover{border-color:var(--accent);color:var(--text-primary)}.theme-modal__body{gap:var(--space-md);display:flex}.theme-card{padding:var(--space-md) var(--space-sm);border-radius:var(--radius-md);background:var(--bg-input);cursor:pointer;gap:var(--space-sm);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);border:2px solid #0000;flex-direction:column;flex:1;align-items:center;display:flex}.theme-card:hover{border-color:var(--border-muted-md)}.theme-card--active{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow-light)}.theme-card__preview{aspect-ratio:3;justify-content:center;align-items:center;width:100%;display:flex}.theme-card__label{font-size:var(--text-subtitle);color:var(--text-muted);text-align:center}.theme-modal__footer{justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-xs);border-top:1px solid var(--border-subtle);display:flex}.theme-modal__btn{padding:calc(var(--space-xs) / 1.5) 1rem;font-size:var(--text-body);border:1px solid var(--border-muted-md);border-radius:var(--radius-xs);color:var(--accent);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration);background:0 0;font-family:inherit;font-weight:500}.theme-modal__btn:hover{border-color:var(--accent);background:var(--bg-accent-hover)}.theme-modal__btn--purple{color:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent-glow-light)}.theme-modal__btn--purple:hover{background:var(--bg-accent-active);color:var(--accent-light)}.shape-modal{z-index:10000;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shape-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(380px,90vw);padding:1.5rem;display:flex}.shape-modal__header{justify-content:space-between;align-items:center;display:flex}.shape-modal__title{font-size:var(--text-title);color:var(--text-primary);margin:0;font-weight:600}.shape-modal__close{border-radius:var(--radius-xs);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.shape-modal__close:hover{background:var(--bg-hover);color:var(--text-primary)}.shape-modal__body{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.shape-card{align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-duration), box-shadow var(--transition-duration);background:0 0;flex-direction:column;display:flex}.shape-card:hover{border-color:var(--accent)}.shape-card--active{box-shadow:0 0 8px #a78bfa33;border-color:var(--accent)!important}.shape-card__preview{justify-content:center;align-items:center;width:100%;height:48px;display:flex}.shape-card__label{font-size:var(--text-small);color:var(--text-primary);white-space:nowrap}.shape-modal__footer{gap:var(--space-md);display:flex}.shape-modal__btn{font-size:var(--text-body);color:var(--text-primary);background:var(--bg-btn-base);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration), color var(--transition-duration);flex:1;padding:.5rem 1.25rem;font-family:inherit;font-weight:500}.shape-modal__btn:hover{background:var(--bg-hover);border-color:var(--border-muted-md)}.shape-modal__btn--active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent-glow-light)}.shape-modal__btn--active:hover{color:var(--accent-light);background:#6366f126}.connections-modal{z-index:10000;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.connections-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(380px,90vw);padding:1.5rem;display:flex}.connections-modal__body{gap:var(--space-md);flex-direction:column;display:flex}.connections-card{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-duration), box-shadow var(--transition-duration);background:0 0;display:flex}.connections-card:hover{border-color:var(--accent)}.connections-card--active{box-shadow:0 0 8px #a78bfa33;border-color:var(--accent)!important}.connections-card__preview{flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.connections-card__info{gap:var(--space-xs);text-align:left;flex-direction:column;display:flex}.connections-card__desc{font-size:var(--text-subtitle);color:var(--text-muted)}.home::-webkit-scrollbar{width:6px}.device-panel::-webkit-scrollbar{width:6px}.properties-panel::-webkit-scrollbar{width:6px}.home::-webkit-scrollbar-track{background:0 0}.device-panel::-webkit-scrollbar-track{background:0 0}.properties-panel::-webkit-scrollbar-track{background:0 0}.home::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.device-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.properties-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.home::-webkit-scrollbar-button:single-button{display:none}.device-panel::-webkit-scrollbar-button:single-button{display:none}.properties-panel::-webkit-scrollbar-button:single-button{display:none}.auth-modal{z-index:10000;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(380px,90vw);padding:1.5rem;display:flex}.auth-modal__title{font-size:var(--text-title);color:var(--text-primary);text-align:center;margin:0;font-weight:600}.auth-modal__form{gap:var(--space-md);flex-direction:column;display:flex}.auth-modal__input{width:100%;font-size:var(--text-body);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-card);border-radius:var(--radius-sm);box-sizing:border-box;transition:border-color var(--transition-duration);outline:none;padding:.5rem .75rem;font-family:inherit}.auth-modal__input:focus{border-color:var(--accent)}.auth-modal__input::placeholder{color:var(--text-disabled)}.auth-modal__error{font-size:var(--text-small);color:var(--error);text-align:center;margin:0}.auth-modal__actions{gap:var(--space-md);justify-content:center;display:flex}.auth-modal__btn{font-size:var(--text-body);color:var(--text-primary);background:var(--bg-btn-base);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration), color var(--transition-duration);padding:.5rem 1.25rem;font-family:inherit;font-weight:500}.auth-modal__btn--primary{color:var(--accent);border-color:var(--accent)}.auth-modal__btn--primary:hover{border-color:var(--accent);color:var(--accent);background:#6366f126}.auth-modal__btn--secondary:hover{background:var(--bg-hover);border-color:var(--border-muted-md)}.auth-modal__footer{font-size:var(--text-subtitle);color:var(--text-muted);text-align:center;margin:0}.auth-modal__legal{font-size:calc(var(--text-body) * .92);color:var(--text-disabled);text-align:center;margin:0;line-height:1.5}.auth-modal__legal a{color:var(--accent);transition:opacity var(--transition-duration);text-decoration:underline}.auth-modal__legal a:hover{opacity:.8}.auth-modal__link{color:var(--accent);cursor:pointer;font-family:inherit;font-size:inherit;transition:opacity var(--transition-duration);background:0 0;border:none;text-decoration:underline}.auth-modal__link:hover{opacity:.8}.contact-form__label{margin:0 0 var(--space-xs) 0;font-size:var(--text-subtitle);color:var(--text-primary);font-weight:500}.contact-form__input{width:100%;font-size:var(--text-body);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-card);border-radius:var(--radius-sm);box-sizing:border-box;transition:border-color var(--transition-duration);outline:none;padding:.5rem .75rem;font-family:inherit}.contact-form__input:focus{border-color:var(--accent)}.contact-form__input::placeholder{color:var(--text-disabled)}.contact-form__submit{align-self:flex-start}.save-cloud-modal{z-index:9999;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.save-cloud-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--bg-input) transparent;flex-direction:column;width:min(420px,90vw);padding:1.5rem;display:flex}.save-cloud-modal__card::-webkit-scrollbar{width:6px}.save-cloud-modal__card::-webkit-scrollbar-track{background:0 0}.save-cloud-modal__card::-webkit-scrollbar-thumb{background:var(--bg-input)!important;border-radius:3px!important}.save-cloud-modal__title{font-size:var(--text-title);color:var(--text-primary);margin:0;font-weight:600}.save-cloud-modal__error{font-size:var(--text-small);color:var(--error);text-align:center;margin:0}.save-cloud-modal__section{gap:var(--space-sm);flex-direction:column;display:flex}.save-cloud-modal__subtitle{font-size:var(--text-subtitle);color:var(--text-primary);margin:0;font-weight:600}.save-cloud-modal__row{gap:var(--space-sm);display:flex}.save-cloud-modal__select{font-size:var(--text-body);color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-sm);transition:border-color var(--transition-duration);appearance:none;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right .75rem center no-repeat;outline:none;flex:1;padding:.5rem 2.5rem .5rem .75rem;font-family:inherit}.save-cloud-modal__select:hover{border-color:var(--accent)}.save-cloud-modal__select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #a78bfa40}.save-cloud-modal__select:disabled{opacity:.5;cursor:not-allowed}.save-cloud-modal__input{font-size:var(--text-body);color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-sm);transition:border-color var(--transition-duration);background:0 0;outline:none;flex:1;padding:.5rem .75rem;font-family:inherit}.save-cloud-modal__input:hover{border-color:var(--accent)}.save-cloud-modal__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #a78bfa40}.save-cloud-modal__input:disabled{opacity:.5;cursor:not-allowed}.save-cloud-modal__select::placeholder,.save-cloud-modal__input::placeholder{color:var(--text-disabled)}.save-cloud-modal__dropdown{flex:1;position:relative}.save-cloud-modal__dropdown-trigger{align-items:center;gap:var(--space-sm);font-size:var(--text-body);color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-duration);-webkit-user-select:none;user-select:none;background:0 0;padding:.5rem 2rem .5rem .75rem;font-family:inherit;display:flex}.save-cloud-modal__dropdown-trigger:hover{border-color:var(--accent)}.save-cloud-modal__dropdown-chevron{color:var(--accent);pointer-events:none;flex-shrink:0}.save-cloud-modal__dropdown-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.save-cloud-modal__dropdown-list{z-index:100;scrollbar-width:thin;scrollbar-color:var(--bg-input) transparent;background:var(--bg-panel);border:1px solid var(--border-card);border-radius:var(--radius-sm);max-height:240px;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.save-cloud-modal__dropdown-list::-webkit-scrollbar{width:6px}.save-cloud-modal__dropdown-list::-webkit-scrollbar-track{background:0 0}.save-cloud-modal__dropdown-list::-webkit-scrollbar-thumb{background:var(--bg-input)!important;border-radius:3px!important}.save-cloud-modal__dropdown-list::-webkit-scrollbar-button:single-button{display:none}.save-cloud-modal__dropdown-item{font-size:var(--text-body);color:var(--text-primary);cursor:pointer;transition:background var(--transition-duration), color var(--transition-duration);padding:.4rem .75rem;font-family:inherit}.save-cloud-modal__dropdown-item:hover{background:var(--bg-btn-base);color:var(--accent)}.save-cloud-modal__dropdown-item--active,.save-cloud-modal__dropdown-item--active:hover{background:var(--accent);color:#fff;font-weight:500}.save-cloud-modal__footer{justify-content:flex-end;margin-top:.25rem;display:flex}.save-cloud-modal__slot-message{font-size:var(--text-small);color:var(--text-muted);margin:0}.subscription-modal{z-index:10001;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.subscription-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(96vw,1300px);max-height:90vh;padding:2rem;display:flex;overflow-y:auto}.subscription-modal__title{font-size:var(--text-title);color:var(--text-primary);text-align:center;margin:0;font-weight:600}.subscription-modal__subtitle{font-size:var(--text-subtitle);color:var(--text-muted);text-align:center;margin:0}.subscription-plan-row{gap:var(--space-lg);padding-bottom:var(--space-xs);display:flex;overflow-x:auto}.subscription-plan-row::-webkit-scrollbar{height:4px}.subscription-plan-row::-webkit-scrollbar-track{background:0 0}.subscription-plan-row::-webkit-scrollbar-thumb{background:var(--bg-input);border-radius:2px}.subscription-plan{min-width:170px;padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-md);gap:var(--space-md);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);flex-direction:column;flex:1 0 180px;display:flex}.subscription-plan>h3{padding-top:10px}.subscription-plan:hover{border-color:var(--accent);box-shadow:0 0 12px #a78bfa26}.subscription-plan--featured{border-color:var(--accent-dark);background:linear-gradient(#7c3aed0f,#0000);position:relative}.subscription-plan__badge{top:calc(var(--space-sm) * -1);right:var(--space-sm);padding:2px var(--space-md);font-size:var(--text-small);color:#fff;background:linear-gradient(90deg, var(--accent-dark), var(--accent));border-radius:var(--radius-sm);font-weight:600;position:absolute}.subscription-plan__name{font-size:var(--text-subtitle);color:var(--text-primary);margin:0;font-weight:600}.subscription-plan__price{font-size:var(--text-title);color:var(--accent);margin:0;font-weight:700}.subscription-plan__period{font-size:var(--text-subtitle);color:var(--text-muted);font-weight:400}.subscription-plan__features{gap:var(--space-sm);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.subscription-plan__feature{font-size:var(--text-subtitle);color:var(--text-muted);line-height:1.4}.subscription-plan__check{color:var(--accent);margin-inline-end:var(--space-xs);font-weight:700}.subscription-plan__cta{align-self:stretch}.subscription-modal__actions{justify-content:center;gap:var(--space-md);display:flex}.subscription-plan--active{border-color:var(--success-text);box-shadow:0 0 16px #22c55e2e}.subscription-plan--active:hover{border-color:var(--success-text);box-shadow:0 0 20px #22c55e40}.subscription-plan__active-label{padding:2px var(--space-md);font-size:var(--text-small);color:#fff;background:var(--success-bg);border-radius:var(--radius-sm);text-align:center;font-weight:600}.subscription-plan__cta--disabled{filter:grayscale();cursor:not-allowed;pointer-events:none;opacity:.4!important;background-color:var(--bg-disabled)!important;color:var(--text-disabled-btn)!important;border-color:#0000!important}.home{background:var(--bg-surface);box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden auto}.home__toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border-card);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));flex-shrink:0;padding:.6rem 1.25rem;display:flex}.home__toolbar-row{align-items:center;gap:var(--space-lg);width:100%;box-sizing:border-box;padding-inline-start:var(--space-xl);display:flex}.home__logo{color:var(--accent);letter-spacing:.06em;-webkit-user-select:none;user-select:none;font-size:.95rem;font-weight:700}.home__btn{align-items:center;gap:var(--space-sm);font-size:var(--text-subtitle);color:var(--text-primary);background:var(--bg-btn-base);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration), color var(--transition-duration);padding:.4rem .9rem;font-weight:500;text-decoration:none;display:inline-flex}.home__btn:hover{background:var(--bg-highlight-faint);border-color:var(--accent);color:var(--accent)}.home__btn--primary{letter-spacing:.04em;font-weight:700}.home__btn--large{padding:var(--space-md) 2.5rem;font-size:var(--text-title)}a.home__btn,button.home__btn{align-items:center;gap:var(--space-sm);font-size:var(--text-subtitle);color:var(--text-primary);background:var(--bg-btn-base);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration), color var(--transition-duration);padding:.4rem .9rem;font-weight:500;text-decoration:none;display:inline-flex}a.home__btn:hover,button.home__btn:hover{background:var(--bg-highlight-faint);border-color:var(--accent);color:var(--accent)}.home__btn--warning{color:var(--error)}.home__content{flex-direction:column;flex:none;display:flex}.home-section{width:100%;min-height:75vh;padding:var(--space-xl) var(--space-xl);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;display:flex}.home-hero{text-align:center;min-height:100vh;padding:calc(var(--space-xl) * 3) var(--space-xl) var(--space-xl);justify-content:center;align-items:center;gap:var(--space-xl);background:var(--bg-base);flex-direction:column;max-width:100%;display:flex;position:relative;overflow:hidden}.home-hero__video{z-index:0;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.home-hero__overlay{z-index:1;background:linear-gradient(var(--bg-base), #26036133 90%);pointer-events:none;position:absolute;inset:0}.home-hero>:not(.home-hero__video):not(.home-hero__overlay){z-index:2;position:relative}a.home-hero__cta,button.home-hero__cta{padding:var(--space-md) 2.5rem;font-size:var(--text-title);letter-spacing:.04em;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.home-section__heading{margin:0 0 var(--space-md);font-size:calc(var(--text-title) * 2);color:var(--accent);text-align:center;font-weight:700}.home-hero__title{font-size:calc(var(--text-title) * 4);color:var(--accent);letter-spacing:-.02em;max-width:100%;margin:0;font-weight:800;line-height:1.05}.home-hero__subtitle{font-size:calc(var(--text-title) * 1.8);color:var(--text-primary);max-width:100%;margin:0;font-weight:700}.home-hero__tagline{font-size:var(--text-body);color:var(--text-muted);max-width:540px;margin:0;line-height:1.6}.home-hero__cta{padding:var(--space-md) 2.5rem;font-size:var(--text-title);letter-spacing:.04em;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.home-comparison{background:var(--bg-highlight-faint)}.home-comparison__inner{text-align:center;flex-direction:column;align-items:center;max-width:720px;margin:0 auto;display:flex}.home-comparison__list{margin:var(--space-md) 0;gap:var(--space-sm);flex-direction:column;max-width:720px;padding:0;list-style:none;display:flex}.home-comparison__list li{color:var(--text-muted);font-size:var(--text-title);padding-inline-start:calc(var(--space-xl) * 1.2);line-height:1.6;position:relative}.home-comparison__cta{font-size:var(--text-body);color:var(--text-primary);border-top:1px solid var(--border-subtle);padding-top:var(--space-md);margin-top:var(--space-sm)}.home-tossup__row{justify-content:center;align-items:center;gap:var(--space-xl);width:100%;margin-top:var(--space-xl);display:flex}.home-tossup__figure{align-items:center;gap:var(--space-sm);flex-direction:column;flex:1;max-width:540px;display:flex;position:relative}.home-tossup__figure img{border-radius:var(--radius-sm);border:2px solid var(--border-subtle);width:100%}.home-tossup__figure--good img{border-color:var(--accent);box-shadow:0 0 24px var(--accent-glow-light)}.home-tossup__indicator{top:var(--space-md);right:var(--space-md);width:32px;height:32px;font-size:var(--text-title);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute}.home-tossup__indicator--cross{color:#fff;background:#f87171e6}.home-tossup__indicator--tick{background:var(--accent-bg-indicator);color:#fff}.home-tossup__vs{font-size:calc(var(--text-title) * 2);color:var(--accent);flex-shrink:0;font-weight:800}@media (width<=768px){.home-tossup__row{gap:var(--space-md);flex-direction:column}.home-tossup__figure{max-width:100%}}.home-feature{gap:var(--space-lg)}.home-feature_vertical{gap:var(--space-lg);min-height:100vh}.home-feature__media{border-radius:var(--radius-sm);border:1px solid var(--border-card)}.home-feature__media-video{border-radius:var(--radius-sm);border:1px solid var(--border-card);max-width:100%;height:70vh}.home-feature__media-big{border-radius:var(--radius-sm);border:1px solid var(--border-card);width:100%;max-width:960px;margin:0 auto;display:block}.home-feature__heading-right{font-size:calc(var(--text-title) * 2);color:var(--accent);text-align:center;font-weight:800;line-height:1.15}.home-feature__tagline{margin-top:calc(var(--space-xs) / 2);font-size:calc(var(--text-body) * 1.4);color:var(--text-muted);text-align:right;font-weight:400;display:block}.home-feature__heading-center{font-size:calc(var(--text-title) * 2);color:var(--accent);margin-bottom:var(--space-xs);font-weight:700}.home-feature__heading-block-right{text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;display:flex}.home-feature__desc-right{font-size:calc(var(--text-body) * 1.4);color:var(--text-muted);text-align:right;line-height:1.6}.home-feature__desc-center{font-size:var(--text-body);color:var(--text-muted);line-height:1.6}.home-feature__text-row{align-items:center;gap:var(--space-2xl);width:85vw;max-width:100%;display:flex}.home-feature__text-row--left{flex-direction:row-reverse}@media (width<=768px){.home-feature__text-row,.home-feature__text-row--left{gap:var(--space-xl);flex-direction:column;width:100%}.home-feature__heading-right,.home-feature__tagline{text-align:center}}.home-feature__media-row--centered{justify-content:center;align-items:center;gap:var(--space-xl);width:100%;max-width:100%;margin-top:var(--space-lg);min-height:70vh;display:flex}.home-feature__media-row--centered figure{align-items:center;gap:var(--space-sm);flex-direction:column;flex:1;max-width:100%;display:flex}.home-feature>.home-feature__text-row--left>img{width:auto;max-width:100%}.home-feature__snap{border-radius:var(--radius-sm);border:1px solid var(--border-card);object-fit:cover;max-width:100%}.home-feature__media-row--centered figcaption{font-size:var(--text-subtitle);color:var(--text-muted);text-align:center}.home-scalability{gap:var(--space-xl);min-height:100vh}.home-scalability__answer{font-size:calc(var(--text-title) * 2.5);color:var(--accent);font-weight:800}.home-footer{width:100%;padding:var(--space-xl);border-top:1px solid var(--border-subtle);background:var(--bg-panel);justify-content:center;align-items:center;display:flex}@media (width<=768px){.home-footer>div{flex-wrap:wrap;justify-content:center}.home-footer p{text-align:center;width:100%;margin-bottom:var(--space-sm)}}.home-footer p{font-size:var(--text-small);color:var(--text-disabled);margin:0}.home-pricing{text-align:center;background:var(--bg-highlight-faint);min-height:50vh}.home-pricing__grid{justify-content:center;gap:var(--space-xl);max-width:1200px;padding:0 var(--space-lg);margin:0 auto;display:flex}.home-pricing__grid>div{flex:1 0 160px;min-width:150px;max-width:240px;min-height:220px}@media (width<=768px){.home-pricing__grid{grid-template-columns:repeat(2,1fr);max-width:480px;display:grid}.home-pricing__grid>div{flex:none;min-width:0;max-width:none}}.home-pricing__grid>div>h3{padding-top:10px}.not-found{text-align:center;min-height:100vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.not-found__inner{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.not-found__title{font-size:calc(var(--text-title) * 8);color:var(--accent);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1}.not-found__subtitle{font-size:var(--text-title);color:var(--text-primary);margin:0;font-weight:700}.not-found__desc{font-size:var(--text-body);color:var(--text-muted);max-width:420px;margin:0;line-height:1.6}html,body{background:var(--bg-base);height:100dvh;color:var(--text-primary);margin:0;padding:0;overflow-x:hidden}#root{box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.home,.device-panel,.properties-panel{scrollbar-width:thin;scrollbar-color:#1a1530 transparent}.home::-webkit-scrollbar{width:6px}.device-panel::-webkit-scrollbar{width:6px}.properties-panel::-webkit-scrollbar{width:6px}.home::-webkit-scrollbar-track{background:0 0}.device-panel::-webkit-scrollbar-track{background:0 0}.properties-panel::-webkit-scrollbar-track{background:0 0}.home::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.device-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.properties-panel::-webkit-scrollbar-thumb{background:#1a1530!important;border-radius:3px!important}.home::-webkit-scrollbar-button:single-button{display:none}.device-panel::-webkit-scrollbar-button:single-button{display:none}.properties-panel::-webkit-scrollbar-button:single-button{display:none}:root{--bg-base:#0b0f19;--bg-panel:#121223;--bg-surface:#0f0f1e;--text-primary:#e2e8f0;--text-muted:#94a3b8;--text-disabled:#6d7281;--accent:#a78bfa;--accent-dark:#7c3aed;--edge:#6366f1;--error:#dc2626;--bg-btn-base:#7c3aed1f;--bg-hover:#7c3aed26;--bg-pressed:#7c3aed40;--bg-element:#7c3aed14;--bg-highlight-faint:#7c3aed0a;--bg-input:#1a1a30;--bg-accent-hover:#a78bfa26;--bg-accent-active:#a78bfa40;--accent-light:#c4b5fd;--success-bg:#16a34a;--success-text:#22c55e;--bg-disabled:#333;--text-disabled-btn:#888;--glow-subtle:#a78bfa2e;--glow-deep:#7c3aed66;--accent-glow:#a78bfa80;--accent-glow-light:#a78bfa4d;--accent-bg-indicator:#a78bfae6;--accent-bg-handle:#a78bfa33;--border-card:#7c3aed4d;--border-subtle:#94a3b840;--border-muted-md:#94a3b859;--blur-lg:6px;--blur-md:4px;--radius-sm:.4rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xs:.25rem;--transition-duration:.15s ease;--text-title:1.1rem;--text-subtitle:.9rem;--text-body:.85rem;--text-label:.78rem;--text-small:.72rem;--space-xs:.25rem;--space-sm:.35rem;--space-md:.6rem;--space-lg:.75rem;--space-xl:1.25rem;--space-2xl:2.5rem;letter-spacing:.12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:15px/145% system-ui,Segoe UI,Roboto,sans-serif}.account-page{flex-direction:column;height:100dvh;min-height:100vh;display:flex}.account-toolbar{gap:var(--space-xs);background:var(--bg-panel);border-bottom:1px solid var(--border-card);width:100%;-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));z-index:10;box-sizing:border-box;flex-direction:column;flex-shrink:0;padding:.6rem 1.25rem;display:flex}.account-toolbar-row{align-items:center;gap:var(--space-lg);padding-inline-start:var(--space-xl);display:flex}.account-toolbar__logo{color:var(--accent);letter-spacing:.06em;-webkit-user-select:none;user-select:none;font-size:.95rem;font-weight:700}.account-toolbar__btn{align-items:center;gap:var(--space-sm);font-size:var(--text-subtitle);color:var(--text-primary);background:var(--bg-btn-base);border:1px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration), border-color var(--transition-duration), color var(--transition-duration);padding:.4rem .9rem;font-weight:500;display:inline-flex}.account-toolbar__btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.account-toolbar__btn--warning{color:var(--error)}.account-content{padding:var(--space-xl);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--bg-input) transparent;flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;display:flex;overflow-y:auto}.account-content::-webkit-scrollbar{width:6px}.account-content::-webkit-scrollbar-track{background:0 0}.account-content::-webkit-scrollbar-thumb{background:var(--bg-input)!important;border-radius:3px!important}.account-layout{align-items:center;gap:var(--space-2xl);flex-direction:column;width:100%;max-width:1024px;display:flex}.account-card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(480px,90vw);padding:2rem;display:flex}.account-card__label{font-size:var(--text-small);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.account-card__value{font-size:var(--text-body);color:var(--text-primary);margin:0}.account-modal{z-index:10000;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));background:#05070eb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.account-modal__card{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);gap:var(--space-lg);flex-direction:column;width:min(420px,90vw);padding:1.5rem;display:flex}.account-modal__title{font-size:var(--text-title);color:var(--text-primary);text-align:center;margin:0;font-weight:600}.account-projects__title{margin:0 0 var(--space-lg) 0;font-size:var(--text-subtitle);color:var(--text-primary);font-weight:600}.account-projects__file-card{padding:var(--space-md) var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-md);margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.account-projects__file-name{font-family:inherit;font-size:var(--text-body);color:var(--text-muted)}.account-projects__delete-btn{flex-shrink:0}.account-projects__status{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.account-projects__label{font-size:var(--text-subtitle);color:var(--text-primary);margin:0}.account-projects__not-subscribed{color:var(--error)}.account-projects__subscribed{color:var(--success-text)}.account-projects__file-list{scrollbar-width:thin;scrollbar-color:var(--bg-input) transparent;max-height:40vh;overflow-y:auto}.account-projects__file-list::-webkit-scrollbar{width:6px}.account-projects__file-list::-webkit-scrollbar-track{background:0 0}.account-projects__file-list::-webkit-scrollbar-thumb{background:var(--bg-input)!important;border-radius:3px!important}.account-modal__input{width:100%;font-size:var(--text-body);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-card);border-radius:var(--radius-sm);box-sizing:border-box;transition:border-color var(--transition-duration);outline:none;margin-bottom:10px;padding:.5rem .75rem;font-family:inherit}.account-modal__input:focus{border-color:var(--accent)}.account-modal__input::placeholder{color:var(--text-disabled)}.account-modal__error{font-size:var(--text-small);color:var(--error);text-align:center;margin:0}.account-modal__actions{gap:var(--space-md);justify-content:center;display:flex}.privacy{background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.privacy-hero{padding:calc(var(--space-xl) * 3.5) var(--space-xl) var(--space-xl);text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.privacy-hero__title{font-size:calc(var(--text-title) * 4);color:var(--accent);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.05}.privacy-hero__date{font-size:var(--text-body);color:var(--text-disabled);margin:0}.privacy-summary{min-height:auto;padding-block-start:calc(var(--space-xl) * .5)}.privacy-summary__inner{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:860px;margin:0 auto;display:flex}.privacy-summary__lead{font-size:var(--text-body);color:var(--text-muted);max-width:520px;line-height:1.6}.privacy-summary__grid{gap:var(--space-md);margin-top:var(--space-xl);grid-template-columns:repeat(2,1fr);width:100%;display:grid}.privacy-summary__card{background:var(--bg-highlight-faint);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg) var(--space-md);text-align:left;gap:var(--space-xs);flex-direction:column;display:flex}.privacy-summary__card h3{font-size:var(--text-subtitle);color:var(--accent);margin:0;font-weight:700}.privacy-summary__card p{font-size:var(--text-body);color:var(--text-muted);margin:0;line-height:1.6}.privacy-section{gap:var(--space-lg);min-height:auto;padding-block:0}.privacy-section__heading{margin:var(--space-xl) 0 var(--space-lg);color:var(--accent);text-align:center;letter-spacing:-.01em;font-weight:800}.privacy-section__body{gap:var(--space-sm);text-align:center;flex-direction:column;max-width:740px;margin:0 auto;line-height:1.65;display:flex}.privacy-section__body p{font-size:var(--text-body);color:var(--text-muted);margin:0}.privacy-section__sub-heading{margin:var(--space-md) 0 var(--space-xs);font-size:var(--text-subtitle);color:var(--text-primary);text-align:center;font-weight:700}.privacy-section__list{gap:var(--space-xs);flex-direction:column;max-width:420px;margin:0 auto;padding:0;list-style:none;display:flex}.privacy-section__list li{font-size:var(--text-body);color:var(--text-muted);padding-inline-start:calc(var(--space-lg) * 1.3);line-height:1.6;position:relative}.privacy-section__list li:before{content:"•";color:var(--accent);font-size:var(--text-subtitle);position:absolute;left:0}@media (width<=640px){.privacy-hero__title{font-size:calc(var(--text-title) * 2.5)}.privacy-summary__grid{grid-template-columns:1fr}.privacy-section__heading{font-size:var(--text-title) * 1.8}}.terms{background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.terms-hero{padding:calc(var(--space-xl) * 3.5) var(--space-xl) var(--space-xl);text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.terms-hero__title{font-size:calc(var(--text-title) * 4);color:var(--accent);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.05}.terms-hero__date{font-size:var(--text-body);color:var(--text-disabled);margin:0}.terms-summary{min-height:auto;padding-block-start:calc(var(--space-xl) * .5)}.terms-summary__inner{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:860px;margin:0 auto;display:flex}.terms-summary__lead{font-size:var(--text-body);color:var(--text-muted);max-width:520px;line-height:1.6}.terms-summary__grid{gap:var(--space-md);margin-top:var(--space-xl);grid-template-columns:repeat(2,1fr);width:100%;display:grid}.terms-summary__card{background:var(--bg-highlight-faint);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg) var(--space-md);text-align:left;gap:var(--space-xs);flex-direction:column;display:flex}.terms-summary__card h3{font-size:var(--text-subtitle);color:var(--accent);margin:0;font-weight:700}.terms-summary__card p{font-size:var(--text-body);color:var(--text-muted);margin:0;line-height:1.6}.terms-section{gap:var(--space-lg);min-height:auto;padding-block:0}.terms-section__heading{margin:var(--space-xl) 0 var(--space-lg);color:var(--accent);text-align:center;letter-spacing:-.01em;font-weight:800}.terms-section__body{gap:var(--space-sm);text-align:center;flex-direction:column;max-width:740px;margin:0 auto;line-height:1.65;display:flex}.terms-section__body p{font-size:var(--text-body);color:var(--text-muted);margin:0}.terms-section__sub-heading{margin:var(--space-md) 0 var(--space-xs);font-size:var(--text-subtitle);color:var(--text-primary);text-align:center;font-weight:700}@media (width<=640px){.terms-hero__title{font-size:calc(var(--text-title) * 2.5)}.terms-summary__grid{grid-template-columns:1fr}.terms-section__heading{font-size:var(--text-title) * 1.8}}
