@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.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))}.sim-viewer button:not(:disabled),.sim-viewer [role=button],.sim-viewer .sim-timeline-track,.sim-panel-dropdown-toggle{cursor:pointer}.sim-viewer button:disabled,.sim-panel-dropdown-toggle:disabled{cursor:not-allowed}.sim-labels-toggle,.sim-teach-toggle,.sim-teach-lock-btn,.sim-ptp-clear-btn,.sim-ptp-save-btn,.sim-transport-btn{min-height:32px;font-size:.82rem;color:#1a1a1a;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),background .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease}.sim-labels-toggle:hover,.sim-teach-toggle:hover,.sim-teach-lock-btn:hover:not(:disabled),.sim-ptp-clear-btn:hover,.sim-ptp-save-btn:hover,.sim-transport-btn:hover:not(:disabled),.sim-panel-dropdown-toggle:hover{transform:translateY(-1px)}.sim-status-pill{transition:box-shadow .22s cubic-bezier(.22,1,.36,1),border-color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.sim-status-pill:hover{box-shadow:0 6px 18px #0000001a}.sim-tool-point-label,.sim-playback-label,.sim-ptp-empty{color:#1a1a1a;font-size:.82rem}.sim-scene-label{font-size:.82rem;color:#0d0d0d}.sim-timeline-time{font-size:.84rem;color:#1a1a1a}@keyframes exp-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes exp-spin{to{transform:rotate(360deg)}}.exp-root{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#ebebeb;padding:20px;gap:16px;animation:exp-fade-up .38s cubic-bezier(.22,1,.36,1) both}.exp-hero{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:16px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;box-shadow:0 2px 12px #0000000a}.exp-hero-left{display:flex;flex-direction:column;gap:4px}.exp-hero-title{font-size:1.5rem;font-weight:700;color:#0d0d0d;letter-spacing:-.03em;line-height:1.2}.exp-hero-sub{font-size:.88rem;font-weight:500;color:#555}.exp-hero-badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.78rem;font-weight:700}.exp-tabs{display:flex;gap:6px;flex-shrink:0}.exp-tab{height:38px;padding:0 16px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#555;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.exp-tab:hover{background:#f5f5f5;color:#0d0d0d}.exp-tab--active{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.exp-content{flex:1;min-height:0;display:flex;gap:16px;overflow:hidden}.exp-code-panel{flex:1;min-width:0;background:#0d0d0d;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.exp-code-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1a1a1a;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.exp-code-lang{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.78rem;font-weight:600;color:#a0a0a0;text-transform:uppercase;letter-spacing:.08em}.exp-code-copy{height:28px;padding:0 12px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#a0a0a0;font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.exp-code-copy:hover{background:#ffffff14;color:#fff}.exp-code-copy--copied{color:#4ade80;border-color:#4ade80}.exp-code-scroll{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.exp-code-pre{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;line-height:1.7;color:#e8e8e8;margin:0;white-space:pre;overflow-x:auto}.exp-tok-keyword{color:#569cd6}.exp-tok-string{color:#ce9178}.exp-tok-number{color:#b5cea8}.exp-tok-function{color:#dcdcaa}.exp-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.exp-card{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:14px;padding:16px;box-shadow:0 1px 6px #0000000a}.exp-card-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#888;margin-bottom:10px}.exp-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px}.exp-qr-img{width:140px;height:140px;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.exp-qr-label{font-size:.78rem;color:#555;text-align:center}.exp-cost{display:flex;align-items:baseline;gap:4px;padding:8px 0}.exp-cost-value{font-size:2rem;font-weight:700;color:#0d0d0d;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.exp-cost-unit{font-size:.88rem;font-weight:600;color:#555}.exp-bom-table{width:100%;border-collapse:collapse;font-size:.8rem}.exp-bom-table th{text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;padding:6px 4px;border-bottom:1px solid rgba(0,0,0,.08)}.exp-bom-table td{padding:7px 4px;border-bottom:1px solid rgba(0,0,0,.05);color:#333;vertical-align:top}.exp-bom-table tr:last-child td{border-bottom:none;font-weight:700}.exp-bom-source{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:.64rem;font-weight:700;background:#f0f0f0;color:#555}.exp-dl-primary{width:100%;height:44px;border-radius:12px;background:#0d0d0d;color:#fff;border:none;font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .16s ease,transform .12s ease;flex-shrink:0}.exp-dl-primary:hover:not(:disabled){background:#2a2a2a}.exp-dl-primary:active:not(:disabled){transform:scale(.98)}.exp-dl-primary:disabled{opacity:.4;cursor:default}.exp-dl-secondary{width:100%;height:36px;border-radius:9px;border:1px solid rgba(0,0,0,.12);background:transparent;color:#444;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .14s ease,border-color .14s ease;margin-top:6px}.exp-dl-secondary:hover{background:#f5f5f5;border-color:#0003}.exp-dl-spin{animation:exp-spin .8s linear infinite}.exp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#888;text-align:center;padding:40px}.exp-empty-icon{color:#d1d5db}.exp-empty-title{font-size:1rem;font-weight:600;color:#444}.exp-empty-sub{font-size:.85rem;color:#888}.exp-sha{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f7f7f7;border-radius:8px;font-family:SF Mono,monospace;font-size:.7rem;color:#555;overflow:hidden;word-break:break-all}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-divide-x-reverse:0}}}@layer theme{:root,:host{--font-sans:"Poppins", system-ui, sans-serif;--font-mono:"Geist Mono Variable", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-green-400:oklch(79.2% .209 151.711);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-slate-200:oklch(92.9% .013 255.508);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-900:oklch(21% .006 285.885);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-md:12px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-base:#f0f0f0}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-5{top:calc(var(--spacing) * 5)}.top-\[4\.5rem\]{top:4.5rem}.top-\[9\.5rem\]{top:9.5rem}.top-\[14rem\]{top:14rem}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[3rem\]{bottom:3rem}.bottom-\[7\.7rem\]{bottom:7.7rem}.bottom-\[7\.25rem\]{bottom:7.25rem}.bottom-\[12\.5rem\]{bottom:12.5rem}.bottom-\[12rem\]{bottom:12rem}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-\[29\%\]{left:29%}.left-\[48\%\]{left:48%}.left-\[66\%\]{left:66%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.order-456{order:456}.col-5{grid-column:5}.col-6{grid-column:6}.col-7{grid-column:7}.col-span-1{grid-column:span 1/span 1}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.row-span-2{grid-row:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-\[2px\]{height:2px}.h-\[24rem\]{height:24rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-\[30rem\]{min-height:30rem}.min-h-\[100dvh\]{min-height:100dvh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-\[2px\]{width:2px}.w-\[9\.25rem\]{width:9.25rem}.w-\[16rem\]{width:16rem}.w-\[22rem\]{width:22rem}.w-\[28rem\]{width:28rem}.w-\[calc\(33\%-1rem\)\]{width:calc(33% - 1rem)}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[65ch\]{max-width:65ch}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1400px\]{max-width:1400px}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[680px\]{min-width:680px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[1px\]{--tw-translate-y: -1px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-12{--tw-translate-y:calc(var(--spacing) * 12);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-16{--tw-translate-y:calc(var(--spacing) * 16);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[0\.98\]{scale:.98}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-zinc-500\/30>:not(:last-child)){border-color:#71717b4d}@supports (color:color-mix(in lab,red,red)){:where(.divide-zinc-500\/30>:not(:last-child)){border-color:color-mix(in oklab,var(--color-zinc-500) 30%,transparent)}}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[calc\(2rem-0\.375rem\)\]{border-radius:1.625rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-300\/35{border-color:#ffd23659}@supports (color:color-mix(in lab,red,red)){.border-amber-300\/35{border-color:color-mix(in oklab,var(--color-amber-300) 35%,transparent)}}.border-cyan-300\/35{border-color:#53eafd59}@supports (color:color-mix(in lab,red,red)){.border-cyan-300\/35{border-color:color-mix(in oklab,var(--color-cyan-300) 35%,transparent)}}.border-emerald-300\/35{border-color:#5ee9b559}@supports (color:color-mix(in lab,red,red)){.border-emerald-300\/35{border-color:color-mix(in oklab,var(--color-emerald-300) 35%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-red-500{border-color:var(--color-red-500)}.border-rose-300\/35{border-color:#ffa2ae59}@supports (color:color-mix(in lab,red,red)){.border-rose-300\/35{border-color:color-mix(in oklab,var(--color-rose-300) 35%,transparent)}}.border-slate-200\/50{border-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/50{border-color:color-mix(in oklab,var(--color-slate-200) 50%,transparent)}}.border-violet-300\/35{border-color:#c4b4ff59}@supports (color:color-mix(in lab,red,red)){.border-violet-300\/35{border-color:color-mix(in oklab,var(--color-violet-300) 35%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/16{border-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.border-white\/16{border-color:color-mix(in oklab,var(--color-white) 16%,transparent)}}.border-zinc-300\/35{border-color:#d4d4d859}@supports (color:color-mix(in lab,red,red)){.border-zinc-300\/35{border-color:color-mix(in oklab,var(--color-zinc-300) 35%,transparent)}}.border-zinc-300\/40{border-color:#d4d4d866}@supports (color:color-mix(in lab,red,red)){.border-zinc-300\/40{border-color:color-mix(in oklab,var(--color-zinc-300) 40%,transparent)}}.border-zinc-300\/50{border-color:#d4d4d880}@supports (color:color-mix(in lab,red,red)){.border-zinc-300\/50{border-color:color-mix(in oklab,var(--color-zinc-300) 50%,transparent)}}.border-zinc-400\/35{border-color:#9f9fa959}@supports (color:color-mix(in lab,red,red)){.border-zinc-400\/35{border-color:color-mix(in oklab,var(--color-zinc-400) 35%,transparent)}}.border-zinc-500\/30{border-color:#71717b4d}@supports (color:color-mix(in lab,red,red)){.border-zinc-500\/30{border-color:color-mix(in oklab,var(--color-zinc-500) 30%,transparent)}}.border-zinc-500\/35{border-color:#71717b59}@supports (color:color-mix(in lab,red,red)){.border-zinc-500\/35{border-color:color-mix(in oklab,var(--color-zinc-500) 35%,transparent)}}.border-zinc-500\/45{border-color:#71717b73}@supports (color:color-mix(in lab,red,red)){.border-zinc-500\/45{border-color:color-mix(in oklab,var(--color-zinc-500) 45%,transparent)}}.border-zinc-600\/45{border-color:#52525c73}@supports (color:color-mix(in lab,red,red)){.border-zinc-600\/45{border-color:color-mix(in oklab,var(--color-zinc-600) 45%,transparent)}}.bg-\[\#0d0d0d\]{background-color:#0d0d0d}.bg-amber-400\/15{background-color:#fcbb0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/15{background-color:color-mix(in oklab,var(--color-amber-400) 15%,transparent)}}.bg-amber-400\/16{background-color:#fcbb0029}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/16{background-color:color-mix(in oklab,var(--color-amber-400) 16%,transparent)}}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-300{background-color:var(--color-cyan-300)}.bg-cyan-400\/16{background-color:#00d2ef29}@supports (color:color-mix(in lab,red,red)){.bg-cyan-400\/16{background-color:color-mix(in oklab,var(--color-cyan-400) 16%,transparent)}}.bg-emerald-300{background-color:var(--color-emerald-300)}.bg-emerald-400\/16{background-color:#00d29429}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/16{background-color:color-mix(in oklab,var(--color-emerald-400) 16%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-400{background-color:var(--color-green-400)}.bg-rose-400\/15{background-color:#ff667f26}@supports (color:color-mix(in lab,red,red)){.bg-rose-400\/15{background-color:color-mix(in oklab,var(--color-rose-400) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-300{background-color:var(--color-violet-300)}.bg-violet-400\/16{background-color:#a685ff29}@supports (color:color-mix(in lab,red,red)){.bg-violet-400\/16{background-color:color-mix(in oklab,var(--color-violet-400) 16%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/22{background-color:#ffffff38}@supports (color:color-mix(in lab,red,red)){.bg-white\/22{background-color:color-mix(in oklab,var(--color-white) 22%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-zinc-200\/45{background-color:#e4e4e773}@supports (color:color-mix(in lab,red,red)){.bg-zinc-200\/45{background-color:color-mix(in oklab,var(--color-zinc-200) 45%,transparent)}}.bg-zinc-200\/70{background-color:#e4e4e7b3}@supports (color:color-mix(in lab,red,red)){.bg-zinc-200\/70{background-color:color-mix(in oklab,var(--color-zinc-200) 70%,transparent)}}.bg-zinc-300\/70{background-color:#d4d4d8b3}@supports (color:color-mix(in lab,red,red)){.bg-zinc-300\/70{background-color:color-mix(in oklab,var(--color-zinc-300) 70%,transparent)}}.bg-zinc-400\/20{background-color:#9f9fa933}@supports (color:color-mix(in lab,red,red)){.bg-zinc-400\/20{background-color:color-mix(in oklab,var(--color-zinc-400) 20%,transparent)}}.bg-zinc-500\/25{background-color:#71717b40}@supports (color:color-mix(in lab,red,red)){.bg-zinc-500\/25{background-color:color-mix(in oklab,var(--color-zinc-500) 25%,transparent)}}.bg-zinc-500\/30{background-color:#71717b4d}@supports (color:color-mix(in lab,red,red)){.bg-zinc-500\/30{background-color:color-mix(in oklab,var(--color-zinc-500) 30%,transparent)}}.bg-zinc-700\/15{background-color:#3f3f4626}@supports (color:color-mix(in lab,red,red)){.bg-zinc-700\/15{background-color:color-mix(in oklab,var(--color-zinc-700) 15%,transparent)}}.bg-zinc-900\/30{background-color:#18181b4d}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\/30{background-color:color-mix(in oklab,var(--color-zinc-900) 30%,transparent)}}.bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-500\/15{--tw-gradient-from:#f99c0026}@supports (color:color-mix(in lab,red,red)){.from-amber-500\/15{--tw-gradient-from:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.from-amber-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-400\/22{--tw-gradient-from:#00d2ef38}@supports (color:color-mix(in lab,red,red)){.from-cyan-400\/22{--tw-gradient-from:color-mix(in oklab, var(--color-cyan-400) 22%, transparent)}}.from-cyan-400\/22{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-400\/24{--tw-gradient-from:#00d2ef3d}@supports (color:color-mix(in lab,red,red)){.from-cyan-400\/24{--tw-gradient-from:color-mix(in oklab, var(--color-cyan-400) 24%, transparent)}}.from-cyan-400\/24{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-400\/25{--tw-gradient-from:#00d2ef40}@supports (color:color-mix(in lab,red,red)){.from-cyan-400\/25{--tw-gradient-from:color-mix(in oklab, var(--color-cyan-400) 25%, transparent)}}.from-cyan-400\/25{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-500\/20{--tw-gradient-from:#00b7d733}@supports (color:color-mix(in lab,red,red)){.from-cyan-500\/20{--tw-gradient-from:color-mix(in oklab, var(--color-cyan-500) 20%, transparent)}}.from-cyan-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-400\/22{--tw-gradient-from:#00d29438}@supports (color:color-mix(in lab,red,red)){.from-emerald-400\/22{--tw-gradient-from:color-mix(in oklab, var(--color-emerald-400) 22%, transparent)}}.from-emerald-400\/22{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-400\/24{--tw-gradient-from:#00d2943d}@supports (color:color-mix(in lab,red,red)){.from-emerald-400\/24{--tw-gradient-from:color-mix(in oklab, var(--color-emerald-400) 24%, transparent)}}.from-emerald-400\/24{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-400\/25{--tw-gradient-from:#00d29440}@supports (color:color-mix(in lab,red,red)){.from-emerald-400\/25{--tw-gradient-from:color-mix(in oklab, var(--color-emerald-400) 25%, transparent)}}.from-emerald-400\/25{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-400\/22{--tw-gradient-from:#a685ff38}@supports (color:color-mix(in lab,red,red)){.from-violet-400\/22{--tw-gradient-from:color-mix(in oklab, var(--color-violet-400) 22%, transparent)}}.from-violet-400\/22{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-400\/24{--tw-gradient-from:#a685ff3d}@supports (color:color-mix(in lab,red,red)){.from-violet-400\/24{--tw-gradient-from:color-mix(in oklab, var(--color-violet-400) 24%, transparent)}}.from-violet-400\/24{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-400\/25{--tw-gradient-from:#a685ff40}@supports (color:color-mix(in lab,red,red)){.from-violet-400\/25{--tw-gradient-from:color-mix(in oklab, var(--color-violet-400) 25%, transparent)}}.from-violet-400\/25{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-500\/20{--tw-gradient-from:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.from-violet-500\/20{--tw-gradient-from:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.from-violet-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-zinc-300\/75{--tw-gradient-from:#d4d4d8bf}@supports (color:color-mix(in lab,red,red)){.from-zinc-300\/75{--tw-gradient-from:color-mix(in oklab, var(--color-zinc-300) 75%, transparent)}}.from-zinc-300\/75{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-blue-500\/10{--tw-gradient-via:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.via-blue-500\/10{--tw-gradient-via:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.via-blue-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-indigo-500\/10{--tw-gradient-via:#625fff1a}@supports (color:color-mix(in lab,red,red)){.via-indigo-500\/10{--tw-gradient-via:color-mix(in oklab, var(--color-indigo-500) 10%, transparent)}}.via-indigo-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-zinc-300\/35{--tw-gradient-via:#d4d4d859}@supports (color:color-mix(in lab,red,red)){.via-zinc-300\/35{--tw-gradient-via:color-mix(in oklab, var(--color-zinc-300) 35%, transparent)}}.via-zinc-300\/35{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-zinc-400\/10{--tw-gradient-via:#9f9fa91a}@supports (color:color-mix(in lab,red,red)){.via-zinc-400\/10{--tw-gradient-via:color-mix(in oklab, var(--color-zinc-400) 10%, transparent)}}.via-zinc-400\/10{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing) * 0)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-12{padding-inline:calc(var(--spacing) * 12)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-32{padding-block:calc(var(--spacing) * 32)}.py-40{padding-block:calc(var(--spacing) * 40)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.64rem\]{font-size:.64rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.74rem\]{font-size:.74rem}.text-\[0\.76rem\]{font-size:.76rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.84rem\]{font-size:.84rem}.text-\[0\.86rem\]{font-size:.86rem}.text-\[0\.88rem\]{font-size:.88rem}.text-\[0\.90rem\]{font-size:.9rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.96rem\]{font-size:.96rem}.text-\[0\.98rem\]{font-size:.98rem}.text-\[1\.02rem\]{font-size:1.02rem}.text-\[1\.03rem\]{font-size:1.03rem}.text-\[1\.04rem\]{font-size:1.04rem}.text-\[1\.06rem\]{font-size:1.06rem}.text-\[1\.55rem\]{font-size:1.55rem}.text-\[1rem\]{font-size:1rem}.text-\[10px\]{font-size:10px}.text-\[clamp\(2rem\,4\.2vw\,3rem\)\]{font-size:clamp(2rem,4.2vw,3rem)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[-0\.06em\]{--tw-tracking:-.06em;letter-spacing:-.06em}.tracking-\[-0\.07em\]{--tw-tracking:-.07em;letter-spacing:-.07em}.tracking-\[-0\.035em\]{--tw-tracking:-.035em;letter-spacing:-.035em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.09em\]{--tw-tracking:.09em;letter-spacing:.09em}.tracking-\[0\.10em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.text-amber-200{color:var(--color-amber-200)}.text-base{color:var(--color-base)}.text-black{color:var(--color-black)}.text-cyan-200{color:var(--color-cyan-200)}.text-cyan-200\/95{color:#a2f4fdf2}@supports (color:color-mix(in lab,red,red)){.text-cyan-200\/95{color:color-mix(in oklab,var(--color-cyan-200) 95%,transparent)}}.text-emerald-200{color:var(--color-emerald-200)}.text-emerald-200\/95{color:#a4f4cff2}@supports (color:color-mix(in lab,red,red)){.text-emerald-200\/95{color:color-mix(in oklab,var(--color-emerald-200) 95%,transparent)}}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-red-500{color:var(--color-red-500)}.text-rose-200{color:var(--color-rose-200)}.text-violet-200{color:var(--color-violet-200)}.text-white{color:var(--color-white)}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.text-white\/30{color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.text-white\/55{color:color-mix(in oklab,var(--color-white) 55%,transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\/65{color:color-mix(in oklab,var(--color-white) 65%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-100\/82{color:#f4f4f5d1}@supports (color:color-mix(in lab,red,red)){.text-zinc-100\/82{color:color-mix(in oklab,var(--color-zinc-100) 82%,transparent)}}.text-zinc-100\/85{color:#f4f4f5d9}@supports (color:color-mix(in lab,red,red)){.text-zinc-100\/85{color:color-mix(in oklab,var(--color-zinc-100) 85%,transparent)}}.text-zinc-100\/88{color:#f4f4f5e0}@supports (color:color-mix(in lab,red,red)){.text-zinc-100\/88{color:color-mix(in oklab,var(--color-zinc-100) 88%,transparent)}}.text-zinc-100\/90{color:#f4f4f5e6}@supports (color:color-mix(in lab,red,red)){.text-zinc-100\/90{color:color-mix(in oklab,var(--color-zinc-100) 90%,transparent)}}.text-zinc-100\/92{color:#f4f4f5eb}@supports (color:color-mix(in lab,red,red)){.text-zinc-100\/92{color:color-mix(in oklab,var(--color-zinc-100) 92%,transparent)}}.text-zinc-100\/95{color:#f4f4f5f2}@supports (color:color-mix(in lab,red,red)){.text-zinc-100\/95{color:color-mix(in oklab,var(--color-zinc-100) 95%,transparent)}}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-200\/75{color:#e4e4e7bf}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/75{color:color-mix(in oklab,var(--color-zinc-200) 75%,transparent)}}.text-zinc-200\/78{color:#e4e4e7c7}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/78{color:color-mix(in oklab,var(--color-zinc-200) 78%,transparent)}}.text-zinc-200\/80{color:#e4e4e7cc}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/80{color:color-mix(in oklab,var(--color-zinc-200) 80%,transparent)}}.text-zinc-200\/84{color:#e4e4e7d6}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/84{color:color-mix(in oklab,var(--color-zinc-200) 84%,transparent)}}.text-zinc-200\/85{color:#e4e4e7d9}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/85{color:color-mix(in oklab,var(--color-zinc-200) 85%,transparent)}}.text-zinc-200\/90{color:#e4e4e7e6}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/90{color:color-mix(in oklab,var(--color-zinc-200) 90%,transparent)}}.text-zinc-200\/92{color:#e4e4e7eb}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/92{color:color-mix(in oklab,var(--color-zinc-200) 92%,transparent)}}.text-zinc-200\/95{color:#e4e4e7f2}@supports (color:color-mix(in lab,red,red)){.text-zinc-200\/95{color:color-mix(in oklab,var(--color-zinc-200) 95%,transparent)}}.text-zinc-300\/55{color:#d4d4d88c}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/55{color:color-mix(in oklab,var(--color-zinc-300) 55%,transparent)}}.text-zinc-300\/60{color:#d4d4d899}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/60{color:color-mix(in oklab,var(--color-zinc-300) 60%,transparent)}}.text-zinc-300\/70{color:#d4d4d8b3}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/70{color:color-mix(in oklab,var(--color-zinc-300) 70%,transparent)}}.text-zinc-300\/75{color:#d4d4d8bf}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/75{color:color-mix(in oklab,var(--color-zinc-300) 75%,transparent)}}.text-zinc-300\/80{color:#d4d4d8cc}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/80{color:color-mix(in oklab,var(--color-zinc-300) 80%,transparent)}}.text-zinc-300\/85{color:#d4d4d8d9}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/85{color:color-mix(in oklab,var(--color-zinc-300) 85%,transparent)}}.text-zinc-300\/88{color:#d4d4d8e0}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/88{color:color-mix(in oklab,var(--color-zinc-300) 88%,transparent)}}.text-zinc-300\/90{color:#d4d4d8e6}@supports (color:color-mix(in lab,red,red)){.text-zinc-300\/90{color:color-mix(in oklab,var(--color-zinc-300) 90%,transparent)}}.text-zinc-400{color:var(--color-zinc-400)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-\[0\.03\]{opacity:.03}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(110\,231\,183\,0\.9\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#6ee7b7e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(196\,181\,253\,0\.85\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#c4b5fdd9);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_rgba\(103\,232\,249\,0\.9\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,#67e8f9e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_40px_-15px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 20px 40px -15px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.1\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_1px_1px_rgba\(255\,255\,255\,0\.15\)\]{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,#ffffff26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-md{--tw-blur:blur(var(--blur-md));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(var(--blur-3xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-100{transition-delay:.1s}.delay-150{transition-delay:.15s}.delay-200{transition-delay:.2s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-\[cubic-bezier\(0\.32\,0\.72\,0\,1\)\]{--tw-ease:cubic-bezier(.32,.72,0,1);transition-timing-function:cubic-bezier(.32,.72,0,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-\[1px\]:is(:where(.group):hover *){--tw-translate-y: -1px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:bg-zinc-300\/35:is(:where(.group):hover *){background-color:#d4d4d859}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-zinc-300\/35:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-zinc-300) 35%,transparent)}}.group-hover\:text-zinc-100:is(:where(.group):hover *){color:var(--color-zinc-100)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-white\/32:hover{border-color:#ffffff52}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/32:hover{border-color:color-mix(in oklab,var(--color-white) 32%,transparent)}}.hover\:border-zinc-300\/45:hover{border-color:#d4d4d873}@supports (color:color-mix(in lab,red,red)){.hover\:border-zinc-300\/45:hover{border-color:color-mix(in oklab,var(--color-zinc-300) 45%,transparent)}}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-zinc-400\/10:hover{background-color:#9f9fa91a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-zinc-400\/10:hover{background-color:color-mix(in oklab,var(--color-zinc-400) 10%,transparent)}}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/70:hover{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.hover\:opacity-88:hover{opacity:.88}}.active\:scale-\[0\.98\]:active{scale:.98}@media(min-width:48rem){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}:where(.md\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.md\:divide-y-0>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media(min-width:64rem){.lg\:flex{display:flex}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[7fr_5fr\]{grid-template-columns:7fr 5fr}}@media(prefers-color-scheme:dark){.dark\:bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}}}:root{--color-base:#f0f0f0;--color-surface:#fff;--color-elevated:#fff;--color-hover:#f5f5f5;--color-border:#00000012;--color-primary:#000;--color-primary-dim:#0000000f;--color-success:#16a34a;--color-warning:#d97706;--color-error:#dc2626;--color-text-1:#0d0d0d;--color-text-2:#555;--color-text-3:#a0a0a0;--font-sans:"Poppins", system-ui, sans-serif;--font-mono:"Geist Mono Variable", "Courier New", monospace}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100dvh}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;background:#ebebeb;color:#0d0d0d;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}button{border:none;background:none}input,select{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 2px #00000047}@keyframes spin{to{transform:rotate(360deg)}}@keyframes panel-enter{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes status-pulse{0%,to{box-shadow:0 0 #22c55e73}60%{box-shadow:0 0 0 5px #22c55e00}}.app-shell{position:relative;display:flex;flex-direction:column;min-height:100dvh;height:100dvh;padding:16px;gap:12px;overflow:hidden;background:#ebebeb}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle,rgba(0,0,0,.12) 1px,transparent 1px);background-size:24px 24px;opacity:.45}.app-shell>*{position:relative;z-index:1}.designer-panel,.viewport-wrapper,.app-status-bar{background:#fff;border:1px solid rgba(0,0,0,.07);box-shadow:0 1px 3px #0000000a,0 4px 14px #0000000a}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;padding:0 16px;border-radius:20px;background:#ffffffb8;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.88);box-shadow:0 2px 24px #00000012,inset 0 1px #ffffffe6;animation:fade-up .36s cubic-bezier(.22,1,.36,1) both}.hdr-brand{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.hdr-logo{color:#0d0d0d;font-size:1.3rem;font-weight:700;letter-spacing:-.03em;line-height:1}.hdr-wordmark{color:#0d0d0d;font-size:1.5rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;line-height:1}.hdr-nav{display:flex;align-items:center;gap:2px}.hdr-nav-item{position:relative;display:inline-flex;align-items:center;height:32px;padding:0 11px;border-radius:8px;border:none;background:transparent;color:#00000059;font-family:var(--font-sans);font-size:.76rem;font-weight:500;white-space:nowrap;cursor:default;transition:color .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1)}.hdr-nav-item--active{color:#0d0d0d;background:#0000000f;font-weight:600}.hdr-nav-item--active:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:12px;height:1.5px;border-radius:999px;background:#0d0d0d}.hdr-right{display:flex;align-items:center;gap:12px;justify-content:flex-end;flex-shrink:0}.hdr-step{color:#0000004d;font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.02em;white-space:nowrap;user-select:none}.hdr-mode{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;height:32px;padding:3px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#0000000a;cursor:pointer;overflow:hidden;transition:border-color .2s ease}.hdr-mode:before{content:"";position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);border-radius:7px;background:#0d0d0d;box-shadow:0 1px 4px #0000002e;transition:transform .24s cubic-bezier(.32,.72,0,1)}.hdr-mode--detailed:before{transform:translate(calc(100% + 3px))}.hdr-mode:hover{border-color:#0000002e}.hdr-mode-opt{position:relative;z-index:1;padding:0 10px;color:#00000059;font-family:var(--font-sans);font-size:.74rem;font-weight:600;text-align:center;white-space:nowrap;pointer-events:none;transition:color .24s cubic-bezier(.32,.72,0,1)}.hdr-mode:not(.hdr-mode--detailed) .hdr-mode-opt:first-child,.hdr-mode--detailed .hdr-mode-opt:last-child{color:#fff}.app-body{flex:1;min-height:0;display:flex;gap:12px}.designer-panel{position:relative;width:clamp(284px,22vw,336px);flex-shrink:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.07);animation:panel-enter .44s cubic-bezier(.22,1,.36,1) both;transition:width .38s cubic-bezier(.22,1,.36,1),opacity .26s cubic-bezier(.22,1,.36,1),margin-right .38s cubic-bezier(.22,1,.36,1)}.designer-panel.panel--hidden{width:0!important;opacity:0;margin-right:-12px;pointer-events:none}.panel-resize-handle{position:absolute;top:0;right:-7px;width:14px;height:100%;padding:0;border:none;background:transparent;cursor:ew-resize;z-index:8}.panel-resize-handle:before{content:"";position:absolute;top:16px;bottom:16px;left:50%;width:2px;border-radius:999px;transform:translate(-50%);background:#0000001f;opacity:0;transition:opacity .18s ease,background .18s ease}.designer-panel:hover .panel-resize-handle:before,.panel-resize-handle:hover:before,.panel-resize-handle:focus-visible:before{opacity:1}.panel-resize-handle:hover:before,.panel-resize-handle:focus-visible:before{background:#00000042}body.panel-resizing,body.panel-resizing *{cursor:ew-resize!important;user-select:none!important}body.panel-resizing .designer-panel{transition:opacity .26s cubic-bezier(.22,1,.36,1),margin-right .38s cubic-bezier(.22,1,.36,1)}.panel-topbar{display:flex;align-items:center;gap:8px;padding:13px 14px 11px;border-bottom:1px solid rgba(0,0,0,.06)}.panel-arm-name{flex:1;min-width:0;padding:0;border:none;background:transparent;color:#0d0d0d;font-size:.92rem;font-weight:600;letter-spacing:-.02em;outline:none;transition:opacity .16s ease}.panel-arm-name:focus{opacity:.8}.panel-arm-name::placeholder{color:#c8c8c8;font-weight:400}.panel-topbar-actions{display:flex;gap:5px;flex-shrink:0}.btn-topbar{display:flex;align-items:center;justify-content:center;height:28px;padding:0 11px;border-radius:8px;font-size:.7rem;font-weight:600;letter-spacing:0;cursor:pointer;transition:background .16s cubic-bezier(.4,0,.2,1),border-color .16s cubic-bezier(.4,0,.2,1),transform .12s cubic-bezier(.4,0,.2,1),box-shadow .16s cubic-bezier(.4,0,.2,1)}.btn-topbar:active{transform:scale(.95)}.btn-topbar--ghost{background:transparent;border:1px solid rgba(0,0,0,.1);color:#555}.btn-topbar--ghost:hover{background:#f5f5f5;border-color:#00000029}.btn-topbar--primary{background:#0d0d0d;border:1px solid #0d0d0d;color:#fff}.btn-topbar--primary:hover{background:#2a2a2a;border-color:#2a2a2a;box-shadow:0 2px 8px #0000002e}.panel-toolbar{display:flex;align-items:stretch;padding:0 14px;border-bottom:1px solid rgba(0,0,0,.06)}.panel-guide-btns{display:flex;align-items:center;gap:4px;padding:6px 0;margin-left:auto}.guide-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid rgba(0,0,0,.08);background:#f7f7f7;color:#969696;cursor:pointer;transition:background .16s cubic-bezier(.4,0,.2,1),border-color .16s cubic-bezier(.4,0,.2,1),color .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.34,1.56,.64,1)}.guide-btn:hover{background:#efefef;color:#333;transform:translateY(-1px)}.guide-btn:active{transform:scale(.92)}.guide-btn--on{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.guide-btn--on:hover{background:#2a2a2a;border-color:#2a2a2a;color:#fff;transform:translateY(-1px)}.panel-tabs{display:flex;flex:1}.panel-tab{flex:none;height:40px;padding:0 12px;border:none;border-bottom:2px solid transparent;background:transparent;color:#aaa;font-size:.76rem;font-weight:600;letter-spacing:0;margin-bottom:-1px;cursor:pointer;transition:color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1)}.panel-tab:hover{color:#444}.panel-tab--active{color:#0d0d0d;border-bottom-color:#0d0d0d}.panel-content{flex:1;min-height:0;padding:2px 14px 14px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.panel-content::-webkit-scrollbar{width:3px}.panel-content::-webkit-scrollbar-thumb{background:#0000001a;border-radius:999px}.panel-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0 8px;color:#0d0d0d;font-size:.74rem;font-weight:600;margin-top:2px}.segment-count{color:#aaa;font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:500}.btn-add-segment{height:28px;padding:0 11px;border-radius:8px;background:#0d0d0d;color:#fff;font-size:.7rem;font-weight:600;cursor:pointer;transition:background .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s cubic-bezier(.4,0,.2,1),opacity .16s ease}.btn-add-segment:hover:not(:disabled){background:#2a2a2a;transform:translateY(-1px);box-shadow:0 2px 8px #00000029}.btn-add-segment:active{transform:scale(.95);box-shadow:none}.btn-add-segment:disabled{opacity:.25}.segment-rows{display:flex;flex-direction:column;gap:4px;padding-bottom:14px}.segment-row{position:relative;padding:9px 11px;border-radius:10px;border:1px solid rgba(0,0,0,.06);background:#fafafa;transition:border-color .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.segment-row:hover{border-color:#0000001f;background:#f5f5f5;transform:translateY(-1px);box-shadow:0 2px 10px #0000000f}.segment-row--selected{background:#f5f5f5;border-color:#0003;box-shadow:0 2px 10px #00000012}.segment-row-header{display:flex;align-items:center;gap:8px}.segment-indicator{width:6px;height:6px;border-radius:50%;background:#d4d4d4;flex-shrink:0;transition:background .22s ease,transform .22s cubic-bezier(.34,1.56,.64,1)}.segment-row--selected .segment-indicator{background:#0d0d0d;transform:scale(1.2)}.segment-name{flex:1;overflow:hidden;color:#0d0d0d;font-size:.84rem;font-weight:600;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.segment-joint-badge{padding:3px 7px;border-radius:999px;background:#f0f0f0;color:#555;font-size:.64rem;font-weight:600;letter-spacing:.01em}.segment-length-badge{color:#909090;font-family:var(--font-mono);font-size:.7rem;font-variant-numeric:tabular-nums}.segment-delete-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:5px;color:#ccc;font-size:1rem;line-height:1;cursor:pointer;transition:background .16s ease,color .16s ease,transform .12s cubic-bezier(.34,1.56,.64,1)}.segment-delete-btn:hover{background:#fee2e2;color:#991b1b;transform:scale(1.1)}.segment-delete-btn:active{transform:scale(.92)}.segment-controls{margin-top:8px;display:flex;flex-direction:column;gap:8px;padding:10px 11px;border:1px solid rgba(0,0,0,.06);border-radius:8px;background:#fff;animation:fade-up .18s cubic-bezier(.22,1,.36,1) both}.control-row{display:flex;align-items:center;gap:8px}.control-label{width:58px;flex-shrink:0;color:gray;font-size:.7rem;font-weight:500;letter-spacing:.01em}.control-slider{flex:1;height:3px;appearance:none;border-radius:999px;background:#e8e8e8;outline:none;cursor:pointer;transition:background .16s ease}.control-slider:hover{background:#d4d4d4}.control-slider::-webkit-slider-thumb{width:14px;height:14px;appearance:none;border:2px solid #ffffff;border-radius:50%;background:#0d0d0d;box-shadow:0 1px 4px #0000002e;cursor:pointer;transition:transform .14s cubic-bezier(.34,1.56,.64,1)}.control-slider::-webkit-slider-thumb:hover{transform:scale(1.18)}.control-slider::-moz-range-thumb{width:14px;height:14px;border:2px solid #ffffff;border-radius:50%;background:#0d0d0d;box-shadow:0 1px 4px #0000002e;cursor:pointer}.control-value{width:56px;flex-shrink:0;color:#333;font-family:var(--font-mono);font-size:.7rem;text-align:right;font-variant-numeric:tabular-nums}.control-select{flex:1;height:32px;padding:0 9px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#f7f7f7;color:#0d0d0d;font-size:.76rem;font-weight:500;cursor:pointer;transition:border-color .16s ease,background .16s ease}.control-select:focus{outline:none;border-color:#0000003d;background:#fff}.joint-limits{display:flex;align-items:center;gap:5px;flex:1}.control-input-small{width:54px;height:32px;padding:0 6px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#f7f7f7;color:#0d0d0d;font-family:var(--font-mono);font-size:.74rem;text-align:center;font-variant-numeric:tabular-nums;transition:border-color .16s ease,background .16s ease}.control-input-small:focus{outline:none;border-color:#0000003d;background:#fff}.joint-limits-sep{color:#b8b8b8;font-size:.74rem}.gripper-library{padding-bottom:14px}.gripper-cards{display:flex;flex-direction:column;gap:4px}.gripper-card{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:3px 10px;align-items:center;padding:9px 11px;border:1px solid rgba(0,0,0,.06);border-radius:10px;background:#fafafa;text-align:left;cursor:pointer;transition:border-color .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.gripper-card:hover{border-color:#0000001f;background:#f5f5f5;transform:translateY(-1px);box-shadow:0 2px 10px #0000000f}.gripper-card--selected{background:#f5f5f5;border-color:#0003;box-shadow:0 2px 10px #00000012}.gripper-mark{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f0f0f0;color:#555;font-size:.62rem;font-weight:700;letter-spacing:.03em;transition:background .2s ease,color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.gripper-card--selected .gripper-mark{background:#0d0d0d;color:#fff;transform:scale(1.06)}.gripper-name{color:#0d0d0d;font-size:.82rem;font-weight:600;letter-spacing:-.01em}.gripper-price{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:999px;background:#f0f0f0;color:#555;font-family:var(--font-mono);font-size:.62rem;font-weight:600;font-variant-numeric:tabular-nums}.gripper-details{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:9px;border-top:1px solid rgba(0,0,0,.06);animation:fade-up .18s cubic-bezier(.22,1,.36,1) both}.gripper-desc{color:#333;font-size:.76rem;font-weight:400;line-height:1.6}.gripper-use{color:#666;font-size:.72rem;font-weight:400;line-height:1.5}.validation-panel{padding-top:10px;padding-bottom:14px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.section-title{color:#0d0d0d;font-family:var(--font-sans);font-size:1.02rem;font-weight:700;letter-spacing:0}.validation-badge{margin-left:auto;padding:4px 12px;border-radius:999px;font-family:var(--font-sans);font-size:.76rem;font-weight:600}.validation-badge--ok{background:#f0fdf4;color:#15803d}.validation-badge--error{background:#fef2f2;color:#dc2626}.validation-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px}.validation-ai-fix-btn{height:28px;padding:0 10px;border-radius:8px;border:1px solid #0d0d0d;background:#0d0d0d;color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .16s ease,border-color .16s ease,opacity .16s ease}.validation-ai-fix-btn:hover:not(:disabled){background:#242424;border-color:#242424}.validation-ai-fix-btn:disabled{opacity:.6;cursor:not-allowed}.validation-ai-fix-note{margin:4px 0 10px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:#f7f7f7;color:#333;font-size:.76rem;line-height:1.45;padding:8px 10px}.validation-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.metric{display:flex;flex-direction:column;gap:6px;padding:12px 13px;border:1px solid rgba(0,0,0,.07);border-radius:12px;background:#f7f7f7;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.metric:hover{transform:translateY(-1px);box-shadow:0 3px 12px #00000014}.metric-label{color:#555;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.metric-value{display:flex;align-items:baseline;gap:4px;color:#0d0d0d;font-family:var(--font-mono);font-size:1.15rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.metric-unit{color:#555;font-family:var(--font-sans);font-size:.72rem;font-weight:600}.metric-empty{color:#aaa;font-size:1.1rem}.validation-section{display:flex;flex-direction:column;gap:6px;padding:4px 0 8px}.validation-section-title{color:#555;font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px}.validation-section-title.error{color:#dc2626}.validation-section-title.warning{color:#d97706}.validation-item{position:relative;display:block;padding:11px 46px 11px 13px;border-radius:10px;border:1px solid transparent;animation:fade-up .2s cubic-bezier(.22,1,.36,1) both}.validation-item--error{background:#fff5f5;border-color:#dc26261f}.validation-item--warning{background:#fffbeb;border-color:#d977061f}.validation-pill{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:22px;padding:0 8px;border-radius:999px;font-family:var(--font-sans);font-size:.7rem;font-weight:700;flex-shrink:0}.validation-pill--error{background:#fee2e2;color:#dc2626}.validation-pill--warning{background:#fef3c7;color:#b45309}.validation-pill--ok{background:#dcfce7;color:#15803d}.validation-icon{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px}.validation-icon--error{background:#fee2e2;color:#dc2626}.validation-icon--warning{background:#fef3c7;color:#b45309}.validation-icon--ok{background:#dcfce7;color:#15803d}.validation-text{color:#1a1a1a;font-family:var(--font-sans);font-size:.86rem;font-weight:500;line-height:1.55}.validation-ok{display:flex;gap:10px;align-items:center;padding:10px 0 0;color:#15803d;font-family:var(--font-sans);font-size:.88rem;font-weight:600;line-height:1.5}.panel-footer{padding:10px 14px 14px;border-top:1px solid rgba(0,0,0,.06);transition:flex .32s cubic-bezier(.22,1,.36,1)}.designer-panel:has(.bom-counter--expanded) .panel-toolbar{flex:0;min-height:0;max-height:0;overflow:hidden;border-bottom:none}.designer-panel:has(.bom-counter--expanded) .panel-content{flex:0;min-height:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.designer-panel:has(.bom-counter--expanded) .panel-footer{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.designer-panel:has(.bom-counter--expanded) .bom-counter{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.designer-panel:has(.bom-counter--expanded) .bom-summary{order:2;border-top:1px solid rgba(0,0,0,.06);padding-top:10px;margin-top:2px}.designer-panel:has(.bom-counter--expanded) .bom-breakdown{order:1;flex:1;min-height:0;max-height:none}.bom-counter{overflow:hidden}.bom-summary{width:100%;display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;transition:opacity .18s ease}.bom-summary:hover{opacity:.68}.bom-label{color:#555;font-size:.72rem;font-weight:600;font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase}.bom-total{flex:1;color:#0d0d0d;font-family:var(--font-mono);font-size:1.18rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.bom-expand-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#f0f0f0;color:#555;font-size:.82rem;font-weight:700;transition:background .16s ease,transform .22s cubic-bezier(.34,1.56,.64,1)}.bom-summary:hover .bom-expand-icon{background:#e8e8e8}.bom-breakdown{max-height:220px;overflow-y:auto;margin-top:6px;border:1px solid rgba(0,0,0,.06);border-radius:10px;background:#fafafa;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent;animation:fade-up .2s cubic-bezier(.22,1,.36,1) both}.bom-breakdown::-webkit-scrollbar{width:3px}.bom-breakdown::-webkit-scrollbar-thumb{background:#0000001a;border-radius:999px}.bom-breakdown-header{padding:9px 13px 5px;color:#555;font-size:.72rem;font-family:var(--font-sans);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.bom-items{display:flex;flex-direction:column}.bom-item{display:flex;align-items:center;gap:8px;padding:8px 13px;border-bottom:1px solid rgba(0,0,0,.04);font-size:.82rem;font-family:var(--font-sans);transition:background .16s ease}.bom-item:hover{background:#f4f4f4}.bom-item:last-child{border-bottom:none}.bom-item-name{flex:1;overflow:hidden;color:#1a1a1a;font-weight:500;font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.bom-item-source{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;background:#f0f0f0;color:#333;font-size:.72rem;font-family:var(--font-sans);font-weight:600;flex-shrink:0}.bom-item-price{width:52px;flex-shrink:0;color:#0d0d0d;font-family:var(--font-mono);font-size:.82rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.bom-total-row{display:flex;justify-content:space-between;padding:9px 13px 11px;border-top:1px solid rgba(0,0,0,.06);color:#0d0d0d;font-family:var(--font-sans);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.viewport-wrapper{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;border-radius:16px;background:#fff}.viewport-wrapper:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:radial-gradient(circle,rgba(0,0,0,.1) 1px,transparent 1px);background-size:28px 28px;opacity:.5}.viewport-wrapper:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at center,transparent 55%,rgba(255,255,255,.6) 100%)}.viewport-wrapper--simulate:after{display:none}.arm-viewer{position:relative;width:100%;height:100%}.viewport-focus-btn{position:absolute;top:12px;right:56px;z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#444;cursor:pointer;box-shadow:0 2px 8px #00000012;transition:background .18s ease,color .18s ease,border-color .18s ease;animation:fade-up .4s .28s cubic-bezier(.22,1,.36,1) both}.viewport-focus-btn:hover{background:#fff}.viewport-focus-btn--active{background:#0d0d0d;border-color:#0d0d0d;color:#fff;box-shadow:0 2px 10px #0000002e}.viewport-focus-btn--active:hover{background:#2a2a2a;border-color:#2a2a2a}.viewport-reset-btn{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#444;cursor:pointer;box-shadow:0 2px 8px #00000012;transition:background .18s ease,transform .22s cubic-bezier(.22,1,.36,1);animation:fade-up .4s .32s cubic-bezier(.22,1,.36,1) both}.viewport-reset-btn:hover{background:#fff;transform:rotate(-40deg)}.viewport-reset-btn:active{transform:rotate(-360deg);transition-duration:.44s}.viewport-hint{position:absolute;top:12px;right:100px;transform:none;z-index:10;display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 10px 0 16px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#444;font-size:.78rem;font-weight:500;white-space:nowrap;pointer-events:auto;box-shadow:0 4px 16px #00000014;animation:fade-up .52s .28s cubic-bezier(.22,1,.36,1) both}.viewport-hint-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:#00000012;color:#555;cursor:pointer;flex-shrink:0;transition:background .16s ease}.viewport-hint-close:hover{background:#00000021}.app-status-bar{display:flex;align-items:center;gap:14px;min-height:44px;padding:0 16px;border-radius:14px;animation:fade-up .42s 80ms cubic-bezier(.22,1,.36,1) both}.status-item{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;color:#666;font-size:.76rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.status-right{margin-left:auto}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot--green{background:#22c55e;animation:status-pulse 2.4s ease-in-out infinite}.status-offline{color:#999}@media(max-width:1120px){.app-shell{padding:14px;gap:10px}.app-header{flex-wrap:wrap;height:auto;padding:10px 12px;gap:8px}.hdr-nav{flex-wrap:wrap}.app-body{flex-direction:column}.designer-panel{width:100%;max-height:48vh}.viewport-wrapper{min-height:50vh}}@media(max-width:720px){.app-shell{padding:12px}.designer-panel,.viewport-wrapper{border-radius:12px}.app-header{border-radius:12px;height:auto;padding:8px 12px;grid-template-columns:1fr auto;grid-template-rows:auto auto}.hdr-brand{grid-column:1 / -1;justify-content:center;padding-bottom:4px}.hdr-nav{flex-wrap:wrap}.hdr-right{justify-content:flex-end}.hdr-step{display:none}.validation-metrics{grid-template-columns:1fr}.viewport-hint{bottom:14px;max-width:calc(100% - 28px);white-space:normal;text-align:center;line-height:1.45}.app-status-bar{flex-wrap:wrap;align-items:flex-start;padding:10px 14px}.status-right{margin-left:0;width:100%}}.task-canvas-wrapper{flex:1;height:100%;position:relative;overflow:hidden;background:#f7f5f2;--task-controls-offset: 20px;--task-control-size: 30px;--task-controls-stack-height: 92px;--task-controls-gap: 8px}.task-canvas-wrapper .react-flow{background:transparent}.react-flow__handle{width:11px;height:11px;background:#fff;border:2px solid #1a1a1a;border-radius:50%;transition:background .15s ease,transform .13s ease,border-color .15s ease}.react-flow__handle:hover{background:#1a1a1a;transform:scale(1.25)}.react-flow__handle.connecting{background:#1d4ed8;border-color:#1d4ed8}.react-flow__edge-path{stroke:#2a2a2a;stroke-width:1.6}.react-flow__edge.selected .react-flow__edge-path{stroke:#1d4ed8;stroke-width:2}.react-flow__connection-path{stroke:#2a2a2a;stroke-width:1.6;stroke-dasharray:6 4}.react-flow__selection{background:#1d4ed80a;border:1.5px solid rgba(29,78,216,.4);border-radius:4px}.task-flow-controls.react-flow__controls{background:#ffffffe6;backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08);border-radius:9px;box-shadow:0 2px 10px #00000012;overflow:hidden;margin:0;bottom:var(--task-controls-offset);right:var(--task-controls-offset);left:auto}.task-flow-controls.react-flow__controls button{background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.06);color:#1a1a1a;width:30px;height:30px;font-size:16px;cursor:pointer;transition:background .15s ease}.task-flow-controls.react-flow__controls button:last-child{border-bottom:none}.task-flow-controls.react-flow__controls button:hover{background:#0000000a}.task-clear-control{position:absolute;right:var(--task-controls-offset);bottom:calc(var(--task-controls-offset) + var(--task-controls-stack-height) + var(--task-controls-gap));z-index:9;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(220,38,38,.45);border-radius:9px;background:#ffffffeb;color:#dc2626;padding:0;cursor:pointer;transition:background .15s ease,border-color .15s ease;backdrop-filter:blur(12px)}.task-clear-control svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.task-clear-control:hover{background:#dc262614;border-color:#dc2626a6}.task-clear-dialog-backdrop{position:absolute;inset:0;z-index:20;background:#0000002e;display:flex;align-items:center;justify-content:center;padding:16px}.task-clear-dialog{width:min(360px,calc(100% - 24px));border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;box-shadow:0 12px 30px #0000002e;padding:16px;display:flex;flex-direction:column;gap:12px}.task-clear-dialog h3{margin:0;font-size:.92rem;font-weight:700;color:#0d0d0d}.task-clear-dialog p{margin:0;font-size:.78rem;color:#444;line-height:1.35}.task-clear-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.task-clear-dialog-actions button{height:32px;padding:0 12px;border-radius:8px;border:1px solid transparent;font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer}.task-clear-cancel{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}.task-clear-confirm{background:#111827;color:#fff}.gkd-overlay{position:fixed;inset:0;z-index:9999;background:#00000073;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.gkd-card{width:min(420px,100%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.1);box-shadow:0 24px 60px #00000038;padding:28px 24px 22px;display:flex;flex-direction:column;gap:14px;font-family:Poppins,sans-serif}.gkd-icon{width:42px;height:42px;border-radius:12px;background:#f3f4f6;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;color:#374151}.gkd-title{margin:0;font-size:1.02rem;font-weight:700;color:#0d0d0d;letter-spacing:-.01em}.gkd-desc{margin:0;font-size:.82rem;color:#555;line-height:1.55}.gkd-get-key-link{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:#0d0d0d;text-decoration:underline;text-underline-offset:3px;transition:opacity .15s}.gkd-get-key-link:hover{opacity:.65}.gkd-input-row{display:flex;gap:6px;align-items:center}.gkd-input{flex:1;height:38px;padding:0 12px;border-radius:9px;border:1px solid #d1d5db;font-family:inherit;font-size:.84rem;color:#0d0d0d;background:#f9fafb;outline:none;transition:border-color .15s;letter-spacing:.04em}.gkd-input:focus{border-color:#0d0d0d;background:#fff}.gkd-toggle-btn{width:36px;height:38px;border-radius:9px;border:1px solid #d1d5db;background:#f3f4f6;color:#555;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.gkd-toggle-btn:hover{background:#e5e7eb}.gkd-error{margin:0;font-size:.78rem;color:#dc2626;line-height:1.45}.gkd-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.gkd-btn{height:36px;padding:0 16px;border-radius:9px;border:1px solid transparent;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .15s}.gkd-btn:disabled{opacity:.42;cursor:not-allowed}.gkd-btn--cancel{background:#f3f4f6;border-color:#d1d5db;color:#374151}.gkd-btn--cancel:hover:not(:disabled){background:#e5e7eb}.gkd-btn--confirm{background:#0d0d0d;color:#fff}.gkd-btn--confirm:hover:not(:disabled){opacity:.82}.gkd-clear-key{background:none;border:none;padding:0;font-family:inherit;font-size:.76rem;font-weight:500;color:#9ca3af;cursor:pointer;text-align:center;align-self:center;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.gkd-clear-key:hover{color:#555}.task-edge-zone{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.task-edge-delete{width:16px;height:16px;border-radius:50%;border:1.5px solid #d1d5db;background:#fff;color:#9ca3af;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;opacity:0;transform:scale(.6);transition:opacity .13s ease,transform .13s ease,border-color .13s ease,color .13s ease,background .13s ease}.task-edge-zone:hover .task-edge-delete,.task-edge-zone--selected .task-edge-delete{opacity:1;transform:scale(1);border-color:#fca5a5;color:#991b1b;background:#fee2e2}.task-editor-panel{animation:panel-enter .26s cubic-bezier(.22,1,.36,1) both;overflow:hidden;height:100%;max-height:100%;position:relative;z-index:4}.task-editor-panel .panel-topbar{position:relative;z-index:2;background:#fff;flex:0 0 auto}.task-editor-scroll{flex:1 1 auto;min-height:0;height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}.task-editor-scroll::-webkit-scrollbar{width:5px}.task-editor-scroll::-webkit-scrollbar-thumb{background:#00000024;border-radius:999px}.task-editor-panel .task-panel-desc-wrap,.task-editor-panel .task-ai-generate-wrap,.task-editor-panel .panel-content,.task-editor-panel .panel-footer{flex:0 0 auto}.task-editor-panel .panel-content{overflow:visible;max-height:none}@media(max-width:1120px){.task-editor-panel{max-height:calc(100vh - 170px)}}@media(max-width:720px){.task-editor-panel{max-height:calc(100vh - 148px)}}.task-panel-desc-wrap{padding:0 14px 6px;border-bottom:1px solid rgba(0,0,0,.06)}.task-panel-desc{width:100%;background:#f7f7f7;border:1px solid rgba(0,0,0,.07);border-radius:7px;padding:8px 10px;font-family:Poppins,sans-serif;font-size:.75rem;color:#1a1a1a;resize:none;line-height:1.5;transition:border-color .15s ease;box-sizing:border-box}.task-panel-desc:focus{outline:none;border-color:#0003}.task-panel-desc::placeholder{color:#888}.task-ai-generate-wrap{padding:10px 14px 12px;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:8px}.task-ai-generate-input-wrap{position:relative;margin-bottom:8px}.task-ai-generate-input{width:100%;min-height:54px;resize:vertical;box-sizing:border-box;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#f7f7f7;color:#1a1a1a;padding:11px 44px 11px 12px;font-family:Poppins,sans-serif;font-size:.82rem;line-height:1.45}.task-ai-generate-input:focus{outline:none;border-color:#00000038}.task-ai-generate-input::placeholder{color:#7a7a7a}.task-ai-voice-btn{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border:none;border-radius:50%;background:#f0f0f0;color:#222;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,color .18s ease}.task-ai-voice-btn:hover{background:#e8e8e8}.task-ai-voice-btn--listening{background:#991b1b;color:#fff;box-shadow:0 0 0 2px #991b1b33}.task-ai-generate-actions{display:flex;align-items:center;gap:8px}.task-ai-generate-btn{min-width:136px}.task-ai-error{margin-top:6px;color:#b91c1c;font-size:.82rem}.task-ai-results-dropdown{margin-top:8px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#fafafa;overflow:hidden;width:100%}.task-ai-results-toggle{width:100%;min-height:34px;border:none;background:transparent;color:#1a1a1a;padding:0 10px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.task-ai-results-toggle:hover{background:#00000008}.task-ai-results-copy{font-size:.76rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.task-ai-results-icon{color:#555;transition:transform .18s ease}.task-ai-results-icon--open{transform:rotate(180deg)}.task-ai-results-body{border-top:1px solid rgba(0,0,0,.06);padding:10px 12px 12px;display:grid;gap:6px;animation:task-results-reveal .26s cubic-bezier(.22,1,.36,1) both}@keyframes task-results-reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.task-ai-results-row{display:flex;justify-content:space-between;align-items:center;color:#333;font-size:.78rem}.task-ai-results-row strong{color:#111;font-weight:600}.task-ai-pass{color:#166534}.task-ai-fail{color:#991b1b}.task-ai-gate{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid rgba(0,0,0,.12);font-size:.74rem;font-weight:600;letter-spacing:.01em}.task-ai-gate--idle{color:#444;background:#f2f2f2}.task-ai-gate--verifying{color:#1e3a8a;background:#1d4ed81f;border-color:#1d4ed857;animation:task-ai-gate-pulse 1.15s ease-in-out infinite}.task-ai-gate--ready{color:#166534;background:#1665341f;border-color:#16653457}.task-ai-gate--blocked{color:#991b1b;background:#b91c1c1f;border-color:#b91c1c57}.task-ai-gate-note{font-size:.74rem;line-height:1.45;border-radius:7px;border:1px solid rgba(0,0,0,.08);padding:8px 9px;animation:task-results-reveal .22s cubic-bezier(.22,1,.36,1) both}.task-ai-gate-note--verifying{color:#1e3a8a;background:#1d4ed80f}.task-ai-gate-note--ready{color:#166534;background:#1665340f}.task-ai-gate-note--blocked{color:#991b1b;background:#b91c1c0f}@keyframes task-ai-gate-pulse{0%{box-shadow:0 0 #1d4ed842}70%{box-shadow:0 0 0 7px #1d4ed800}to{box-shadow:0 0 #1d4ed800}}.task-ai-gate-debug{margin-top:4px;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:9px;background:#f7f7f7;animation:task-gate-debug-reveal .28s cubic-bezier(.22,1,.36,1) both}.task-ai-gate-debug-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.task-ai-gate-debug-item{border:1px solid rgba(0,0,0,.07);border-radius:7px;background:#fff;min-height:42px;padding:6px 8px;display:flex;flex-direction:column;justify-content:center;gap:2px}.task-ai-gate-debug-item span{color:#555;font-size:.72rem;font-weight:500}.task-ai-gate-debug-item strong{color:#111;font-size:.76rem;font-weight:600}.task-ai-gate-debug-alert{margin-top:8px;border-radius:6px;border:1px solid rgba(185,28,28,.25);background:#b91c1c0f;color:#991b1b;padding:7px 8px;font-size:.74rem;line-height:1.4}.task-ai-gate-debug-list{margin:8px 0 0;padding-left:16px;color:#9a3412;font-size:.74rem;line-height:1.42}@keyframes task-gate-debug-reveal{0%{opacity:0;transform:translateY(-4px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.task-ai-results-warnings{margin:2px 0 0;padding:0 0 0 16px;color:#b45309;font-size:.74rem;line-height:1.4}.task-ai-results-steps{color:#555;font-size:.74rem}.task-ai-results-empty{color:#666;font-size:.76rem}.task-ai-results-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.task-ai-results-action-btn{min-height:30px;border-radius:7px;border:1px solid rgba(0,0,0,.12);background:#f3f3f3;color:#1a1a1a;padding:0 10px;font-family:Poppins,sans-serif;font-size:.74rem;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease}.task-ai-results-action-btn:hover:not(:disabled){background:#ececec;border-color:#0000002e}.task-ai-results-action-btn:disabled{cursor:not-allowed;opacity:.55}.task-ai-results-action-btn--fix{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.task-ai-results-action-btn--fix:hover:not(:disabled){background:#232323;border-color:#232323}.task-ai-results-action-btn--config{background:#0f172a;border-color:#0f172a;color:#fff}.task-ai-results-action-btn--config:hover:not(:disabled){background:#1e293b;border-color:#1e293b}.task-ai-suggestions-list{display:grid;gap:6px;margin-top:2px}.task-ai-suggestion-source{font-size:.72rem;font-weight:600;color:#3f3f46;text-transform:uppercase;letter-spacing:.03em;padding:2px 2px 0}.task-ai-suggestion-item{font-size:.74rem;color:#1f1f1f;line-height:1.4;padding:8px 10px;border-radius:6px;background:#1d4ed814;border-left:3px solid #1d4ed8}.task-ai-suggestion-empty{font-size:.74rem;color:#555;padding:8px 10px;border-radius:6px;background:#0000000a;border-left:3px solid #737373}.task-ai-suggestions-list .task-ai-suggestion-empty{animation:status-pulse .9s ease-in-out infinite}.task-ai-config-note{font-size:.74rem;line-height:1.4;color:#1e293b;background:#0f172a12;border-left:3px solid #0f172a;border-radius:6px;padding:8px 10px;animation:task-results-reveal .22s cubic-bezier(.22,1,.36,1) both}.task-ai-react-wrap{margin-top:2px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#fff;padding:8px;animation:task-results-reveal .22s cubic-bezier(.22,1,.36,1) both}.task-ai-react-wrap .react-panel{max-height:220px;gap:8px}.task-ai-react-wrap .react-empty{padding:16px 10px}.task-palette{padding:10px 0 4px}.task-palette-header{font-family:Poppins,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#555;padding:0 16px 8px}.task-palette-list{display:flex;flex-direction:column;gap:2px;padding:0 10px}.palette-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:grab;user-select:none;transition:background .15s ease,border-color .15s ease,transform .15s cubic-bezier(.22,1,.36,1);position:relative}.palette-item:hover{background:#0000000a;border-color:#00000012;transform:translate(2px)}.palette-item:active{cursor:grabbing;background:#00000012}.palette-item-accent{width:3px;height:32px;border-radius:2px;flex-shrink:0}.palette-item-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.palette-item-label{font-family:Poppins,sans-serif;font-size:.82rem;font-weight:600;color:#0d0d0d}.palette-item-desc{font-family:Poppins,sans-serif;font-size:.7rem;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item-add-icon{color:#aaa;flex-shrink:0;transition:color .15s ease,transform .15s ease}.palette-item:hover .palette-item-add-icon{color:#555;transform:scale(1.15)}.task-palette-hint{font-family:Poppins,sans-serif;font-size:.68rem;color:#888;text-align:center;padding:10px 16px 4px;margin:0}.task-validation-footer{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-top:1px solid rgba(0,0,0,.06)}.task-val-badge{display:flex;align-items:center;gap:7px;font-family:Poppins,sans-serif;font-size:.79rem;font-weight:600;padding:8px 12px;border-radius:8px}.task-val-badge--ok{color:#15803d;background:#15803d12;border:1px solid rgba(21,128,61,.2)}.task-val-badge--fail{color:#b91c1c;background:#b91c1c0f;border:1px solid rgba(185,28,28,.18)}.task-val-issues{display:flex;flex-direction:column;gap:4px}.task-val-issue{display:flex;align-items:flex-start;gap:7px;padding:5px 0;font-family:Poppins,sans-serif;font-size:.73rem;line-height:1.45;animation:fade-in .18s ease both}.task-val-issue-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:5px}.task-val-issue--error .task-val-issue-dot{background:#dc2626}.task-val-issue--warning .task-val-issue-dot{background:#d97706}.task-val-issue--error .task-val-issue-msg{color:#991b1b}.task-val-issue--warning .task-val-issue-msg{color:#92400e}.task-val-issue-more{font-family:Poppins,sans-serif;font-size:.71rem;color:#555;padding-left:12px}@keyframes task-node-enter{0%{opacity:0;transform:scale(.93) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.task-node{background:#fff;border:1px solid #e5e5e3;border-radius:12px;min-width:228px;max-width:264px;box-shadow:0 1px 3px #0000000b;font-family:Poppins,sans-serif;animation:task-node-enter .22s cubic-bezier(.22,1,.36,1) both;transition:box-shadow .2s ease,transform .2s ease,border-color .18s ease;position:relative}.task-node:hover{box-shadow:0 3px 12px #00000013;border-color:#d0d0ce}.task-node--selected{border-color:var(--node-accent-color, #374151);box-shadow:0 0 0 3px color-mix(in srgb,var(--node-accent-color, #374151) 13%,transparent),0 4px 16px #00000014;transform:translateY(-1px)}.task-node--error{border-color:#dc262673!important;background:#dc262605}.task-node--warning{border-color:#d9770666!important;background:#d9770605}.task-node--start{--node-accent-color: #0d0d0d}.task-node--end{--node-accent-color: #374151}.task-node--move{--node-accent-color: #1d4ed8}.task-node--grip{--node-accent-color: #15803d}.task-node--wait{--node-accent-color: #b45309}.task-node--loop{--node-accent-color: #6d28d9}.task-node--if{--node-accent-color: #b91c1c}.task-node-header{display:flex;align-items:center;gap:7px;padding:9px 10px 8px 12px;border-bottom:1px solid rgba(0,0,0,.05)}.task-node-delete{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:#aaa;border-radius:4px;cursor:pointer;flex-shrink:0;padding:0;transition:background .12s,color .12s}.task-node-delete:hover{background:#fee2e2;color:#991b1b}.task-node-type-label{font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--node-accent-color, #374151);flex:1;display:flex;align-items:center;gap:6px}.task-node-type-label:before{content:"";display:inline-block;width:6px;height:6px;border-radius:2px;background:var(--node-accent-color, #374151);flex-shrink:0}.task-node-title{font-size:.75rem;color:#666}.task-node-issue-icon{color:#dc2626;flex-shrink:0}.task-node-issue-icon--warn{color:#d97706}.task-node-body{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.task-node-row{display:flex;align-items:center;gap:7px}.task-node-row--column{flex-direction:column;align-items:flex-start;gap:4px}.task-node-label{font-size:.72rem;font-weight:500;color:#666;flex-shrink:0;width:54px}.task-node-value{font-size:.72rem;font-weight:600;color:#1a1a1a;min-width:32px;text-align:right}.task-node-hint{font-size:.68rem;color:#999;text-align:center;margin-top:-2px}.task-node-select,.task-node-number-input,.task-node-text-input,.task-node-coord-input{background:#f8f8f7;border:1px solid #e5e5e3;border-radius:6px;padding:4px 7px;font-family:Poppins,sans-serif;font-size:.75rem;color:#1a1a1a;height:28px;transition:border-color .15s ease,background .15s ease;outline:none;box-sizing:border-box}.task-node-select:focus,.task-node-number-input:focus,.task-node-text-input:focus,.task-node-coord-input:focus{border-color:var(--node-accent-color, #374151);background:#fff}.task-node-select{flex:1;cursor:pointer}.task-node-text-input{flex:1;width:100%;height:auto}.task-node-number-input{width:72px;text-align:right}.task-node-slider{flex:1;height:3px;appearance:none;background:#e5e5e3;border-radius:2px;outline:none;cursor:pointer}.task-node-slider::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:50%;background:#1a1a1a;cursor:pointer;transition:transform .13s ease}.task-node-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.task-node-coords{display:flex;align-items:center;gap:5px}.task-node-coord-field{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.task-node-coord-label{font-size:.65rem;font-weight:600;color:#999;text-transform:uppercase}.task-node-coord-input{width:100%;text-align:center;padding:3px 4px;font-size:.75rem}.task-node-coord-unit{font-size:.68rem;color:#999;flex-shrink:0;margin-top:14px}.task-node-toggle{display:flex;border:1px solid #e5e5e3;border-radius:6px;overflow:hidden;flex:1}.task-toggle-btn{flex:1;border:none;background:transparent;padding:4px 0;font-family:Poppins,sans-serif;font-size:.73rem;font-weight:500;color:#666;cursor:pointer;transition:background .14s ease,color .14s ease}.task-toggle-btn--active{background:#1a1a1a;color:#fff}.task-toggle-btn--open.task-toggle-btn--active{background:#15803d;color:#fff}.task-toggle-btn--close.task-toggle-btn--active{background:#991b1b;color:#fff}.task-toggle-btn:not(.task-toggle-btn--active):hover{background:#0000000a}.task-node-stepper{display:flex;align-items:center;border:1px solid #e5e5e3;border-radius:6px;overflow:hidden}.task-stepper-btn{width:28px;height:28px;border:none;background:transparent;font-size:16px;font-weight:400;color:#1a1a1a;cursor:pointer;transition:background .14s ease;line-height:1;display:flex;align-items:center;justify-content:center}.task-stepper-btn:hover:not(:disabled){background:#0000000d}.task-stepper-btn:disabled{color:#ccc;cursor:not-allowed}.task-stepper-value{min-width:32px;text-align:center;font-size:.82rem;font-weight:600;color:#1a1a1a;border-left:1px solid #e5e5e3;border-right:1px solid #e5e5e3;padding:4px 0}.task-node-if-outputs{display:flex;justify-content:space-around;padding:6px 12px 10px;border-top:1px solid rgba(0,0,0,.05);position:relative}.task-node-if-branch{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.task-node-branch-label{font-size:.63rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.task-node--start .task-node-header,.task-node--end .task-node-header{border-bottom:none;padding-bottom:12px}.sim-viewer{width:100%;height:100%;position:relative}.sim-labels-toggle{position:absolute;top:12px;right:100px;z-index:10;display:flex;align-items:center;gap:6px;padding:0 12px;height:32px;border-radius:8px;border:1px solid #d4d4d4;background:#ffffffd1;backdrop-filter:blur(12px) saturate(160%);color:#374151;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:500;cursor:pointer;transition:background .16s,border-color .16s,color .16s}.sim-labels-toggle:hover{background:#fffffff5;border-color:#b0b0b0}.sim-labels-toggle--active{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.sim-labels-toggle--active:hover{background:#2a2a2a}.sim-teach-toggle{display:flex;align-items:center;justify-content:center;min-width:62px;height:32px;padding:0 12px;border-radius:8px;border:1px solid #d4d4d4;background:#ffffffd1;backdrop-filter:blur(12px) saturate(160%);color:#374151;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .18s}.sim-teach-toggle:hover{background:#fffffff5;border-color:#b0b0b0}.sim-teach-toggle--active{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.sim-teach-toggle--active:hover{background:#202020;border-color:#202020}.sim-teach-lock-btn{display:flex;align-items:center;justify-content:center;min-width:58px;height:32px;padding:0 10px;border-radius:8px;border:1px solid #d4d4d4;background:#ffffffd1;backdrop-filter:blur(12px) saturate(160%);color:#374151;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .16s,border-color .16s,color .16s}.sim-teach-lock-btn:hover:not(:disabled){background:#fffffff5;border-color:#b0b0b0}.sim-teach-lock-btn--active{background:#111827;border-color:#111827;color:#fff}.sim-teach-lock-btn:disabled{opacity:.48;cursor:not-allowed}.sim-scene-label{display:inline-block;padding:3px 8px;border-radius:6px;background:#ffffffeb;backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.1);border-left:3px solid var(--label-color, #374151);color:#0d0d0d;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:500;white-space:nowrap;box-shadow:0 1px 6px #0000001a;pointer-events:none;user-select:none}.sim-tool-point-stack{position:absolute;right:12px;bottom:12px;z-index:20;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:min(320px,calc(100% - 24px))}.sim-ptp-list{max-height:118px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:9px;border:1px solid rgba(0,0,0,.1);background:#ffffffdb;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);box-shadow:0 2px 8px #00000014}.sim-teach-hint,.sim-teach-warning{padding:7px 9px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#ffffffdb;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);font-family:Poppins,sans-serif;font-size:.72rem;font-weight:500;line-height:1.35;animation:sim-fade-up .22s cubic-bezier(.22,1,.36,1)}.sim-teach-hint{color:#1a1a1a}.sim-teach-warning{color:#b42318;border-color:#b4231840}.sim-ptp-empty{font-family:Poppins,sans-serif;font-size:.76rem;font-weight:500;color:#555}.sim-ptp-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.sim-ptp-item-text{font-family:Poppins,sans-serif;font-size:.78rem;font-weight:600;color:#0d0d0d;font-variant-numeric:tabular-nums;line-height:1.35;white-space:nowrap}.sim-ptp-item-delete{width:20px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.18);background:#fff;color:#0d0d0d;font-family:Poppins,sans-serif;font-size:.74rem;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0;transition:background .16s ease,border-color .16s ease}.sim-ptp-item-delete:hover{background:#f2f2f2;border-color:#00000047}.sim-ptp-clear-btn{min-height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(0,0,0,.16);background:#ffffffeb;color:#1a1a1a;font-family:Poppins,sans-serif;font-size:.76rem;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease}.sim-ptp-clear-btn:hover{background:#f3f3f3;border-color:#0000003d}.sim-ptp-save-btn{min-height:32px;padding:0 10px;border-radius:9px;border:1px solid #0d0d0d;background:#0d0d0d;color:#fff;font-family:Poppins,sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease}.sim-ptp-save-btn:hover{background:#202020;border-color:#202020}.sim-tool-point-readout{display:inline-flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;min-height:32px;padding:0 10px;border-radius:9px;border:1px solid rgba(0,0,0,.1);background:#ffffffdb;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);box-shadow:0 2px 8px #00000014;color:#1a1a1a}.sim-tool-point-label{font-family:Poppins,sans-serif;font-size:.76rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.05em}.sim-tool-point-coord{font-family:Poppins,sans-serif;font-size:.82rem;font-weight:700;color:#0d0d0d;font-variant-numeric:tabular-nums}@keyframes sim-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.85)}}@keyframes sim-fade-up{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.sim-panel{display:flex;flex-direction:column;overflow:hidden}.sim-panel-topbar{gap:12px}.sim-panel-subtitle{margin-top:4px;font-size:.78rem;color:#555;line-height:1.4}.sim-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin;scrollbar-color:#d4d4d4 transparent}.sim-details-grid{display:none}.sim-panel-dropdown{display:flex;flex-direction:column;gap:12px}.sim-panel-dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:14px 16px;color:#111827;cursor:pointer;transition:background .18s ease,border-color .18s ease}.sim-panel-dropdown-toggle:hover{background:#f3f4f6}.sim-panel-dropdown-copy{margin-top:6px;font-size:.88rem;color:#1f2937;line-height:1.4}.sim-dropdown-icon{transition:transform .2s ease}.sim-dropdown-icon--open{transform:rotate(180deg)}.sim-panel-dropdown-body{display:flex;flex-direction:column;gap:14px}@media(max-width:920px){.sim-details-grid{grid-template-columns:1fr}}.sim-panel-footer{border-top:1px solid #ebebeb;background:#fff;padding:14px 16px}.sim-section{padding:18px 18px 16px;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #f1f1f3;border-radius:22px;box-shadow:0 0 #0000}.sim-section+.sim-section{border-top:none}.sim-section-hdr{font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#111827}.sim-section--dark{background:#fff;border-color:#f1f1f3;color:#111827}.sim-section--dark .sim-section-hdr{color:#6b7280}.sim-playback-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:2px 0 4px}.sim-playback-copy{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.sim-playback-label{font-family:Poppins,sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#555}.sim-playback-caption-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sim-playback-caption{font-family:Poppins,sans-serif;font-size:.96rem;font-weight:600;color:#111827;line-height:1.45}.sim-playback-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.sim-status-row--compact{margin-top:0}.sim-status-row{display:inline-flex;align-items:center;gap:8px}.sim-status-pill{padding:8px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc;flex-shrink:0}.sim-status-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.sim-status-label{font-size:.86rem;font-weight:600;color:#111827}.sim-compile-btn{min-height:40px;padding:0 15px;border-radius:12px;border:1px solid #111827;background:#111827;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Poppins,sans-serif;font-size:.86rem;font-weight:600;transition:transform .18s ease,background .18s ease,border-color .18s ease;flex-shrink:0}.sim-compile-btn:hover{transform:translateY(-1px);background:#1f2937;border-color:#1f2937}.sim-compile-btn:active{transform:translateY(0) scale(.98)}.sim-plan-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:.82rem;background:#f8fafc;color:#111827;border:1px solid #e5e7eb}.sim-transport{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0}.sim-transport--centered{padding:10px 0}.sim-transport-btn{width:34px;height:34px;border-radius:12px;background:#f3f4f6;color:#111827;display:flex;align-items:center;justify-content:center;transition:transform .18s ease,background .18s ease,border-color .18s ease;flex-shrink:0;cursor:pointer;border:1px solid #e5e7eb}.sim-transport-btn:hover:not(:disabled){transform:translateY(-1px) scale(1.03);background:#e5e7eb}.sim-transport-btn:active:not(:disabled){transform:translateY(0) scale(.99)}.sim-transport-btn:disabled{opacity:.5;cursor:not-allowed}.sim-transport-btn--primary{width:52px;height:52px;background:#111827;color:#fff;border-radius:50%;border:none;box-shadow:0 10px 30px #1118271f}.sim-transport-btn--primary:hover:not(:disabled){background:#1f2937}.sim-transport-btn--primary:active:not(:disabled){transform:translateY(0) scale(.98)}.sim-transport-btn--small{width:40px;height:40px}.sim-player-footer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding-top:2px}.sim-action-group,.sim-speed-group{display:flex;flex-wrap:nowrap;align-items:center;min-width:0}.sim-action-group{gap:8px;flex-shrink:0}.sim-speed-group{gap:6px;width:100%}.sim-control-btn,.sim-speed-control-btn{width:36px;height:36px;padding:0;gap:0;border-radius:10px}.sim-control-btn-label,.sim-speed-control-label{font-family:Poppins,sans-serif;font-size:.74rem;font-weight:600;line-height:1;white-space:nowrap}.sim-speed-control-btn{width:auto;min-width:0;flex:1 1 0;padding:0 8px}.sim-control-btn--active,.sim-speed-control-btn--active{background:#111827;border-color:#111827;color:#fff}.sim-control-btn--active:hover:not(:disabled),.sim-speed-control-btn--active:hover:not(:disabled){background:#1f2937;border-color:#1f2937}@media(max-width:720px){.sim-playback-top{flex-direction:column;align-items:stretch}.sim-compile-btn{width:100%}.sim-player-footer{grid-template-columns:auto minmax(0,1fr);gap:6px}}.sim-toggles{display:flex;flex-wrap:wrap;gap:10px}.sim-toggle-chip{padding:10px 16px;border-radius:999px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;font-family:Poppins,sans-serif;font-size:.86rem;font-weight:700;transition:background .18s ease,color .18s ease,border-color .18s ease}.sim-toggle-chip:hover{background:#f3f4f6}.sim-toggle-chip--on{background:#111827;color:#fff;border-color:#111827}.sim-speed-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.sim-speed-label{font-size:.86rem;font-weight:700;color:#111827}.sim-speed-btns{display:flex;flex-wrap:wrap;gap:10px}.sim-speed-btn{padding:9px 14px;border-radius:999px;border:1px solid #d1d5db;font-size:.86rem;font-weight:700;color:#111827;background:#f9fafb;transition:background .18s ease,color .18s ease,border-color .18s ease}.sim-speed-btn:hover{background:#f3f4f6}.sim-speed-btn--active{background:#111827;color:#fff;border-color:#111827}.sim-timeline{display:flex;align-items:center;gap:8px}.sim-timeline-time{font-family:Poppins,sans-serif;font-size:.86rem;color:#111827;min-width:46px;font-variant-numeric:tabular-nums}.sim-timeline-time--right{text-align:right}.sim-timeline-track{flex:1;height:5px;background:#e8e8e8;border-radius:3px;position:relative;overflow:visible;cursor:pointer}.sim-timeline-track:hover .sim-timeline-handle{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 1.5px #0d0d0d,0 3px 10px #00000038}.sim-timeline-fill{height:100%;background:#0d0d0d;border-radius:3px;pointer-events:none;transition:width 16ms linear}.sim-timeline-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;background:#0d0d0d;border:2.5px solid #ffffff;box-shadow:0 0 0 1.5px #0d0d0d,0 2px 6px #0000002e;pointer-events:none;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .14s}.sim-timeline-marker{position:absolute;top:-3px;width:2px;height:11px;transform:translate(-50%);border-radius:1px}.sim-timeline-marker--collision{background:#ef4444}.sim-timeline-marker--grip-empty{background:#f59e0b}.sim-joint-list{display:flex;flex-direction:column;gap:8px}.sim-joint-row{display:grid;grid-template-columns:90px 60px 1fr;align-items:center;gap:12px;min-height:26px}.sim-joint-label{font-family:Poppins,sans-serif;font-size:.82rem;font-weight:700;color:#1f2937;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.sim-joint-value{font-family:Poppins,sans-serif;font-size:.92rem;font-weight:700;color:#111827;font-variant-numeric:tabular-nums;text-align:right;transition:color .2s}.sim-joint-bar-track{height:5px;background:#ebebeb;border-radius:3px;overflow:hidden}.sim-joint-bar{height:100%;border-radius:3px;transition:width .28s cubic-bezier(.22,1,.36,1),background .2s;max-width:100%}.sim-gripper-row{display:flex;align-items:center;gap:8px;padding-top:8px;margin-top:2px;border-top:1px solid #f2f2f2}.sim-gripper-badge{padding:3px 10px;border-radius:20px;font-family:Poppins,sans-serif;font-size:.74rem;font-weight:500;transition:background .25s,color .25s}.sim-gripper-badge--open{background:#dcfce7;color:#15803d}.sim-gripper-badge--closed{background:#fee2e2;color:#b91c1c}.sim-gripper-force{font-family:Poppins,sans-serif;font-size:.82rem;color:#475569;margin-left:auto}.sim-metrics-list{display:flex;flex-direction:column;gap:8px}.sim-metric-row{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:7px;transition:border-color .16s,box-shadow .16s,transform .16s}.sim-metric-row:hover{border-color:#d1d5db;box-shadow:0 6px 20px #0f172a14;transform:translateY(-1px)}.sim-metric-row-top{display:grid;grid-template-columns:auto 1fr 1fr;align-items:baseline;gap:10px}.sim-metric-name{font-family:Poppins,sans-serif;font-size:.82rem;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:.06em;margin-bottom:0}.sim-metric-reading{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px}.sim-metric-val{font-family:Poppins,sans-serif;font-size:.88rem;font-weight:700;color:#111827;font-variant-numeric:tabular-nums;line-height:1.1}.sim-metric-unit{font-family:Poppins,sans-serif;font-size:.76rem;color:#475569;margin:0}.sim-metric-bar-track{height:4px;background:#e8e8e8;border-radius:2px;overflow:hidden;margin:0}.sim-metric-bar{height:100%;background:#0d0d0d;border-radius:2px;transition:width .28s cubic-bezier(.22,1,.36,1)}.sim-alert{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;border-radius:10px;font-family:Poppins,sans-serif;font-size:.86rem;font-weight:600;line-height:1.4;animation:sim-fade-up .22s cubic-bezier(.22,1,.36,1) backwards}.sim-alert--collision{background:#fff1f1;color:#c0392b;border:1px solid #fecaca}.sim-alert--grip-empty{background:#fffbeb;color:#92400e;border:1px solid #fde68a}@keyframes air-spin{to{transform:rotate(360deg)}}@keyframes air-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.air-root{display:flex;flex-direction:column;gap:7px;width:100%;min-width:0}.air-root>*{width:100%;min-width:0}.air-banner{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border-radius:9px;border:1px solid}.air-banner--ready{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.air-banner--blocked{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.air-banner--verifying{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.air-banner--idle{background:#f9fafb;border-color:#00000012;color:#555}.air-banner-icon{flex-shrink:0;width:16px;height:16px;margin-top:1px}.air-banner--verifying .air-banner-icon{animation:air-spin 1s linear infinite}.air-banner-content{flex:1;min-width:0}.air-banner-title{display:block;font-size:.8rem;font-weight:700;line-height:1.2;color:inherit}.air-banner-sub{display:block;font-size:.72rem;line-height:1.45;margin-top:2px;opacity:.82}.air-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.air-chip{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 5px 8px;border-radius:9px;border:1px solid rgba(0,0,0,.07);background:#fafafa;text-align:center}.air-chip-num{font-size:1.22rem;font-weight:700;color:#0d0d0d;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.air-chip-icon{height:16px;display:flex;align-items:center;justify-content:center}.air-chip--pass .air-chip-icon{color:#16a34a}.air-chip--fail .air-chip-icon{color:#dc2626}.air-chip-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888;line-height:1}.air-chip-sub{font-size:.7rem;font-weight:700;line-height:1}.air-chip--pass .air-chip-sub{color:#16a34a}.air-chip--fail .air-chip-sub{color:#dc2626}.air-target{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#f7f7f7;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.air-target-icon{color:#888;flex-shrink:0}.air-target-name{font-size:.78rem;font-weight:600;color:#0d0d0d;flex-shrink:0}.air-target-meta{font-size:.72rem;color:#666;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.air-badge{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:700}.air-badge--pass{background:#dcfce7;color:#15803d}.air-badge--fail{background:#fee2e2;color:#dc2626}.air-issues{display:flex;flex-direction:column;gap:4px}.air-issue{display:flex;align-items:flex-start;gap:6px;padding:7px 9px;border-radius:7px;font-size:.72rem;line-height:1.45;border:1px solid}.air-issue-icon{flex-shrink:0;margin-top:1px}.air-issue--error{background:#fef2f2;border-color:#dc262626;color:#991b1b}.air-issue--warn{background:#fffbeb;border-color:#f59e0b33;color:#92400e}.air-config-note{display:flex;align-items:center;gap:6px;padding:6px 9px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:7px;font-size:.72rem;color:#14532d}.air-actions{display:flex;flex-direction:column;gap:5px}.air-btn-primary{width:100%;height:34px;border-radius:9px;background:#0d0d0d;color:#fff;border:none;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .16s ease,opacity .16s ease}.air-btn-primary:hover:not(:disabled){background:#2a2a2a}.air-btn-primary:disabled{opacity:.3;cursor:default}.air-btn-row{display:flex;gap:5px}.air-btn-ghost{flex:1;height:30px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:transparent;color:#444;font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.air-btn-ghost:hover:not(:disabled){background:#f5f5f5;border-color:#0000002e}.air-btn-ghost:disabled{opacity:.3;cursor:default}.air-btn-spin{animation:air-spin .9s linear infinite}.air-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-top:4px;border-top:1px solid rgba(0,0,0,.06)}.air-tab{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:26px;width:100%;padding:0 6px;border-radius:6px;border:1px solid rgba(0,0,0,.08);background:transparent;color:#666;font-family:inherit;font-size:.7rem;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.air-tab:hover{background:#f5f5f5;border-color:#00000024;color:#333}.air-tab--active{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.air-tab--active:hover{background:#2a2a2a;border-color:#2a2a2a}.air-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 3px;border-radius:999px;font-size:.6rem;font-weight:700;background:#ffffff38}.air-tab:not(.air-tab--active) .air-tab-count{background:#00000014;color:#555}.air-panel{border:1px solid rgba(0,0,0,.07);border-radius:8px;background:#fafafa;overflow:hidden;animation:air-slide-in .22s cubic-bezier(.22,1,.36,1) both}.air-panel-empty{padding:10px 12px;font-size:.74rem;color:#888;text-align:center}.air-react-list{display:flex;flex-direction:column}.air-react-step{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.05)}.air-react-step:last-child{border-bottom:none}.air-react-phase{flex-shrink:0;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:1px}.air-react-step--think .air-react-phase{background:#eff6ff;color:#1d4ed8}.air-react-step--act .air-react-phase{background:#faf5ff;color:#6d28d9}.air-react-step--observe .air-react-phase{background:#f0fdf4;color:#15803d}.air-react-content{font-size:.74rem;color:#333;line-height:1.45;flex:1;min-width:0}.air-suggestions-list{padding:6px}.air-suggestions-source{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:#888;font-weight:600;padding:2px 4px 5px}.air-suggestion{padding:7px 8px;border-radius:6px;font-size:.73rem;color:#333;line-height:1.4;border:1px solid rgba(0,0,0,.06);background:#fff;margin-bottom:4px}.air-suggestion:last-child{margin-bottom:0}.air-gate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:6px}.air-gate-cell{padding:7px 9px;border-radius:6px;background:#fff;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:2px}.air-gate-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888}.air-gate-value{font-size:.76rem;font-weight:700;color:#0d0d0d}.air-gate-value--pass{color:#15803d}.air-gate-value--fail{color:#dc2626}.air-gate-alert{margin:0 6px 6px;padding:6px 8px;border-radius:5px;background:#fee2e2;color:#991b1b;font-size:.72rem}.air-gate-reasons{margin:0 6px 6px;padding-left:16px;font-size:.72rem;color:#555;line-height:1.6}.air-idle{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 8px}.air-idle-icon{color:#d1d5db}.air-idle-spin{color:#888;animation:air-spin .9s linear infinite}.air-idle-title{font-size:.78rem;font-weight:600;color:#333;text-align:center;line-height:1.35;max-width:200px}.air-idle-sub{font-size:.72rem;color:#888}.air-thinking-text{animation:air-thinking-appear .35s cubic-bezier(.22,1,.36,1) both}@keyframes air-thinking-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.air-thinking-dots{display:flex;align-items:center;justify-content:center;gap:4px;height:14px}.air-dot{width:5px;height:5px;border-radius:50%;background:#bbb;animation:air-dot-bounce 1.2s ease-in-out infinite}.air-dot:nth-child(1){animation-delay:0s}.air-dot:nth-child(2){animation-delay:.2s}.air-dot:nth-child(3){animation-delay:.4s}@keyframes air-dot-bounce{0%,80%,to{transform:translateY(0);background:#ccc}40%{transform:translateY(-5px);background:#888}}.exp-tok-comment{color:#6a9955;font-style:italic}.exp-tok-kw{color:#569cd6}.exp-tok-type{color:#4ec9b0}.exp-tok-str{color:#ce9178}.exp-tok-num{color:#b5cea8}.exp-tok-fn{color:#dcdcaa}.exp-tok-tag{color:#569cd6}.exp-error-banner{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:.85rem;font-weight:500;flex-shrink:0}.exp-code-panel--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#555}@keyframes exp-spin-kf{to{transform:rotate(360deg)}}.exp-spin{animation:exp-spin-kf .8s linear infinite}.mujoco-badge,.lifespan-panel,.mujoco-viewport{font-family:Poppins,sans-serif;color:#0d0d0d;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px}.mujoco-badge{display:grid;gap:4px;padding:12px 14px;animation:fade-up .26s cubic-bezier(.22,1,.36,1)}.mujoco-badge-title{font-size:.86rem;font-weight:600;color:#1a1a1a}.mujoco-badge-score{font-size:1rem;font-weight:700;color:#0d0d0d}.mujoco-badge-meta{font-size:.82rem;color:#1a1a1a}.lifespan-title{font-size:.9rem;font-weight:700;color:#0d0d0d;margin:0 0 10px}.lifespan-row{display:grid;grid-template-columns:52px 92px 90px 1fr;gap:8px;padding:10px;border-top:1px solid rgba(0,0,0,.08);font-size:.84rem;color:#1a1a1a}.btn-mujoco-cta{min-height:36px;padding:0 14px;border-radius:10px;border:1px solid #0d0d0d;background:#0d0d0d;color:#fff;font-size:.84rem;font-weight:600;cursor:pointer;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s}.btn-mujoco-cta:hover{transform:translateY(-1px);opacity:.94}.btn-mujoco-cta:active{transform:translateY(0)}.btn-mujoco-cta:disabled{opacity:.55;cursor:not-allowed}.air-physics-loading{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:.82rem;color:#555;font-weight:500}.air-physics-offline{display:flex;align-items:flex-start;gap:7px;padding:10px 0;font-size:.82rem;color:#888;font-weight:500;line-height:1.5}.air-physics-results{display:flex;flex-direction:column;gap:6px;padding:2px 0;animation:fade-up .28s cubic-bezier(.22,1,.36,1) both}.air-physics-accuracy{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:10px;margin-bottom:4px}.air-physics-accuracy--high{background:#f0fdf4;border:1px solid #bbf7d0}.air-physics-accuracy--mid{background:#fefce8;border:1px solid #fef08a}.air-physics-accuracy--low{background:#fff1f2;border:1px solid #fecdd3}.air-physics-accuracy-num{font-size:1.5rem;font-weight:700;color:#0d0d0d;line-height:1}.air-physics-accuracy-label{font-size:.78rem;font-weight:500;color:#555}.air-physics-row{display:flex;justify-content:space-between;align-items:center;padding:4px 2px;font-size:.82rem}.air-physics-row--warn .air-physics-val{color:#d97706;font-weight:600}.air-physics-key{color:#666;font-weight:500}.air-physics-val{color:#0d0d0d;font-weight:600;font-variant-numeric:tabular-nums}.air-physics-lifespan{display:flex;flex-direction:column;gap:5px;margin-top:6px}.air-physics-section-label{font-size:.76rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.air-physics-joint{display:grid;grid-template-columns:22px 1fr 36px;gap:8px;align-items:center}.air-physics-joint-name{font-size:.78rem;font-weight:600;color:#555;font-variant-numeric:tabular-nums}.air-physics-bar-wrap{height:5px;background:#e5e7eb;border-radius:99px;overflow:hidden}.air-physics-bar{height:100%;background:#0d0d0d;border-radius:99px;transition:width .6s cubic-bezier(.22,1,.36,1)}.air-physics-joint--warn .air-physics-bar{background:#f59e0b}.air-physics-joint-hrs{font-size:.76rem;font-weight:600;color:#0d0d0d;text-align:right;font-variant-numeric:tabular-nums}@keyframes tab-dot-pulse{0%,to{opacity:1}50%{opacity:.3}}.air-tab-count--spin{animation:tab-dot-pulse .9s ease-in-out infinite;color:#d97706}.sim-split-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#555;font-size:.78rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.sim-split-btn:hover{background:#f4f4f4}.sim-split-btn--active{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.sim-split-btn--active:hover{background:#2a2a2a}@keyframes slide-in-right{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.cp-root{display:flex;flex-direction:column;width:100%;height:100%;background:#111;overflow:hidden;font-family:SF Mono,Cascadia Code,Consolas,Menlo,monospace;font-size:12.5px}.cp-toolbar{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 12px;background:#1a1a1a;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.cp-lang-toggle{display:flex;gap:4px}.cp-lang-btn{height:26px;padding:0 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:#888;font-size:.78rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .14s ease,color .14s ease}.cp-lang-btn:hover{color:#ccc;background:#ffffff12}.cp-lang-btn--active{background:#ffffff1a;border-color:#ffffff1f;color:#eee}.cp-toolbar-right{display:flex;align-items:center;gap:6px}.cp-frame-badge{font-size:.72rem;font-weight:700;color:#666;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.cp-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;border:1px solid transparent;background:transparent;color:#666;cursor:pointer;transition:background .14s ease,color .14s ease}.cp-icon-btn:hover:not(:disabled){background:#ffffff14;color:#ccc}.cp-icon-btn:disabled{opacity:.35;cursor:default}.cp-progress-track{height:2px;background:#ffffff0f;flex-shrink:0}.cp-progress-bar{height:100%;background:#fff;opacity:.5;transition:width 80ms linear}.cp-loading,.cp-error,.cp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;color:#666;font-size:.82rem;font-weight:500;font-family:var(--font-sans);text-align:center;padding:24px}.cp-error{color:#f87171}.cp-retry-btn,.cp-gen-btn{margin-top:4px;height:30px;padding:0 14px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#ccc;font-size:.78rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .14s ease}.cp-retry-btn:hover,.cp-gen-btn:hover{background:#ffffff24}.cp-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 0 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.cp-scroll::-webkit-scrollbar{width:4px}.cp-scroll::-webkit-scrollbar-track{background:transparent}.cp-scroll::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:99px}.cp-line{display:flex;align-items:flex-start;min-height:22px;padding:1px 12px 1px 0;transition:background 60ms ease}.cp-line--active{background:#ffdc5014;border-left:2px solid #fbbf24}.cp-line:not(.cp-line--active){border-left:2px solid transparent}.cp-linenum{min-width:42px;padding:0 10px 0 12px;color:#fff3;font-size:11px;text-align:right;user-select:none;flex-shrink:0;font-variant-numeric:tabular-nums}.cp-code{flex:1;white-space:pre;word-break:keep-all;color:#d4d4d4;line-height:22px}.cp-tok--keyword{color:#a78bfa}.cp-tok--number{color:#6ee7b7}.cp-tok--string{color:#fca5a5}.cp-tok--comment{color:#ffffff47;font-style:italic}.cp-tok--plain{color:#d4d4d4}@keyframes cp-spin{to{transform:rotate(360deg)}}.cp-spin{animation:cp-spin .7s linear infinite}.nld-root{display:flex;flex-direction:column;gap:0;padding:8px 14px;border-bottom:1px solid rgba(0,0,0,.07);background:#fafafa}.nld-input-row{display:flex;align-items:center;gap:6px}.nld-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#888}.nld-input{flex:1;height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#0d0d0d;font-size:.82rem;font-weight:500;font-family:var(--font-sans);transition:border-color .16s ease,box-shadow .16s ease;outline:none}.nld-input::placeholder{color:#aaa;font-weight:400}.nld-input:focus{border-color:#00000040;box-shadow:0 0 0 3px #0000000f}.nld-input:disabled{opacity:.5;cursor:default}.nld-btn{height:32px;padding:0 12px;border-radius:8px;border:none;background:#0d0d0d;color:#fff;font-size:.82rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:5px;min-width:40px;transition:background .16s ease,opacity .16s ease}.nld-btn:hover:not(:disabled){background:#2a2a2a}.nld-btn:disabled{opacity:.38;cursor:default}.nld-btn--loading{background:#444}@keyframes nld-spin{to{transform:rotate(360deg)}}.nld-spin{animation:nld-spin .7s linear infinite}.nld-result{display:flex;align-items:center;gap:7px;margin-top:7px;padding:7px 10px;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.8rem;font-weight:500;animation:fade-up .28s cubic-bezier(.22,1,.36,1) both}.nld-result-text{flex:1;min-width:0;line-height:1.4}.nld-result-text strong{font-weight:700}.nld-confidence-pill{padding:1px 7px;border-radius:999px;background:#00000012;color:#444;font-size:.72rem;font-weight:600;flex-shrink:0}.nld-error{display:flex;align-items:flex-start;gap:7px;margin-top:7px;padding:7px 10px;border-radius:8px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;font-size:.8rem;font-weight:500;line-height:1.45;animation:fade-up .28s cubic-bezier(.22,1,.36,1) both}.nld-error>span{flex:1}.nld-dismiss{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:#00000012;color:inherit;cursor:pointer;flex-shrink:0;transition:background .14s ease}.nld-dismiss:hover{background:#00000024}.lib-root{display:flex;flex-direction:column;gap:0;width:100%;height:100%;padding:28px 32px 24px;overflow-y:auto;background:#ebebeb;animation:fade-up .34s cubic-bezier(.22,1,.36,1) both;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.14) transparent}.lib-root::-webkit-scrollbar{width:5px}.lib-root::-webkit-scrollbar-thumb{background:#00000024;border-radius:99px}.lib-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.lib-title{font-size:1.6rem;font-weight:700;color:#0d0d0d;letter-spacing:-.02em;line-height:1;margin-bottom:6px}.lib-subtitle{font-size:.88rem;font-weight:500;color:#555;line-height:1.5}.lib-header-stats{display:flex;gap:10px;flex-shrink:0}.lib-stat-chip{display:flex;flex-direction:column;align-items:center;padding:8px 16px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.07);min-width:56px}.lib-stat-num{font-size:1.1rem;font-weight:700;color:#0d0d0d;line-height:1}.lib-stat-label{font-size:.72rem;font-weight:500;color:#888;margin-top:2px}.lib-filter-bar{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.lib-filter-tab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#fff;color:#555;font-size:.82rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease;white-space:nowrap}.lib-filter-tab:hover{background:#f5f5f5;color:#0d0d0d}.lib-filter-tab--active{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.lib-filter-tab--active:hover{background:#2a2a2a}.lib-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#fff3;font-size:.7rem;font-weight:700}.lib-filter-tab--active .lib-filter-badge{background:#fff3}.lib-filter-tab:not(.lib-filter-tab--active) .lib-filter-badge{background:#00000014;color:#0d0d0d}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px}.lib-grid--featured{grid-template-columns:repeat(3,1fr)}@media(max-width:1100px){.lib-grid--featured{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.lib-grid,.lib-grid--featured{grid-template-columns:1fr}}.lib-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;color:#888;font-size:.88rem;font-weight:500}.lib-footer{display:flex;align-items:center;gap:7px;padding:14px 0 0;border-top:1px solid rgba(0,0,0,.07);font-size:.8rem;font-weight:500;color:#666;line-height:1.5}.tpc-root{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);overflow:hidden;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1);animation:fade-up .32s cubic-bezier(.22,1,.36,1) both}.tpc-root:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0000001a,0 2px 8px #0000000f}.tpc-root--featured{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.tpc-root--featured:hover{box-shadow:0 16px 40px #0000004d}.tpc-accent{height:4px;width:100%;flex-shrink:0}.tpc-root--featured .tpc-accent{opacity:.5}.tpc-featured-label{position:absolute;top:14px;right:14px;padding:3px 10px;border-radius:99px;background:#ffffff24;border:1px solid rgba(255,255,255,.2);font-size:.72rem;font-weight:600;color:#fffc;white-space:nowrap}.tpc-icon-area{display:flex;align-items:center;justify-content:center;height:72px;color:#0d0d0d;opacity:.35;flex-shrink:0}.tpc-root--featured .tpc-icon-area{color:#fff;opacity:.25}.tpc-content{padding:0 18px 12px;flex:1}.tpc-name{font-size:.96rem;font-weight:700;color:#0d0d0d;line-height:1.3;margin-bottom:6px;letter-spacing:-.01em}.tpc-root--featured .tpc-name{color:#fff}.tpc-desc{font-size:.8rem;font-weight:400;color:#555;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tpc-root--featured .tpc-desc{color:#ffffff9e}.tpc-meta{display:flex;align-items:center;gap:10px;padding:8px 18px;flex-wrap:wrap;border-top:1px solid rgba(0,0,0,.06)}.tpc-root--featured .tpc-meta{border-top-color:#ffffff1a}.tpc-difficulty{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.tpc-difficulty--beginner{background:#f0fdf4;color:#166534}.tpc-difficulty--intermediate{background:#fefce8;color:#854d0e}.tpc-difficulty--advanced{background:#fff1f2;color:#9f1239}.tpc-root--featured .tpc-difficulty{background:#ffffff24;color:#ffffffd9}.tpc-stat{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:500;color:#666}.tpc-root--featured .tpc-stat{color:#ffffff80}.tpc-tags{display:flex;gap:5px;padding:8px 18px;flex-wrap:wrap}.tpc-category-badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:6px;background:#0d0d0d;color:#fff;text-transform:uppercase;letter-spacing:.04em}.tpc-root--featured .tpc-category-badge{background:#ffffff2e;color:#fff}.tpc-tag{font-size:.72rem;font-weight:500;padding:2px 8px;border-radius:6px;background:#0000000f;color:#555}.tpc-root--featured .tpc-tag{background:#ffffff1a;color:#ffffffa6}.tpc-import-btn{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px 18px 16px;height:38px;border-radius:10px;border:none;background:#0d0d0d;color:#fff;font-size:.85rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .16s ease,transform .14s ease;flex-shrink:0}.tpc-import-btn:hover{background:#2a2a2a;transform:translateY(-1px)}.tpc-import-btn:active{transform:translateY(0)}.tpc-root--featured .tpc-import-btn{background:#fff;color:#0d0d0d}.tpc-root--featured .tpc-import-btn:hover{background:#f0f0f0}.rps-root{display:flex;flex-direction:column;gap:12px;padding:14px 0}.rps-header{display:flex;align-items:baseline;justify-content:space-between;padding:0 14px}.rps-header-label{font-size:.84rem;font-weight:700;color:#0d0d0d}.rps-header-hint{font-size:.76rem;font-weight:500;color:#888}.rps-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px}.rps-card{position:relative;display:flex;flex-direction:column;border-radius:12px;border:1.5px solid rgba(0,0,0,.09);background:#fff;overflow:hidden;padding:0;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;cursor:pointer}.rps-card:hover{border-color:#00000038;transform:translateY(-1px);box-shadow:0 4px 12px #00000012}.rps-card--active{border-color:#0d0d0d;border-width:2px;box-shadow:0 4px 16px #0000001f}.rps-card-accent{height:3px;width:100%}.rps-card-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:#0d0d0d;color:#fff;display:flex;align-items:center;justify-content:center;animation:fade-up .2s cubic-bezier(.22,1,.36,1) both}.rps-card-body{padding:10px 12px 4px}.rps-card-name{font-size:.84rem;font-weight:700;color:#0d0d0d;line-height:1.2}.rps-card-brand{font-size:.72rem;font-weight:500;color:#888;margin-top:1px}.rps-card-specs{display:flex;align-items:center;gap:6px;padding:6px 12px 10px}.rps-spec{display:inline-flex;align-items:baseline;gap:2px;font-size:.78rem}.rps-spec-val{font-weight:700;color:#0d0d0d}.rps-spec-unit{font-weight:500;color:#888;font-size:.7rem}.rps-spec-divider{width:1px;height:10px;background:#0000001f;flex-shrink:0}.rps-description{padding:10px 14px;font-size:.8rem;font-weight:500;color:#555;line-height:1.55;background:#00000008;border-radius:10px;margin:0 14px;animation:fade-up .28s cubic-bezier(.22,1,.36,1) both}
