*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.\!fixed{position:fixed!important}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-5{bottom:1.25rem}.right-0{right:0}.right-5{right:1.25rem}.m-10{margin:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-10{margin-bottom:2.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-\[155px\]{height:155px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-\[550px\]{height:550px}.h-\[800px\]{height:800px}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[300px\]{max-height:300px}.max-h-\[40px\]{max-height:40px}.min-h-\[50px\]{min-height:50px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-16{width:4rem}.w-3\/4{width:75%}.w-48{width:12rem}.w-64{width:16rem}.w-80{width:20rem}.w-\[1200px\]{width:1200px}.w-\[1800px\]{width:1800px}.w-\[200px\]{width:200px}.w-\[240px\]{width:240px}.w-\[400px\]{width:400px}.w-\[500px\]{width:500px}.w-\[720px\]{width:720px}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[350px\]{min-width:350px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-40{max-width:10rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[150px\]{max-width:150px}.max-w-md{max-width:28rem}.flex-1{flex:1 1}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-2{column-gap:.5rem}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.5rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(2px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(2px*var(--tw-divide-x-reverse))}.\!overflow-auto{overflow:auto!important}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-all{word-break:break-all}.\!rounded-sm{border-radius:.125rem!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-default{--tw-border-opacity:1;border-color:#94a3b8;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-secondary{--tw-border-opacity:1;border-color:#0d65a2;border-color:rgb(13 101 162/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.\!bg-gray-400{--tw-bg-opacity:1!important;background-color:#9ca3af!important;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))!important}.\!bg-primary{--tw-bg-opacity:1!important;background-color:#3eb489!important;background-color:rgb(62 180 137/var(--tw-bg-opacity,1))!important}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:#0d65a2;background-color:rgb(13 101 162/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-90{--tw-bg-opacity:0.9}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#3eb489\]{--tw-gradient-from:#3eb489 var(--tw-gradient-from-position);--tw-gradient-to:#3eb48900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#f1f3fb\]{--tw-gradient-from:#f1f3fb var(--tw-gradient-from-position);--tw-gradient-to:#f1f3fb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-secondary{--tw-gradient-from:#0d65a2 var(--tw-gradient-from-position);--tw-gradient-to:#0d65a200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-\[\#0d65a2\]{--tw-gradient-to:#0d65a2 var(--tw-gradient-to-position)}.to-\[\#b4ddfa\]{--tw-gradient-to:#b4ddfa var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.\!p-0{padding:0!important}.p-0{padding:0}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.pb-10{padding-bottom:2.5rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-2{padding-right:.5rem}.pr-5{padding-right:1.25rem}.pt-20{padding-top:5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-8xl{font-size:6rem;line-height:1}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-bold{font-weight:700!important}.\!font-semibold{font-weight:600!important}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.\!text-black\/50{color:#00000080!important}.\!text-white{--tw-text-opacity:1!important;color:#fff!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:#3eb489;color:rgb(62 180 137/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Roboto-Regular;font-weight:400;src:url(/static/media/Roboto-Regular.fc2b5060f7accec5cf74.ttf) format("truetype")}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.icon{height:50px;width:200px}.icon,.icon-lg{fill:currentColor;object-fit:cover}.icon-lg{height:125px;width:500px}.router{background:url(/static/media/Router.6d5f2fb8a80e3974c91a.svg) no-repeat}.react-flow__edge{z-index:2!important}.react-flow__node{z-index:-1!important}.react-flow__node.selected{z-index:1!important}.react-flow__node.react-flow__node-group{z-index:-6!important}.react-flow__node.react-flow__node-aws_subnet_zone{z-index:-9!important}.react-flow__node.react-flow__node-aws_subnet_container{z-index:-10!important}.react-flow__node.react-flow__node-aws_vpc_zone{z-index:-11!important}.react-flow__node.react-flow__node-aws_vpc_container,.react-flow__node.react-flow__node-service_group{z-index:-12!important}.edge-label{background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 1px 3px #0000001a;font-size:11px;max-width:180px;min-width:120px;padding:4px 6px;z-index:10}.edge-label.hovered{box-shadow:0 2px 5px #0003;transform:scale(1.05)!important}.edge-label-content{display:flex;flex-direction:column;gap:2px}.edge-label-title{align-items:center;display:flex;font-weight:600;gap:4px}.edge-label-ports,.edge-label-protocol,.edge-label-security{align-items:center;color:#64748b;display:flex;font-size:10px;gap:4px}.port-tag{background-color:#f1f5f9;border-radius:3px;color:#475569;font-size:9px;margin-right:2px;padding:1px 4px}.edge-detailed-data{display:flex;gap:4px}.data-badge{align-items:center;border-radius:10px;display:flex;font-size:9px;gap:2px;padding:1px 5px}.data-badge.internet{background-color:#e0f2fe;color:#0284c7}.data-badge.cidr{background-color:#e0f7fa;color:#0097a7;font-family:monospace}.data-badge.security-group{background-color:#f0fdf4;color:#15803d}.network-edge.animated path{stroke-dasharray:5;animation:dashdraw 2s linear infinite}.home-background{animation:gradient 15s ease infinite;background:linear-gradient(-45deg,#23a6d5,#80ceea,#3eb489,#19857b);background-size:400% 400%;margin:0 auto;padding:70px 30px}.x-axis-label{bottom:20px;font-size:12px;position:absolute}.fixed-height-iframe{height:1500px}.accordion-container{overflow:auto}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}section{align-items:center;display:flex;justify-content:center;min-height:100vh}section:first-child{color:#e0ffff}section:nth-child(2){background:#e0ffff;color:#42455a}section:nth-child(3){color:#e0ffff}section:nth-child(4){background:#e0ffff;color:#42455a}section .container{margin:100px}section h1{font-size:3rem;margin:20px}section h2{font-size:40px;text-align:center;text-transform:uppercase}section .text-container{display:flex}section .text-container .text-box{background:#00c2cb;margin:20px;padding:20px}section .text-container .text-box h3{font-size:30px;margin-bottom:10px;text-align:center;text-transform:uppercase}@media (max-width:900px){section h1{font-size:2rem;text-align:center}section .text-container{flex-direction:column}}.reveal{opacity:0;position:relative}.reveal.active{opacity:1}.active.fade-bottom{animation:fade-bottom 1s ease-in}.active.fade-left{animation:fade-left 1s ease-in}.active.fade-right{animation:fade-right 1s ease-in}@keyframes fade-bottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-left{0%{opacity:0;transform:translateX(-100px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-right{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}#add-asset-dialog-title{color:#333;cursor:move;font-size:24px;font-weight:700}#add-asset-dialog-description{color:#0d65a2;font-size:16px;font-weight:700}#add-asset-dialog-sub-description{color:#000;font-size:16px;font-weight:700}.split-wrapper{display:flex;flex-direction:column;height:100%}.gutter{background-color:#eee;background-position:50%;background-repeat:no-repeat;cursor:n-resize}.gutter.gutter-vertical{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=);cursor:n-resize;height:10px}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:#0d65a2;background-color:rgb(13 101 162/var(--tw-bg-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:\!opacity-80:hover{opacity:.8!important}.hover\:\!shadow-none:hover{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:right-\[13\.5\%\]{right:13.5%}}.\[\&\>canvas\]\:m-0>canvas{margin:0}.\[\&\>canvas\]\:p-0>canvas{padding:0}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:400;src:url(/static/media/outfit-latin-ext-400-normal.9461ad6c48bef062aec8.woff2) format("woff2"),url(/static/media/outfit-latin-ext-400-normal.09ba3cd591af4e078008.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:400;src:url(/static/media/outfit-latin-400-normal.350fba22377180d2d2a5.woff2) format("woff2"),url(/static/media/outfit-latin-400-normal.ced95e35e651c75c25a1.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.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{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge: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;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;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{margin:15px;position:absolute;z-index:5}.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:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.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-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.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-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.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{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 #0059dccc}.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{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.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.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{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:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.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.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.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.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}@keyframes dash-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-40}}.enhanced-edge-label-container{z-index:1000}.enhanced-edge-label{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000001a;border-radius:12px;box-shadow:0 4px 20px #0000001a,0 2px 8px #0000000d;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:500;min-width:160px;padding:8px 12px;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.enhanced-edge-label:hover{background:#fffffffa;box-shadow:0 8px 32px #00000026,0 4px 16px #0000001a;transform:translateY(-2px)}.enhanced-edge-label.expanded{background:#f8fafcfa;border-color:#3b82f64d}.edge-label-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.connection-icon{font-size:16px}.connection-type{color:#374151;flex:1 1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-status-indicator{border-radius:50%;box-shadow:0 0 0 2px #fffc;height:12px;position:relative;width:12px}.security-status-dot{background:#ffffffe6;border-radius:50%;height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.metadata-summary{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.metadata-chip{background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;color:#1e40af;padding:2px 6px}.metadata-chip.sg-chip{background:#22c55e1a;border-color:#22c55e33;color:#166534}.metadata-chip.nacl-chip{background:#fb923c1a;border-color:#fb923c33;color:#c2410c}.metadata-chip.route-chip{background:#a855f71a;border-color:#a855f733;color:#6b21a8}.enhanced-edge-details{animation:slideInUp .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;border:1px solid #0000001a;border-radius:16px;box-shadow:0 20px 64px #00000026,0 8px 32px #0000001a;left:50%;margin-top:8px;max-width:450px;min-width:320px;padding:0;position:absolute;top:100%;transform:translateX(-50%);z-index:1001}@keyframes slideInUp{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.edge-details-header{align-items:center;border-bottom:1px solid #00000014;display:flex;justify-content:space-between;padding:16px 20px 12px}.edge-details-header h4{color:#1f2937;font-size:16px;font-weight:600;margin:0}.close-button{border-radius:4px;padding:4px}.close-button:hover{background:#0000000d;color:#374151}.edge-details-content{max-height:400px;overflow-y:auto;padding:0 20px 20px}.security-overview{margin-bottom:16px}.security-status-large{align-items:center;display:flex;gap:8px;padding:8px 0}.status-indicator{border-radius:50%;box-shadow:0 0 0 3px #fffc;height:16px;width:16px}.status-text{color:#374151;font-size:14px;font-weight:600}.rule-section{margin-bottom:16px}.rule-type-header{align-items:center;color:#4b5563;display:flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:8px}.rule-list{background:#f8fafccc;border:1px solid #0000000d;border-radius:8px;padding:8px}.rule-item{background:#ffffffb3;border:1px solid #0000000d;border-radius:6px;color:#374151;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;line-height:1.4;margin-bottom:4px;padding:6px 8px}.rule-item:last-child{margin-bottom:0}.rule-item.more-rules{background:#00000005;color:#6b7280;font-style:italic;text-align:center}.nacl-allow{color:#166534}.nacl-deny{color:#dc2626;font-weight:600}.connection-labels{margin-top:16px}.label-tags{gap:6px;margin-top:8px}.label-tag{background:linear-gradient(135deg,#3b82f61a,#6366f11a);border:1px solid #3b82f633;border-radius:12px;color:#3730a3;font-size:11px;padding:4px 10px}@media (max-width:768px){.enhanced-edge-details{max-width:320px;min-width:280px}.edge-details-content{padding:0 16px 16px}.enhanced-edge-label{font-size:12px;min-width:140px}}@media (prefers-color-scheme:dark){.enhanced-edge-label{background:#1f2937f2;border-color:#ffffff1a;color:#f9fafb}.enhanced-edge-label:hover{background:#1f2937fa}.connection-type{color:#f3f4f6}.enhanced-edge-details{background:#1f2937fa;border-color:#ffffff1a}.edge-details-header h4{color:#f9fafb}.rule-list{background:#111827cc}.rule-item,.rule-list{border-color:#ffffff0d}.rule-item{background:#374151b3;color:#e5e7eb}}@keyframes dataflow-animation{0%{stroke-dashoffset:0}to{stroke-dashoffset:-40}}@keyframes flow-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.enhanced-dataflow-label-container{z-index:1000}.enhanced-dataflow-label{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border:1px solid #9333ea33;border-radius:14px;box-shadow:0 6px 24px #9333ea26,0 3px 12px #0000001a;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:500;min-width:180px;padding:10px 14px;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.enhanced-dataflow-label:hover{background:linear-gradient(135deg,#fff,#f8fafcfa);border-color:#9333ea4d;box-shadow:0 12px 40px #9333ea40,0 6px 20px #00000026;transform:translateY(-3px)}.enhanced-dataflow-label.expanded{background:linear-gradient(135deg,#f8fafc,#f3f4f6fa);border-color:#9333ea66}.dataflow-label-header{align-items:center;display:flex;gap:10px;margin-bottom:4px}.connection-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:18px;line-height:1}.connection-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.connection-label{color:#374151;font-size:14px;font-weight:600;line-height:1.2}.connection-description{color:#6b7280;font-size:11px;font-weight:400;line-height:1.3}.data-flow-indicator{border-radius:50%;box-shadow:0 0 0 2px #ffffffe6;height:14px;position:relative;width:14px}.flow-pulse{animation:flow-pulse 2s ease-in-out infinite;background:#ffffffe6;border-radius:50%;height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.dataflow-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.metadata-chip{background:#9333ea1a;border:1px solid #9333ea33;border-radius:8px;color:#7c3aed;font-size:11px;font-weight:500;padding:3px 8px;white-space:nowrap}.metadata-chip.iam-chip{background:#ef44441a;border-color:#ef444433;color:#dc2626}.metadata-chip.api-chip{background:#3b82f61a;border-color:#3b82f633;color:#2563eb}.enhanced-dataflow-details{animation:slideInUpDataflow .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border:1px solid #9333ea33;border-radius:18px;box-shadow:0 24px 72px #9333ea33,0 12px 40px #00000026;left:50%;margin-top:10px;max-width:480px;min-width:360px;padding:0;position:absolute;top:100%;transform:translateX(-50%);z-index:1001}@keyframes slideInUpDataflow{0%{opacity:0;transform:translateX(-50%) translateY(15px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.dataflow-details-header{align-items:center;border-bottom:1px solid #9333ea1a;display:flex;justify-content:space-between;padding:18px 22px 14px}.dataflow-details-header h4{color:#1f2937;font-size:17px;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:16px;padding:6px;transition:all .2s}.close-button:hover{background:#9333ea1a;color:#7c3aed}.dataflow-details-content{max-height:450px;overflow-y:auto;padding:0 22px 22px}.connection-overview{margin-bottom:18px}.connection-type-large{align-items:center;background:#9333ea0d;border:1px solid #9333ea1a;border-radius:12px;display:flex;gap:12px;padding:12px 16px}.type-icon{font-size:24px;line-height:1}.type-label{color:#374151;font-size:16px;font-weight:600;line-height:1.3}.type-description{color:#6b7280;font-size:13px;font-weight:400;line-height:1.4;margin-top:2px}.section-header{align-items:center;color:#4b5563;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:10px}.iam-section{margin-bottom:18px}.iam-permissions{background:#ef44440a;border:1px solid #ef44441a;border-radius:10px;padding:12px}.iam-permission{background:#fffc;border:1px solid #ef44441a;border-radius:8px;margin-bottom:6px;padding:8px 10px}.iam-permission:last-child{margin-bottom:0}.iam-service{color:#dc2626;font-size:13px;font-weight:600;margin-bottom:4px}.iam-actions{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.iam-action{background:#ef44441a;border-radius:4px;color:#b91c1c;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:11px;font-weight:500;padding:2px 6px}.iam-action.more{background:#6b72801a;color:#6b7280;font-style:italic}.iam-resource{background:#00000005;border-radius:4px;color:#374151;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;padding:4px 6px;word-break:break-all}.iam-permission.more-permissions{background:#00000005;border-style:dashed;color:#6b7280;font-style:italic;text-align:center}.api-section{margin-bottom:18px}.api-endpoints{background:#3b82f60a;border:1px solid #3b82f61a;border-radius:10px;padding:12px}.api-endpoint{align-items:center;background:#fffc;border:1px solid #3b82f61a;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 10px}.api-endpoint:last-child{margin-bottom:0}.endpoint-url{color:#2563eb;flex:1 1;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;margin-right:8px;word-break:break-all}.copy-button{background:#3b82f61a;border:1px solid #3b82f633;border-radius:4px;color:#2563eb;cursor:pointer;font-size:10px;padding:4px 6px;transition:all .2s}.copy-button:hover{background:#3b82f633;transform:translateY(-1px)}.api-endpoint.more-endpoints{background:#00000005;border-style:dashed;color:#6b7280;font-style:italic;justify-content:center;text-align:center}.dataflow-labels{margin-top:18px}.label-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.label-tag{background:linear-gradient(135deg,#9333ea1a,#a855f71a);border:1px solid #9333ea33;border-radius:14px;color:#7c3aed;font-size:12px;font-weight:500;padding:6px 12px;white-space:nowrap}@media (max-width:768px){.enhanced-dataflow-details{max-width:340px;min-width:300px}.dataflow-details-content{padding:0 18px 18px}.enhanced-dataflow-label{font-size:12px;min-width:160px}.connection-type-large{padding:10px 12px}}@media (prefers-color-scheme:dark){.enhanced-dataflow-label{background:linear-gradient(135deg,#1f2937fa,#111827f2);border-color:#9333ea4d;color:#f9fafb}.enhanced-dataflow-label:hover{background:linear-gradient(135deg,#1f2937,#111827fa)}.connection-label{color:#f3f4f6}.connection-description{color:#9ca3af}.enhanced-dataflow-details{background:linear-gradient(135deg,#1f2937fa,#111827f2);border-color:#9333ea4d}.dataflow-details-header h4{color:#f9fafb}.connection-type-large{background:#9333ea1a;border-color:#9333ea33}.type-label{color:#f3f4f6}.type-description{color:#9ca3af}.api-endpoints,.iam-permissions{background:#11182799}.api-endpoint,.iam-permission{background:#374151cc;border-color:#4b55634d}.iam-resource{background:#11182799;color:#e5e7eb}.endpoint-url{color:#60a5fa}}
/*# sourceMappingURL=main.4d771bd7.css.map*/