.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%}.icon-palette{width:300px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:width .3s ease}.icon-palette.collapsed{width:40px;overflow:visible}.collapse-toggle{position:absolute;top:50%;right:-18px;transform:translateY(-50%);width:36px;height:60px;background:#0078d4;border:none;border-radius:0 6px 6px 0;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;z-index:10;transition:all .3s ease;box-shadow:2px 0 4px #0000001a}.icon-palette.collapsed .collapse-toggle{height:200px;padding:1rem .6rem;width:40px}.collapse-toggle:hover{background:#005a9e}.collapse-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:.875rem;font-weight:600;letter-spacing:.05em;white-space:nowrap}.palette-header{padding:1rem;border-bottom:1px solid #e0e0e0;background:#fafafa}.palette-header h2{font-size:1.125rem;font-weight:600;margin-bottom:.75rem;color:#0078d4}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #d0d0d0;border-radius:4px}.search-box input{flex:1;border:none;outline:none;font-size:.875rem}.palette-content{flex:1;overflow-y:auto;padding:.5rem 0}.category-section{margin-bottom:.25rem}.category-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.category-header:hover{background-color:#f5f5f5}.category-title{flex:1;font-size:.875rem;font-weight:500;text-transform:capitalize;color:#333}.icon-count{font-size:.75rem;color:#666}body.dark-mode .category-header{background-color:#2d2d2d}body.dark-mode .category-header:hover{background-color:#3d3d3d}body.dark-mode .category-title{color:#e0e0e0;font-weight:600}body.dark-mode .icon-count{color:#a0a0a0}body.dark-mode .palette-header{background:#2d2d2d;border-bottom:1px solid #404040}body.dark-mode .palette-header h2{color:#fff;font-weight:700}body.dark-mode .search-box{background:#3d3d3d;border:1px solid #505050}body.dark-mode .search-box input{background:#3d3d3d;color:#e0e0e0}body.dark-mode .search-box input::placeholder{color:#a0a0a0}.icons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.5rem;padding:.5rem 1rem 1rem 2.5rem}.icon-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border:1px solid #e0e0e0;border-radius:4px;cursor:grab;transition:all .15s;background:#fff}.icon-item:hover{border-color:#0078d4;box-shadow:0 2px 4px #0078d41a;transform:translateY(-2px)}.icon-item:active{cursor:grabbing}.icon-image{width:40px;height:40px;object-fit:contain}.icon-placeholder{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:.625rem;color:#999;text-align:center}.icon-label{font-size:.625rem;text-align:center;color:#555;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%}.no-icons{padding:1rem;text-align:center;color:#999;font-size:.875rem}.azure-node{background:#fff;border-radius:8px;padding:12px;min-width:120px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;position:relative}.azure-node.selected{border-color:#0078d4;box-shadow:0 10px 15px #0078d44d,0 4px 6px #0078d433}.azure-node:hover{border-color:#0078d4;box-shadow:0 8px 12px #00000026,0 4px 6px #0000001a;transform:translateY(-2px)}.node-content{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:all;position:relative;width:100%}.cost-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.65rem;font-weight:700;padding:3px 7px;border-radius:10px;box-shadow:0 2px 6px #00000040;white-space:nowrap;z-index:10;border:1.5px solid rgba(255,255,255,.4);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:2px}.cost-badge:hover{transform:scale(1.05);box-shadow:0 3px 8px #0000004d}.cost-quantity{font-size:.55rem;opacity:.9;margin-left:1px}.node-icon{width:48px;height:48px;object-fit:contain}.node-icon-placeholder{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:4px}.loading-spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#0078d4;border-radius:50%;animation:spin .8s linear infinite}.node-label{font-size:1rem;color:#333;text-align:center;font-weight:500;line-height:1.3;max-width:140px;word-wrap:break-word;cursor:text;padding:4px;border-radius:3px;transition:background-color .15s}.node-badges{width:100%;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;align-items:center;margin:.25rem 0 .15rem}.node-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .4rem;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid rgba(17,24,39,.15);background:#6b72801a;color:#111827;-webkit-user-select:none;user-select:none}.node-badge--neutral{background:#6b72801a}.node-badge--info{background:#3b82f624;border-color:#3b82f659}.node-badge--warning{background:#f59e0b29;border-color:#f59e0b59}.node-badge--danger{background:#ef444424;border-color:#ef444459}.node-badge--purple{background:#8b5cf624;border-color:#8b5cf659}.node-badge--teal{background:#14b8a624;border-color:#14b8a659}.node-badge-text{line-height:1}.node-badge-remove{border:none;background:transparent;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;color:#11182799}.node-badge-remove:hover{color:#111827e6}.node-badge-add{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .45rem;border-radius:999px;border:1px dashed rgba(17,24,39,.25);background:#ffffffb3;color:#111827cc;font-size:.72rem;font-weight:800;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .12s ease}.node-badge-add:hover{background:#fffffff2;border-color:#11182759}.node-badge-add:active{transform:translateY(1px)}.node-badge-add:focus-visible{outline:2px solid rgba(0,120,212,.55);outline-offset:2px}.node-badge-input{width:160px;max-width:220px;border-radius:999px;border:1px solid rgba(0,120,212,.55);padding:.25rem .55rem;font-size:.75rem;font-weight:700;outline:none}.node-badge-input--add{width:200px}body.dark-mode .node-badge{border-color:#ffffff2e;color:#f9fafb}body.dark-mode .node-badge--neutral{background:#ffffff14}body.dark-mode .node-badge--info{background:#3b82f638;border-color:#3b82f673}body.dark-mode .node-badge--warning{background:#f59e0b38;border-color:#f59e0b73}body.dark-mode .node-badge--danger{background:#ef444438;border-color:#ef444473}body.dark-mode .node-badge--purple{background:#8b5cf638;border-color:#8b5cf673}body.dark-mode .node-badge--teal{background:#14b8a638;border-color:#14b8a673}body.dark-mode .node-badge-add{background:transparent;color:#ffffffe0;border-color:#ffffff42}body.dark-mode .node-badge-add:hover{background:#ffffff0f;border-color:#ffffff5c}body.dark-mode .node-badge-remove{color:#ffffffb3}body.dark-mode .node-badge-remove:hover{color:#fffffff2}body.dark-mode .node-badge-input{background:#111827d9;color:#f9fafb;border-color:#60a5faa6}.node-label:hover{background-color:#f5f5f5}.node-label-input{font-size:1rem;color:#333;text-align:center;font-weight:500;line-height:1.3;max-width:140px;border:1px solid #0078d4;border-radius:3px;padding:4px;outline:none;background:#fff}.node-handle{width:10px;height:10px;background:#0078d4;border:2px solid white;box-shadow:0 0 0 1px #0078d4}.node-handle:hover{background:#005a9e;transform:scale(1.2)}.react-flow__handle-top{top:-5px}.react-flow__handle-bottom{bottom:-5px}.react-flow__handle-left{left:-5px}.react-flow__handle-right{right:-5px}.ungroup-button{position:absolute;top:4px;left:4px;background:#fff;border:1.5px solid #0078d4;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #0003;transition:all .2s ease;z-index:10}.ungroup-button:hover{background:#0078d4;transform:scale(1.1);box-shadow:0 3px 8px #0000004d}.ungroup-button:hover svg{color:#fff}.ungroup-button svg{width:14px;height:14px;color:#0078d4;transition:color .2s ease}body.dark-mode .ungroup-button{background:#111827f2;border-color:#60a5fa}body.dark-mode .ungroup-button:hover{background:#60a5fa}body.dark-mode .ungroup-button svg{color:#60a5fa}body.dark-mode .ungroup-button:hover svg{color:#111827}.azure-node.style-presentation{padding:16px 20px;min-width:150px;border-radius:12px;border-left-width:6px!important;border-top:none!important;border-right:none!important;border-bottom:none!important;box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014}.azure-node.style-presentation .node-icon,.azure-node.style-presentation .node-icon--presentation{width:56px;height:56px}.azure-node.style-presentation .node-label{font-size:1.05rem;font-weight:600;max-width:180px;color:#1a1a2e}.azure-node.style-presentation .node-content{gap:10px}.azure-node.style-presentation:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0000002e,0 4px 12px #0000001a}body.dark-mode .azure-node.style-presentation{box-shadow:0 8px 24px #0006,0 2px 8px #0000004d}body.dark-mode .azure-node.style-presentation .node-label{color:#1a1a2e}.group-node{background:#ffffff0d;border:2px dashed;border-radius:8px;min-width:200px;min-height:150px;width:100%;height:100%;padding:0;display:flex;flex-direction:column;transition:all .2s;pointer-events:none}.group-node.selected{border-color:#0078d4!important;border-width:3px;box-shadow:0 0 0 3px #0078d433}.group-node .react-flow__resize-control{pointer-events:all}.group-node-header{background:#00000008;padding:8px 12px;border-bottom:1px dashed;border-radius:6px 6px 0 0;position:relative;pointer-events:all}.group-header-content{display:flex;align-items:center;gap:8px;justify-content:space-between}.fit-to-content-button{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s;flex-shrink:0}.fit-to-content-button:hover{background-color:#0000001a}.color-picker-button{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s;flex-shrink:0}.color-picker-button:hover{background-color:#0000001a}.color-picker-panel{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:12px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:200px}.color-picker-title{font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.color-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.color-option{width:32px;height:32px;border:2px solid;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0;position:relative}.color-option:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}.color-option.active:after{content:"✓";position:absolute;color:#fff;font-weight:700;font-size:16px;text-shadow:0 0 2px rgba(0,0,0,.5)}.color-option-inner{width:16px;height:16px;border-radius:3px}.group-label{font-size:1.5rem;font-weight:700;cursor:text;padding:2px 4px;border-radius:3px;transition:background-color .15s;flex:1}.group-label:hover{background-color:#0000000d}.group-label-input{font-size:1.5rem;font-weight:700;color:#000;border:1px solid #000000;border-radius:3px;padding:2px 4px;outline:none;background:#fff;width:100%}.group-node-content{flex:1;padding:12px;position:relative;z-index:1;pointer-events:none}.react-flow__node-groupNode{z-index:-1!important}.react-flow__node-azureNode{z-index:10!important}.image-uploader{margin-bottom:1.5rem}.image-uploader-header{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.875rem;margin-bottom:.5rem;color:#374151}.optional-badge{background:#e5e7eb;color:#6b7280;font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.image-drop-zone{border:2px dashed #d1d5db;border-radius:8px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#eff6ff;min-height:140px;display:flex;align-items:center;justify-content:center}.image-drop-zone:hover:not(.disabled):not(.has-image){border-color:#8b5cf6;background:#f5f3ff}.image-drop-zone.dragging{border-color:#8b5cf6;background:#f5f3ff;border-style:solid}.image-drop-zone.disabled{opacity:.5;cursor:not-allowed}.image-drop-zone.has-image{padding:.5rem;background:#f3f4f6;border-style:solid;border-color:#d1d5db}.file-input{display:none}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#6b7280}.upload-prompt p{margin:0;font-size:.875rem;font-weight:500;color:#374151}.upload-prompt .upload-icon{color:#9ca3af;margin-bottom:.25rem}.upload-hint{font-size:.75rem;color:#9ca3af}.preview-container{position:relative;width:100%;max-height:200px;overflow:hidden;border-radius:6px}.preview-image{width:100%;height:auto;max-height:180px;object-fit:contain;border-radius:4px}.preview-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:.75rem;display:flex;align-items:center;justify-content:space-between}.file-name{color:#fff;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 40px)}.clear-button{background:#fff3;border:none;border-radius:4px;padding:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .15s}.clear-button:hover{background:#ffffff4d}.analyzing-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#8b5cf6;padding:1rem}.analyzing-state p{margin:0;font-weight:600;font-size:.9375rem}.analyzing-state .spinner{animation:spin 1s linear infinite}.analyzing-hint{font-size:.75rem;color:#9ca3af}.image-success-hint{margin:.75rem 0 0;padding:.625rem .75rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;font-size:.8125rem;color:#047857;line-height:1.4}body.dark-mode .image-uploader-header{color:#f3f4f6}body.dark-mode .optional-badge{background:#fef3c7;color:#92400e}body.dark-mode .upload-prompt{color:#d1d5db}body.dark-mode .upload-prompt p{color:#f3f4f6}body.dark-mode .upload-prompt .upload-icon{color:#d1d5db}body.dark-mode .upload-hint{color:#9ca3af}body.dark-mode .image-drop-zone{background:#1e2a3a;border-color:#3b5068}body.dark-mode .image-drop-zone:hover:not(.disabled):not(.has-image){background:#1e2440;border-color:#8b5cf6}.btn-ai{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;border:none;box-shadow:0 0 #8b5cf600,0 0 #ec489900;animation:ai-button-glow 1.6s ease-in-out infinite}.btn-ai:hover{background:linear-gradient(135deg,#7c3aed,#db2777);transform:translateY(-1px)}.btn-generate-ai{font-size:1.125rem!important;font-weight:600!important;padding:.875rem 1.5rem!important;animation:ai-generate-pulse 2s ease-in-out infinite;position:relative}.btn-generate-ai:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;padding:4px;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;animation:ai-ring-pulse 2s ease-in-out infinite;pointer-events:none}.btn-generate-ai svg{width:22px!important;height:22px!important}.btn-generate-ai:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#ec4899)!important;border:none!important;box-shadow:0 4px 14px #8b5cf663}.btn-generate-ai:not(:disabled):hover{background:linear-gradient(135deg,#7c3aed,#db2777)!important;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #8b5cf680}@keyframes ai-ring-pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}@keyframes ai-generate-pulse{0%,to{box-shadow:0 4px 14px #8b5cf663,0 0 #8b5cf600,0 0 30px #ec489900;transform:scale(1)}50%{box-shadow:0 4px 14px #8b5cf663,0 0 0 8px #8b5cf640,0 0 30px 8px #ec489959;transform:scale(1.02)}}@keyframes ai-button-glow{0%,to{box-shadow:0 0 #8b5cf600,0 0 #ec489900}50%{box-shadow:0 0 12px #8b5cf6a6,0 0 22px #ec48998c}}@media (prefers-reduced-motion: reduce){.btn-ai,.btn-generate-ai{animation:none}.btn-generate-ai:before{animation:none}.btn-generate-ai:not(:disabled):hover{transform:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:900px;width:92%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-title{display:flex;align-items:center;gap:.75rem;color:#8b5cf6}.modal-title h2{font-size:1.25rem;font-weight:600;margin:0;color:#111827}.modal-close{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .15s}.modal-close:hover{background:#f3f4f6;color:#111827}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-description{color:#6b7280;font-size:.95rem;margin-bottom:1.5rem;line-height:1.6}body.dark-mode .modal-description{color:#f3f4f6}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;font-size:.875rem;margin-bottom:.5rem;color:#374151}.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:all .15s;background:#f5f3ff}.form-textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.form-textarea:disabled{background:#f9fafb;cursor:not-allowed}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:6px;font-size:.875rem;margin-bottom:1rem}.example-prompts{margin-top:1.5rem}.example-prompts h3{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.75rem}.example-list{display:flex;flex-direction:column;gap:.5rem}.example-button{text-align:left;padding:.75rem .75rem .75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-left:3px solid #e5e7eb;border-radius:6px;font-size:.9rem;color:#4b5563;cursor:pointer;transition:all .15s;line-height:1.5}.example-button:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#1f2937;transform:translate(2px)}.example-button:disabled{opacity:.5;cursor:not-allowed}.example-category{display:flex;flex-direction:column;gap:.375rem}.example-category-label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.example-category:first-child .example-category-label{margin-top:0}.example-category-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.modal-footer{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.ai-modal-active-model{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#1e3a5f,#0c4a6e);border:2px solid #38bdf8;border-radius:8px;font-size:15px;font-weight:600;color:#e0f2fe;box-shadow:0 2px 8px #0ea5e940}.ai-modal-active-model .model-badge{font-weight:800;font-size:17px;color:#38bdf8;text-shadow:0 0 8px rgba(56,189,248,.4)}.ai-modal-active-model .model-change-hint{font-size:11px;color:#7dd3fc;font-style:italic;margin-left:auto;opacity:.8}.spinner{animation:spin 1s linear infinite}.similar-architectures{margin-top:24px;padding:16px;background:#f0f9ff;border:1px solid #0078d4;border-radius:8px}.similar-architectures h3{margin:0 0 8px;color:#0078d4;font-size:.95rem}.similar-architectures p{margin:0 0 12px;color:#605e5c;font-size:.875rem;line-height:1.4}.ai-metrics{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;padding:10px 12px;background:#0078d414;border-radius:6px;font-size:.8125rem;color:#0078d4}.ai-metrics .metric{display:flex;align-items:center;gap:6px}.ai-metrics .metric svg{opacity:.8}.similar-architectures ul{list-style:none;padding:0;margin:0}.similar-architectures li{padding:8px 0}.similar-architectures a{color:#0078d4;text-decoration:none;font-weight:500}.similar-architectures a:hover{text-decoration:underline}.auto-snapshot-option{flex:1;padding:12px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;margin-right:12px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:#1f2937;margin:0}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-hint{margin:4px 0 0 26px;font-size:12px;color:#78350f;line-height:1.4}.modal-footer-actions{display:flex;justify-content:flex-end;gap:12px}body.dark-mode .modal-content{background:#1e1e1e;border:1px solid #333}body.dark-mode .modal-header{border-bottom-color:#333}body.dark-mode .modal-title h2{color:#e0e0e0}body.dark-mode .modal-body,body.dark-mode .example-prompts h3{color:#d1d5db}body.dark-mode .example-button{background:#2a2a2a;border-color:#404040;color:#d1d5db}body.dark-mode .example-button:hover:not(:disabled){background:#333;border-color:#555;color:#f3f4f6}body.dark-mode .form-textarea{background:#0f1b2d;border-color:#1e3a5f;color:#e8f0fe}body.dark-mode .form-textarea::placeholder{color:#5a7ea4}body.dark-mode .form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}body.dark-mode .form-group label{color:#f3f4f6}body.dark-mode .modal-footer{background:#1a1a1a;border-top-color:#333}body.dark-mode .ai-modal-active-model{background:linear-gradient(135deg,#1e3a5f,#0c4a6e);border-color:#38bdf8;color:#e0f2fe;box-shadow:0 2px 12px #38bdf84d}body.dark-mode .ai-modal-active-model .model-change-hint{color:#7dd3fc}.ref-image-viewer{z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ref-image-collapsed{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#1e1e1ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:20px;color:#ccc;font-size:11px;cursor:pointer;transition:all .2s ease}.ref-image-collapsed:hover{background:#323232e6;color:#fff;border-color:#ffffff4d}.ref-image-thumbnail{background:#1e1e1eeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;box-shadow:0 4px 20px #0006;transition:border-color .2s ease,box-shadow .2s ease;position:relative}.ref-image-thumbnail:hover{border-color:#8b5cf680;box-shadow:0 4px 24px #8b5cf626}.ref-image-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.08)}.ref-image-label{display:flex;align-items:center;gap:4px;font-size:11px;color:#aaa;font-weight:500}.ref-image-actions{display:flex;gap:2px}.ref-image-btn{background:none;border:none;color:#888;cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;transition:all .15s ease}.ref-image-btn:hover{background:#ffffff1a;color:#fff}.ref-image-btn-dismiss:hover{background:#ef444433;color:#f87171}.ref-image-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}.ref-image-drag-handle:active{cursor:grabbing}.ref-image-thumb{width:100%;object-fit:cover;cursor:pointer;display:block;transition:opacity .15s ease}.ref-image-resize-handle{position:absolute;bottom:0;right:0;width:18px;height:18px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(139,92,246,.5) 50%);border-radius:0 0 8px;transition:background .15s ease}.ref-image-resize-handle:hover{background:linear-gradient(135deg,transparent 50%,rgba(139,92,246,.85) 50%)}.ref-image-thumb:hover{opacity:.85}.ref-image-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer}.ref-image-overlay-content{background:#1e1e1e;border:1px solid rgba(255,255,255,.15);border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0009;cursor:default}.ref-image-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);color:#ddd;font-size:14px;font-weight:500}.ref-image-overlay-header span{display:flex;align-items:center;gap:8px}.ref-image-close-btn{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all .15s ease}.ref-image-close-btn:hover{background:#ffffff1a;color:#fff}.ref-image-full{display:block;max-width:85vw;max-height:calc(90vh - 50px);object-fit:contain}@media (prefers-color-scheme: light){.ref-image-collapsed{background:#ffffffe6;border-color:#00000026;color:#555}.ref-image-collapsed:hover{background:#fffffff2;color:#333}.ref-image-thumbnail{background:#fffffff2;border-color:#0000001f;box-shadow:0 4px 16px #0000001f}.ref-image-header{border-bottom-color:#00000014}.ref-image-label{color:#666}.ref-image-btn{color:#999}.ref-image-btn:hover{background:#0000000f;color:#333}.ref-image-overlay-content{background:#fff;border-color:#00000026}.ref-image-overlay-header{color:#333;border-bottom-color:#0000001a}}.title-block{position:absolute;bottom:20px;left:380px;background:#fff;border:2px solid #333;border-radius:4px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;box-shadow:0 4px 8px #00000026;z-index:1000;min-width:320px;-webkit-user-select:none;user-select:none;cursor:grab;transition:box-shadow .2s}.title-block.dragging{box-shadow:0 8px 16px #0000004d;cursor:grabbing;z-index:1001}.title-block-header{background:#333;color:#fff;padding:6px 12px;font-size:.75rem;font-weight:700;letter-spacing:.5px;text-align:center;border-bottom:2px solid #333}.title-block-label{display:block}.title-block-content{padding:12px;display:flex;flex-direction:column;gap:8px}.title-block-row{display:flex;gap:8px;align-items:center;font-size:.875rem}.title-block-field{font-weight:600;color:#555;min-width:60px}.title-block-value{flex:1;color:#333;font-weight:400}.title-block-hint{padding:4px 12px;font-size:.7rem;color:#888;font-style:italic;text-align:center;background:#f8f8f8;border-top:1px solid #ddd}.title-block-edit{padding:12px}.title-block-edit .title-block-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.title-block-edit label{font-size:.75rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.title-block-edit input{padding:6px 8px;border:1px solid #ccc;border-radius:3px;font-size:.875rem;font-family:inherit}.title-block-edit input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.title-block-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid #ddd}.title-block-actions button{padding:6px 16px;border:none;border-radius:3px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-save{background:#0078d4;color:#fff}.btn-save:hover{background:#005a9e}.btn-cancel{background:#f3f3f3;color:#333}.btn-cancel:hover{background:#e0e0e0}body.dark-mode .title-block{background:#152238;border:2px solid #1e3a5f;box-shadow:0 4px 8px #00000059}body.dark-mode .title-block-header{background:#0f1b2d;color:#fff;border-bottom-color:#1e3a5f}body.dark-mode .title-block-field{color:#8ab4e0;font-weight:600}body.dark-mode .title-block-value{color:#fff;font-weight:600}body.dark-mode .title-block-hint{background:#0f1b2d;border-top:1px solid #1e3a5f;color:#6a8fba}body.dark-mode .title-block-edit{background:#152238}body.dark-mode .title-block-edit label{color:#8ab4e0}body.dark-mode .title-block-edit input{background:#1a2d47;border:1px solid #2a4a6a;color:#fff}body.dark-mode .title-block-edit input:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}body.dark-mode .title-block-actions{border-top:1px solid #1e3a5f}body.dark-mode .btn-cancel{background:#1a2d47;color:#e0e0e0}body.dark-mode .btn-cancel:hover{background:#243a57}.model-generation-badge{position:absolute;bottom:70px;left:380px;display:flex;align-items:center;gap:6px;background:#ffffffeb;border:1px solid #0078d4;border-radius:20px;padding:5px 14px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.78rem;color:#333;box-shadow:0 2px 8px #0078d426;z-index:1000;-webkit-user-select:none;user-select:none;cursor:grab;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:box-shadow .2s}.model-generation-badge.dragging{cursor:grabbing;box-shadow:0 4px 12px #0078d44d;z-index:1001}.model-generation-badge-icon{font-size:.9rem;line-height:1}.model-generation-badge-text strong{color:#0078d4;font-weight:600}.model-generation-badge-time{color:#888;font-size:.72rem;padding-left:4px;border-left:1px solid #ddd}body.dark-mode .model-generation-badge{background:#2d2d2deb;border-color:#60a5fa;color:#e0e0e0}body.dark-mode .model-generation-badge-text strong{color:#60a5fa}body.dark-mode .model-generation-badge-time{color:#999;border-left-color:#555}.legend{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#fff;border:2px solid #333;border-radius:4px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;box-shadow:0 4px 8px #00000026;z-index:1000;transition:all .3s ease;max-width:95vw}.legend.collapsed{min-width:auto}.legend-header{background:#333;color:#fff;padding:6px 12px;font-size:.75rem;font-weight:700;letter-spacing:.5px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.legend-header:hover{background:#444}.legend-title{flex:1}.legend-toggle{font-size:.65rem;margin-left:8px}.legend-content{padding:10px 14px;display:flex;flex-direction:row;gap:20px;align-items:flex-start}.legend-section{flex:0 0 auto;min-width:0}.legend-section:last-child{margin-bottom:0}.legend-section-title{font-size:.7rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding-bottom:3px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.legend-item{display:flex;align-items:center;gap:6px;margin-bottom:4px;padding:3px 6px;border-radius:3px;transition:background-color .2s}.legend-item:hover{background-color:#f8f8f8}.legend-item:last-child{margin-bottom:0}.legend-line{flex-shrink:0;width:40px;height:16px}.legend-color-box{width:16px;height:16px;border-radius:3px;flex-shrink:0;border:2px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #0000001a}.legend-description{display:flex;flex-direction:column;gap:0;flex:1;min-width:0}.legend-description strong{font-size:.75rem;color:#333;font-weight:600;white-space:nowrap}.legend-description span{font-size:.65rem;color:#666;line-height:1.2;white-space:nowrap}.legend-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;white-space:nowrap;min-width:50px;justify-content:center;flex-shrink:0}.legend-badge.fixed-pricing{background:linear-gradient(135deg,#10b981,#059669)}.legend-badge.usage-pricing{background:linear-gradient(135deg,#3b82f6,#2563eb)}.legend-badge.cost-low{background:linear-gradient(135deg,#10b981,#059669)}.legend-badge.cost-medium{background:linear-gradient(135deg,#f59e0b,#d97706)}.legend-badge.cost-high{background:linear-gradient(135deg,#f97316,#ea580c)}.legend-badge.cost-very-high{background:linear-gradient(135deg,#ef4444,#dc2626)}body.dark-mode .legend{background:#152238;border:2px solid #1e3a5f;box-shadow:0 4px 8px #00000059}body.dark-mode .legend-header{background:#0f1b2d;color:#fff}body.dark-mode .legend-header:hover{background:#132640}body.dark-mode .legend-section-title{color:#8ab4e0;font-weight:700;border-bottom:1px solid #1e3a5f}body.dark-mode .legend-item{border-radius:3px}body.dark-mode .legend-item:hover{background-color:#1a2d47}body.dark-mode .legend-description strong{color:#fff;font-weight:700}body.dark-mode .legend-description span{color:#a0bfdf;font-weight:500}.alignment-toolbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.75rem 1rem;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:1rem;z-index:1000;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.toolbar-section{display:flex;align-items:center;gap:.25rem}.toolbar-label{font-size:.75rem;color:#666;margin-right:.5rem;font-weight:500}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;transition:all .15s;color:#333}.toolbar-btn:hover{background:#f5f5f5;border-color:#0078d4;color:#0078d4;transform:translateY(-2px)}.toolbar-btn:active{transform:translateY(0);background:#e8f4fd}.toolbar-separator{width:1px;height:32px;background:#e0e0e0}.toolbar-info{font-size:.75rem;color:#0078d4;font-weight:500;margin-left:.5rem;padding-left:1rem;border-left:1px solid #e0e0e0}.workflow-panel{position:fixed;top:120px;right:0;bottom:0;width:400px;background:#fff;border-left:2px solid #0078d4;box-shadow:-4px 0 12px #0000001a;z-index:999;transition:all .3s ease;display:flex;flex-direction:column}.workflow-panel.collapsed{right:-400px}.workflow-panel.collapsed .workflow-header{position:fixed;top:50%;right:0;transform:translateY(-50%);border-radius:8px 0 0 8px;writing-mode:vertical-rl;width:auto}.workflow-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0078d4,#005a9e);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.workflow-header:hover{background:linear-gradient(135deg,#005a9e,#004578)}.workflow-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.workflow-narrate-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:#ffffff1f;color:#fff;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.workflow-narrate-btn:hover:not(:disabled){background:#ffffff38;border-color:#fff9}.workflow-narrate-btn.active{background:#ef444440;border-color:#ef444499}.workflow-narrate-btn:disabled{opacity:.6;cursor:not-allowed}.workflow-title{display:flex;align-items:center;gap:.75rem;flex:1}.workflow-title h3{margin:0;font-size:1rem;font-weight:600}.workflow-count{font-size:.75rem;background:#fff3;padding:.25rem .5rem;border-radius:12px;font-weight:500}.workflow-toggle{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;padding:.25rem;transition:transform .2s}.workflow-toggle:hover{transform:scale(1.1)}.workflow-content{flex:1;overflow-y:auto;padding:1.5rem;background:#f8fafc}.workflow-steps{display:flex;flex-direction:column;gap:1rem;max-width:1200px;margin:0 auto}.workflow-step{display:flex;gap:1rem;background:#fff;padding:1rem;border-radius:8px;border-left:4px solid #0078d4;box-shadow:0 2px 4px #0000000d;transition:all .2s;cursor:pointer}.workflow-step:hover{background:#fef9c3;box-shadow:0 4px 12px #0078d426;transform:translate(4px);border-left-color:#eab308}body.dark-mode .workflow-step:hover{background:#fef9c3;border-left-color:#eab308}.step-number{flex-shrink:0;width:36px;height:36px;background:linear-gradient(135deg,#0078d4,#005a9e);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;box-shadow:0 2px 4px #0078d44d}.step-description{flex:1}.step-description p{margin:0 0 .5rem;color:#333;line-height:1.6;font-size:.875rem}.step-services{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0}.services-label{font-size:.75rem;color:#666;font-weight:500}.services-count{font-size:.75rem;background:#e0f2fe;color:#0078d4;padding:.125rem .5rem;border-radius:12px;font-weight:600}.workflow-content::-webkit-scrollbar{width:8px}.workflow-content::-webkit-scrollbar-track{background:#f1f1f1}.workflow-content::-webkit-scrollbar-thumb{background:#0078d4;border-radius:4px}.workflow-content::-webkit-scrollbar-thumb:hover{background:#005a9e}.workflow-avatar-panel{position:fixed;background:#1e1e2e;border:1px solid #334155;border-radius:12px;box-shadow:0 8px 32px #00000080;z-index:1000;overflow:hidden;display:flex;flex-direction:column;will-change:transform}.workflow-avatar-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0f172a;border-bottom:1px solid #334155;cursor:grab;-webkit-user-select:none;user-select:none}.workflow-avatar-panel-header:active{cursor:grabbing}.workflow-avatar-panel-title{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.workflow-avatar-dismiss{background:none;border:none;padding:2px;cursor:pointer;color:#64748b;display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.workflow-avatar-dismiss:hover{color:#f87171;background:#f871711a}.workflow-avatar-video-wrap{position:relative;flex:1;min-height:0;background:#0a0a0f;display:flex;align-items:center;justify-content:center;overflow:hidden}.workflow-avatar-video{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.workflow-avatar-connecting,.workflow-avatar-error-display{display:flex;flex-direction:column;align-items:center;gap:10px;color:#94a3b8;font-size:.8rem;text-align:center;padding:12px}.workflow-avatar-error-display{color:#f87171;font-size:.75rem}.workflow-avatar-panel-controls{display:flex;justify-content:center;padding:8px;gap:8px;background:#0f172a;border-top:1px solid #1e293b}.workflow-avatar-action-btn{display:flex;align-items:center;gap:5px;padding:5px 14px;font-size:.78rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background:#1d4ed8;color:#fff;transition:background .15s}.workflow-avatar-action-btn:hover{background:#2563eb}.workflow-avatar-action-btn.stop{background:#b91c1c}.workflow-avatar-action-btn.stop:hover{background:#dc2626}.workflow-avatar-captions{padding:10px 14px 4px;font-size:.82rem;line-height:1.55;color:#94a3b8;max-height:90px;overflow-y:auto;border-top:1px solid #334155;scrollbar-width:none}.workflow-avatar-captions::-webkit-scrollbar{display:none}.workflow-avatar-caption-word{display:inline;transition:color .1s,background .1s;border-radius:3px;padding:0 1px}.workflow-avatar-caption-word.active{color:#fff;background:#6366f173}body:not(.dark-mode) .workflow-avatar-panel{background:#f8fafc;border-color:#cbd5e1}body:not(.dark-mode) .workflow-avatar-panel-header,body:not(.dark-mode) .workflow-avatar-panel-controls{background:#f1f5f9;border-color:#e2e8f0}body:not(.dark-mode) .workflow-avatar-panel-title{color:#475569}body:not(.dark-mode) .workflow-avatar-dismiss{color:#94a3b8}body:not(.dark-mode) .workflow-avatar-video-wrap{background:#e2e8f0}body:not(.dark-mode) .workflow-avatar-connecting{color:#64748b}body:not(.dark-mode) .workflow-avatar-captions{border-color:#e2e8f0;color:#475569}body:not(.dark-mode) .workflow-avatar-caption-word.active{color:#1e293b;background:#6366f133}.avatar-resize-handle{position:absolute;bottom:0;right:0;width:18px;height:18px;cursor:se-resize;background:linear-gradient(135deg,transparent 30%,rgba(148,163,184,.35) 30%,rgba(148,163,184,.35) 45%,transparent 45%,transparent 60%,rgba(148,163,184,.35) 60%,rgba(148,163,184,.35) 75%,transparent 75%);border-bottom-right-radius:12px;z-index:10}.avatar-resize-handle:hover{background:linear-gradient(135deg,transparent 30%,rgba(99,102,241,.55) 30%,rgba(99,102,241,.55) 45%,transparent 45%,transparent 60%,rgba(99,102,241,.55) 60%,rgba(99,102,241,.55) 75%,transparent 75%)}@keyframes spin{to{transform:rotate(360deg)}}.workflow-panel .spinner,.workflow-avatar-panel .spinner{animation:spin .8s linear infinite}.region-selector{position:relative;display:inline-block}.region-selector-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#333;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.region-selector-button:hover{border-color:#0078d4;box-shadow:0 4px 8px #0078d41a;transform:translateY(-1px)}.region-flag{font-size:18px;line-height:1}.region-name{color:#333}.region-arrow{font-size:10px;color:#666;margin-left:4px}.region-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:1000;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.region-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:#fff;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;text-align:left;transition:background-color .2s ease}.region-option:last-child{border-bottom:none}.region-option:hover{background-color:#f5f5f5}.region-option.selected{background-color:#e6f2ff;border-left:3px solid #0078d4;padding-left:13px}.region-info{flex:1;display:flex;flex-direction:column;gap:2px}.region-display-name{font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.region-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.region-type-hero{background-color:gold;color:#333}.region-type-hub{background-color:#0078d4;color:#fff}.region-type-satellite{background-color:#868686;color:#fff}.region-type-micro{background-color:#50e6ff;color:#333}.region-location{font-size:12px;color:#666}.checkmark{color:#0078d4;font-size:16px;font-weight:700}.region-selector-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:24px;color:#1f2937}.modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s;color:#6b7280}.modal-close:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px}.spinner{border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.loading-content{max-width:600px;text-align:center}.loading-content h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px}.loading-description{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 24px}.pillars-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px;text-align:left}.pillars-info h4{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 12px}.pillars-list{margin:0;padding-left:20px;list-style-type:none}.pillars-list li{color:#4b5563;font-size:14px;line-height:1.8;padding:6px 0;position:relative}.pillars-list li:before{content:"✓";color:#10b981;font-weight:700;position:absolute;left:-20px}.pillars-list li strong{color:#1f2937;font-weight:600}.modal-loading p{color:#6b7280;font-size:14px}.validation-dismiss-hint{margin-top:16px;padding:10px 14px;font-size:12px;color:#8b95a5;border-top:1px solid rgba(255,255,255,.06);text-align:center;font-style:italic;line-height:1.5}.validation-dismiss-hint strong{color:#a0b4cc;font-style:normal}.modal-empty{padding:60px 24px;text-align:center;color:#6b7280}.validation-score{display:flex;gap:24px;padding:24px;background:#f9fafb;border-radius:8px;margin-bottom:24px;align-items:center}.score-circle{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.score-inner{width:100px;height:100px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value{font-size:36px;font-weight:700;color:#1f2937;line-height:1}.score-label{font-size:14px;color:#6b7280}.score-summary h3{margin:0 0 8px;color:#1f2937;font-size:18px}.score-summary p{margin:0;color:#6b7280;line-height:1.6}.ai-metrics-validation{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding:8px 12px;background:#f0f9ff;border-radius:6px;font-size:.8125rem;color:#0078d4}.ai-metrics-validation .metric{display:flex;align-items:center;gap:6px}.ai-metrics-validation .metric svg{opacity:.8}.pillars-section h3{margin:0 0 16px;color:#1f2937;font-size:18px}.pillar-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px}.pillar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pillar-header h4{margin:0;color:#1f2937;font-size:16px;font-weight:600}.pillar-score{font-size:18px;font-weight:700}.findings-list{display:flex;flex-direction:column;gap:12px}.finding-item{background:#fff;border-left:4px solid;border-radius:6px;padding:12px}.finding-item.severity-critical{border-left-color:#dc2626}.finding-item.severity-high{border-left-color:#ea580c}.finding-item.severity-medium{border-left-color:#f59e0b}.finding-item.severity-low{border-left-color:#3b82f6}.finding-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.severity-icon{width:18px;height:18px}.severity-icon.critical{color:#dc2626}.severity-icon.high{color:#ea580c}.severity-icon.medium{color:#f59e0b}.severity-icon.low{color:#3b82f6}.finding-category{font-weight:600;color:#1f2937;flex:1}.severity-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.severity-badge.critical{background:#fef2f2;color:#dc2626}.severity-badge.high{background:#fff7ed;color:#ea580c}.severity-badge.medium{background:#fffbeb;color:#f59e0b}.severity-badge.low{background:#eff6ff;color:#3b82f6}.source-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.source-badge.rule-based{background:#ecfdf5;color:#059669}.source-badge.ai-analysis{background:#eef2ff;color:#6366f1}.hybrid-metric{color:#059669!important}.finding-content{padding-left:26px}.finding-content p{margin:4px 0;font-size:13px;line-height:1.5;color:#4b5563}.finding-resources{margin-top:8px;padding-top:8px;border-top:1px solid #f3f4f6;color:#6b7280;font-style:italic}.quickwins-section{margin-top:24px;padding:24px;background:#f0f9ff;border-radius:8px;border:1px solid #bae6fd}.quickwins-section h3{margin:0 0 16px;color:#0c4a6e;font-size:18px}.quickwins-list{display:flex;flex-direction:column;gap:12px}.quickwin-item{background:#fff;border-radius:6px;padding:12px;border:1px solid #bae6fd}.quickwin-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.quickwin-icon{width:18px;height:18px;color:#10b981}.quickwin-category{font-weight:600;color:#1f2937;font-size:14px}.quickwin-recommendation{margin:0;padding-left:26px;font-size:13px;color:#4b5563;line-height:1.5}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-bottom-left-radius:12px;border-bottom-right-radius:12px;flex-shrink:0;position:sticky;bottom:0;z-index:10}.modal-actions .btn-primary,.modal-actions .btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex!important;align-items:center;gap:8px;transition:all .2s}.modal-actions .btn-primary{background:#3b82f6;color:#fff;border:none}.modal-actions .btn-primary:hover{background:#2563eb}.modal-actions .btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.modal-actions .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.modal-actions .btn-success{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex!important;align-items:center;gap:8px;transition:all .2s}.modal-actions .btn-success:hover{background:#059669}.finding-checkbox{width:18px;height:18px;cursor:pointer;margin-right:8px;accent-color:#3b82f6}.finding-item.selected{background-color:#eff6ff;border-left:3px solid #3b82f6}.finding-item.selected .finding-header{background-color:#dbeafe}body.dark-mode .loading-content h3{color:#e0e0e0}body.dark-mode .loading-description{color:#9ca3af}body.dark-mode .pillars-info{background:#2a2a2a;border-color:#444}body.dark-mode .pillars-info h4{color:#e0e0e0}body.dark-mode .pillars-list li{color:#d1d5db}body.dark-mode .pillars-list li strong{color:#f3f4f6}body.dark-mode .modal-loading p{color:#9ca3af}body.dark-mode .validation-dismiss-hint{color:#7a8599;border-top-color:#ffffff14}body.dark-mode .validation-dismiss-hint strong{color:#8ab4e0}body.dark-mode .validation-modal .modal-header h2{color:#e0e0e0}body.dark-mode .validation-modal .modal-header{border-bottom-color:#444}body.dark-mode .validation-score{background:#2a2a2a}body.dark-mode .score-summary h3{color:#e0e0e0}body.dark-mode .score-summary p{color:#9ca3af}body.dark-mode .finding-item{border-color:#444}body.dark-mode .finding-item.selected{background-color:#3b82f61a;border-left-color:#3b82f6}body.dark-mode .finding-item.selected .finding-header{background-color:#3b82f626}.deployment-modal .modal-content{max-width:1000px;display:flex;flex-direction:column;max-height:90vh}.deployment-modal .modal-body{flex:1;overflow-y:auto;padding-bottom:0}.deployment-modal .modal-actions{flex-shrink:0;margin-top:0;position:sticky;bottom:0;background:#f9fafb;border-top:1px solid #e5e7eb;z-index:10}.guide-header{padding:24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;margin-bottom:24px}.guide-header h3{margin:0 0 12px;font-size:24px;font-weight:700}.guide-overview{margin:0 0 16px;font-size:15px;line-height:1.6;opacity:.95}.guide-meta{display:flex;flex-wrap:wrap;gap:16px 24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}.meta-item{font-size:14px;opacity:.95}.meta-item strong{font-weight:600}.meta-item.ai-metrics-inline{display:flex;align-items:center;gap:6px;font-size:13px;opacity:.85;background:#ffffff26;padding:4px 10px;border-radius:4px}.guide-section{margin-bottom:32px}.guide-section h4{margin:0 0 16px;font-size:18px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.prerequisites-list{list-style:none;padding:0;margin:0}.prerequisites-list li{padding:12px 16px;background:#f9fafb;border-left:3px solid #3b82f6;border-radius:4px;margin-bottom:8px;font-size:14px;color:#4b5563}.prerequisites-list li:before{content:"✓";color:#10b981;font-weight:700;margin-right:8px}.steps-list{display:flex;flex-direction:column;gap:12px}.step-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.step-card:hover{border-color:#d1d5db}.step-header{display:flex;justify-content:space-between;align-items:center;padding:16px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff}.step-header:hover{background:#f9fafb}.step-title{display:flex;align-items:center;gap:12px;flex:1}.step-number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;font-weight:600;font-size:14px;flex-shrink:0}.step-method{padding:4px 10px;background:#eff6ff;color:#1e40af;border-radius:12px;font-size:12px;font-weight:500}.step-content{padding:0 16px 16px;background:#fff}.step-description{margin:0 0 16px;padding:12px;background:#f9fafb;border-radius:6px;color:#4b5563;font-size:14px;line-height:1.6}.commands-section{margin:16px 0}.commands-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 0 8px;border-bottom:2px solid #e5e7eb}.commands-header span{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.command-block{position:relative;margin-bottom:8px}.command-block pre{background:#1f2937;color:#f9fafb;padding:16px;border-radius:6px;overflow-x:auto;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;line-height:1.5}.copy-button{position:absolute;top:8px;right:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.copy-button:hover{background:#fff3}.step-notes{margin-top:12px;padding:12px;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:4px;font-size:13px;color:#78350f}.configuration-table{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.configuration-table table{width:100%;border-collapse:collapse;background:#fff}.configuration-table thead{background:#f9fafb}.configuration-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.configuration-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid #f3f4f6}.configuration-table tbody tr:last-child td{border-bottom:none}.configuration-table tbody tr:hover{background:#f9fafb}.config-key{font-weight:600;color:#1f2937;white-space:nowrap}.config-value code{padding:2px 6px;background:#f3f4f6;border-radius:3px;font-family:Monaco,Menlo,monospace;font-size:13px;color:#1f2937}.config-description{color:#6b7280}.validation-list{list-style:none;padding:0;margin:0}.validation-list li{padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;display:flex;align-items:center;gap:12px;font-size:14px;color:#4b5563;transition:all .2s}.validation-list li:hover{background:#f9fafb;border-color:#d1d5db}.validation-list input[type=checkbox]{width:18px;height:18px;cursor:pointer}.validation-list label{flex:1;cursor:pointer}.troubleshooting-section{background:#fef2f2;padding:20px;border-radius:8px;border:1px solid #fee2e2}.troubleshooting-list{display:flex;flex-direction:column;gap:16px}.troubleshooting-item{background:#fff;padding:16px;border-radius:6px;border-left:4px solid #ef4444}.troubleshooting-problem{margin-bottom:8px;color:#991b1b;font-size:14px}.troubleshooting-solution{color:#4b5563;font-size:14px;line-height:1.6}.best-practices-section{background:#f0fdf4;padding:20px;border-radius:8px;border:1px solid #bbf7d0}.best-practices-list{list-style:none;padding:0;margin:0}.best-practices-list li{padding:12px 16px;background:#fff;border-left:3px solid #10b981;border-radius:4px;margin-bottom:8px;font-size:14px;color:#064e3b}.best-practices-list li:before{content:"💡";margin-right:8px}.deployment-modal .modal-actions .btn-primary,.deployment-modal .modal-actions .btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex!important;align-items:center;gap:8px;transition:all .2s}.deployment-modal .modal-actions .btn-primary{background:#3b82f6;color:#fff;border:none}.deployment-modal .modal-actions .btn-primary:hover{background:#2563eb}.deployment-modal .modal-actions .btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.deployment-modal .modal-actions .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.bicep-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:20px;border-radius:12px;border:1px solid #7dd3fc}.bicep-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.bicep-header h4{margin:0;display:flex;align-items:center;gap:8px;color:#0369a1}.btn-download-all-bicep{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-download-all-bicep:hover{background:linear-gradient(135deg,#0284c7,#0369a1);transform:translateY(-1px)}.bicep-description{margin:0 0 16px;font-size:14px;color:#0c4a6e;line-height:1.6}.bicep-description code{background:#bae6fd;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;color:#075985}.bicep-templates-list{display:flex;flex-direction:column;gap:12px}.bicep-template-card{background:#fff;border:1px solid #bae6fd;border-radius:8px;overflow:hidden;transition:all .2s}.bicep-template-card:hover{border-color:#7dd3fc;box-shadow:0 2px 8px #0ea5e926}.bicep-template-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;background:#f8fafc}.bicep-template-header:hover{background:#f0f9ff}.bicep-template-info{display:flex;align-items:center;gap:12px}.bicep-icon{color:#0284c7}.bicep-template-meta{display:flex;flex-direction:column;gap:2px}.bicep-template-name{font-weight:600;color:#1e293b;font-size:14px}.bicep-template-filename{font-size:12px;color:#64748b;font-family:Monaco,Menlo,monospace}.bicep-template-actions{display:flex;align-items:center;gap:8px}.btn-download-bicep{display:flex;align-items:center;justify-content:center;padding:6px;background:#e0f2fe;color:#0284c7;border:1px solid #7dd3fc;border-radius:4px;cursor:pointer;transition:all .2s}.btn-download-bicep:hover{background:#0284c7;color:#fff}.bicep-template-content{padding:16px;border-top:1px solid #e2e8f0}.bicep-template-description{margin:0 0 12px;font-size:13px;color:#475569;line-height:1.5}.bicep-code-block{border-radius:8px;overflow:hidden;border:1px solid #334155}.bicep-code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1e293b;color:#e2e8f0;font-size:12px;font-family:Monaco,Menlo,monospace}.bicep-code-header .copy-button{position:static;background:#ffffff1a;border-color:#fff3}.bicep-code{margin:0;padding:16px;background:#0f172a;color:#e2e8f0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;line-height:1.6;overflow-x:auto;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.version-history-modal{max-width:800px;max-height:85vh}.version-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px}.version-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:#6b7280}.version-empty p{margin:8px 0 0;font-size:16px;font-weight:500}.version-empty-hint{margin-top:12px!important;font-size:14px!important;max-width:400px;line-height:1.6;opacity:.8}.version-list{display:flex;flex-direction:column;gap:12px}.version-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:16px;cursor:pointer;transition:all .2s}.version-item:hover{border-color:#3b82f6;background:#eff6ff}.version-item.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 12px #3b82f626}.version-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.version-title{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.version-title h4{margin:0;font-size:16px;font-weight:600;color:#1f2937}.version-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.version-badge.latest{background:#10b981;color:#fff}.version-badge.score{background:#3b82f6;color:#fff}.version-actions{display:flex;gap:6px}.version-action-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#6b7280}.version-action-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937}.version-action-btn.delete:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.version-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;font-size:13px;color:#6b7280}.version-time{display:flex;align-items:center;gap:4px}.version-stat{padding:2px 8px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.version-prompt,.version-notes{margin-top:8px;padding:8px 12px;background:#fff;border-radius:6px;font-size:13px;line-height:1.5;color:#4b5563}.version-improvements{margin-top:8px;padding:8px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;font-size:13px}.version-improvements strong{color:#1f2937;display:block;margin-bottom:4px}.version-improvements ul{margin:4px 0 0;padding-left:20px;color:#4b5563}.version-improvements li{margin:2px 0}.version-footer{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.btn-restore{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-restore:hover{background:#2563eb}.version-history-modal .modal-actions{display:flex;justify-content:space-between;align-items:center}.version-count{color:#6b7280;font-size:14px}.save-snapshot-modal{max-width:500px}.snapshot-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;margin-bottom:20px}.snapshot-info-text{margin:0 0 4px;color:#0c4a6e;font-size:14px}.snapshot-info-text strong{color:#0c4a6e;font-weight:600}.snapshot-info-details{margin:0;color:#0369a1;font-size:13px;opacity:.8}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;color:#1f2937;font-size:14px;font-weight:600}.label-hint{display:block;font-size:12px;font-weight:400;color:#6b7280;margin-top:2px}.snapshot-notes{width:100%;padding:10px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;transition:border-color .2s}.snapshot-notes:focus{outline:none;border-color:#3b82f6}.snapshot-notes:disabled{background:#f3f4f6;cursor:not-allowed}.character-count{text-align:right;font-size:12px;color:#6b7280;margin-top:4px}.snapshot-hint{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:12px;font-size:13px;color:#78350f;line-height:1.5}.spinner-small{border:2px solid #e5e7eb;border-top:2px solid white;border-radius:50%;width:16px;height:16px;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}.toolbar-dropdown-menu--model-settings{width:480px;right:0;left:auto}.model-popover-trigger{position:relative;gap:8px!important;padding:9px 16px!important;font-size:1.05rem!important;background:linear-gradient(135deg,#ffffff38,#c8a0ff47)!important;border:1.5px solid rgba(255,255,255,.55)!important;color:#fff!important;border-radius:8px!important;transition:all .2s ease!important}.model-popover-trigger:hover{background:linear-gradient(135deg,#ffffff52,#c8a0ff61)!important;border-color:#ffffffbf!important;box-shadow:0 0 14px #c8a0ff59!important}.model-popover-label{font-weight:700;font-size:1.05rem;color:#fff}.model-popover-reasoning{font-size:.85rem;opacity:1;text-transform:capitalize;padding:2px 8px;background:#ffffff40;border-radius:4px;font-weight:700;color:#fff}.model-popover-override-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;background:#f59e0b;border-radius:50%;border:1.5px solid rgba(255,255,255,.8)}.msp-model-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:.25rem .4rem .4rem}.msp-model-btn{display:flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid rgba(17,24,39,.15);border-radius:6px;background:#11182708;color:#334155;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;justify-content:center;white-space:nowrap}.msp-model-btn:hover{background:#0078d414;border-color:#0078d44d}.msp-model-btn.active{background:#0078d4;border-color:#0078d4;color:#fff}.msp-reasoning-row{display:flex;align-items:center;justify-content:space-between;padding:.3rem .4rem}.msp-reasoning-label{font-size:.82rem;font-weight:650;opacity:.9}.msp-reasoning-buttons{display:flex;gap:3px}.msp-reasoning-btn{padding:4px 10px;border:1px solid rgba(17,24,39,.15);border-radius:5px;background:transparent;color:#334155;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s ease}.msp-reasoning-btn:hover{background:#0078d414;border-color:#0078d44d}.msp-reasoning-btn.active{background:#0078d4;border-color:#0078d4;color:#fff}.toolbar-dropdown-menu--model-settings .toolbar-dropdown-heading{display:flex;align-items:center;justify-content:space-between}.msp-reset-btn{display:flex;align-items:center;justify-content:center;padding:3px;background:transparent;border:1px solid #fca5a5;border-radius:4px;color:#dc2626;cursor:pointer;transition:all .15s ease}.msp-reset-btn:hover{background:#fef2f2}.msp-features{display:flex;flex-direction:column;gap:4px;padding:0 .2rem}.msp-feature-row{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:6px;transition:background .15s ease}.msp-feature-row.overridden{background:#0078d40f}.msp-feature-info{display:flex;align-items:baseline;gap:8px;min-width:0}.msp-feature-name{font-size:.82rem;font-weight:600;color:#334155;white-space:nowrap}.msp-feature-effective{font-size:.72rem;color:#94a3b8;white-space:nowrap}.msp-feature-controls{display:flex;gap:6px}.msp-feature-select{padding:5px 8px;border:1px solid rgba(17,24,39,.15);border-radius:5px;background:#ffffffe6;color:#334155;font-size:.78rem;font-weight:500;cursor:pointer;outline:none;width:100%}.msp-feature-select:hover{border-color:#0078d466}.msp-feature-select:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.msp-reasoning-select{padding:4px 6px;border:1px solid rgba(17,24,39,.15);border-radius:5px;background:#ffffffe6;color:#334155;font-size:.75rem;font-weight:500;cursor:pointer;outline:none;width:60px}.msp-reasoning-select:hover{border-color:#0078d466}.msp-reasoning-select:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}body.dark-mode .toolbar-dropdown-menu--model-settings{background:#111827eb;color:#f9fafb}body.dark-mode .msp-model-btn{background:#ffffff0f;border-color:#ffffff24;color:#e2e8f0}body.dark-mode .msp-model-btn:hover{background:#60a5fa1f;border-color:#60a5fa4d}body.dark-mode .msp-model-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}body.dark-mode .msp-reasoning-btn{border-color:#ffffff24;color:#e2e8f0}body.dark-mode .msp-reasoning-btn:hover{background:#60a5fa1f;border-color:#60a5fa4d}body.dark-mode .msp-reasoning-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}body.dark-mode .msp-feature-name{color:#e2e8f0}body.dark-mode .msp-feature-effective{color:#64748b}body.dark-mode .msp-feature-select,body.dark-mode .msp-reasoning-select{background:#111827bf;border-color:#ffffff24;color:#e2e8f0}body.dark-mode .msp-feature-row.overridden{background:#60a5fa14}body.dark-mode .msp-reset-btn{border-color:#7f1d1d;color:#f87171}body.dark-mode .msp-reset-btn:hover{background:#7f1d1d4d}body.dark-mode .model-popover-reasoning{background:#ffffff26}body.dark-mode .ai-modal-active-model{background:#1e3a5f80;border-color:#60a5fa4d;color:#93c5fd}body.dark-mode .ai-modal-active-model .model-change-hint{color:#64748b}.compare-modal{width:90vw;max-width:1200px;max-height:90vh;background:#fffffffa;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;position:relative}.compare-modal-body{padding:1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.25rem}.compare-section{display:flex;flex-direction:column;gap:.6rem}.compare-section-title{font-size:.9rem;font-weight:700;color:#334155;margin:0;display:flex;align-items:center;gap:.75rem}.compare-model-grid{display:flex;flex-wrap:wrap;gap:8px}.compare-model-chip{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid rgba(17,24,39,.12);border-radius:8px;background:#11182708;color:#334155;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.compare-model-chip:hover{border-color:#0078d466;background:#0078d40f}.compare-model-chip.selected{border-color:#0078d4;background:#0078d41a;color:#0078d4}.compare-model-chip-tag{font-size:.65rem;padding:1px 6px;border-radius:4px;background:#0078d426;color:#0078d4;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.compare-reasoning-row{display:flex;align-items:center;gap:12px;font-size:.82rem;color:#64748b;margin-top:4px}.compare-reasoning-buttons{display:flex;gap:4px}.compare-reasoning-btn{padding:4px 12px;border:1px solid rgba(17,24,39,.15);border-radius:5px;background:transparent;color:#334155;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s ease}.compare-reasoning-btn:hover{background:#0078d414}.compare-reasoning-btn.active{background:#0078d4;border-color:#0078d4;color:#fff}.compare-sample-prompts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.compare-sample-chip{padding:4px 10px;border:1px solid rgba(0,120,212,.3);border-radius:14px;background:#0078d40f;color:#0078d4;font-size:.75rem;cursor:pointer;transition:all .15s;white-space:nowrap}.compare-sample-chip:hover:not(:disabled){background:#0078d426;border-color:#0078d4}.compare-sample-chip:disabled{opacity:.4;cursor:not-allowed}.compare-prompt{width:100%;padding:12px;border:1px solid rgba(17,24,39,.15);border-radius:8px;font-size:.88rem;font-family:inherit;resize:vertical;background:#ffffffe6;color:#111827;line-height:1.5;box-sizing:border-box}.compare-prompt:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 3px #0078d41a}.compare-run-btn{align-self:center;padding:12px 32px!important;font-size:1rem!important;gap:8px}.compare-save-actions{display:flex;gap:8px;margin-left:auto}.compare-save-btn{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;padding:4px 12px;border:1px solid rgba(22,163,74,.35);border-radius:5px;background:#16a34a0f;color:#16a34a;cursor:pointer;font-weight:600;transition:all .15s ease}.compare-save-btn:hover{background:#16a34a24;border-color:#16a34a80}.compare-save-report-btn{border-color:#0078d459;background:#0078d40f;color:#0078d4}.compare-save-report-btn:hover{background:#0078d424;border-color:#0078d480}.compare-rerun-btn{font-size:.78rem;padding:4px 12px;border:1px solid rgba(0,120,212,.3);border-radius:5px;background:transparent;color:#0078d4;cursor:pointer;font-weight:600;transition:all .15s ease}.compare-rerun-btn:hover{background:#0078d414}.compare-progress{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;font-size:.88rem;color:#0078d4;font-weight:600}.compare-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.compare-result-card{border:1px solid rgba(17,24,39,.1);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fffffff2;transition:all .2s ease}.compare-result-card.success{border-color:#22c55e4d}.compare-result-card.error{border-color:#ef44444d;background:#ef444408}.compare-result-card.running{border-color:#0078d44d;background:#0078d408}.compare-result-header{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1rem}.compare-result-model{color:#111827}.compare-icon-success{color:#22c55e}.compare-icon-error{color:#ef4444}.compare-result-pending,.compare-result-running{font-size:.82rem;color:#94a3b8;padding:24px 0;text-align:center}.compare-result-running{color:#0078d4}.compare-result-error-msg{font-size:.82rem;color:#ef4444;padding:8px 0;line-height:1.4}.compare-result-metrics{display:flex;flex-direction:column;gap:6px}.compare-metric{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#64748b}.compare-metric.highlight{color:#0078d4;font-weight:600}.compare-badge{font-size:.65rem;padding:1px 6px;border-radius:4px;background:#0078d4;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.compare-badge.badge-thorough{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.compare-badge.badge-services{background:linear-gradient(135deg,#f59e0b,#d97706)}.compare-badge.badge-detailed{background:linear-gradient(135deg,#06b6d4,#0891b2)}.compare-result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.compare-stat{display:flex;flex-direction:column;align-items:center;padding:6px 4px;border-radius:6px;background:#11182708}.compare-stat.highlight{background:#0078d414}.compare-stat-value{font-size:1.1rem;font-weight:700;color:#111827}.compare-stat-label{font-size:.65rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.compare-result-tokens{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;color:#94a3b8}.compare-apply-btn{width:100%;justify-content:center;gap:6px;padding:8px 16px!important;font-size:.85rem!important}body.dark-mode .compare-modal{background:#111827f2;border:1px solid rgba(255,255,255,.1)}body.dark-mode .compare-section-title{color:#e2e8f0}body.dark-mode .compare-model-chip{border-color:#ffffff1f;background:#ffffff0d;color:#e2e8f0}body.dark-mode .compare-model-chip:hover{border-color:#60a5fa66;background:#60a5fa1a}body.dark-mode .compare-model-chip.selected{border-color:#2563eb;background:#2563eb26;color:#93c5fd}body.dark-mode .compare-model-chip-tag{background:#2563eb33;color:#93c5fd}body.dark-mode .compare-reasoning-row{color:#94a3b8}body.dark-mode .compare-reasoning-btn{border-color:#ffffff1f;color:#e2e8f0}body.dark-mode .compare-reasoning-btn.active{background:#2563eb;border-color:#2563eb}body.dark-mode .compare-sample-chip{border-color:#60a5fa4d;background:#60a5fa14;color:#60a5fa}body.dark-mode .compare-sample-chip:hover:not(:disabled){background:#60a5fa2e;border-color:#60a5fa}body.dark-mode .compare-prompt{background:#11182799;border-color:#ffffff1f;color:#f9fafb}body.dark-mode .compare-prompt:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}body.dark-mode .compare-result-card{background:#1e293b99;border-color:#ffffff14}body.dark-mode .compare-result-card.success{border-color:#22c55e40}body.dark-mode .compare-result-card.error{border-color:#ef444440;background:#ef44440f}body.dark-mode .compare-result-card.running{border-color:#60a5fa40;background:#2563eb0f}body.dark-mode .compare-result-model{color:#f1f5f9}body.dark-mode .compare-stat{background:#ffffff0a}body.dark-mode .compare-stat.highlight{background:#60a5fa1a}body.dark-mode .compare-stat-value{color:#f1f5f9}body.dark-mode .compare-metric.highlight,body.dark-mode .compare-result-running{color:#93c5fd}body.dark-mode .compare-rerun-btn{border-color:#60a5fa4d;color:#93c5fd}body.dark-mode .compare-rerun-btn:hover{background:#60a5fa1a}body.dark-mode .compare-save-btn{border-color:#4ade804d;background:#4ade800f;color:#4ade80}body.dark-mode .compare-save-btn:hover{background:#4ade801f;border-color:#4ade8080}body.dark-mode .compare-save-report-btn{border-color:#60a5fa4d;background:#60a5fa0f;color:#93c5fd}body.dark-mode .compare-save-report-btn:hover{background:#60a5fa1f;border-color:#60a5fa80}.compare-critique-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.compare-critique-label{font-size:.83rem;font-weight:600;color:#475569;white-space:nowrap}.compare-critique-model-select{font-size:.83rem;padding:4px 8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#1e293b;cursor:pointer;outline:none}.compare-critique-model-select:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.compare-critique-btn{border-color:#7c3aed59!important;background:#7c3aed0f!important;color:#7c3aed!important}.compare-critique-btn:hover:not(:disabled){background:#7c3aed24!important;border-color:#7c3aed8c!important}.compare-critique-btn:disabled{opacity:.6;cursor:not-allowed}.compare-critique-error{font-size:.83rem;color:#dc2626;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:8px 12px;margin-bottom:8px}.compare-critique-output{border:1px solid rgba(124,58,237,.2);border-radius:10px;overflow:hidden}.compare-critique-reviewer{font-size:.75rem;font-weight:600;color:#7c3aed;background:#7c3aed0f;padding:6px 14px;border-bottom:1px solid rgba(124,58,237,.15);letter-spacing:.02em}.compare-critique-text{font-family:inherit;font-size:.85rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;color:#1e293b;background:#f8fafccc;padding:14px 16px;margin:0}body.dark-mode .compare-critique-label{color:#94a3b8}body.dark-mode .compare-critique-model-select{background:#111827b3;border-color:#ffffff1f;color:#e2e8f0}body.dark-mode .compare-critique-model-select:focus{border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa33}body.dark-mode .compare-critique-btn{border-color:#a78bfa59!important;background:#a78bfa14!important;color:#a78bfa!important}body.dark-mode .compare-critique-btn:hover:not(:disabled){background:#a78bfa29!important;border-color:#a78bfa8c!important}body.dark-mode .compare-critique-error{color:#f87171;background:#ef444414;border-color:#ef444440}body.dark-mode .compare-critique-output{border-color:#a78bfa40}body.dark-mode .compare-critique-reviewer{color:#a78bfa;background:#a78bfa14;border-bottom-color:#a78bfa2e}body.dark-mode .compare-critique-text{color:#e2e8f0;background:#0f172a99}.compare-avatar-btn{background:#0f766e;color:#fff;border:none}.compare-avatar-btn:hover:not(:disabled){background:#0d9488}.compare-avatar-btn.active{background:#b91c1c}.compare-avatar-btn.active:hover{background:#dc2626}.compare-avatar-btn:disabled{opacity:.5;cursor:not-allowed}.compare-avatar-panel{position:fixed;background:#1e1e2e;border:1px solid #334155;border-radius:12px;box-shadow:0 8px 32px #00000080;z-index:100;overflow:hidden;display:flex;flex-direction:column;will-change:transform}.compare-avatar-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0f172a;border-bottom:1px solid #334155;cursor:grab;-webkit-user-select:none;user-select:none}.compare-avatar-panel-header:active{cursor:grabbing}background: #0f172a; border-bottom: 1px solid #334155; } .compare-avatar-panel-title{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.compare-avatar-dismiss{background:none;border:none;padding:2px;cursor:pointer;color:#64748b;display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.compare-avatar-dismiss:hover{color:#f87171;background:#f871711a}.compare-avatar-video-wrap{position:relative;flex:1;min-height:0;background:#0a0a0f;display:flex;align-items:center;justify-content:center;overflow:hidden}.compare-avatar-video{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.compare-avatar-connecting,.compare-avatar-error-display{display:flex;flex-direction:column;align-items:center;gap:10px;color:#94a3b8;font-size:.8rem;text-align:center;padding:12px}.compare-avatar-error-display{color:#f87171;font-size:.75rem}.compare-avatar-panel-controls{display:flex;justify-content:center;padding:8px;gap:8px;background:#0f172a;border-top:1px solid #1e293b}.compare-avatar-action-btn{display:flex;align-items:center;gap:5px;padding:5px 14px;font-size:.78rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background:#1d4ed8;color:#fff;transition:background .15s}.compare-avatar-action-btn:hover{background:#2563eb}.compare-avatar-action-btn.stop{background:#b91c1c}.compare-avatar-action-btn.stop:hover{background:#dc2626}body:not(.dark-mode) .compare-avatar-panel{background:#f8fafc;border-color:#cbd5e1}body:not(.dark-mode) .compare-avatar-panel-header,body:not(.dark-mode) .compare-avatar-panel-controls{background:#f1f5f9;border-color:#e2e8f0}body:not(.dark-mode) .compare-avatar-panel-title{color:#475569}body:not(.dark-mode) .compare-avatar-dismiss{color:#94a3b8}body:not(.dark-mode) .compare-avatar-video-wrap{background:#e2e8f0}body:not(.dark-mode) .compare-avatar-connecting{color:#64748b}.compare-avatar-captions{padding:10px 14px 4px;font-size:.82rem;line-height:1.55;color:#94a3b8;max-height:90px;overflow-y:auto;border-top:1px solid #334155;scrollbar-width:none}.compare-avatar-captions::-webkit-scrollbar{display:none}.compare-avatar-caption-word{display:inline;transition:color .1s,background .1s;border-radius:3px;padding:0 1px}.compare-avatar-caption-word.active{color:#fff;background:#6366f173}body:not(.dark-mode) .compare-avatar-captions{border-color:#e2e8f0;color:#475569}body:not(.dark-mode) .compare-avatar-caption-word.active{color:#1e293b;background:#6366f133}.cv-header{border-bottom:2px solid rgba(34,197,94,.25)!important}.cv-arch-summary{background:#6366f10d;border:1px solid rgba(99,102,241,.15);border-radius:10px;padding:12px 16px}.cv-arch-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.82rem;color:#64748b}.cv-arch-stat{font-weight:600;color:#334155}.cv-arch-dot{color:#cbd5e1}.cv-arch-desc{font-style:italic;color:#94a3b8}.cv-score-display{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0}.cv-score-circle{width:80px;height:80px;border-radius:50%;border:4px solid #94a3b8;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:border-color .3s ease}.cv-score-value{font-size:1.6rem;font-weight:800;line-height:1;color:#111827}.cv-score-label{font-size:.65rem;color:#94a3b8;font-weight:600}.cv-score-best .cv-score-circle{box-shadow:0 0 12px #22c55e4d}.cv-badge-score{background:#16a34a!important}.cv-badge-findings{background:#7c3aed!important}.cv-pillar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.cv-pillar-item{display:flex;flex-direction:column;align-items:center;padding:4px 2px;border-radius:6px;background:#11182708}.cv-pillar-score{font-size:.78rem;font-weight:700}.cv-pillar-name{font-size:.58rem;color:#94a3b8;text-align:center;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}.cv-findings-bar{display:flex;flex-direction:column;gap:4px}.cv-findings-header{display:flex;align-items:center;gap:5px;font-size:.82rem;font-weight:600;color:#334155}.cv-severity-row{display:flex;flex-wrap:wrap;gap:6px}.cv-sev{font-size:.7rem;font-weight:700;padding:1px 8px;border-radius:10px}.cv-sev-critical{background:#ef44441f;color:#dc2626}.cv-sev-high{background:#f973161f;color:#ea580c}.cv-sev-medium{background:#f59e0b1f;color:#d97706}.cv-sev-low{background:#22c55e1f;color:#16a34a}.cv-quickwins{font-size:.78rem;color:#7c3aed;font-weight:600;text-align:center}body.dark-mode .cv-header{border-bottom-color:#4ade8033!important}.cv-waf-info{padding:12px 16px;background:#22c55e0a;border:1px solid rgba(34,197,94,.12);border-radius:10px}.cv-waf-intro{font-size:.82rem;color:#64748b;margin:0 0 10px;line-height:1.5}.cv-waf-intro strong{color:#334155}.cv-waf-pillars{display:flex;flex-wrap:wrap;gap:8px}.cv-waf-pillar{font-size:.75rem;padding:4px 10px;border-radius:6px;background:#22c55e14;color:#475569}.cv-waf-pillar strong{font-weight:600}body.dark-mode .cv-waf-info{background:#22c55e0f;border-color:#22c55e26}body.dark-mode .cv-waf-intro{color:#94a3b8}body.dark-mode .cv-waf-intro strong{color:#e2e8f0}body.dark-mode .cv-waf-pillar{background:#22c55e1a;color:#cbd5e1}body.dark-mode .cv-arch-summary{background:#6366f114;border-color:#6366f133}body.dark-mode .cv-arch-stat{color:#e2e8f0}body.dark-mode .cv-arch-desc{color:#64748b}body.dark-mode .cv-score-value{color:#f1f5f9}body.dark-mode .cv-pillar-item{background:#ffffff0a}body.dark-mode .cv-findings-header{color:#e2e8f0}body.dark-mode .cv-sev-critical{background:#ef44442e;color:#f87171}body.dark-mode .cv-sev-high{background:#f973162e;color:#fb923c}body.dark-mode .cv-sev-medium{background:#f59e0b2e;color:#fbbf24}body.dark-mode .cv-sev-low{background:#22c55e2e;color:#4ade80}body.dark-mode .cv-quickwins{color:#a78bfa}.azp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:10000;display:flex;align-items:center;justify-content:center;animation:azpFadeIn .15s ease-out}@keyframes azpFadeIn{0%{opacity:0}to{opacity:1}}.azp-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;width:560px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #0006;animation:azpSlideUp .2s ease-out}@keyframes azpSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.azp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #333}.azp-modal-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#e0e0e0}.azp-modal-title svg{color:#0078d4}.azp-modal-close{background:none;border:none;color:#999;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.azp-modal-close:hover{color:#fff;background:#333}.azp-modal-body{padding:20px;overflow-y:auto;flex:1}.azp-modal-description{color:#b0b0b0;font-size:13px;line-height:1.5;margin:0 0 16px}.azp-modal-description code{color:#4fc3f7;background:#263238;padding:1px 5px;border-radius:3px;font-size:12px}.azp-modal-stats{display:flex;gap:16px;margin-bottom:20px}.azp-stat{display:flex;flex-direction:column;align-items:center;flex:1;padding:10px;background:#252525;border:1px solid #333;border-radius:8px}.azp-stat-value{font-size:22px;font-weight:700;color:#0078d4}.azp-stat-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.azp-form{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.azp-form-group{display:flex;flex-direction:column;gap:4px}.azp-form-group label{font-size:13px;color:#ccc;font-weight:500}.azp-form-group input[type=text],.azp-form-group select{background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:8px 10px;color:#e0e0e0;font-size:13px;outline:none;transition:border-color .15s}.azp-form-group input[type=text]:focus,.azp-form-group select:focus{border-color:#0078d4}.azp-form-hint{font-size:11px;color:#777}.azp-form-hint code{color:#4fc3f7;background:#263238;padding:0 3px;border-radius:2px;font-size:11px}.azp-form-group--checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.azp-form-group--checkbox input[type=checkbox]{accent-color:#0078d4;width:16px;height:16px}.azp-cli-preview{background:#0d1117;border:1px solid #30363d;border-radius:8px;padding:12px 16px}.azp-cli-preview-title{font-size:12px;color:#8b949e;margin-bottom:8px;font-weight:500}.azp-cli-code{font-family:Cascadia Code,Fira Code,JetBrains Mono,monospace;font-size:12px;line-height:1.6;color:#c9d1d9;margin:0;white-space:pre-wrap;word-break:break-word}.azp-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #333}.azp-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:background .15s}.azp-btn--primary{background:#0078d4;color:#fff}.azp-btn--primary:hover:not(:disabled){background:#106ebe}.azp-btn--primary:disabled{opacity:.5;cursor:not-allowed}.azp-btn--secondary{background:#333;color:#e0e0e0}.azp-btn--secondary:hover{background:#444}.azp-import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 20px;border:2px dashed #444;border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.azp-import-dropzone:hover{border-color:#0078d4;background:#0078d40f}.azp-import-dropzone svg{color:#555}.azp-import-dropzone:hover svg{color:#0078d4}.azp-import-dropzone-text{font-size:14px;color:#ccc}.azp-import-dropzone-text code{color:#4fc3f7;background:#263238;padding:1px 4px;border-radius:3px;font-size:13px}.azp-import-dropzone-hint{font-size:11px;color:#777}.azp-import-success{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#00b2941a;border:1px solid rgba(0,178,148,.3);border-radius:8px;color:#00b294;font-size:13px;margin-bottom:16px}.azp-import-project-info{display:flex;flex-direction:column;gap:6px;background:#252525;border:1px solid #333;border-radius:8px;padding:12px 14px;margin-bottom:16px}.azp-import-project-row{display:flex;justify-content:space-between;font-size:13px}.azp-import-project-key{color:#999}.azp-import-project-val{color:#e0e0e0;font-weight:500}.azp-import-project-val--green{color:#00b294}.azp-import-services-preview{margin-top:4px}.azp-import-services-title{font-size:12px;color:#999;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.azp-import-services-list{display:flex;flex-wrap:wrap;gap:6px}.azp-import-service-chip{display:inline-block;padding:4px 10px;background:#2a2a2a;border:1px solid #444;border-radius:14px;font-size:12px;color:#ccc}.azp-import-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center}.azp-import-error svg{color:#f85149}.azp-import-error strong{color:#f85149;font-size:15px}.azp-import-error p{color:#b0b0b0;font-size:13px;margin:4px 0 0}.app{width:100vw;height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#0078d4,#005a9e);color:#fff;padding:.5rem 1.5rem;box-shadow:0 2px 4px #0000001a;z-index:10}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:100%;gap:1rem}.app-header h1{font-size:1.5rem;font-weight:600;margin:0}.header-brand{display:flex;align-items:center;gap:1rem;flex-shrink:0}.microsoft-logo{height:80px;width:auto}.header-actions-wrapper{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:.5rem}.toolbar-group+.toolbar-group{margin-left:.25rem;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.25)}.toolbar-dropdown{position:relative}.toolbar-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:180px;background:#fffffffa;color:#111827;border:1px solid rgba(17,24,39,.12);border-radius:10px;padding:.4rem;box-shadow:0 10px 24px #00000038;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar-dropdown-menu--layout{min-width:260px}.toolbar-dropdown-heading{font-size:.8rem;font-weight:700;padding:.35rem .4rem .2rem;opacity:.9}.toolbar-dropdown-hint--muted{opacity:.7;padding:.25rem .4rem .4rem}.toolbar-dropdown-history{padding:.1rem .2rem .25rem;display:flex;flex-direction:column;gap:.35rem;max-width:320px}.toolbar-dropdown-history-item{padding:.35rem .4rem;border-radius:8px;background:#1118270a;border:1px solid rgba(17,24,39,.08)}.toolbar-dropdown-history-file{font-size:.82rem;font-weight:650;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-dropdown-history-meta{margin-top:.1rem;font-size:.72rem;opacity:.75}.toolbar-dropdown-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.3rem .4rem}.toolbar-dropdown-label{font-size:.82rem;font-weight:650;opacity:.9;white-space:nowrap}.toolbar-dropdown-select{width:100%;border-radius:8px;border:1px solid rgba(17,24,39,.18);background:#ffffffe6;padding:.45rem .55rem;font-size:.875rem;font-weight:600;color:inherit}.toolbar-dropdown-row .toolbar-dropdown-select{width:150px}.toolbar-dropdown-checkbox{display:flex;align-items:center;gap:.5rem;padding:.35rem .4rem;font-size:.85rem;font-weight:650;-webkit-user-select:none;user-select:none}.toolbar-dropdown-checkbox input[type=checkbox]{width:16px;height:16px}.toolbar-dropdown-hint{padding:.1rem .4rem .35rem;font-size:.78rem;opacity:.75}.toolbar-dropdown-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;color:inherit;text-align:left;transition:background-color .15s ease,transform .15s ease}.toolbar-dropdown-item:hover:not(:disabled){background:#11182714}.toolbar-dropdown-item:active:not(:disabled){transform:translateY(1px)}.toolbar-dropdown-item.active{background:#0078d41f;color:#0078d4;font-weight:600}.toolbar-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.toolbar-dropdown-separator{height:1px;margin:.35rem .25rem;background:#1118271f}body.dark-mode .toolbar-dropdown-menu{background:#111827eb;color:#f9fafb;border:1px solid rgba(255,255,255,.14)}body.dark-mode .toolbar-dropdown-history-item{background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}body.dark-mode .toolbar-dropdown-select{border:1px solid rgba(255,255,255,.16);background:#111827bf}body.dark-mode .toolbar-dropdown-item:hover:not(:disabled){background:#ffffff14}body.dark-mode .toolbar-dropdown-item.active{background:#60a5fa2e;color:#60a5fa}body.dark-mode .toolbar-dropdown-separator{background:#ffffff24}.cost-indicator{background:#ffffff40;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.95rem;font-weight:600;border:1px solid rgba(255,255,255,.3);white-space:nowrap;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 4px #0000001a}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-primary{background-color:#fff;color:#0078d4}.btn-primary:hover{background-color:#f0f0f0;transform:translateY(-1px)}.btn-secondary{background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-secondary:hover{background-color:#ffffff4d;transform:translateY(-1px)}.btn-compare-models{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;border:1px solid rgba(245,158,11,.5);animation:compare-pulse 2.5s ease-in-out infinite}.btn-compare-models:hover{background:linear-gradient(135deg,#b45309,#d97706);border-color:#d97706b3;transform:translateY(-1px);animation:none}@keyframes compare-pulse{0%,to{box-shadow:0 0 #d9770600}50%{box-shadow:0 0 12px 3px #f59e0b59}}.btn-parsing{background:linear-gradient(135deg,#0078d4,#00b4d8)!important;border:1px solid rgba(0,180,216,.5)!important;animation:parsing-pulse 1.5s ease-in-out infinite!important;pointer-events:none;cursor:wait}.btn-parsing .spin-icon{animation:spin 1s linear infinite}@keyframes parsing-pulse{0%,to{box-shadow:0 0 #0078d400,0 0 8px #00b4d84d;transform:scale(1)}50%{box-shadow:0 0 0 6px #0078d44d,0 0 20px #00b4d880;transform:scale(1.04)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn-parsing{animation:none!important}.btn-parsing .spin-icon{animation:none}}.btn-premium{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #667eea4d;position:relative;overflow:hidden}.btn-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-premium:hover:before{left:100%}.btn-premium:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-premium:disabled{background:#c8c8c84d;color:#fff9;cursor:not-allowed;box-shadow:none}.btn-premium:disabled:hover{transform:none}.workspace{display:flex;flex:1;overflow:hidden}.canvas-container{flex:1;height:100%;background-color:#fff}.react-flow__node{cursor:grab}.react-flow__node.selected{box-shadow:0 0 0 2px #0078d4}.react-flow__edge-path{stroke:#0078d4;stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:#005a9e;stroke-width:3}@keyframes edge-dash-forward{to{stroke-dashoffset:-16}}@keyframes edge-dash-reverse{to{stroke-dashoffset:16}}@keyframes edge-pulse{0%{stroke-opacity:.65;filter:drop-shadow(0 0 0 rgba(0,120,212,0))}50%{stroke-opacity:1;filter:drop-shadow(0 0 6px rgba(0,120,212,.65))}to{stroke-opacity:.65;filter:drop-shadow(0 0 0 rgba(0,120,212,0))}}.react-flow__controls,.react-flow__minimap{box-shadow:0 2px 8px #00000026}.info-panel{background:#fff;padding:.75rem 1rem;border-radius:4px;box-shadow:0 2px 8px #00000026}.prompt-banner{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0078d4;padding:.75rem 1.5rem;border-radius:6px;box-shadow:0 2px 8px #0078d433;max-width:600px;-webkit-user-select:none;user-select:none;transition:box-shadow .2s}.prompt-banner.draggable:hover{box-shadow:0 4px 12px #0078d44d}.prompt-banner.draggable:active{box-shadow:0 6px 16px #0078d466}.prompt-text{font-size:.875rem;color:#1e293b;line-height:1.5}.prompt-text strong{color:#0078d4;font-weight:600}.edge-context-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:transparent}.edge-context-menu{background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:200px;overflow:hidden;z-index:10000}.context-menu-header{padding:.5rem 1rem;background:#f8f9fa;font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e0e0e0}.context-menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:#fff;cursor:pointer;font-size:.875rem;color:#333;text-align:left;transition:background-color .15s}.context-menu-item:hover{background:#f0f9ff;color:#0078d4}.context-menu-item .menu-icon{font-size:1.25rem;font-weight:700;color:#0078d4;min-width:24px;text-align:center}@keyframes pulse{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.85;transform:translate(-50%) scale(1.02)}}.loading-banner{animation:pulse 2s ease-in-out infinite!important}.loading-banner .prompt-text{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.3)}.loading-banner .prompt-text strong{color:#bfdbfe!important}body.dark-mode{background:#1a1a1a;color:#e0e0e0}body.dark-mode .app-header{background:linear-gradient(135deg,#1e3a5f,#0d2540);border-bottom:1px solid #2d2d2d}body.dark-mode .canvas-container{background:#1a1a1a}body.dark-mode .react-flow__background{background:#1a1a1a!important}body.dark-mode .react-flow__edge-path{stroke:#60a5fa!important}body.dark-mode .react-flow__edge-text{fill:#e0e0e0}body.dark-mode .btn{background:#2d2d2d;color:#e0e0e0;border:1px solid #404040}body.dark-mode .btn:hover{background:#3d3d3d;border-color:#505050}body.dark-mode .btn-primary{background:#0078d4;color:#fff;border:1px solid #005a9e}body.dark-mode .btn-primary:hover{background:#005a9e}body.dark-mode .btn-premium{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:1px solid #5b21b6}body.dark-mode .btn-premium:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6)}body.dark-mode .btn-compare-models{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;border:1px solid rgba(245,158,11,.6)}body.dark-mode .btn-compare-models:hover{background:linear-gradient(135deg,#b45309,#d97706);border-color:#d97706cc}body.dark-mode .cost-indicator{background:#60a5fa26;border:1px solid rgba(96,165,250,.3)}body.dark-mode .legend{background:#2d2d2d;border:1px solid #404040;color:#e0e0e0}body.dark-mode .legend h3{color:#e0e0e0;border-bottom:1px solid #404040}body.dark-mode .legend-item span{color:#d0d0d0;font-weight:500}body.dark-mode .architecture-diagram-info{background:#2d2d2d;border:1px solid #404040;color:#e0e0e0}body.dark-mode .architecture-diagram-info h3{color:#e0e0e0;border-bottom:1px solid #404040}body.dark-mode .info-row{border-bottom:1px solid #404040}body.dark-mode .info-label{color:#d0d0d0;font-weight:500}body.dark-mode .info-value{color:#fff;font-weight:600}body.dark-mode .prompt-banner{background:#2d2d2dfa;border:1px solid #60a5fa;color:#e0e0e0;box-shadow:0 2px 8px #60a5fa4d}body.dark-mode .prompt-banner.draggable:hover{box-shadow:0 4px 12px #60a5fa66}body.dark-mode .prompt-banner.draggable:active{box-shadow:0 6px 16px #60a5fa80}body.dark-mode .prompt-text{color:#fff;font-weight:500}body.dark-mode .prompt-text strong{color:#60a5fa;font-weight:700}body.dark-mode .context-menu{background:#2d2d2d;border:1px solid #404040}body.dark-mode .context-menu-item{background:#2d2d2d;color:#e0e0e0}body.dark-mode .context-menu-item:hover{background:#3d3d3d;color:#60a5fa}body.dark-mode .icon-palette{background:#2d2d2d;border-right:1px solid #404040}body.dark-mode .icon-palette h2{color:#e0e0e0;border-bottom:1px solid #404040}body.dark-mode .category-header{background:#3d3d3d;color:#e0e0e0!important;border-bottom:1px solid #404040;font-weight:600}body.dark-mode .icon-item{background:#2d2d2d;border:1px solid #404040}body.dark-mode .icon-item:hover{background:#3d3d3d;border-color:#60a5fa}body.dark-mode .icon-label{color:#b0b0b0}body.dark-mode .react-flow__controls{background:#2d2d2d;border:1px solid #404040}body.dark-mode .react-flow__controls-button{background:#2d2d2d;border-bottom:1px solid #404040;color:#e0e0e0}body.dark-mode .react-flow__controls-button:hover{background:#3d3d3d}body.dark-mode .react-flow__minimap{background:#2d2d2d;border:1px solid #404040}body.dark-mode .react-flow__minimap-mask{fill:#60a5fa33}body.dark-mode .react-flow__minimap-node{fill:#3d3d3d;stroke:#505050}.react-flow__edge.reconnecting{stroke:#60a5fa!important;stroke-width:3px!important;opacity:.7}.react-flow__edge.reconnecting .react-flow__edge-path{stroke:#60a5fa!important;stroke-width:3px!important}.react-flow__handle.connecting,.react-flow__handle.valid{background:#60a5fa!important;border:2px solid #3b82f6!important;width:12px!important;height:12px!important;transform:scale(1.3);box-shadow:0 0 0 4px #60a5fa4d}.react-flow__handle.valid{background:#10b981!important;border:2px solid #059669!important;box-shadow:0 0 0 4px #10b9814d}body.dark-mode .react-flow__handle.connecting,body.dark-mode .react-flow__handle.valid{box-shadow:0 0 0 4px #60a5fa80}body.dark-mode .react-flow__handle.valid{box-shadow:0 0 0 4px #10b98180}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-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;background-color:#f5f5f5}#root{width:100vw;height:100vh;overflow:hidden}
