@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600&family=Poppins:wght@400;500;600;700&family=Quicksand:wght@500&display=swap";:root{font-family:Poppins,Nunito,Quicksand,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text-color);background-color:var(--bg);--bg: #030712;--bg-gradient: linear-gradient(180deg, #030712 0%, #080e1f 65%, #0f172a 100%);--surface: #111827;--surface-alt: #1a2336;--panel: #0b1220;--border: rgba(148, 163, 184, .35);--border-soft: rgba(148, 163, 184, .25);--accent: #1d4ed8;--accent-dark: #1b40c6;--accent-darker: #131e5a;--accent-soft: rgba(37, 99, 235, .2);--accent-cyan: #22d3ee;--accent-pink: #ec4899;--danger: #f87171;--success: #34d399;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .35);--glow: 0 0 35px rgba(37, 99, 235, .25);--scroll-thumb: rgba(59, 130, 246, .45);--scroll-track: rgba(15, 23, 42, .65);--scroll-thumb-hover: rgba(14, 165, 233, .6);--select-arrow: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23e2e8f0' d='M6 8a1 1 0 0 1-.78-.375l-5-6A1 1 0 0 1 1.78.375L6 5.385 10.22.375a1 1 0 1 1 1.56 1.25l-5 6A1 1 0 0 1 6 8Z'/%3E%3C/svg%3E");--text-color: #f8fafc;--muted-text: rgba(226, 232, 240, .75);--topbar-h: auto;--bottombar-h: 220px;--inspector-w: 360px;--bottombar-collapsed-h: 60px}[data-theme=dark]{--bg: #030712;--bg-gradient: linear-gradient(180deg, #030712 0%, #080e1f 65%, #0f172a 100%);--surface: #111827;--surface-alt: #1a2336;--panel: #0b1220;--border: rgba(148, 163, 184, .35);--border-soft: rgba(148, 163, 184, .25);--accent: #1d4ed8;--accent-dark: #1b40c6;--accent-darker: #131e5a;--accent-soft: rgba(37, 99, 235, .2);--accent-cyan: #22d3ee;--accent-pink: #ec4899;--danger: #f87171;--success: #34d399;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .35);--glow: 0 0 35px rgba(37, 99, 235, .25);--scroll-thumb: rgba(59, 130, 246, .45);--scroll-track: rgba(15, 23, 42, .65);--scroll-thumb-hover: rgba(14, 165, 233, .6);--select-arrow: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23e2e8f0' d='M6 8a1 1 0 0 1-.78-.375l-5-6A1 1 0 0 1 1.78.375L6 5.385 10.22.375a1 1 0 1 1 1.56 1.25l-5 6A1 1 0 0 1 6 8Z'/%3E%3C/svg%3E");--text-color: #f8fafc;--muted-text: rgba(226, 232, 240, .75)}[data-theme=light]{--bg: #f1f5fb;--bg-gradient: linear-gradient(180deg, #f1f5fb 0%, #e7ecf6 55%, #dde3f0 100%);--surface: #edf1f9;--surface-alt: #e6ebf5;--panel: #e2e8f3;--border: rgba(120, 140, 170, .4);--border-soft: rgba(120, 140, 170, .22);--accent: #1d4ed8;--accent-dark: #1b40c6;--accent-darker: #132b7c;--accent-soft: rgba(37, 99, 235, .15);--accent-cyan: #0ea5e9;--accent-pink: #ec4899;--danger: #d64545;--success: #1a9d60;--shadow-soft: 0 18px 35px rgba(15, 23, 42, .12);--glow: 0 0 25px rgba(37, 99, 235, .12);--scroll-thumb: rgba(37, 99, 235, .35);--scroll-track: rgba(210, 219, 235, .6);--scroll-thumb-hover: rgba(37, 99, 235, .55);--select-arrow: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23333b48' d='M6 8a1 1 0 0 1-.78-.375l-5-6A1 1 0 0 1 1.78.375L6 5.385 10.22.375a1 1 0 1 1 1.56 1.25l-5 6A1 1 0 0 1 6 8Z'/%3E%3C/svg%3E");--text-color: #0f1a2d;--muted-text: rgba(50, 60, 80, .65)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 6px #00000059}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}*::-webkit-scrollbar-corner{background:transparent}body{margin:0;min-height:100vh;background-color:var(--bg);background-image:var(--bg-gradient);color:var(--text-color);overflow-x:hidden;overflow-y:auto}::selection{background:#3b82f633;color:var(--text-color)}#root,#app{min-height:100vh}a{color:inherit}button,textarea,input,select{font:inherit}.app-shell{min-height:90VH;display:flex;flex-direction:column;background:var(--bg-gradient)}.editor-layout{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.editor-header{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;border-radius:20px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.editor-header__top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.editor-header__title{display:flex;flex-direction:column;gap:.25rem}.editor-badge{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-text);margin:0}.editor-header__toggles{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.editor-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between}.editor-controls__inputs{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.editor-controls__inputs label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--muted-text)}.editor-controls__inputs select{min-width:180px}.editor-controls__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.editor-main{display:flex;gap:1rem;flex:1 1 auto;min-height:clamp(520px,70vh,1200px);align-items:stretch;height:75VH}.palette-panel,.inspector-panel{border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-soft);padding:1rem;width:280px;height:min-content;max-height:100%}.palette-panel{width:220px;flex:0 0 220px;display:flex;flex-direction:column;overflow:auto;align-self:flex-start;gap:.5rem}.palette-panel__list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;flex:1;padding-right:.25rem}.editor-canvas{position:relative;flex:1;border:1px solid var(--border);border-radius:20px;background:var(--panel);min-height:clamp(520px,72vh,1200px);height:100%;box-shadow:var(--shadow-soft);overflow:hidden}.editor-canvas .vue-flow{height:100%;position:absolute}.canvas--fullscreen{border-radius:0;min-height:100vh}.ghost.small{padding:.2rem .6rem;font-size:.82rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 2.5rem;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-soft)}.app-brand{display:flex;flex-direction:column;gap:.15rem}.brand-mark{font-weight:700;letter-spacing:.05em}.brand-subtitle{font-size:.85rem;color:var(--muted-text)}.app-nav{display:flex;gap:.75rem}.app-nav__link{text-decoration:none;padding:.35rem 1rem;border-radius:999px;border:1px solid transparent;color:var(--muted-text);transition:background .2s ease,color .2s ease,border .2s ease}.app-nav__link.is-active{border-color:var(--border);background:var(--surface-alt);color:var(--text-color);box-shadow:var(--shadow-soft)}.app-actions{display:flex;gap:.5rem}.app-main{flex:1;padding:1rem 2.5rem 2.5rem;display:flex;flex-direction:column;min-height:0}.app-main__content{flex:1;display:flex;flex-direction:column;min-height:0}.router-link-button{text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:.4rem;border-radius:999px;border:1px solid var(--border);padding:.45rem 1rem;color:inherit;font-weight:600}.router-link-button.ghost{background:var(--surface-alt);border-color:var(--border-soft)}.app{width:100%;height:100%;margin:0}.hero,.section{display:none}.stack{display:flex;flex-direction:column;gap:1rem}.settings-grid{display:none}.section__head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.section__body{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.section__desc,.muted{color:var(--muted-text);margin:.25rem 0 0}.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.3rem .9rem;font-size:.85rem;background:linear-gradient(125deg,#d18bff2e,#48ffeb1f);border:1px solid rgba(255,255,255,.12);color:var(--text-color);box-shadow:0 8px 20px #04020b73}.badge--muted{background:#ffffff0d;color:var(--text-color)}.badge--danger{background:#ff7baf33;color:var(--danger)}.badge--outline{background:transparent;border:1px solid rgba(54,240,226,.5);color:var(--accent-cyan)}.badge--success{background:#83f6c82e;color:var(--success)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#f8f4ffcc}input,select,textarea{padding:.7rem .9rem;border-radius:16px;border:1px solid var(--border-soft);background:linear-gradient(135deg,var(--surface-alt),var(--surface-alt));color:var(--text-color);box-shadow:inset 0 1px #ffffff14,0 18px 35px #05000f73;transition:border .2s ease,box-shadow .2s ease,transform .2s ease}input::placeholder,textarea::placeholder{color:#f7efff73}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:#ff87d4d9;box-shadow:0 0 25px #ff87d440,0 0 20px #36f0e233;transform:translateY(-1px)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.75rem;background-image:linear-gradient(135deg,var(--surface-alt),#111827),var(--surface-alt);background-repeat:no-repeat,no-repeat;background-position:left top,calc(100% - 1rem) 50%;background-size:cover,12px;cursor:pointer}select::-ms-expand{display:none}select option{background:#05020cf2;background-color:#05020cf2!important;color:#fef9ff;font-weight:500}select option:checked{background:#05020cf2;background-color:#05020cf2!important;color:#fef9ff}select option:hover,select option:focus,select option:active{background:#3a206ca6;background-color:#3a206ca6!important;color:#fff}select optgroup{background:#05020cf2;color:#ffffffb3;font-weight:600}textarea{width:100%;resize:vertical;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.9rem}textarea.has-error{border-color:var(--danger)}.fieldset{border-radius:18px}.checkbox{flex-direction:row;align-items:center;font-weight:500;color:#f7efffe6}.checkbox input{width:auto;margin-right:.5rem}.actions{grid-column:1 / -1;display:flex;justify-content:flex-end}button{border:1px solid transparent;border-radius:8px;background:var(--accent);color:#fff;padding:.55rem 1.1rem;cursor:pointer;font-weight:600;letter-spacing:.01em;box-shadow:none;transition:background .2s ease,color .2s ease,border .2s ease}button:hover:not(:disabled){background:var(--accent-dark)}button:active:not(:disabled){background:var(--accent-darker)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible{outline:2px solid rgba(37,99,235,.6);outline-offset:2px}button.ghost{background:transparent;color:var(--text-color);padding:.45rem 1rem;border-radius:8px;border:1px solid var(--border)}button.ghost:hover:not(:disabled){background:var(--surface-alt);border-color:var(--accent);color:var(--text-color)}button.ghost.danger{border-color:var(--danger);color:var(--danger)}.vue-flow__controls-button{background:var(--surface-alt)!important;color:var(--text-color)!important;border-radius:.75rem!important;padding:.5rem!important;border:1px solid var(--border)!important;box-shadow:none!important;transition:background .2s ease,border .2s ease}.vue-flow__controls-button:hover{background:var(--accent-soft)!important;border-color:var(--accent)!important}.vue-flow__minimap{background:var(--surface-alt)!important;border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:none!important;transform:scale(.5);transform-origin:100% 100%}.json-editor textarea{min-height:320px}.json-panel{display:flex;flex-direction:column;gap:.65rem}.json-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.json-viewer{min-height:260px;width:100%;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#0a0e20e6;color:#f4f0ff;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.9rem;padding:1rem;resize:vertical;box-shadow:inset 0 1px #ffffff0a,0 12px 24px #04000c73}.error-text{color:var(--danger);margin:0}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.tile{border:1px solid var(--border);border-radius:12px;padding:1rem;background:var(--surface-alt)}.tile__label{font-size:.9rem;color:#475569}.tile__value{display:block;font-size:1.6rem;font-weight:700}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.topology__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.topology__lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:var(--surface-alt)}.subnet-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.badge+.muted{margin-left:.5rem}.timeline{display:flex;flex-direction:column;gap:1rem}.timeline__outcome{display:flex;justify-content:space-between;align-items:center}.timeline ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--border)}.timeline li{padding-left:1rem;margin-left:.5rem;position:relative;margin-bottom:1rem}.timeline li:before{content:"";position:absolute;left:-.7rem;top:.4rem;width:10px;height:10px;border-radius:50%;background:var(--accent)}.timeline__hop{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.timeline li .hop-meta{margin:.35rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.35rem;font-size:.78rem;color:#94a3b8}.timeline li .hop-meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;margin:0}.timeline li .hop-meta dd{margin:0;color:#e2e8f0}.notes{list-style:disc;padding-left:1.25rem;margin:0;color:#475569}.console-panel .notes{color:#cbd5f5}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.summary ul{margin:0;padding-left:1rem}.simulate-results{display:flex;flex-direction:column;gap:1rem}.sim-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.sim-summary>div{border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:.85rem;background:#ffffff05}.sim-summary strong{font-size:1rem;display:block}.sim-outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.sim-outcomes>div{border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:.65rem .85rem;background:#0a142866}.trace-controls{border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:.75rem 1rem;background:#050a14a6;display:flex;flex-direction:column;gap:.5rem}.trace-controls__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.trace-controls__steps{display:flex;gap:.35rem}button.ghost.icon{padding:.3rem .6rem;line-height:1}.trace-status{font-size:.85rem;color:#94a3b8}.trace-hop{border-left:2px solid transparent;padding-left:.75rem;margin-left:.35rem;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.trace-hop--active{border-color:var(--accent-cyan);background:#36f0e214}.trace-hop--complete{opacity:.65}.muted-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:.25rem}.timeline__section{border-top:1px solid rgba(255,255,255,.08);padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.timeline__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.footer{display:none}.inspector{background:transparent;border:none;padding:0}.inspector-form{display:flex;flex-direction:column;gap:.75rem}.field-group{display:flex;flex-direction:column;gap:.45rem}.field-group__label{font-weight:600;font-size:.95rem}.subnet-checkboxes{display:flex;flex-direction:column;gap:.35rem;border:1px dashed var(--border);border-radius:10px;padding:.5rem .75rem;background:#ffffff05}.az-placement{display:flex;flex-direction:column;gap:.5rem;border:1px dashed var(--border);border-radius:10px;padding:.6rem .75rem;background:#0f172a4d}.az-placement__row{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);gap:.65rem;align-items:center}.az-placement__row select{width:100%}.checkbox--inline{display:flex;align-items:center;gap:.45rem;margin:0}.subnet-selection{list-style:disc;margin:0;padding-left:1.2rem}.routes{border-top:1px solid var(--border);padding-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.routes__head{display:flex;justify-content:space-between;align-items:center}.route{border:1px dashed var(--border);border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.resource-node{border-radius:20px;padding:1rem 1.2rem;background:var(--surface-alt);border:1px solid var(--border);min-width:180px;box-shadow:inset 0 1px #ffffff0a,var(--shadow-soft);font-size:.95rem;color:var(--text-color);height:100%;display:flex;flex-direction:column;gap:.45rem;text-shadow:none}.resource-node.selected{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f659,var(--shadow-soft)}.resource-node__title{font-weight:700;letter-spacing:.01em;color:var(--text-color)}.resource-node__meta{margin:0;color:var(--muted-text);font-size:.82rem;text-shadow:none}.resource-node__meta--stacked{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.78rem}.tgw-attachment__az-pills{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem}.tgw-attachment__az-pills .muted{margin-left:auto}.az-pill{border:1px solid transparent;border-radius:999px;padding:.15rem .6rem;font-size:.74rem;font-weight:600;background:var(--surface);color:var(--text-color);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border .15s ease}.az-pill:hover{transform:translateY(-1px);box-shadow:0 6px 12px #0f172a40}.az-pill--variant-0{background:#3b82f62e;border-color:#3b82f659;color:#93c5fd}.az-pill--variant-1{background:#10b9812e;border-color:#10b98159;color:#6ee7b7}.az-pill--variant-2{background:#f9731633;border-color:#f9731661;color:#fdba74}.az-pill--variant-3{background:#ec48992e;border-color:#ec489952;color:#f9a8d4}.resource-node--account .resource-node__title{font-size:1.05rem}.resource-node--account{border-color:#3b82f680;background:linear-gradient(180deg,#3b82f62e,#3b82f60d),var(--surface-alt)}.resource-node--vpc .resource-node__title{font-size:1.05rem}.resource-node--vpc{border-color:#10b98173;background:linear-gradient(180deg,#10b98126,#10b98108),var(--surface-alt)}.resource-node--subnet{border-color:#0ea5e973;background:linear-gradient(180deg,#0ea5e926,#0ea5e908),var(--surface-alt)}.resource-node--routeTable{border-color:#fbbf2480;background:linear-gradient(180deg,#fbbf2429,#fbbf240a),var(--surface-alt)}.resource-node--igw{border-color:#f472b680;background:linear-gradient(180deg,#f472b629,#f472b60a),var(--surface-alt)}.resource-node--endpoint{border-color:#2dd4bf73;background:linear-gradient(180deg,#2dd4bf29,#2dd4bf0a),var(--surface-alt)}.resource-node--natgw{border-color:#f9731680;background:linear-gradient(180deg,#f9731629,#f973160a),var(--surface-alt)}.resource-node--tgw{border-color:#4f46e580;background:linear-gradient(180deg,#4f46e529,#4f46e50a),var(--surface-alt)}.resource-node--tgwRouteTable{border-color:#8b5cf680;background:linear-gradient(180deg,#8b5cf629,#8b5cf60a),var(--surface-alt)}.resource-node--tgwAttachment{border-color:#fbbf2473;background:linear-gradient(180deg,#fbbf2429,#fbbf240a),var(--surface-alt)}.resource-node--vpnAttachment{border-color:#22c55e80;background:linear-gradient(180deg,#22c55e29,#22c55e0a),var(--surface-alt)}.resource-node--customerNet{border-color:#3b82f680;background:linear-gradient(180deg,#3b82f629,#3b82f60a),var(--surface-alt)}.vue-flow__node.node-parent{padding:0;border-radius:26px;border:1px dashed var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.vue-flow__node.node-parent .resource-node{border:1px dashed var(--border-soft);border-radius:18px;background:var(--surface-alt)}.vue-flow__node.subnet-highlight .resource-node{border-color:#facc15d9;box-shadow:0 0 0 3px #facc1566,0 10px 25px #facc1526,var(--shadow-soft)}.vue-flow__edge.edge--tgw-az-link .vue-flow__edge-path{stroke:#fabd0273;stroke-width:1.5px;stroke-dasharray:6,6;pointer-events:none}.vue-flow__node.trace-node .resource-node{box-shadow:0 0 0 10px #d18bff99,0 18px 35px #05000fe6;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.vue-flow__node.trace-node.trace-node--active .resource-node{transform:translateY(-3px)}.vue-flow__node.trace-node--forward .resource-node{border-color:var(--accent-cyan);box-shadow:inset 0 0 2000px #36f0e238,0 0 0 10px #36f0e2ac,0 20px 35px #05232de6}.vue-flow__node.trace-node--return .resource-node{border-color:var(--accent-pink);box-shadow:inset 0 0 2000px #ff87d438,0 0 0 10px #ff87d4ac,0 20px 35px #2d0519e6}.app--fullscreen{height:100vh;width:100vw;display:flex}.app--fullscreen>*{flex:1}.tabs{display:inline-flex;gap:.35rem;background:var(--surface-alt);padding:.35rem .45rem;border-radius:999px;border:1px solid var(--border-soft)}.tab{padding:.5rem 1rem;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted-text);cursor:pointer;transition:background .2s ease,color .2s ease,border .2s ease}.tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text-color);box-shadow:0 4px 15px #3b82f633}.panel-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:.95rem 1.2rem;box-shadow:var(--shadow-soft)}.run-view__main,.run-view__sidebar>.panel-card,.guides-sidebar,.guides-content,.guides-empty{contain:layout paint}.timeline__section,.guide-markdown>*{content-visibility:auto;contain-intrinsic-size:auto 160px}.panel-card__head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.85rem}.console-panel__placeholder{display:flex;align-items:center;justify-content:space-between;gap:1rem}.run-view,.run-viewer{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:1.5rem;align-items:flex-start}.run-view__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.run-view__sidebar,.run-viewer__controls{display:flex;flex-direction:column;gap:1rem}.run-viewer__workspace{height:60vh;border-radius:22px;border:1px solid var(--border);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-soft)}.trace-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.trace-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.muted-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-text)}.notes{list-style:disc;margin:0;padding-left:1.2rem;color:var(--muted-text)}.inspector-note{margin:0 0 .35rem;font-size:.85rem;opacity:.8}.palette{background:transparent;border:none;padding:0}.palette__items{display:flex;flex-direction:column;gap:.5rem}.palette button{text-align:left;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:.45rem .65rem;background:#0d1321d9;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;color:#f8fafc;box-shadow:inset 0 1px #ffffff0d,0 10px 25px #00000059}.palette button strong{font-size:1rem}.workspace{display:grid;grid-template-columns:var(--side-panel-width, 260px) 10px minmax(0,1fr);column-gap:1rem;align-items:stretch;min-height:0;padding:0;color:var(--text-color)}.side-panel{padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;min-height:0;height:100%;box-shadow:var(--shadow-soft)}.side-panel__description{color:var(--muted-text);font-size:.95rem;line-height:1.5}.side-panel__nodes{display:flex;flex-direction:column;gap:.95rem}.side-panel__nodes .vue-flow__node-input,.side-panel__nodes .vue-flow__node-default,.side-panel__nodes .vue-flow__node-output{border:none;box-shadow:none;background:transparent;padding:0}.node-chip{position:relative;border-radius:20px;padding:.75rem 1rem;border:1px solid var(--border-soft);background:var(--surface-alt);cursor:grab;box-shadow:inset 0 1px #ffffff0a,var(--shadow-soft);display:flex;flex-direction:column;gap:.35rem;min-height:110px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden}.side-panel__nodes .node-chip:before,.node-chip:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background:transparent;pointer-events:none}.node-chip:active{cursor:grabbing}.node-chip:hover{transform:translateY(-6px);box-shadow:inset 0 1px #ffffff14,0 30px 40px #0f172a59;border-color:var(--accent)}.node-chip strong{font-size:1rem;letter-spacing:.02em;color:var(--text-color);text-shadow:none}.node-chip span{font-size:.85rem;color:var(--muted-text);text-shadow:none;line-height:1.5}.node-chip>*{position:relative;z-index:1}.panel-resizer{display:flex;align-items:center;justify-content:center;background:var(--surface-alt);border:1px solid var(--border-soft);border-radius:999px;transition:background .2s ease,box-shadow .2s ease,border-color .2s ease;-webkit-user-select:none;user-select:none}.panel-resizer--vertical{z-index:1000;width:6px;min-height:100%;cursor:col-resize;margin:0 .9rem;background:var(--surface-alt);box-shadow:inset 0 0 6px #0000000d;align-self:stretch}.panel-resizer--vertical.panel-resizer--collapsed{width:0;margin:0;opacity:0;pointer-events:none}.panel-resizer--inset{margin:0 1rem}.panel-resizer--horizontal{width:100%;height:12px;cursor:row-resize;margin:.75rem 0;background:var(--surface-alt);border-radius:999px;box-shadow:inset 0 0 6px #0000000d;flex:0 0 auto}.panel-resizer.is-active{border-color:var(--accent);box-shadow:0 0 12px #3b82f640;background:var(--accent-soft)}.main-panel{display:flex;flex-direction:column;padding:1.25rem;gap:1rem;border-radius:20px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.main-panel__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:16px;border:1px solid var(--border-soft);background:var(--surface-alt)}.main-panel__settings{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.main-panel__settings label{font-size:.8rem}.main-panel__settings input{width:190px}.main-panel__toggles{display:flex;gap:.5rem;flex-wrap:wrap}.main-panel__actions{display:flex;gap:.6rem;flex-wrap:wrap}.canvas-row{display:grid;grid-template-columns:var(--canvas-grid, minmax(0, 1fr) 12px 320px);gap:0;flex:1;min-height:0;align-items:stretch}.canvas-row--compact{grid-template-columns:minmax(0,1fr)}.canvas-box{position:relative;border:1px solid var(--border);border-radius:20px;background:var(--panel);min-height:520px;height:65vh;overflow:hidden;box-shadow:var(--shadow-soft)}.canvas-box .vue-flow{height:100%}.inspector-panel{border:1px solid var(--border);border-radius:18px;padding:1.25rem;background:var(--surface);box-shadow:var(--shadow-soft);overflow-y:auto}.inspector-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;border-bottom:1px solid var(--border-soft);padding-bottom:.6rem}.inspector-panel__head strong{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-text)}.console-panel{border:1px solid var(--border);border-radius:20px;padding:1.25rem;background:var(--surface);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.85rem;min-height:0}.console-panel__tabs{display:inline-flex;gap:.4rem;background:var(--surface-alt);padding:.3rem;border-radius:999px;border:1px solid var(--border-soft)}.console-panel__toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.75rem 1rem;border-radius:16px;background:var(--surface-alt);border:1px solid var(--border-soft)}.console-panel__toolbar label{min-width:200px}.console-panel__toolbar .ghost{align-self:center}.template-summary{margin:0;font-size:.85rem;color:#f7efffa6;flex-basis:100%}.console-panel__body{max-height:600px;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.console-panel .stack{display:flex;flex-direction:column;gap:.85rem}.console-panel .panel-card,.console-panel form,.console-panel .simulate-results,.console-panel .summary{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:.95rem 1.2rem;box-shadow:inset 0 1px #ffffff0d,0 12px 25px #04000c73}.console-panel .stack .error-text{background:#ff7baf33;border:1px solid rgba(255,123,175,.35);padding:.45rem .75rem;border-radius:12px}.console-panel .stack>.muted{background:#ffffff08;border:1px dashed rgba(255,255,255,.15);padding:.55rem .85rem;border-radius:14px}.console-panel .timeline ol{border-color:#ffffff1f}.console-panel .timeline li:before{background:linear-gradient(180deg,var(--accent),var(--accent-cyan))}.vue-flow__resize-line{border-color:#94a3f499!important}.vue-flow__resize-handle{width:12px!important;height:12px!important;background:#c084fc!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:50%!important}@media (max-width: 1280px){.workspace{grid-template-columns:minmax(0,1fr);height:auto}.run-view,.run-viewer{grid-template-columns:minmax(0,1fr)}.side-panel{max-height:none;overflow-y:visible}.main-panel{height:auto}.panel-resizer--vertical{display:none}}@media (max-width: 900px){.workspace{padding:1rem;gap:1rem}.side-panel,.main-panel__top{flex-direction:column}.main-panel__settings input{width:100%}.canvas-row{grid-template-columns:minmax(0,1fr)}}.side-panel.side-panel--collapsed{opacity:0;pointer-events:none;padding:0;border-width:0;margin:0}.form-help{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.9rem;color:var(--muted-text)}.help-link{color:var(--accent-cyan);text-decoration:none;font-weight:600}.help-link:hover{text-decoration:underline}.inspector-help{display:flex;justify-content:flex-end;margin-bottom:.75rem}.guides-page{padding:1.5rem}.guides-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1.5rem}.guides-sidebar{display:flex;flex-direction:column;gap:1rem;max-height:85VH;overflow:auto}.guides-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.guides-tags{display:flex;flex-wrap:wrap;gap:.5rem}.guides-tags .chip{border:1px solid var(--border);border-radius:999px;padding:.25rem .85rem;background:transparent;color:var(--muted-text)}.guides-tags .chip.is-active{background:var(--accent-soft);color:var(--text-color)}.guides-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.guides-list button{width:100%;text-align:left;border:1px solid transparent;border-radius:14px;background:#0f172a59;padding:.75rem;color:inherit;cursor:pointer;transition:border-color .2s ease,background .2s ease}.guides-list button.is-active{border-color:var(--accent);background:#2563eb26}.guides-content{display:flex;flex-direction:column;gap:1.25rem;max-height:85VH;overflow:auto}.guide-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.guide-tags,.guide-resources div{display:flex;flex-wrap:wrap;gap:.4rem}.guide-resources{display:flex;flex-direction:column;gap:.35rem}.guide-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.guide-actions a{color:var(--accent-cyan);text-decoration:none}.guide-actions a:hover{text-decoration:underline}.guide-markdown{line-height:1.6}.guide-markdown h2,.guide-markdown h3,.guide-markdown h4{margin-top:1.4rem;margin-bottom:.4rem}.guide-markdown ul{padding-left:1.2rem}.guide-related{display:flex;flex-direction:column;gap:.5rem}.guide-related button{border:none;background:transparent;color:var(--accent-cyan);cursor:pointer;padding:5px;text-align:left}.muted-hint{font-size:.8em;opacity:.7;margin-left:4px}label,span{color:--var(--text-color)}.tgw-az-line-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;z-index:999999;pointer-events:none}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px}.vue-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}.vue-flow__resize-control{position:absolute}.vue-flow__resize-control.left,.vue-flow__resize-control.right{cursor:ew-resize}.vue-flow__resize-control.top,.vue-flow__resize-control.bottom{cursor:ns-resize}.vue-flow__resize-control.top.left,.vue-flow__resize-control.bottom.right{cursor:nwse-resize}.vue-flow__resize-control.bottom.left,.vue-flow__resize-control.top.right{cursor:nesw-resize}.vue-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.vue-flow__resize-control.handle.left{left:0;top:50%}.vue-flow__resize-control.handle.right{left:100%;top:50%}.vue-flow__resize-control.handle.top{left:50%;top:0}.vue-flow__resize-control.handle.bottom{left:50%;top:100%}.vue-flow__resize-control.handle.top.left,.vue-flow__resize-control.handle.bottom.left{left:0}.vue-flow__resize-control.handle.top.right,.vue-flow__resize-control.handle.bottom.right{left:100%}.vue-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.vue-flow__resize-control.line.left,.vue-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.vue-flow__resize-control.line.left{left:0;border-left-width:1px}.vue-flow__resize-control.line.right{left:100%;border-right-width:1px}.vue-flow__resize-control.line.top,.vue-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.vue-flow__resize-control.line.top{top:0;border-top-width:1px}.vue-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
