@import"https://fonts.googleapis.com/earlyaccess/notosanstc.css";.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, var(--xy-background-color-props, 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__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__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(-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(-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__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:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform: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))}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v76/kJF4BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY40KH8nGzv3fz_VFU22ZZLsYEpzC_1ver5Y0.woff2) format("woff2")}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:#e0e0e0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;width:100%;margin:0;padding:0;scroll-behavior:smooth}body{font-family:Noto sans TC,Noto sans,Microsoft JhengHei,微軟正黑體,sans-serif;font-weight:300}#root{width:100%;height:100%}h1{margin:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#7e7e7e;cursor:pointer;transition:border-color .25s}.mobile-block{display:none}@media screen and (max-width: 1023px){.mobile-block{content:"";display:flex;position:fixed;width:100vw;height:100vh;top:0;right:0;bottom:0;left:0;z-index:9999;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#e0e7ff);text-align:center;padding:10%}.mobile-block h2{font-size:30px}}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v76/kJF4BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY40KH8nGzv3fz_VFU22ZZLsYEpzC_1ver5Y0.woff2) format("woff2")}*{position:relative;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto sans TC,Noto sans,Microsoft JhengHei,微軟正黑體,sans-serif;font-weight:300;background-color:var(--bg-color)}body.white{background-color:#fff}a{text-decoration:none;color:var(--text-color)}ul{list-style:none;padding:0;margin:0}.container{max-width:1440px;padding:0 8px;margin:0 auto}.row{display:flex;flex-wrap:wrap}.row.gap4{margin:0 -4px}.row.gap4>*{padding:0 4px}.flex-dir-col{flex-direction:column}.flex-align-c{align-items:center}.flex-align-end{align-items:end}.flex-jus-c{justify-content:center}.flex-jus-end{justify-content:end}.flex-dir-row-rev{flex-direction:row-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.col{flex:1 0 0%}.col-1{width:8.33333333%}.col-2{width:16.66666667%}.col-3{width:25%}.col-4{width:33.33333333%}.col-5{width:41.66666667%}.col-6{width:50%}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{width:75%}.col-10{width:83.33333333%}.col-11{width:91.66666667%}.col-12{width:100%}@media only screen and (max-width: 1200px){.container{padding:0 16px;max-width:1024px}.col-lg-12{width:100%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}}@media (max-width: 1024px){.col-md-12{width:100%}.col-md-8{width:66.6666666%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-4{width:33.33333333%}.md-hidden{visibility:hidden;height:0}}@media (max-width: 768px){.col-sm-12{width:100%}.col-sm-9{width:75%}.col-sm-8{width:66.6666666%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.sm-hidden{visibility:hidden;height:0}}@media (max-width: 640px){.col-xsm-12{width:100%}.col-xsm-6{width:50%}.row-xsm{display:flex;flex-wrap:wrap;margin:0 -4px}.flex-xsm-align-c{align-items:center}.flex-xsm-align-end{align-items:end}.flex-xsm-jus-c{justify-content:center}.flex-xsm-jus-end{justify-content:end}.text-xsm-center{text-align:center}}@media (max-width: 480px){.col-xs-12{width:100%}.col-xs-6{width:50%}.xs-hidden{visibility:hidden;height:0}}.mouse-link{cursor:pointer}.hidden{display:none!important}.w-100{width:100%}.h-100{height:100%}.po-fixed{position:fixed}.po-ab{position:absolute}.translate-center{transform:translate(-50%,-50%)}.f-white{color:#fff!important}.f-radius-sm{border-radius:8px!important}.f-radius-md{border-radius:16px!important}.f-radius-shadow-sm{box-shadow:0 0 8px #00000008!important}.f-radius-shadow-md{box-shadow:0 0 16px #00000013!important}.dashed{border:.5px dashed #ddd}.u-cf:after{content:"";display:block;clear:both;height:0;visibility:hidden}.text-center{text-align:center}.text-bold{font-weight:700}.pointer{cursor:pointer}.hover-op80{transition:.3s}.hover-op80:hover{opacity:.8}.mtb-xxl{margin-top:256px!important;margin-bottom:256px!important}.mtb-xl{margin-top:128px!important;margin-bottom:128px!important}.mtb-lg{margin-top:64px!important;margin-bottom:64px!important}.mtb-md{margin-top:32px!important;margin-bottom:32px!important}.mtb-sm{margin-top:16px!important;margin-bottom:16px!important}.mtb-xs{margin-top:8px!important;margin-bottom:8px!important}.mtb-xxs{margin-top:4px!important;margin-bottom:4px!important}.mtb-0{margin-top:0!important;margin-bottom:0!important}.mlr-xxl{margin-left:256px!important;margin-right:256px!important}.mlr-xl{margin-left:128px!important;margin-right:128px!important}.mlr-lg{margin-left:64px!important;margin-right:64px!important}.mlr-md{margin-left:32px!important;margin-right:32px!important}.mlr-sm{margin-left:16px!important;margin-right:16px!important}.mlr-xs{margin-left:8px!important;margin-right:8px!important}.mlr-xxs{margin-left:4px!important;margin-right:4px!important}.mlr-0{margin-left:0!important;margin-right:0!important}.m-xxl{margin:256px!important}.m-xl{margin:128px!important}.m-lg{margin:64px!important}.m-md{margin:32px!important}.m-sm{margin:16px!important}.m-xs{margin:8px!important}.m-xxs{margin:4px!important}.m-0{margin:0!important}.mt-xxl{margin-top:256px!important}.mt-xl{margin-top:128px!important}.mt-lg{margin-top:64px!important}.mt-md{margin-top:32px!important}.mt-sm{margin-top:16px!important}.mt-xs{margin-top:8px!important}.mt-xxs{margin-top:4px!important}.mt-0{margin-top:0!important}.mb-xxl{margin-bottom:256px!important}.mb-xl{margin-bottom:128px!important}.mb-lg{margin-bottom:64px!important}.mb-md{margin-bottom:32px!important}.mb-sm{margin-bottom:16px!important}.mb-xs{margin-bottom:8px!important}.mb-xxs{margin-bottom:4px!important}.mb-0{margin-bottom:0!important}.mr-xxl{margin-right:256px!important}.mr-xl{margin-right:128px!important}.mr-lg{margin-right:64px!important}.mr-md{margin-right:32px!important}.mr-sm{margin-right:16px!important}.mr-xs{margin-right:8px!important}.mr-xxs{margin-right:4px!important}.mr-0{margin-right:0!important}.ml-xxl{margin-left:256px!important}.ml-xl{margin-left:128px!important}.ml-lg{margin-left:64px!important}.ml-md{margin-left:32px!important}.ml-sm{margin-left:16px!important}.ml-xs{margin-left:8px!important}.ml-xxs{margin-left:4px!important}.ml-0{margin-left:0!important}.ptb-xxl{padding-top:256px!important;padding-bottom:256px!important}.ptb-xl{padding-top:128px!important;padding-bottom:128px!important}.ptb-lg{padding-top:64px!important;padding-bottom:64px!important}.ptb-md{padding-top:32px!important;padding-bottom:32px!important}.ptb-sm{padding-top:16px!important;padding-bottom:16px!important}.ptb-xs{padding-top:8px!important;padding-bottom:8px!important}.ptb-xxs{padding-top:4px!important;padding-bottom:4px!important}.ptb-0{padding-top:0!important;padding-bottom:0!important}.plr-xxl{padding-left:256px!important;padding-right:256px!important}.plr-xl{padding-left:128px!important;padding-right:128px!important}.plr-lg{padding-left:64px!important;padding-right:64px!important}.plr-md{padding-left:32px!important;padding-right:32px!important}.plr-sm{padding-left:16px!important;padding-right:16px!important}.plr-xs{padding-left:8px!important;padding-right:8px!important}.plr-xxs{padding-left:4px!important;padding-right:4px!important}.plr-0{padding-left:0!important;padding-right:0!important}.p-xxl{padding:256px!important}.p-xl{padding:128px!important}.p-lg{padding:64px!important}.p-md{padding:32px!important}.p-sm{padding:16px!important}.p-xs{padding:8px!important}.p-xxs{padding:4px!important}.p-0{padding:0!important}.pt-xxl{padding-top:256px!important}.pt-xl{padding-top:128px!important}.pt-lg{padding-top:64px!important}.pt-md{padding-top:32px!important}.pt-sm{padding-top:16px!important}.pt-xs{padding-top:8px!important}.pt-xxs{padding-top:4px!important}.pt-0{padding-top:0!important}.pb-xxl{padding-bottom:256px!important}.pb-xl{padding-bottom:128px!important}.pb-lg{padding-bottom:64px!important}.pb-md{padding-bottom:32px!important}.pb-sm{padding-bottom:16px!important}.pb-xs{padding-bottom:8px!important}.pb-xxs{padding-bottom:4px!important}.pb-0{padding-bottom:0!important}.pl-xxl{padding-left:256px!important}.pl-xl{padding-left:128px!important}.pl-lg{padding-left:64px!important}.pl-md{padding-left:32px!important}.pl-sm{padding-left:16px!important}.pl-xs{padding-left:8px!important}.pl-xxs{padding-left:4px!important}.pl-0{padding-left:0!important}.pr-xxl{padding-right:256px!important}.pr-xl{padding-right:128px!important}.pr-lg{padding-right:64px!important}.pr-md{padding-right:32px!important}.pr-sm{padding-right:16px!important}.pr-xs{padding-right:8px!important}.pr-xxs{padding-right:4px!important}.pr-0{padding-right:0!important}@media (max-width: 768px){.mt-sm-4px{margin-top:4px!important}.mt-sm-xs{margin-top:8px!important}.mt-sm-sm{margin-top:16px!important}.mt-sm-md{margin-top:32px!important}.mb-sm-4px{margin-bottom:4px!important}.mb-sm-xs{margin-bottom:8px!important}.mb-sm-sm{margin-bottom:16px!important}.mb-sm-md{margin-bottom:32px!important}.ml-sm-4px{margin-left:4px!important}.ml-sm-xs{margin-left:8px!important}.ml-sm-sm{margin-left:16px!important}.ml-sm-md{margin-left:32px!important}.mr-sm-4px{margin-right:4px!important}.mr-sm-xs{margin-right:8px!important}.mr-sm-sm{margin-right:16px!important}.mr-sm-md{margin-right:32px!important}.mtb-sm-4px{margin-top:4px!important;margin-bottom:4px!important}.mtb-sm-xs{margin-top:8px!important;margin-bottom:8px!important}.mtb-sm-sm{margin-top:16px!important;margin-bottom:16px!important}.mtb-sm-md{margin-top:32px!important;margin-bottom:32px!important}.mlr-sm-4px{margin-left:4px!important;margin-right:4px!important}.mlr-sm-xs{margin-left:8px!important;margin-right:8px!important}.mlr-sm-sm{margin-left:16px!important;margin-right:16px!important}.mlr-sm-md{margin-left:32px!important;margin-right:32px!important}.pt-sm-4px{padding-top:4px!important}.pt-sm-xs{padding-top:8px!important}.pt-sm-sm{padding-top:16px!important}.pt-sm-md{padding-top:32px!important}.pb-sm-4px{padding-bottom:4px!important}.pb-sm-xs{padding-bottom:8px!important}.pb-sm-sm{padding-bottom:16px!important}.pb-sm-md{padding-bottom:32px!important}.pl-sm-4px{padding-left:4px!important}.pl-sm-xs{padding-left:8px!important}.pl-sm-sm{padding-left:16px!important}.pl-sm-md{padding-left:32px!important}.pr-sm-4px{padding-right:4px!important}.pr-sm-xs{padding-right:8px!important}.pr-sm-sm{padding-right:16px!important}.pr-sm-md{padding-right:32px!important}.ptb-sm-4px{padding-top:4px!important;padding-bottom:4px!important}.ptb-sm-xs{padding-top:8px!important;padding-bottom:8px!important}.ptb-sm-sm{padding-top:16px!important;padding-bottom:16px!important}.ptb-sm-md{padding-top:32px!important;padding-bottom:32px!important}.plr-sm-4px{padding-left:4px!important;padding-right:4px!important}.plr-sm-xs{padding-left:8px!important;padding-right:8px!important}.plr-sm-sm{padding-left:16px!important;padding-right:16px!important}.plr-sm-md{padding-left:32px!important;padding-right:32px!important}}@media (max-width: 480px){.mt-xs-4px{margin-top:4px!important}.mt-xs-xs{margin-top:8px!important}.mt-xs-sm{margin-top:16px!important}.mt-xs-md{margin-top:32px!important}.mb-xs-4px{margin-bottom:4px!important}.mb-xs-xs{margin-bottom:8px!important}.mb-xs-sm{margin-bottom:16px!important}.mb-xs-md{margin-bottom:32px!important}.ml-xs-4px{margin-left:4px!important}.ml-xs-xs{margin-left:8px!important}.ml-xs-sm{margin-left:16px!important}.ml-xs-md{margin-left:32px!important}.mr-xs-4px{margin-right:4px!important}.mr-xs-xs{margin-right:8px!important}.mr-xs-sm{margin-right:16px!important}.mr-xs-md{margin-right:32px!important}.mtb-xs-4px{margin-top:4px!important;margin-bottom:4px!important}.mtb-xs-xs{margin-top:8px!important;margin-bottom:8px!important}.mtb-xs-sm{margin-top:16px!important;margin-bottom:16px!important}.mtb-xs-md{margin-top:32px!important;margin-bottom:32px!important}.mlr-xs-4px{margin-left:4px!important;margin-right:4px!important}.mlr-xs-xs{margin-left:8px!important;margin-right:8px!important}.mlr-xs-sm{margin-left:16px!important;margin-right:16px!important}.mlr-xs-md{margin-left:32px!important;margin-right:32px!important}.pt-xs-4px{padding-top:4px!important}.pt-xs-xs{padding-top:8px!important}.pt-xs-sm{padding-top:16px!important}.pt-xs-md{padding-top:32px!important}.pb-xs-4px{padding-bottom:4px!important}.pb-xs-xs{padding-bottom:8px!important}.pb-xs-sm{padding-bottom:16px!important}.pb-xs-md{padding-bottom:32px!important}.pl-xs-4px{padding-left:4px!important}.pl-xs-xs{padding-left:8px!important}.pl-xs-sm{padding-left:16px!important}.pl-xs-md{padding-left:32px!important}.pr-xs-4px{padding-right:4px!important}.pr-xs-xs{padding-right:8px!important}.pr-xs-sm{padding-right:16px!important}.pr-xs-md{padding-right:32px!important}.ptb-xs-4px{padding-top:4px!important;padding-bottom:4px!important}.ptb-xs-xs{padding-top:8px!important;padding-bottom:8px!important}.ptb-xs-sm{padding-top:16px!important;padding-bottom:16px!important}.ptb-xs-md{padding-top:32px!important;padding-bottom:32px!important}.plr-xs-4px{padding-left:4px!important;padding-right:4px!important}.plr-xs-xs{padding-left:8px!important;padding-right:8px!important}.plr-xs-sm{padding-left:16px!important;padding-right:16px!important}.plr-xs-md{padding-left:32px!important;padding-right:32px!important}.text-xs-center{text-align:center!important}}:root{--primary-color: #0b4576;--sec-color: #9bdbe5;--ter-color: #f2f2ee;--no-color: #B1AFAF;--bg-color: #ffffff;--bg-color: #e8e8e8;--aug-color: #c6c6c6;--aug-light-color: #ececeb;--aug-black-color: #3e3e3e;--text-color: #222;--warn-color: #EA0F0F}#root{overflow:auto}.bgc-primary{background-color:var(--primary-color)}.bgc-main01{background-color:var(--bg-color)}h1{font-size:20px}h4{font-size:20px;margin:6px 0}h5{color:#3b3b3b;font-size:14px;font-weight:500;margin:4px 0}.icon-text{font-family:Material Symbols Outlined}button.ant-btn-color-primary{background-color:var(--primary-color)}button.ant-btn-secondary{background-color:var(--sec-color)}.ant-btn-displayNone{display:none}button.tool{padding:6px 8px;margin:0 2px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;cursor:pointer;font-size:12px;transition:.2s}button.tool:hover{opacity:1;border-color:#40a9ff;color:#40a9ff}button.tool.btn-group{margin:0;width:38px;border-radius:0}button.tool.btn-group:hover{border:solid 1px #40a9ff!important}.text-link{color:#1890ff;text-decoration:none;font-size:12px;display:block;margin-bottom:4px}.react-flow__node-toolbar{background-color:#9cb4c065;padding:4px;border-radius:10px;display:flex;align-items:center}.form-field-display{padding:4px 0;min-height:32px;display:flex;align-items:center;color:#000;cursor:text;background-color:#00000014;border-radius:3px}.header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;background-color:#fff;box-shadow:0 2px #00000010;height:58px}.header h1{margin:0}.menu{background-color:#fff0}.menu ul{display:flex;justify-content:space-between;align-items:center;width:100%}.menu li{padding:16px;text-decoration:none;cursor:pointer}.menu li.active{background-color:#fff}.logo{position:relative;width:38px;height:38px;padding:4px;margin:4px 10px 4px 4px;border-radius:5px}.logo>img{height:100%}.haeder-back-button{border:none;background-color:transparent;margin-right:-12}.haeder-back-button>span{padding:0}.haeder-back-button svg{width:16px;height:16px}.haeder-back-button .icon-text{font-size:20px;font-weight:800}.addDeivceContainer .ant-collapse-header{margin:0;padding:2px!important}.addDeivceContainer .ant-collapse-content-box{margin:0;padding:0!important}.addDeivceNodeCardContainer{width:100%;display:flex;flex-wrap:wrap}.addDeivceNodeCard{width:33%;padding:2px}.addDeivceNodeCard.discontinued{width:33%;padding:2px;opacity:.6;transition:.5s}.addDeivceNodeCard.discontinued .cardContent{background-color:#f3e8e8;border:1px solid #a48181}.addDeivceNodeCard.discontinued:hover{opacity:1}.addDeivceNodeCard.discontinued:after{content:"Discontinued";position:absolute;left:50%;bottom:90%;font-size:11px;color:#f9f9f9;padding:1px 6px;background-color:#744646;box-shadow:0 0 12px #0000001e;border-radius:8px;transition:.2s;transform:translate(-50%);opacity:0}.addDeivceNodeCard.discontinued:hover:after{opacity:1}.addDeivceNodeCard .cardContent{background-color:#efefef7b;border:1px solid #ebebeb;padding:2px;border-radius:4px;position:relative}.addDeivceNodeCard .cardContent img{width:85%}.addDeivceNodeCard .cardContent p{font-size:11px;width:90%;line-break:anywhere;text-align:center;line-height:1em;margin:2px 0;padding:0}.addDeivceNodeCard .cardContent button{font-size:10px;padding:0;min-height:25px;min-width:90%;cursor:grab}.addDeivceNodeCard .cardContent button img{pointer-events:none}.addDeivceNodeCard .cardContent button.addPortDevice{height:auto;padding:0;margin-bottom:4px}.react-flow__resize-control.line.node-resizer-line{border-width:1px!important;z-index:1000}.react-flow__resize-control.handle.node-resizer-handle{width:12px;height:12px;z-index:1000;border-radius:50%}.device-node{padding:1%;background-color:#fff;border-radius:4px;border:1px solid #3333333e;position:relative;height:100%;width:100%;transition:.3s}.device-node.device-tag-core{border:3px solid #fa8c1663;box-shadow:0 0 12px #fa8c164d;background-color:#fff;border-radius:12px}.device-node.device-tag-core .divce-name{font-size:32px;position:absolute;bottom:10%}.device-node.device-tag-primary{border:3px solid #1890ff;box-shadow:0 0 8px #1890ff4d;background-color:#1890ff0d}.device-node.device-tag-secondary{border:3px solid #519131;box-shadow:0 0 8px #52c41a4d;background-color:#52c41a0d}.device-node.device-tag-tmb{border:3px solid #ff4d4f;box-shadow:0 0 8px #ff4d4f4d;background-color:#ff4d4f0d}.device-node.device-tag-icon{border:none;background-color:#fff0;box-shadow:none}.device-node.device-tag-icon .device-name{font-size:17px}.device-node-content{overflow:hidden;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.device-node .device-image{width:100%;height:100%;max-height:340px;display:flex;justify-content:center;align-items:center;overflow:hidden}.device-node .device-image>img{width:100%;height:100%}.device-node .device-name{font-size:20px;font-weight:500;text-align:center;line-height:1.128em;padding:2.5% 0}.device-node.device-port-mode .device-name{font-size:30px}.discontinued-divce-tag{font-size:12px;color:#e23535;font-weight:300}.discontinued-divce-tag:before{content:"warning";font-family:Material Symbols Outlined;position:absolute;left:-12px;top:1px}.device-handle{width:15px;height:15px;background-color:#0000;border:1px solid #5bb6e000;opacity:1;transition:.3s;cursor:pointer!important}.device-handle:after{content:"";width:4px;height:4px;background-color:#3ac1ff00;display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;transition:.3s}.device-node:hover .device-handle:after,.selected .device-handle:after{background-color:#4681cd8b}.device-handle:hover{width:15px;height:15px;background-color:#5bb6e08b;border:1px solid #5bb6e0;opacity:1}.device-handle:hover:after{opacity:0}.device-handle.handleByPort{background-color:#86868691;border:1px solid #7e7e7e}.device-handle.handleByPort.left{background-color:#49a0f791;border:1px solid #3A5DA0}.device-handle.handleByPort.video{background-color:#3a5ea0b4;border:1px solid #3A5DA0}.device-handle.handleByPort.audio{background-color:#d878a5bc;border:1px solid #D878A4}.device-handle.handleByPort.usb{background-color:#edb951ce;border:1px solid #E7AD35}.device-handle.handleByPort.control{background-color:#97c136c2;border:1px solid #97BB42}.device-handle.handleByPort.network{background-color:#84c1ebdd;border:1px solid #65a7d3}.device-handle.handleByPort.device-group{width:22px;height:22px;background-color:#270e7180;border:2px solid #2d37c7ce}.device-handle.handleByPort>p{position:absolute;top:-20%;transform:translateY(-50%);color:#0b4576;background-color:#deecffe7;font-size:10px;white-space:nowrap;padding:0 4px;border-radius:2px;border:1px solid #0000001f;box-sizing:border-box;z-index:100;pointer-events:none}.device-handle.device-group.handleByPort>p{top:-20%;font-size:12px}.device-handle.handleByPort>p:hover{opacity:.5}.device-handle.handleByPort.bottom>p,.device-handle.handleByPort.top>p{max-width:120px;text-align:center}.device-handle.handleByPort.bottom>p.allow-wrap,.device-handle.handleByPort.top>p.allow-wrap{word-break:keep-all;white-space:pre-wrap}.device-handle.handleByPort.left>p{right:25px}.device-handle.handleByPort.right>p{left:25px}.device-handle.handleByPort.bottom>p{top:auto;left:50%;bottom:-150%;transform:translate(-50%,100%)}.device-handle.handleByPort.top>p{top:-150%;left:50%;transform:translate(-50%,-100%)}.device-handle.handleByPort.audio>p{color:#1a0710;background-color:#e3b7cb;border:1px solid #e3b6cb}.device-handle.handleByPort.usb>p{background-color:#edb951ce;border:1px solid #E7AD35}.device-handle.handleByPort.control>p{background-color:#b4dd56df;border:1px solid #97BB42}.device-handle.handleByPort.network>p{background-color:#aad7f5dd;border:1px solid #84C1EB}.device-handle.handleByPort.others>p{background-color:#cececece;border:1px solid #b8b8b8}.device-handle.handleByPort.device-group>p{height:22px;background-color:#b3a8d6f2;border:1px solid #737487ce}.device-handle.default>p{display:none}.device-node-device-detail{z-index:1050;position:absolute;top:1px;left:1px;width:16%;height:16%;min-width:10px;min-height:10px;max-width:40px;max-height:40px;border-radius:50%;opacity:.5;transition:.8s}.device-node-device-detail:hover{opacity:1}.device-node-device-detail:after{content:"info";position:absolute;font-family:Material Symbols Outlined;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;font-size:14px}.react-flow__viewMode .device-node-device-detail{top:0;left:0;width:100%;height:100%;max-width:100%;max-height:100%}.react-flow__viewMode .device-node-device-detail:after{opacity:0}.device-node-device-detail-tooltip{background-color:#fff;font-size:12px;padding:4px}.device-node-device-detail-tooltip img{max-width:100%;max-height:1000px;object-fit:contain;border:2px solid #f0f0f0;border-radius:4px}.component-node{padding:10px;background-color:#00000004;border:1px solid #ed4bff00;position:relative;height:100%;width:100%;border-radius:8px}.selected .component-node{padding:10px;background-color:#ed4bff10;border:1px solid #ed4bff45;position:relative;height:100%;width:100%;border-radius:8px}.component-node h5{text-align:center;position:absolute;color:#9b1773;bottom:100%;left:50%;opacity:0;transition:.3s;transform:translate(-50%,10%)}.selected .component-node h5{opacity:1;transform:translate(-50%,-20%);display:flex;justify-content:center}.unfound .component-node{background-color:#ff4b6310}.unfound .component-node:after{content:"Unfound Component.. 😥";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--warn-color)}button.tool.component-tool{background-color:#8a378db8;color:#fff;font-weight:400}.react-flow__node-toolbar:has(.component-tool){background-color:#a574a893}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.sync-indicator,.update-indicator{animation:pulse 2s infinite}.component-tool{margin:0 2px;padding:4px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.component-tool:hover{background:#f0f0f0}.group-node{padding:10px;background-color:#e9e9e945;border:3px dashed #9e9e9e;position:relative;height:100%;width:100%;border-radius:8px}.group-count{position:absolute;top:4px;left:calc(100% + 12px);display:flex;justify-content:center;align-items:center}.group-count .ant-input-number{border-width:0;background-color:transparent}.group-count>h4{margin:0;font-size:14px}.group-count .ant-input-number input{border:none;background-color:#fff0;padding:0 0 0 6px;font-size:20px;font-weight:500}.group-count input:focus{border:1px solid #ccc}.react-flow__node-group{padding:0}.group-node .group-input-container{display:flex;align-items:center;position:relative}.group-node .group-input-number{width:44px!important;background-color:transparent!important}.group-node .group-buttons{flex-direction:column;margin-left:2px;display:none}.group-input-container:focus-within .group-buttons,.group-input-container:hover .group-buttons{display:flex}.group-node .group-btn{border:1px solid #d9d9d9;background:#fff;cursor:pointer;padding:1px 4px;font-size:10px;line-height:1;width:18px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:2px}.group-node .group-btn-up{border-radius:2px 2px 0 0}.group-node .group-btn-down{border-radius:0 0 2px 2px}.group-node .group-btn:hover{background:#f5f5f5;border-color:#40a9ff}.group-node .group-btn:active{background:#e6f7ff;border-color:#1890ff}.line-node{padding:6px;background-color:#6464641c;border:1px solid #67728298;border-radius:50%;position:relative;height:100%;width:100%;transition:.3s;transform:translate(-50%,-50%)}.line-node-hidden .line-node{opacity:0}.line-node:hover{padding:30px;opacity:1}.line-node .handle{width:0px;height:0px;min-width:0;min-height:0;background-color:#e9cece61;border:#e1e4f200;opacity:0}.line-node .handle.top{top:50%}.line-node .handle.bottom{bottom:50%}.line-node .handle.right{right:50%}.line-node .handle.left{left:50%}.line-node:hover .handle{width:10px;height:10px;background-color:#2984e6;transition:.4s}.line-node:hover .handle:hover{width:16px;height:16px;opacity:1}.line-node:hover .handle.top{top:0}.line-node:hover .handle.bottom{bottom:0}.line-node:hover .handle.right{right:0}.line-node:hover .handle.left{left:0}.line-node button{position:absolute;top:10%;left:10%;width:16px;height:16px;line-height:0;border-radius:50%;background-color:#f55;font-size:12px;color:#fff;transform:translate(-50%,-50%);padding:0;display:flex;align-items:center;justify-content:center;z-index:10;transition:.4s;pointer-events:none;opacity:0}.line-node:hover button{opacity:1;pointer-events:all;cursor:pointer}.line-node button:hover{font-size:16px;width:24px;height:24px}.custom-node-settings-list{display:flex;align-items:center;justify-content:center}.custom-node-settings-list h5{background-color:var(--primary-color);width:18px;height:18px;border-radius:50%;margin:2px;color:#fff;font-size:12px;display:flex;justify-content:center;align-items:center}.shape-node{cursor:default;transition:.3s}.shape-node:hover .shape-handle{opacity:1}.shape-handle{width:14px;height:14px;background:#0000003f;border:1px solid #333;border-radius:50%;transition:.3s;border:none;cursor:pointer;opacity:0}.shape-handle:hover{width:24px;height:24px}.react-flow__node[data-type=shape]{border:none;background:transparent;padding:0}.react-flow__node[data-type=shape].selected{outline:2px solid #008CFF;outline-offset:2px}.shape-node .ant-input{box-shadow:none!important;outline:1px dashed #666!important}.shape-node .ant-input:focus{outline:2px solid #008CFF!important}.annotation-node{width:100%;height:100%;padding:8px;border-radius:8px;border:1px solid;position:relative;cursor:pointer;box-sizing:border-box;transition:all .3s ease}.annotation-node:hover{box-shadow:0 4px 12px #00000026}.annotation-node:hover .annotation-icon{transform:scale(1.1)}.annotation-node.open{border:1px solid}.annotation-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;z-index:10;border:2px solid white}.annotation-title{font-weight:700;font-size:14px;color:#333;line-height:1.2}.annotation-content{font-size:14px;color:#666;line-height:1.4;margin:8px 0 8px 6px;white-space:pre-wrap;word-break:break-word;overflow-y:auto;max-width:280px;max-height:120px;display:none;transition:1s;opacity:0}.open .annotation-content{display:inline-block;opacity:1}.annotation-list-count{font-size:12px;color:#818181;font-style:italic;margin-left:6px;position:absolute;top:-20px;width:180px}.annotation-input{display:flex;align-items:center;gap:8px}.annotation-input .icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;border-radius:50%}.annotation-highlight{animation:blink-glow 2s cubic-bezier(.215,.61,.355,1) infinite}@keyframes blink-glow{0%,to{box-shadow:0 0 8px 8px #ffd50080,0 0 28px 8px #ffd50080;border:1px solid #ffb411}50%{box-shadow:0 0 28px #ffcc00bc}}.annotation-icon{transition:all .3s ease}.react-flow__edge{transition:.3s}.react-flow__edge:hover>path{opacity:.8}.react-flow__edge.selected.selectable path{filter:drop-shadow(0px 0px 2px #09c6ff) drop-shadow(0px 0px 1px #00c3ff)}.react-flow__edge:hover{filter:drop-shadow(0px 0px 2px #09c6ff) drop-shadow(0px 0px 1px #00c3ff)}.button-edge__label{display:flex;gap:4px;position:absolute;pointer-events:all;z-index:1000;transition:opacity .2s ease-in-out}.button-edge__button{padding:0;background:#f9f9f9;border:1px solid #00000022;cursor:pointer;border-radius:50%;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-user-select:none;user-select:none;color:#1890ff;opacity:.5}.button-edge__button:hover .button-edge__button{opacity:1}.button-edge__button:hover{background:#1890ff;color:#fff;transform:scale(1.5);box-shadow:0 2px 8px #1890ff66;opacity:1}.button-edge__button:active{transform:scale(1.1)}.react-flow__pane.selection{cursor:auto}.ant-collapse-header{padding:6px!important}.ant-collapse-expand-icon span{width:10px;height:10px}.ant-collapse-header-text{color:#6e6e6e!important;font-size:14px}.ant-collapse-content-box{padding:6px!important}.devicePage-tab-container{height:calc(100vh - 240px);overflow:auto}.devicePage-tab-container .css-dev-only-do-not-override-1d4w9r2.ant-empty.ant-empty-normal{padding:0;margin-block:12px}.devicePage-tab-container .ant-typography.css-dev-only-do-not-override-1d4w9r2{margin-bottom:2px}.devicePage-tab-container .ant-table-thead .ant-table-cell{color:#727272;font-weight:400;font-size:12px}.devicePage-tab-container table{border-top:#b1b6be9a solid 1px!important;border-bottom:#b1b6be9a solid 1px!important;border-radius:0}.devicePage-tab-container .ant-table-cell{color:#010101;font-weight:400;font-size:13px}.devicePage-form-field-display{padding:4px 8px;min-height:32px;display:flex;align-items:center;color:#000;cursor:text;background-color:#00000014;border-radius:6px}.devicePage-form-field-display-multiline{padding:4px 6px;min-height:74px;display:flex;align-items:flex-start;color:#000;cursor:text;white-space:pre-wrap;line-height:1.5;background-color:#00000014;border-radius:8px}.devicePage-tab-container .ant-tag.css-dev-only-do-not-override-1d4w9r2{padding:5px 12px}.devicePage-form-field-display a{color:#1890ff}.devicePage-form-field-similarProducts{display:flex;flex-wrap:wrap}.devicePage-form-field-similarProducts .deivce{background-color:#e2e2e2;padding:4px 8px;border-radius:6px;font-size:16px;font-weight:500;min-width:200px;margin:2px}.devicePage-form-field-similarProducts .deivce>p{display:inline-block;margin:0 8px 0 0;font-size:16px;font-weight:100;min-width:50px}.ant-table-thead>tr>th{border-left:1px solid #e1e1e1!important;border-bottom:1px solid #e0e0e0!important;font-size:12px;text-align:center!important}.ant-table-thead>tr:first-child>th{font-size:16px}.ant-table-thead>tr:first-child>th{border-bottom:1px solid #d9d9d9!important}.room-edit-upload .ant-upload-list-item.ant-upload-list-item-undefined,.room-edit-upload .ant-upload.ant-upload-select{width:200px!important;height:140px!important}.selectionContainerSidebar{width:380px;height:100%;background-color:#fff;border-right:1px solid #d9d9d9;border-top:1px solid #d9d9d9;z-index:1000;overflow-y:auto;padding:12px 4px}.selectionContainer{height:100%;overflow:auto;padding:16px}.selectionContainer::-webkit-scrollbar{width:4px}.selectionContainer::-webkit-scrollbar-track{background:#e9e9e975}.selectionContainer::-webkit-scrollbar-thumb{background:#27485243;border-radius:4px}.selectionContainer::-webkit-scrollbar-thumb:hover{background:#00000080}.actOnSetting{margin:6px 0}.node-highlighted{box-shadow:0 2px 16px #260affa5!important;transition:all .3s ease!important}.page-loading{width:100%;height:100%;background-color:#000000b6;position:absolute;z-index:5000;top:0;left:0;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:500;color:#fff}.diagram-view-control-panel.react-flow__panel.react-flow__controls{margin:16px 0 15px 14px;border:none;box-shadow:none}.diagram-view-control-panel.react-flow__panel.react-flow__controls button.react-flow__controls-button{margin:3px 0;box-shadow:0 0 3px #0004}.react-flow__panel.react-flow__minimap{margin:8px 48px}.react-flow__viewMode .react-flow__node,.react-flow__viewMode .react-flow__edge{pointer-events:none!important}.react-flow__viewMode .line-node{opacity:0}.react-flow__viewMode .device-node-device-detail{pointer-events:all}.home-room-card-create{border:2px dashed #d9d9d9;background-color:#fafafa;cursor:pointer}.home-room-card-create .ant-card-body{display:flex;justify-self:center;align-items:center;flex-direction:column;text-align:center}.solution-print-header{display:flex;justify-content:space-between;align-items:center;height:50px;background:#eeeff0;color:#3e3e3e;border:1px solid rgb(215,220,221);font-family:Arial,sans-serif;border-radius:4px;padding:16px;margin:28px}.solution-print-header h2{font-size:14px;font-weight:600;letter-spacing:.5px;width:70%;margin:0}.solution-print-header h3{flex-grow:1;font-size:12px;opacity:.95;margin:0;text-align:right;padding-right:12px}.solution-print-header h4{width:70px;font-size:12px;opacity:.7;margin:0}@media print{body{background-color:#fff}body *{visibility:hidden}#print-header,#print-header *,.react-flow,.react-flow *{visibility:visible}#print-header{position:fixed;bottom:0;left:0;width:100%;z-index:10001;visibility:visible!important}.react-flow{position:fixed!important;left:0;bottom:28px;width:100%;height:calc(95% - 70px);z-index:10000;background:#737577;padding:10%}.react-flow__panel,.react-flow__controls,.react-flow__minimap{display:none}.react-flow__panel.panel-legend{display:flex!important;bottom:12px;right:12px;transform:scale(.8)}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.react-flow__node,.react-flow__edge{pointer-events:none!important}.line-node{opacity:0}.device-node-device-detail{top:0;left:0;width:100%;height:100%;max-width:100%;max-height:100%}.device-node-device-detail:after{opacity:0}}@media screen{#print-header{display:none}}
