@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-Cygz-XR6.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-NAt9AhwD.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-COF6noiJ.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-DmRB7q_B.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}body,html{height:100%;margin:0;background-color:#fff;font-family:DM Sans!important;overflow:hidden}body{margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background-color:#fff1f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;text-align:center;margin:40px auto;max-width:500px;color:#b71c1c}.error-page h2{font-size:1.6rem;margin-bottom:8px}.error-page p{font-size:1rem;color:#d32f2f}.error-icon{margin-bottom:16px}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.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;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.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:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;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:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-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.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@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}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.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:#3367d9;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:#3367d9;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%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background-color:#f9fafb;border-radius:12px;text-align:center;margin:40px auto;max-width:500px}.empty-state h2{font-size:1.6rem;margin-bottom:8px;color:#333}.empty-state p{font-size:1rem;color:#666}.empty-icon{margin-bottom:16px;animation:float 2s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.progress-fill{height:10px;border-radius:6px;width:0;transition:width 1.2s ease-in-out}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-container{margin-left:-20%;padding:24px;background-color:#f9fafb;min-height:100vh}.dashboard-header{background-color:#fff;padding:16px 24px;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.dashboard-title{display:flex;align-items:center;gap:10px}.project-icon{width:40px;height:40px}.dashboard-title h1{font-size:24px;color:#1e40af}.dashboard-controls{display:flex;align-items:center;gap:12px}.dashboard-controls select{padding:8px 12px;border-radius:6px;border:1px solid #ccc;background-color:#fffbea;font-size:14px}.user-profile{position:relative}.avatar{background-color:#e2e2e2;color:#333;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .3s ease}.avatar:hover{background-color:#d4d4d4}.dropdown-menu{position:absolute;top:45px;right:0;background-color:#fff;box-shadow:0 4px 12px #00000026;border-radius:6px;padding:10px;z-index:100}.dropdown-menu button{background:none;border:none;font-size:14px;padding:8px 12px;cursor:pointer;width:100%;text-align:left}.dropdown-menu button:hover{background-color:#f3f4f6}.section{margin-top:40px}.section h2{font-size:20px;margin-bottom:16px;color:#1f2937}.grid-box{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background-color:#fff;border:none;padding:20px;border-radius:10px;box-shadow:0 1px 4px #0000001a;cursor:pointer;font-weight:500;transition:all .2s ease-in-out}.card:hover{box-shadow:0 4px 12px #00000026}.status-box{background-color:#fff;padding:24px;border-radius:10px;box-shadow:0 1px 4px #0000001a}.progress-section{margin-bottom:20px}.progress-label{font-weight:600;margin-bottom:4px;color:#374151}.progress-bar{background-color:#e5e7eb;height:10px;border-radius:6px;overflow:hidden}.progress-fill{height:10px;border-radius:6px;transition:width .3s ease}.btn-next-floating{position:fixed;bottom:24px;right:24px;background-color:#1976d2;color:#fff;border:none;padding:12px 20px;font-size:1rem;border-radius:30px;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:background-color .3s ease;z-index:999}.btn-next-floating:hover{background-color:#0d47a1}.card.decomposition{transition:all .3s ease;position:relative;padding-left:1.5rem}.card.decomposition.active{border:2px solid #1976d2;background-color:#e3f2fd;color:#0d47a1;font-weight:700;transform:scale(1.03);box-shadow:0 0 10px #1976d24d}.module-check{position:absolute;left:10px;font-size:1rem;color:#1976d2}.module-page{padding:8px;background-color:#fdfdfd}.module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap}.module-select{padding:8px 12px;font-size:13px;border:1px solid #d1d5db;border-radius:4px;color:#333}.legend{display:flex;gap:16px;font-size:13px;margin-top:10px}.legend-item{display:flex;align-items:center;gap:6px}.dot{width:12px;height:12px;border-radius:50%}.yellow{background-color:#facc15}.green{background-color:#4ade80}.pink{background-color:#fca5a5}.diagram-wrapper{margin-top:24px;padding:0;position:relative}.diagram-box{width:100%;height:400px;border:none}.custom-html{padding:20px;font-size:16px}.module-details-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;padding:20px}.module-main{flex:7;min-width:60%;background-color:#f9fafb;padding:20px;border-radius:10px;box-shadow:0 2px 6px #0000000d}.module-side-panel{min-width:250px;padding:1px 20px 20px;border-radius:10px;margin-top:16px;border:1px solid #e5e5e5}.diagram-box{margin-top:20px}.diagram-frame{width:100%;height:300px;border:1px solid #ccc;border-radius:6px}.api-response-box{width:100%;font-family:monospace;font-size:13px;padding:10px;border:1px solid #ccc;border-radius:6px;resize:vertical;background-color:#fff}.module-table-section{width:100%;margin-top:40px;padding:20px;background-color:#f3f4f6;border-radius:10px;box-shadow:0 2px 4px #0000000d}.data-table{width:100%;border-collapse:collapse;margin-top:10px}.data-table th,.data-table td{border:1px solid #d1d5db;padding:10px;text-align:left}.data-table th{background-color:#e5e7eb;font-weight:700}.animated-dot{transition:background-color .4s ease;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.summary-box{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.summary-buttons{display:flex;flex-wrap:wrap;gap:8px;flex:1}.summary-btn{padding:12px 20px;background-color:#fff;border:1px solid #333;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.summary-btn:hover{background-color:#f3f4f6}.diagram-select{padding:8px 12px;border-radius:4px;border:1px solid #ddd;background-color:#fff;min-width:180px;font-size:13px;cursor:pointer;margin-left:auto}@media (max-width: 768px){.summary-box{flex-direction:column;align-items:stretch}.summary-buttons{width:100%;justify-content:flex-start}.diagram-select{width:100%;margin-top:12px;margin-left:0}}
