@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#26364a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--canvas:#f4f7fa;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f0f4f8;--ink:#213247;--muted:#718197;--subtle:#96a3b4;--line:#e4eaf0;--line-strong:#d6e0e9;--blue:#216bd7;--blue-dark:#1755b2;--blue-wash:#edf5ff;--green:#238763;--green-wash:#eaf7f1;--orange:#c97c22;--orange-wash:#fff5e7;--red:#c94b49;--red-wash:#fff0ef;--violet:#7557ad;--shadow:0 8px 28px #21324717;--mono:"DM Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f7fa;font-family:DM Sans,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#d8e2ed;--canvas:#111a24;--surface:#172330;--surface-2:#1d2b3a;--surface-3:#243547;--ink:#e4edf7;--muted:#9eafc2;--subtle:#8094aa;--line:#2a3a4a;--line-strong:#374b60;--blue:#73aaff;--blue-dark:#8bb8ff;--blue-wash:#203750;--green:#59bd96;--green-wash:#1e3c35;--orange:#e6aa5b;--orange-wash:#463722;--red:#f07d78;--red-wash:#482c30;--violet:#b49be4;--shadow:0 8px 28px #00000047;background:#111a24}*{box-sizing:border-box}body{background:var(--canvas);min-width:360px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button{cursor:pointer}#root{min-height:100vh}.app-shell{width:100%;height:100vh;min-height:0;color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex:0 0 61px;align-items:center;gap:22px;height:61px;padding:0 24px;display:flex}.brand{color:inherit;flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-symbol{background:var(--blue);border-radius:7px;justify-content:center;align-items:end;gap:2px;width:27px;height:27px;padding:5px;display:flex;transform:skewY(-5deg)}.brand-symbol i{background:#fff;border-radius:2px 2px 1px 1px;width:4px;display:block}.brand-symbol i:first-child{opacity:.72;height:9px}.brand-symbol i:nth-child(2){height:15px}.brand-symbol i:nth-child(3){opacity:.86;height:12px}.brand-copy{flex-direction:column;gap:4px;line-height:1.1;display:flex}.brand-copy b{letter-spacing:0;font:800 15px Manrope,sans-serif}.brand-copy small{color:var(--subtle);font:500 9px var(--mono);letter-spacing:0}.top-divider{border-left:1px solid var(--line);height:25px}.primary-nav{align-items:center;gap:4px;height:100%;display:flex}.primary-nav button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:8px 11px;font-size:13px;font-weight:600;transition:color .15s,background .15s}.primary-nav button:hover{color:var(--ink);background:var(--surface-3)}.primary-nav button.active{color:var(--blue);background:var(--blue-wash)}.top-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.global-search{border:1px solid var(--line);background:var(--surface-2);width:202px;height:34px;color:var(--muted);border-radius:5px;align-items:center;gap:8px;padding:0 8px;font-size:11px;display:flex}.global-search span{text-align:left;flex:1}.global-search kbd,kbd{font:10px var(--mono);color:var(--subtle);border:1px solid var(--line-strong);background:var(--surface);border-radius:3px;padding:2px 4px}.icon-button{width:32px;height:32px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:5px;flex:none;place-items:center;display:inline-grid}.icon-button:hover{color:var(--ink);border-color:var(--line);background:var(--surface-2)}.icon-button.compact{width:28px;height:28px}.avatar{color:#356496;background:#edf5ff;border:1px solid #cfe0f4;border-radius:5px;place-items:center;width:28px;height:28px;display:grid}.project-strip{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:45px;padding:0 24px;display:flex}.project-crumb,.project-actions{align-items:center;gap:11px;display:flex}.crumb-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px var(--green-wash);border-radius:50%}.project-name{color:var(--ink);background:0 0;border:0;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.project-status{color:var(--green);font-size:10px}.project-updated{color:var(--subtle);font-size:10px}.project-actions{gap:9px}.text-action{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:6px 7px;font-size:11px;font-weight:600;display:inline-flex}.text-action:hover{color:var(--blue)}.primary-button,.secondary-button{border:1px solid var(--blue);color:#fff;background:var(--blue);border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:11px;font-weight:700;transition:background .15s;display:inline-flex}.primary-button:hover{background:var(--blue-dark)}.primary-button.small{min-height:29px;padding:0 9px}.secondary-button{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}.secondary-button:hover{background:var(--surface-2)}.workspace-grid{flex:1;grid-template-columns:246px minmax(420px,1fr) 282px;min-height:0;display:grid;overflow:hidden}.catalog-panel,.properties-panel{background:var(--surface);flex-direction:column;min-height:0;display:flex}.catalog-panel{border-right:1px solid var(--line)}.properties-panel{border-left:1px solid var(--line)}.panel-heading{justify-content:space-between;align-items:center;min-height:61px;padding:12px 16px 9px;display:flex}.eyebrow{color:var(--subtle);font:500 9px var(--mono);letter-spacing:1px;align-items:center;gap:5px;display:flex}.panel-heading h2{color:var(--ink);letter-spacing:0;margin:3px 0 0;font:700 14px Manrope,sans-serif}.provider-selector{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(115deg, var(--surface-2), var(--surface));padding:11px 13px 12px}.section-label{color:var(--subtle);font:500 9px var(--mono);letter-spacing:.7px;justify-content:space-between;display:flex}.section-label small{font-size:9px}.provider-toggles{grid-template-columns:1fr;gap:4px;margin-top:8px;display:grid}.provider-toggle{min-height:28px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:0 7px;font-size:10px;display:flex}.provider-toggle.active{color:var(--ink);background:var(--surface);border-color:var(--line)}.provider-toggle svg{color:var(--green);margin-left:auto}.provider-mark{color:#fff;background:#df8929;border-radius:4px;flex:0 0 19px;place-items:center;width:19px;height:19px;font:700 10px Manrope,sans-serif;display:inline-grid}.provider-mark.azure,.service-icon.azure{background:#1686d9}.provider-mark.gcp,.service-icon.gcp{background:#4285f4}.provider-mark.aws,.service-icon.aws{background:#e88921}.catalog-count{color:var(--subtle);padding:7px 2px 0;font-size:9px}.field-search{border:1px solid var(--line);height:33px;color:var(--subtle);border-radius:4px;align-items:center;gap:7px;margin:11px 12px 8px;padding:0 8px;display:flex}.field-search input,.module-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.field-search input::placeholder,.module-search input::placeholder{color:var(--subtle)}.field-search kbd{font-size:9px}.category-list{scrollbar-width:thin;max-height:210px;padding:0 8px 5px;overflow-y:auto}.category{width:100%;min-height:29px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:0 7px;font-size:10px;display:flex}.category svg{color:#8294a8}.category span{flex:1}.category b{color:var(--subtle);font:10px var(--mono)}.category:hover{background:var(--surface-2)}.category.active{color:var(--blue);background:var(--blue-wash)}.category.active svg{color:var(--blue)}.catalog-results-head{border-top:1px solid var(--line);height:31px;color:var(--subtle);font:500 8px var(--mono);letter-spacing:.6px;justify-content:space-between;align-items:center;margin:0 13px;display:flex}.service-list{scrollbar-width:thin;flex:1;min-height:70px;padding:0 7px;overflow:auto}.service-row{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:5px 6px;display:flex}.service-row:hover{background:var(--surface-2)}.service-icon{color:#fff;border-radius:5px;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.service-icon.aws,.service-icon.azure,.service-icon.gcp{color:#fff}.service-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.service-copy b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.service-copy small{color:var(--subtle);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.service-add{color:var(--subtle);opacity:0}.service-row:hover .service-add{opacity:1}.catalog-footer{border-top:1px solid var(--line);min-height:33px;color:var(--subtle);justify-content:space-between;align-items:center;padding:0 13px;font-size:9px;display:flex}.catalog-footer b{color:var(--muted);font:9px var(--mono)}.workspace-main{background:var(--canvas);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.canvas-panel{flex-direction:column;flex:1;min-height:0;padding:0 17px;display:flex}.canvas-heading{justify-content:space-between;align-items:center;gap:16px;min-height:86px;display:flex}.canvas-heading h1,.module-heading h1{color:var(--ink);letter-spacing:0;margin:4px 0 3px;font:700 19px/1.25 Manrope,sans-serif}.canvas-heading p,.module-heading p{color:var(--muted);font-size:11px}.canvas-view-select{align-self:end;gap:3px;padding-bottom:13px;display:flex}.canvas-view-select button{color:var(--muted);background:0 0;border:0;border-radius:3px;padding:5px 8px;font-size:9px}.canvas-view-select button.active{color:var(--blue);background:var(--blue-wash)}.canvas-toolbar{border:1px solid var(--line);background:var(--surface);border-bottom:0;border-radius:5px 5px 0 0;flex:0 0 38px;justify-content:space-between;align-items:center;height:38px;padding:0 7px;display:flex}.toolbar-group,.toolbar-right{align-items:center;gap:2px;display:flex}.tool-button{width:27px;height:27px;color:var(--muted);background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.tool-button:hover,.tool-button.active{color:var(--blue);background:var(--blue-wash)}.toolbar-separator{border-left:1px solid var(--line);height:17px;margin:0 5px}.canvas-node-count{color:var(--muted);align-items:center;gap:6px;margin-right:8px;font-size:9px;display:flex}.canvas-node-count i{background:var(--subtle);border-radius:50%;width:3px;height:3px}.flow-frame{border:1px solid var(--line);background-color:#f8fafc;background-image:linear-gradient(135deg,#e2ebf442,#0000 45%);border-radius:0 0 5px 5px;flex:1;min-height:250px;position:relative;overflow:hidden}.dark .flow-frame,:root[data-theme=dark] .flow-frame{background-color:#14212e}.flow-frame .react-flow__background pattern circle{fill:#cfdae7}.region-boundary{z-index:3;pointer-events:none;position:absolute;top:13px;left:13px}.region-boundary span{color:#96611f;font:10px var(--mono);background:#fffaeff0;border:1px solid #ead2ac;border-radius:4px;align-items:center;gap:6px;padding:5px 7px;display:flex}.region-boundary svg{color:#d98724}.canvas-caption{height:23px;color:var(--subtle);justify-content:space-between;align-items:center;font-size:9px;display:flex}.canvas-caption span:first-child{align-items:center;gap:5px;display:flex}.live-dot{background:#33a47a;border-radius:50%;width:6px;height:6px;display:inline-block}.react-flow__controls{overflow:hidden;border:1px solid var(--line)!important;box-shadow:none!important}.react-flow__controls-button{border-bottom-color:var(--line)!important;background:var(--surface)!important;width:25px!important;height:25px!important;fill:var(--muted)!important}.react-flow__minimap{border-radius:4px;border:1px solid var(--line)!important;background:var(--surface)!important}.canvas-empty{pointer-events:none;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex;position:absolute;inset:0}.canvas-empty span{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--blue);background:var(--surface);border-radius:8px;place-items:center;display:grid}.canvas-empty b{color:var(--ink);font-size:13px}.canvas-empty small{font-size:10px}.service-node{border:1px solid var(--line-strong);border-left:3px solid var(--provider-color);background:var(--surface);width:176px;min-height:79px;color:var(--ink);border-radius:5px;padding:9px 10px 8px;box-shadow:0 3px 10px #23374d12}.service-node.is-selected{border-color:var(--blue);box-shadow:0 0 0 2px #216bd721,0 4px 12px #2137501a}.node-topline{align-items:center;gap:6px;display:flex}.node-icon{color:var(--provider-color);place-items:center;display:grid}.node-topline b{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.node-health{background:#29a274;border-radius:50%;flex:0 0 7px;width:7px;height:7px;display:inline-block}.node-health.warning{background:#df942b}.node-health.critical{background:#cf514b}.node-description{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 7px;font-size:9px;overflow:hidden}.node-meta{color:var(--subtle);font:8px var(--mono);align-items:center;gap:5px;display:flex}.node-meta i{background:var(--subtle);border-radius:50%;width:3px;height:3px}.react-flow__handle{background:#8da0b6!important;border:1px solid #fff!important;width:7px!important;height:7px!important}.view-security .service-node{filter:saturate(.45)}.view-cost .service-node{box-shadow:0 3px 12px #216bd729}.bottom-insights{border-top:1px solid var(--line);background:var(--surface);flex:0 0 63px;grid-template-columns:minmax(190px,1.2fr) minmax(270px,2fr) minmax(150px,.9fr);align-items:center;gap:12px;min-height:63px;padding:7px 16px;display:grid}.insight-health{text-align:left;background:0 0;border:0;align-items:center;gap:8px;display:flex}.health-ring{width:30px;height:30px;color:var(--green);background:var(--green-wash);border:1px solid #bde4d3;border-radius:50%;place-items:center;display:grid}.insight-health>span:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.insight-health b{color:var(--ink);font-size:10px}.insight-health small{color:var(--subtle);font-size:9px}.health-value{color:var(--green);font:700 17px Manrope,sans-serif}.health-value small{font:9px var(--mono)}.insight-score-list{justify-content:center;gap:clamp(8px,2vw,25px);display:flex}.insight-score-list button{color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;font-size:9px;display:flex}.insight-score-list b{color:var(--green);font:600 10px var(--mono)}.bottom-cost{background:0 0;border:0;justify-content:end;align-items:center;gap:9px;display:flex}.bottom-cost>span{color:var(--subtle);font:8px var(--mono)}.bottom-cost b{color:var(--ink);font:700 13px Manrope,sans-serif}.bottom-cost small{color:var(--muted);font:9px DM Sans,sans-serif}.bottom-cost svg{color:var(--blue)}.app-toast.error{color:var(--red);border-color:var(--red);background:var(--red-wash)}.generator-footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.generator-footer-actions button:disabled{cursor:not-allowed;opacity:.55}.code-cleared{min-height:180px;color:var(--muted);text-align:center;place-content:center;padding:20px;font-size:12px;display:grid}.scenario-reset{justify-self:end}.module-view{overflow-x:auto}.help-dialog{border-color:#d6e0e9cc;border-radius:12px;width:min(100%,620px);max-height:min(88vh,760px);box-shadow:0 28px 90px #10233945}.help-dialog .dialog-head{border-bottom:1px solid var(--line);background:linear-gradient(115deg,var(--surface),var(--surface-2));align-items:center;padding:21px 24px 17px}.help-title-group{align-items:center;gap:12px;display:flex}.help-title-icon{width:38px;height:38px;color:var(--blue);background:var(--blue-wash);border:1px solid #d8e8fc;border-radius:9px;place-items:center;display:grid}.help-dialog .dialog-head h2{letter-spacing:-.3px;margin-top:4px;font-size:19px}.help-content{color:var(--muted);scrollbar-width:thin;padding:19px 24px 21px;font-size:12px;line-height:1.55;overflow:auto}.help-intro{color:#36775f;background:#f2faf6;border:1px solid #dcebe4;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.help-intro svg{flex:none;margin-top:2px}.help-intro p{color:#557568;margin:0;line-height:1.55}.help-steps{counter-reset:none;gap:5px;margin:15px 0 18px;padding:0;list-style:none;display:grid}.help-steps li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:10px 8px;display:flex}.help-steps li:last-child{border-bottom:0}.help-steps li>span{border:1px solid var(--line);width:27px;height:27px;color:var(--blue);background:var(--surface-2);font:10px var(--mono);border-radius:7px;flex:0 0 27px;place-items:center;display:grid}.help-steps li>div{min-width:0}.help-steps b{color:var(--ink);font-size:12px}.help-steps p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.5}.help-shortcut-section{border-top:1px solid var(--line);padding-top:14px}.help-shortcut-title{color:var(--subtle);font:500 9px var(--mono);letter-spacing:.8px}.help-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px;display:grid}.help-shortcuts>div{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;min-width:0;min-height:60px;padding:8px 10px;display:flex}.help-shortcuts>div>span{white-space:nowrap;align-items:center;gap:4px;display:flex}.help-shortcuts small{color:var(--muted);font-size:10px}.help-shortcuts i{color:var(--subtle);font-size:9px;font-style:normal}.help-shortcuts b{color:var(--subtle);font-size:9px;font-weight:400}.help-dialog .dialog-footer{background:var(--surface-2);min-height:62px;padding:12px 24px}.help-dialog .dialog-footer>span{align-items:center;gap:7px;font-size:10px;display:flex}.help-dialog .dialog-footer>span svg{color:var(--green)}.help-dialog .dialog-footer .primary-button{min-width:91px;min-height:38px}@media (width<=640px){.help-dialog{border-radius:10px;max-height:90dvh}.help-dialog .dialog-head{padding:16px 16px 13px}.help-title-icon{width:34px;height:34px}.help-dialog .dialog-head h2{font-size:17px}.help-content{padding:14px 16px 17px}.help-steps{gap:2px;margin:10px 0 14px}.help-steps li{gap:9px;padding:9px 2px}.help-steps b{font-size:11px}.help-steps p{font-size:10px}.help-shortcuts{grid-template-columns:1fr;gap:6px}.help-shortcuts>div{grid-template-columns:minmax(100px,auto) 1fr;justify-content:start;align-items:center;gap:8px;min-height:46px;padding:7px 9px;display:grid}.help-shortcuts small{font-size:10px}.help-dialog .dialog-footer{min-height:58px;padding:10px 16px}.help-dialog .dialog-footer .primary-button{min-height:36px}.workspace-grid{min-height:0}.generator-footer-actions{justify-content:flex-start;width:100%}.generator-footer-actions .primary-button{align-self:flex-start}}.properties-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:25px;display:flex}.properties-empty>span{border:1px solid var(--line);width:38px;height:38px;color:var(--blue);background:var(--surface-2);border-radius:7px;place-items:center;display:grid}.properties-empty b{color:var(--ink);margin-top:12px;font-size:12px}.properties-empty p{max-width:195px;color:var(--muted);margin:6px 0 17px;font-size:10px;line-height:1.55}.empty-tip{color:var(--subtle);align-items:center;gap:4px;font-size:9px;display:flex}.empty-tip span{margin-left:5px}.properties-footer{border-top:1px solid var(--line);min-height:34px;color:var(--subtle);align-items:center;gap:6px;margin-top:auto;padding:0 13px;font-size:9px;display:flex}.properties-footer svg{color:var(--green)}.selected-service{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:9px;min-height:60px;padding:7px 13px;display:flex}.selected-service-icon{color:#fff;background:var(--blue);border-radius:5px;place-items:center;width:32px;height:32px;display:grid}.selected-service-icon.aws{background:#e88921}.selected-service-icon.azure{background:#1686d9}.selected-service-icon.gcp{background:#4285f4}.selected-service>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.selected-service b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.selected-service small{color:var(--muted);font-size:9px}.property-tabs{border-bottom:1px solid var(--line);display:flex}.property-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:10px 4px 8px;font-size:10px}.property-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.property-tabs small{background:var(--surface-3);min-width:16px;height:16px;font:9px var(--mono);border-radius:8px;place-items:center;margin-left:3px;display:inline-grid}.property-content,.recommendation-list{padding:12px 13px;overflow:auto}.form-field{color:var(--muted);flex-direction:column;gap:5px;margin-bottom:12px;font-size:10px;display:flex}.form-field input:not([type=checkbox]),.form-field select,.form-field textarea{border:1px solid var(--line-strong);width:100%;min-height:31px;color:var(--ink);background:var(--surface);border-radius:4px;padding:5px 8px;font-size:10px}.form-field textarea{resize:vertical}.boolean-field{flex-direction:row;justify-content:space-between;align-items:center;min-height:28px;padding:0 1px}.boolean-field input{accent-color:var(--blue)}.security-state{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;margin:7px 0 10px;padding:9px}.security-state>div{color:var(--ink);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.security-state>div svg{color:var(--green)}.security-state>span{color:var(--muted);align-items:center;gap:6px;margin-top:7px;font-size:9px;display:flex}.security-state>span i{background:var(--green);border-radius:50%;width:6px;height:6px}.security-state>span i.warning{background:var(--orange)}.danger-action{color:var(--red)}.schema-note{color:var(--subtle);font-size:10px;line-height:1.5}.recommendation-list>p{color:var(--muted);margin:0 0 11px;font-size:10px;line-height:1.5}.recommendation-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:8px;width:100%;padding:7px 3px;display:flex}.recommendation-list>button>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.recommendation-list>button b{color:var(--ink);font-size:10px}.recommendation-list>button small{color:var(--subtle);font-size:9px}.recommendation-list>button>svg{color:var(--blue)}.mobile-nav{display:none}.module-view{scrollbar-width:thin;flex:1;align-self:center;width:min(100%,1080px);min-height:0;padding:31px clamp(20px,4vw,56px);overflow:auto}.module-heading{margin:0 0 22px}.module-heading h1{margin-top:7px;font-size:23px}.module-heading p{max-width:670px;font-size:11px}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.template-card{border:1px solid var(--line);min-height:131px;color:var(--ink);background:var(--surface);text-align:left;border-radius:5px;grid-template-rows:1fr auto;grid-template-columns:30px 1fr;gap:8px 10px;padding:13px;transition:border .15s,transform .15s;display:grid}.template-card:hover{border-color:#a9c5e8;transform:translateY(-1px)}.template-icon{width:30px;height:30px;color:var(--blue);background:var(--blue-wash);border-radius:5px;place-items:center;display:grid}.template-card-meta{flex-direction:column;gap:5px;display:flex}.template-card-meta b{font-size:11px}.template-card-meta small{color:var(--muted);font-size:9px;line-height:1.45}.template-card-bottom{border-top:1px solid var(--line);color:var(--subtle);grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:8px;font-size:9px;display:flex}.template-card-bottom span:last-child{color:var(--blue);align-items:center;gap:4px;display:flex}.module-search{border:1px solid var(--line-strong);max-width:440px;height:39px;color:var(--muted);background:var(--surface);border-radius:4px;align-items:center;gap:9px;margin-bottom:17px;padding:0 10px;display:flex}.module-search input{font-size:11px}.compare-grid{grid-template-columns:minmax(130px,1.1fr) repeat(3,minmax(135px,1fr));gap:10px;display:grid}.compare-head{border:1px solid var(--line);color:var(--subtle);background:var(--surface-2);font:9px var(--mono);border-radius:4px 4px 0 0;padding:8px 11px}.compare-row{border:1px solid var(--line);background:var(--surface);border-top:0;grid-template-columns:minmax(130px,1.1fr) repeat(3,minmax(135px,1fr));gap:10px;padding:13px 11px 32px;display:grid;position:relative}.compare-capability,.compare-provider{align-items:center;gap:8px;display:flex}.compare-capability{flex-direction:column;align-items:flex-start;gap:4px}.compare-capability b,.compare-provider b{color:var(--ink);font-size:10px}.compare-capability small,.compare-provider small{color:var(--subtle);font-size:9px;display:block}.no-equivalent{color:var(--subtle);font-size:9px}.compare-note{color:var(--subtle);align-items:center;gap:4px;font-size:8px;display:flex;position:absolute;bottom:8px;right:11px}.cost-total{border:1px solid var(--line);background:var(--surface);border-radius:5px;justify-content:space-between;align-items:center;padding:21px;display:flex}.cost-total>div{flex-direction:column;gap:4px;display:flex}.cost-total>div>span{color:var(--subtle);font:9px var(--mono)}.cost-total b{color:var(--ink);font:700 32px Manrope,sans-serif}.cost-total small{color:var(--muted);font-size:10px}.estimate-tag{color:#98611f;background:var(--orange-wash);border-radius:3px;padding:5px 7px;font-size:9px}.cost-provider-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;display:grid}.cost-provider{border:1px solid var(--line);background:var(--surface);border-radius:5px;flex-direction:column;align-items:flex-start;gap:5px;padding:13px;display:flex}.cost-provider>b{color:var(--ink);font:600 19px Manrope,sans-serif}.cost-provider>small{color:var(--muted);font-size:9px}.cost-bar,.breakdown-track{background:var(--surface-3);border-radius:3px;height:4px;overflow:hidden}.cost-bar{width:100%;margin-top:3px}.cost-bar i,.breakdown-track i{background:var(--blue);height:100%;display:block}.cost-provider.azure .cost-bar i{background:#1686d9}.cost-provider.gcp .cost-bar i{background:#4285f4}.breakdown-panel{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:14px 17px}.breakdown-head{color:var(--ink);justify-content:space-between;margin-bottom:12px;font-size:11px;display:flex}.breakdown-head span{color:var(--subtle);font:8px var(--mono)}.breakdown-row{color:var(--muted);grid-template-columns:112px 1fr 55px;align-items:center;gap:10px;margin:9px 0;font-size:9px;display:grid}.breakdown-row b{text-align:right;color:var(--ink);font:10px var(--mono)}.breakdown-track{height:5px}.scenario-panel{border:1px solid var(--line);background:var(--surface);border-radius:5px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin-top:12px;padding:12px;display:grid}.scenario-panel>div{align-items:center;gap:8px;display:flex}.scenario-panel>div>svg{color:var(--orange)}.scenario-panel>div>span{flex-direction:column;gap:3px;display:flex}.scenario-panel b{color:var(--ink);font-size:10px}.scenario-panel small{color:var(--muted);font-size:8px}.scenario-panel label{color:var(--subtle);flex-direction:column;gap:3px;font-size:8px;display:flex}.scenario-panel select{border:1px solid var(--line-strong);color:var(--ink);background:var(--surface);border-radius:3px;padding:4px;font-size:9px}.scenario-foot{grid-column:1/-1}.finding-summary{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:15px;display:grid}.finding-count{border:1px solid var(--line);background:var(--surface);border-radius:4px;flex-direction:column;gap:3px;padding:11px;display:flex}.finding-count>span{color:var(--ink);font:600 20px Manrope,sans-serif}.finding-count small{color:var(--muted);text-transform:capitalize;font-size:9px}.finding-count.high>span{color:var(--red)}.finding-count.medium>span{color:var(--orange)}.finding-count.score>span{color:var(--green)}.findings-list{flex-direction:column;gap:8px;display:flex}.finding-card{border:1px solid var(--line);background:var(--surface);border-radius:5px;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px;display:grid}.finding-icon{width:27px;height:27px;color:var(--orange);background:var(--orange-wash);border-radius:4px;place-items:center;display:grid}.finding-card.high .finding-icon{color:var(--red);background:var(--red-wash)}.finding-content{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.finding-tags{color:var(--subtle);text-transform:uppercase;align-items:center;gap:6px;font-size:8px;display:flex}.severity-tag{color:var(--orange);background:var(--orange-wash);border-radius:3px;padding:2px 5px}.severity-tag.high{color:var(--red);background:var(--red-wash)}.severity-tag.low{color:var(--muted);background:var(--surface-3)}.finding-content>b{color:var(--ink);font-size:11px}.finding-content p{color:var(--muted);font-size:10px}.finding-content>small{color:var(--subtle);font-size:8px;line-height:1.5}.finding-card>.text-action{color:var(--blue);white-space:nowrap;align-self:center}.all-clear{color:var(--green);flex-direction:column;align-items:center;gap:8px;padding:36px;display:flex}.all-clear b{color:var(--ink);font-size:12px}.all-clear p{color:var(--muted);font-size:10px}.generator-types{gap:5px;margin-bottom:10px;display:flex}.generator-types button{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:4px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;display:flex}.generator-types button.active{color:var(--blue);background:var(--blue-wash);border-color:#b6cde9}.code-workspace{border:1px solid var(--line);background:var(--surface);border-radius:5px;grid-template-columns:190px 1fr;min-height:300px;display:grid;overflow:hidden}.file-list{border-right:1px solid var(--line);padding:11px 7px}.file-list>span{color:var(--subtle);font:8px var(--mono);padding:0 5px 8px;display:block}.file-list button{width:100%;color:var(--muted);text-align:left;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:3px;align-items:center;gap:7px;padding:7px 5px;display:flex;overflow:hidden}.file-list button.active{color:var(--blue);background:var(--blue-wash)}.code-preview{flex-direction:column;min-width:0;display:flex}.code-header{border-bottom:1px solid var(--line);min-height:34px;color:var(--muted);font:9px var(--mono);justify-content:space-between;align-items:center;padding:0 10px;display:flex}.code-header>span{align-items:center;gap:6px;display:flex}.code-preview pre{color:var(--ink);background:var(--surface-2);font:9px/1.7 var(--mono);white-space:pre-wrap;flex:1;margin:0;padding:12px;overflow:auto}.generator-footer{color:var(--green);justify-content:space-between;align-items:center;padding-top:10px;font-size:9px;display:flex}.generator-footer>span{align-items:center;gap:5px;display:flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101b286b;place-items:center;padding:20px;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);background:var(--surface);width:min(100%,530px);max-height:min(82vh,690px);box-shadow:var(--shadow);border-radius:7px;flex-direction:column;animation:.18s ease-out dialog-in;display:flex;overflow:hidden}.dialog-head{justify-content:space-between;align-items:flex-start;padding:17px 18px 10px;display:flex}.dialog-head h2{color:var(--ink);margin:5px 0 0;font:700 17px Manrope,sans-serif}.dialog>p{color:var(--muted);margin:0 18px 13px;font-size:10px;line-height:1.5}.search-dialog{align-self:start;width:min(100%,580px);margin-top:min(15vh,130px)}.dialog-search{border-bottom:1px solid var(--line);min-height:49px;color:var(--blue);align-items:center;gap:10px;padding:0 14px;display:flex}.dialog-search input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search-results{max-height:400px;padding:12px;overflow:auto}.search-results>.section-label{margin:0 4px 6px}.search-results>button{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;width:100%;padding:8px;display:flex}.search-results>button:hover{background:var(--surface-2)}.search-results>button>span:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.search-results b{color:var(--ink);font-size:10px}.search-results small{color:var(--muted);font-size:9px}.search-results>button>svg{color:var(--subtle)}.search-template-label{margin-top:13px!important}.search-footer{border-top:1px solid var(--line);color:var(--subtle);gap:17px;padding:9px 14px;font-size:9px;display:flex}.search-footer kbd{margin-right:3px}.ai-dialog{padding-bottom:17px}.ai-dialog form{padding:0 18px}.dialog-provider-select{flex-wrap:wrap;align-items:center;gap:5px;margin:3px 0 12px;display:flex}.dialog-provider-select>span{width:100%;color:var(--muted);margin-bottom:3px;font-size:10px}.dialog-provider-select button,.convert-targets button{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:4px;align-items:center;gap:6px;padding:5px 7px;font-size:9px;display:flex}.dialog-provider-select button.active,.convert-targets button.active{color:var(--blue);background:var(--blue-wash);border-color:#abc7e9}.ai-local-note{color:var(--green);align-items:center;gap:7px;margin-bottom:12px;font-size:9px;display:flex}.full-button{width:100%}.recommendation-dialog{padding-bottom:14px}.suggestion-chips{flex-wrap:wrap;gap:7px;padding:0 18px 14px;display:flex}.suggestion-chips button{border:1px solid var(--line);color:var(--ink);background:var(--surface-2);border-radius:4px;align-items:center;gap:7px;padding:7px 9px;font-size:10px;display:flex}.suggestion-chips button>svg:first-child{color:var(--blue)}.suggestion-chips button>svg:last-child{color:var(--subtle)}.dialog-footer{border-top:1px solid var(--line);color:var(--subtle);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:11px 16px;font-size:9px;display:flex}.convert-dialog{width:min(100%,690px)}.convert-targets{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;padding:0 17px 11px;font-size:9px;display:flex}.convert-targets>span{margin-right:4px}.mapping-list{border:1px solid var(--line);border-radius:4px;max-height:300px;margin:0 17px 11px;overflow:auto}.mapping-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(95px,1fr) 18px minmax(125px,1fr) minmax(100px,.8fr);align-items:center;gap:8px;min-height:51px;padding:7px 9px;font-size:9px;display:grid}.mapping-row:last-child{border:0}.mapping-row>svg{color:var(--subtle)}.mapping-row>div{flex-direction:column;gap:3px;display:flex}.mapping-row strong{color:var(--ink)}.mapping-row small{color:var(--subtle);font-size:8px}.mapping-row select{border:1px solid var(--line);max-width:100%;color:var(--ink);background:var(--surface);border-radius:3px;padding:5px;font-size:9px}.projects-dialog{width:min(100%,580px)}.project-modal-actions{gap:7px;padding:0 17px 10px;display:flex}.saved-project-list{min-height:80px;max-height:350px;padding:0 14px;overflow:auto}.saved-project{border-bottom:1px solid var(--line);align-items:center;gap:5px;padding:8px 3px;display:flex}.saved-project-main{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;display:flex}.saved-project-icon{width:31px;height:31px;color:var(--blue);background:var(--blue-wash);border-radius:5px;place-items:center;display:grid}.saved-project-main>span:last-child{flex-direction:column;gap:3px;display:flex}.saved-project b{color:var(--ink);font-size:10px}.saved-project small{color:var(--muted);font-size:9px}.empty-projects{color:var(--blue);flex-direction:column;align-items:center;gap:8px;padding:26px;display:flex}.empty-projects b{color:var(--ink);font-size:11px}.empty-projects small{color:var(--muted);font-size:9px}.app-toast{z-index:30;border:1px solid var(--line-strong);max-width:min(500px,100vw - 30px);color:var(--ink);background:var(--surface);box-shadow:var(--shadow);border-radius:5px;align-items:center;gap:8px;padding:10px 12px;font-size:10px;animation:.18s ease-out dialog-in;display:flex;position:fixed;bottom:20px;right:20px}.app-toast>svg{color:var(--green);flex:none}.app-toast button{color:var(--subtle);background:0 0;border:0;place-items:center;margin-left:4px;display:grid}.empty-results{color:var(--subtle);padding:16px 10px;font-size:10px}.mobile-only{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.more-view-list{grid-template-columns:1fr 1fr;gap:7px;padding:0 17px 17px;display:grid}.more-view-list button{border:1px solid var(--line);min-height:46px;color:var(--ink);background:var(--surface-2);text-align:left;border-radius:4px;align-items:center;gap:8px;padding:0 9px;display:flex}.more-view-list button:hover{background:var(--blue-wash);border-color:#abc7e9}.more-view-list button span{color:var(--blue)}.more-view-list button b{flex:1;font-size:10px}.more-view-list button>svg{color:var(--subtle)}.region-boundary{flex-wrap:wrap;gap:4px;display:flex}.landing-shell{background:#f4f7fa}.landing-page{scrollbar-width:thin;background:radial-gradient(at 82% 17%,#3977cf17,#0000 34%),#f6f8fb;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.landing-main{flex:1 0 auto}.landing-hero{grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);align-items:center;gap:28px;width:min(1280px,100%);min-height:560px;margin:0 auto;padding:52px 42px 45px;display:grid}.landing-copy{z-index:1;padding:0 0 8px 4px;animation:.7s both landing-arrive;position:relative}.landing-kicker{color:#55718e;font:500 11px var(--mono);letter-spacing:1.1px;align-items:center;gap:9px;display:flex}.landing-kicker>span{background:#45b28a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #45b28a21}.landing-copy h1{color:#162a40;letter-spacing:-2.7px;margin:21px 0 13px;font:800 clamp(38px,4.1vw,57px)/1.08 Manrope,sans-serif}.landing-copy h1 span{color:#2670d8}.landing-copy>p{color:#6e7f92;max-width:455px;margin:0;font-size:16px;line-height:1.7}.landing-actions{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.landing-primary,.landing-secondary{min-height:45px;padding:0 17px;font-size:13px}.landing-primary{box-shadow:0 6px 16px #216bd733}.landing-primary svg{transition:transform .18s}.landing-primary:hover svg{transform:translate(3px)}.landing-secondary{color:#41566d;background:#fff;border-color:#dce4ee}.landing-proof{color:#4f6277;flex-wrap:wrap;align-items:center;gap:15px;margin-top:28px;font-size:12px;font-weight:600;display:flex}.landing-proof>span{align-items:center;gap:6px;display:inline-flex}.landing-proof>span i{background:#e88921;border-radius:50%;width:6px;height:6px}.landing-proof>span:nth-child(2) i{background:#1686d9}.landing-proof>span:nth-child(3) i{background:#4285f4}.landing-proof small{color:#99a6b5;width:100%;margin-top:1px;font-size:11px;font-weight:400}.landing-art{background:radial-gradient(at 50% 48%,#2866ae42,#0000 43%),linear-gradient(145deg,#14263b,#0c1929 78%);border:1px solid #99b7dc2e;border-radius:13px;justify-self:end;width:100%;max-width:620px;height:425px;animation:.8s 80ms both landing-arrive;position:relative;overflow:hidden;box-shadow:0 24px 65px #182f4d33,inset 0 1px #ffffff0f}.landing-art:before{content:"";background-image:linear-gradient(#b4cde809 1px,#0000 1px),linear-gradient(90deg,#b4cde809 1px,#0000 1px);background-size:29px 29px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 90%);mask-image:linear-gradient(135deg,#000,#0000 90%)}.art-topline{z-index:2;color:#9bb2ca;font:8px var(--mono);letter-spacing:.8px;justify-content:space-between;align-items:center;display:flex;position:absolute;top:15px;left:16px;right:16px}.art-topline>span,.art-topline>b{align-items:center;gap:6px;display:flex}.art-topline>span i{background:#54d5a0;border-radius:50%;width:6px;height:6px;animation:2.2s ease-in-out infinite art-pulse;box-shadow:0 0 8px #54d5a0b3}.art-topline>b{color:#b8cce1;letter-spacing:.3px;background:#1c344f9e;border:1px solid #9dbee02b;border-radius:20px;padding:5px 7px;font-weight:400}.art-orbit{border:1px solid #8bb2de1a;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-one{width:255px;height:255px}.orbit-two{border-style:dashed;width:375px;height:375px;animation:55s linear infinite orbit-spin}.art-connections{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.connection-line{fill:none;stroke:#84abd947;stroke-width:1.2px}.art-pulse{fill:#8de1f5;filter:drop-shadow(0 0 5px #50bde8);animation:2s ease-in-out infinite art-pulse}.pulse-two{animation-delay:.45s}.pulse-three{animation-delay:.9s}.pulse-four{animation-delay:1.35s}.connection-signal{fill:none;stroke:#8de1f5;stroke-width:3px;stroke-linecap:round;stroke-dasharray:2 180;stroke-dashoffset:0;filter:drop-shadow(0 0 4px #50bde8);animation:8s linear infinite signal-route}.signal-two{animation-delay:1.25s}.signal-three{animation-delay:2.5s}.signal-four{animation-delay:3.75s}.art-center{isolation:isolate;color:#e9f2ff;background:linear-gradient(150deg,#23456af2,#13273ffa);border:1px solid #8ab7ea4d;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:190px;height:118px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 35px #3088dc2e,inset 0 1px #ffffff14}.art-center:after{z-index:-1;content:"";border:1px solid #5cb8ee52;border-radius:14px;animation:3.6s ease-out infinite core-breathe;position:absolute;inset:-7px}.art-center-mark{background:#347fe0;border-radius:7px;justify-content:center;align-items:end;gap:2px;width:27px;height:27px;padding:5px;display:flex}.art-center-mark i{background:#fff;border-radius:2px;width:4px}.art-center-mark i:first-child{opacity:.72;height:9px}.art-center-mark i:nth-child(2){height:15px}.art-center-mark i:nth-child(3){opacity:.86;height:12px}.art-center>b{font:700 12px Manrope,sans-serif}.art-center>small{color:#91abc8;font:8px var(--mono);letter-spacing:.2px;white-space:nowrap}.art-card{z-index:1;color:#e4edf8;background:#15273ced;border:1px solid #a1bede29;border-radius:7px;align-items:center;gap:9px;min-width:164px;min-height:55px;padding:8px 10px;animation:4s ease-in-out infinite card-float;display:flex;position:absolute;box-shadow:0 8px 24px #0000002e}.art-card>div{flex-direction:column;gap:4px;min-width:0;display:flex}.art-card b{font-size:10px}.art-card small{color:#94a8bd;white-space:nowrap;font-size:9px}.art-card{animation:4s ease-in-out infinite card-float,8s ease-in-out infinite node-connect}.art-provider,.art-security-icon{color:#fff;background:#e88921;border-radius:6px;flex:0 0 27px;place-items:center;width:27px;height:27px;font:700 11px Manrope,sans-serif;display:grid}.art-provider.azure{background:#1686d9}.art-provider.gcp{background:#4285f4}.art-security-icon{color:#7dd1b0;background:#2d8f6f2e}.art-status{background:#5ad29b;border-radius:50%;width:6px;height:6px;margin-left:auto;box-shadow:0 0 9px #5ad29ba6}.art-aws{animation-delay:-.5s,0s;top:14%;left:5%}.art-azure{animation-delay:-1.5s,1.25s;top:14%;right:4%}.art-gcp{animation-delay:-2.5s,2.5s;bottom:16%;left:5%}.art-security{animation-delay:-3.5s,3.75s;bottom:16%;right:4%}.art-check{color:#5ad29b;margin-left:auto}.art-caption{color:#8095ac;align-items:center;gap:6px;font-size:9px;display:flex;position:absolute;bottom:12px;right:15px}.art-caption-dot{background:#5ad29b;border-radius:50%;width:5px;height:5px}.landing-areas{width:min(1150px,100%);margin:0 auto;padding:10px 42px 32px}.landing-section-heading{justify-content:space-between;align-items:end;gap:15px;margin-bottom:17px;display:flex}.landing-section-heading .eyebrow{font-size:10px}.landing-section-heading h2{color:#20344a;letter-spacing:-.45px;margin:6px 0 0;font:700 22px Manrope,sans-serif}.landing-section-heading>span{color:#8291a3;align-items:center;gap:7px;padding-bottom:3px;font-size:12px;display:flex}.landing-area-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.landing-area-card{color:#25384e;text-align:left;background:#ffffffdb;border:1px solid #e3e9f0;border-radius:7px;flex-direction:column;align-items:flex-start;min-height:132px;padding:15px;transition:transform .18s,border-color .18s,box-shadow .18s;animation:.55s both landing-arrive;display:flex;position:relative}.landing-area-card:nth-child(2){animation-delay:40ms}.landing-area-card:nth-child(3){animation-delay:80ms}.landing-area-card:nth-child(4){animation-delay:.12s}.landing-area-card:nth-child(5){animation-delay:.16s}.landing-area-card:nth-child(6){animation-delay:.2s}.landing-area-card:hover{border-color:#b6cce7;transform:translateY(-3px);box-shadow:0 8px 22px #23487314}.landing-area-icon{color:#3173ce;background:#eef5ff;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.landing-area-card>b{margin-top:9px;font:700 14px Manrope,sans-serif}.landing-area-card>small{color:#718197;margin-top:5px;font-size:12px;line-height:1.5}.landing-area-arrow{color:#a5b1bf;position:absolute;top:16px;right:14px}.landing-footnote{color:#738399;justify-content:center;align-items:center;gap:6px;padding-top:18px;font-size:11px;display:flex}.landing-footnote svg{color:#4e9b7c}.landing-footer{background:#ffffffad;border-top:1px solid #e3e9f0;flex:none;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:13px max(28px,50% - 575px);display:flex}.landing-footer-brand{color:#26364a;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.landing-footer-brand .brand-symbol{width:25px;height:25px}.landing-footer-brand>span:last-child{flex-direction:column;gap:3px;display:flex}.landing-footer-brand b{font:800 13px Manrope,sans-serif}.landing-footer-brand small{color:#96a3b4;font:500 8px var(--mono);letter-spacing:.4px}.landing-footer-nav{flex-wrap:wrap;justify-content:center;gap:5px 20px;display:flex}.landing-footer-nav a{color:#718197;font-size:12px;text-decoration:none;transition:color .15s}.landing-footer-nav a:hover{color:#216bd7}.landing-footer-note{color:#738399;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.landing-footer-note svg{color:#4e9b7c}@keyframes landing-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes signal-route{0%,8%{stroke-dashoffset:0;opacity:0}15%{opacity:1}50%,to{stroke-dashoffset:-180px;opacity:0}}@keyframes core-breathe{0%,to{opacity:.15;transform:scale(.97)}50%{opacity:.65;transform:scale(1.035)}}@keyframes node-connect{0%,9%,to{filter:brightness();border-color:#a1bede29}16%,35%{filter:brightness(1.22);border-color:#60cae0ad}46%{filter:brightness();border-color:#a1bede29}}@keyframes art-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}@keyframes card-float{0%,to{translate:0}50%{translate:0 -4px}}@media (width<=980px){.landing-hero{grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);gap:14px;min-height:520px;padding-inline:28px}.landing-copy h1{font-size:clamp(37px,5vw,49px)}.landing-art{height:360px}.art-card{min-width:145px}.landing-areas{padding-inline:28px}.landing-area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=701px) and (width<=900px){.landing-shell .primary-nav{scrollbar-width:none;flex:1;justify-content:center;min-width:0;display:flex;overflow-x:auto}.landing-shell .primary-nav button{white-space:nowrap;padding-inline:6px;font-size:10px}.landing-shell .topbar{gap:9px;padding-inline:12px}.landing-shell .top-actions{gap:2px}.landing-shell .global-search{justify-content:center;width:34px;padding:0}.landing-shell .global-search span,.landing-shell .global-search kbd,.landing-shell .avatar{display:none}}@media (width<=700px){.landing-hero{min-height:unset;grid-template-columns:1fr;gap:28px;padding:40px 22px 30px}.landing-copy{padding:0}.landing-copy h1{font-size:clamp(39px,10vw,54px)}.landing-copy>p{font-size:14px}.landing-art{width:100%;max-width:none;height:min(360px,78vw);min-height:270px}.art-card{gap:6px;min-width:0;min-height:48px;padding:6px}.art-card>div{max-width:106px}.art-card small{font-size:9px}.art-provider,.art-security-icon{flex-basis:23px;width:23px;height:23px}.art-aws,.art-gcp{left:2%}.art-azure,.art-security{right:2%}.art-center{width:165px;height:105px}.landing-areas{padding:8px 18px 28px}.landing-section-heading{flex-direction:column;align-items:flex-start;gap:7px}.landing-section-heading h2{font-size:18px}.landing-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.landing-area-card{min-height:108px}.landing-shell .primary-nav{gap:0}.landing-shell .primary-nav button{padding-inline:7px;font-size:10px}.landing-shell .top-actions{gap:3px}.landing-shell .global-search{justify-content:center;width:34px;padding:0}.landing-shell .global-search span,.landing-shell .global-search kbd{display:none}.landing-footer{flex-wrap:wrap;justify-content:space-between;gap:14px;padding:17px 20px}.landing-footer-nav{order:3;justify-content:flex-start;gap:10px 17px;width:100%}.landing-footer-note{margin-left:auto}}@media (width<=420px){.landing-footer{gap:12px 8px;padding-inline:14px}.landing-footer-brand{gap:6px}.landing-footer-brand small{font-size:6px}.landing-footer-note{font-size:8px}.landing-footer-nav{gap:10px 14px}}@media (width<=520px){.landing-shell .top-divider{display:none}.landing-shell .primary-nav{scrollbar-width:none;gap:1px;overflow-x:auto}.landing-shell .primary-nav button{white-space:nowrap;padding-inline:6px;font-size:10px}.landing-shell .brand-copy small,.landing-shell .global-search,.landing-shell .avatar{display:none}.landing-proof{gap:11px}.landing-art{min-height:250px}.art-topline{display:none}.art-card small{white-space:normal}.art-aws,.art-azure{top:8%}.art-gcp,.art-security{bottom:12%}.art-caption{font-size:8px;bottom:7px;right:8px}}@media (prefers-reduced-motion:reduce){.landing-page *,.landing-page :before,.landing-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.project-actions>.new-architecture-action{width:30px;height:28px;padding:0;display:inline-flex}.new-architecture-action span{display:none}}@media (width<=1150px){.topbar{gap:13px;padding:0 14px}.primary-nav{gap:0}.primary-nav button{padding:7px 8px}.workspace-grid{grid-template-columns:220px minmax(370px,1fr) 255px}.project-strip{padding:0 14px}.project-updated{display:none}.canvas-view-select button{padding:5px}.bottom-insights{grid-template-columns:1fr 1.6fr 1fr}.insight-score-list{gap:9px}}@media (width<=900px){.topbar{flex-basis:56px;height:56px}.primary-nav,.top-divider{display:none}.workspace-grid{grid-template-columns:220px minmax(0,1fr)}.properties-panel,.project-actions>.text-action:first-child{display:none}.bottom-insights{grid-template-columns:1fr auto}.insight-score-list{display:none}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-nav{display:grid}}@media (width<=640px){body{min-width:320px}.topbar{padding:0 12px}.brand-copy small{display:none}.global-search{background:0 0;border-color:#0000;justify-content:center;width:34px;padding:0}.global-search span,.global-search kbd{display:none}.top-actions{gap:3px}.top-actions>.icon-button:nth-of-type(2){display:none}.project-strip{min-height:43px;padding:0 10px}.project-status,.project-actions>.text-action,.project-actions>.icon-button{display:none}.project-name{white-space:nowrap;text-overflow:ellipsis;max-width:145px;overflow:hidden}.project-actions{gap:4px}.primary-button.small{min-height:28px;font-size:10px}.workspace-grid{flex:1;min-height:calc(100vh - 143px);display:block;position:relative;overflow:hidden}.workspace-main{height:100%}.catalog-panel,.properties-panel{z-index:5;border-right:1px solid var(--line);width:min(88vw,330px);box-shadow:var(--shadow);display:none;position:absolute;inset:0 auto 0 0}.properties-panel{border-right:0;border-left:1px solid var(--line);inset:0 0 0 auto}.mobile-services .catalog-panel,.mobile-properties .properties-panel{display:flex}.canvas-panel{padding:0 9px}.canvas-heading{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:100px}.canvas-heading h1{max-width:300px;font-size:17px}.canvas-heading p{max-width:310px;font-size:9px;line-height:1.45}.canvas-view-select{align-self:auto;gap:1px;width:100%;padding:0 0 7px;overflow:auto}.canvas-view-select button{flex:none}.canvas-toolbar{padding:0 4px}.canvas-node-count{display:none}.flow-frame{min-height:260px}.region-boundary{top:8px;left:8px}.region-boundary span{font-size:8px}.react-flow__minimap{display:none}.bottom-insights{flex-basis:57px;min-height:57px;padding:5px 7px}.insight-health{gap:6px;padding:0}.health-ring{width:26px;height:26px}.insight-health b{font-size:9px}.insight-health small{text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:8px;overflow:hidden}.health-value{font-size:14px}.bottom-cost{gap:5px;padding:0}.bottom-cost>span{display:none}.bottom-cost b{font-size:11px}.mobile-nav{border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(5,1fr);min-height:56px;display:grid}.mobile-nav button{color:var(--muted);text-transform:capitalize;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:8px;display:flex}.mobile-nav button.active{color:var(--blue)}.module-view{padding:22px 12px}.module-heading h1{font-size:20px}.template-grid{grid-template-columns:1fr}.template-card{min-height:100px}.compare-grid,.compare-row{grid-template-columns:90px repeat(3,minmax(88px,1fr));gap:6px}.compare-grid{font-size:7px}.compare-row{padding:9px 6px 31px}.compare-capability b,.compare-provider b{font-size:8px}.compare-capability small,.compare-provider small,.no-equivalent{font-size:7px}.compare-provider{flex-direction:column;align-items:flex-start;gap:4px}.compare-provider .provider-mark{width:15px;height:15px;font-size:8px}.compare-note{max-width:calc(100% - 10px);font-size:7px}.cost-provider-grid{gap:5px}.cost-provider{padding:8px}.cost-provider>b{font-size:14px}.cost-provider>small{font-size:7px}.cost-total{padding:13px}.cost-total b{font-size:26px}.scenario-panel{grid-template-columns:1fr 1fr;gap:9px}.scenario-panel>div{grid-column:1/-1}.finding-summary{grid-template-columns:repeat(3,1fr)}.finding-card{grid-template-columns:23px minmax(0,1fr);gap:7px;padding:9px}.finding-icon{width:23px;height:23px}.finding-card>.text-action{grid-column:2;justify-self:start}.finding-content p{line-height:1.45}.generator-types{overflow-x:auto}.generator-types button{flex:none;font-size:9px}.code-workspace{grid-template-columns:120px 1fr}.file-list button{font-size:8px}.generator-footer{flex-direction:column;align-items:flex-start;gap:8px}.modal-backdrop{padding:10px}.dialog{max-height:88vh}.mapping-row{grid-template-columns:minmax(65px,.8fr) 14px minmax(84px,1fr);gap:5px;padding:7px 5px;font-size:8px}.mapping-row select{grid-column:3}.dialog-footer{flex-direction:column;align-items:flex-start}.dialog-footer .primary-button{align-self:flex-end}.search-dialog{margin-top:8vh}.global-search{display:grid}.catalog-panel,.properties-panel{padding-bottom:56px}}.insight-score-list .insight-score{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:flex}@media (width>=701px){.primary-nav button,.project-name{font-size:13px}.project-status,.project-updated{font-size:11px}.project-actions .text-action,.project-actions .primary-button{font-size:12px}.eyebrow,.section-label{font-size:10px}.panel-heading h2{font-size:15px}.provider-toggle,.category{font-size:11px}.catalog-count,.catalog-footer,.catalog-footer b{font-size:10px}.field-search input,.module-search input{font-size:12px}.catalog-results-head{font-size:9px}.service-copy b{font-size:11px}.service-copy small{font-size:10px}.canvas-heading p,.module-heading p{font-size:12px}.canvas-view-select button,.canvas-node-count,.canvas-caption{font-size:10px}.text-action,.primary-button,.secondary-button{font-size:12px}.insight-score-list .insight-score{font-size:10px}.landing-primary,.landing-secondary{font-size:13px}.art-topline{font-size:9px}.art-center>b{font-size:13px}.art-center>small{font-size:9px}.art-card b{font-size:11px}.art-card small,.art-caption{font-size:10px}}@media (width>=1100px) and (height<=850px){.landing-hero{min-height:0;padding-top:22px;padding-bottom:16px}.landing-art{height:min(360px,48vh)}.landing-copy h1{letter-spacing:-2px;margin-top:12px;margin-bottom:8px;font-size:clamp(40px,3vw,48px)}.landing-copy>p{font-size:15px;line-height:1.55}.landing-actions{margin-top:20px}.landing-proof{margin-top:18px}.landing-areas{padding-top:2px;padding-bottom:12px}.landing-section-heading{margin-bottom:10px}.landing-area-card{min-height:108px;padding:12px}.landing-footnote{padding-top:8px}.landing-footer{min-height:64px;padding-top:10px;padding-bottom:10px}}.provider-logo,.service-logo{object-fit:contain;width:100%;height:100%;display:block}.provider-mark{color:inherit;background:var(--surface);border:1px solid var(--line)}.provider-mark.aws,.provider-mark.azure,.provider-mark.gcp{background:var(--surface)}.service-icon.aws,.service-icon.azure,.service-icon.gcp{color:inherit;background:var(--surface);border:1px solid var(--line);padding:4px}.selected-service-icon.aws,.selected-service-icon.azure,.selected-service-icon.gcp{background:var(--surface);border:1px solid var(--line)}.art-provider,.art-provider.aws,.art-provider.azure,.art-provider.gcp{color:inherit;background:#fffffff0}.node-icon{flex:0 0 20px;width:20px;height:20px}.node-icon .service-logo{width:20px;height:20px}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
