.aq-explorer{--aqx-bg:#f6f8fd;--aqx-panel:#fff;--aqx-ink:#24334c;--aqx-muted:#74829a;--aqx-line:#dfe5ef;--aqx-edge:#9baac1;color:var(--aqx-ink);background:var(--aqx-panel);border:1px solid var(--aqx-line);border-radius:20px;overflow:hidden;font:14px/1.5 Inter,system-ui,sans-serif;isolation:isolate}.aq-explorer[data-theme=dark],[data-theme=dark] .aq-explorer:not([data-theme=light]){--aqx-bg:#0e1729;--aqx-panel:#162237;--aqx-ink:#e3eaf6;--aqx-muted:#93a3bf;--aqx-line:#2c3b55;--aqx-edge:#506582}.aqx-toolbar{padding:20px 24px;display:flex;gap:16px;align-items:center;justify-content:space-between}.aqx-title{display:flex;align-items:center;gap:12px}.aqx-title strong{display:block;font-size:18px;letter-spacing:-.4px}.aqx-title small{color:var(--aqx-muted)}.aqx-mark{font-size:25px;color:#8b5cf6;background:#8b5cf618;border-radius:12px;padding:7px 13px}.aqx-actions,.aqx-filters,.aqx-groups,.aqx-zoom{display:flex;align-items:center;gap:8px}.aq-explorer button,.aq-explorer select,.aq-explorer input{font:inherit;color:var(--aqx-ink);border:1px solid var(--aqx-line);border-radius:9px;background:var(--aqx-panel);padding:8px 12px}.aq-explorer button{cursor:pointer;font-weight:600}.aq-explorer button:hover{border-color:#8b5cf6}.aq-explorer button:focus-visible,.aq-explorer input:focus-visible,.aq-explorer select:focus-visible{outline:3px solid #8b5cf680;outline-offset:2px}.aq-explorer button.aqx-primary{background:#7651d6;border-color:#7651d6;color:white}.aqx-filters{padding:0 24px 16px;gap:16px;flex-wrap:wrap}.aqx-filters label{display:grid;gap:4px;font-size:11px;font-weight:650;color:var(--aqx-muted)}.aqx-filters label:first-child{flex:1;min-width:170px}.aqx-filters input{width:100%;box-sizing:border-box}.aqx-groups{padding:0 24px 16px;flex-wrap:wrap}.aqx-groups button{font-size:12px;border-radius:30px;padding:5px 12px;border-color:color-mix(in srgb,var(--node-color) 30%,transparent);background:color-mix(in srgb,var(--node-color) 8%,transparent)}.aqx-groups button:before{content:'●';color:var(--node-color);margin-right:6px}.aqx-groups button[aria-pressed=false]{opacity:.45}.aqx-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;border-block:1px solid var(--aqx-line)}.aqx-canvas{position:relative;background:radial-gradient(circle,var(--aqx-line) 1px,transparent 1px) 0 0/22px 22px,var(--aqx-bg);min-width:0;overflow:hidden}.aqx-svg{display:block;width:100%;height:560px;touch-action:none;cursor:grab}.aqx-card{fill:var(--aqx-panel);stroke:var(--aqx-line);stroke-width:1.3;filter:drop-shadow(0 5px 8px #07132c0b)}.aqx-node{cursor:pointer;outline:none}.aqx-node.root .aqx-card,.aqx-node.selected .aqx-card,.aqx-node:focus .aqx-card{stroke:var(--node-color);stroke-width:2}.aqx-node.root .aqx-card{filter:drop-shadow(0 6px 12px #8b5cf622)}.aqx-node.muted{opacity:.25}.aqx-icon-box{fill:color-mix(in srgb,var(--node-color) 13%,var(--aqx-panel))}.aqx-node-icon{font-size:21px;fill:var(--node-color)}.aqx-node-title{font-size:13px;font-weight:650;fill:var(--aqx-ink)}.aqx-node-type{font-size:10px;fill:var(--aqx-muted)}.aqx-node-status{font-size:10px;fill:var(--aqx-ink)}.aqx-status-dot{fill:var(--node-color)}.aqx-edge{color:var(--aqx-edge)}.aqx-edge path{stroke:currentColor;stroke-width:1.6}.aqx-edge text{font-size:10px;fill:var(--aqx-muted);paint-order:stroke;stroke:var(--aqx-bg);stroke-width:5px;stroke-linejoin:round}.aqx-edge.selected{color:#9670ed}.aqx-edge.selected path{stroke-width:2.6}.aqx-animate .aqx-edge path{stroke-dasharray:10 5;animation:aqx-flow 1s linear infinite}@keyframes aqx-flow{to{stroke-dashoffset:-30}}.aqx-zoom{position:absolute;bottom:18px;left:18px;border:1px solid var(--aqx-line);background:var(--aqx-panel);border-radius:12px;padding:4px;box-shadow:0 4px 18px #07132c0c}.aqx-zoom button{border:0;font-size:12px;padding:7px 10px}.aqx-details{border-left:1px solid var(--aqx-line);padding:22px;max-height:560px;overflow:auto;box-sizing:border-box}.aqx-kicker{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--aqx-muted)}.aqx-details h3{font-size:18px;line-height:1.4;overflow-wrap:anywhere;margin:9px 0 22px}.aqx-details h4{font-size:12px;margin-top:26px}.aqx-details p{color:var(--aqx-muted)}.aqx-details dl{margin:0 0 20px}.aqx-details dt{font-size:11px;color:var(--aqx-muted);margin-top:14px}.aqx-details dd{margin:2px 0;font-size:13px;overflow-wrap:anywhere}.aqx-details button{width:100%;text-align:left}.aqx-details .aqx-relation{font-size:12px;font-weight:400;margin:4px 0}.aqx-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;color:var(--aqx-muted);font-size:12px;gap:12px}.aqx-empty{position:absolute;top:45%;width:100%;text-align:center;color:var(--aqx-muted)}.aqx-expanded{position:fixed!important;inset:12px;z-index:1000;overflow:auto}.aqx-expanded .aqx-svg{height:calc(100vh - 270px)}.aqx-expanded .aqx-details{max-height:calc(100vh - 270px)}@media(prefers-reduced-motion:reduce){.aqx-animate .aqx-edge path{animation:none}}@media(max-width:850px){.aqx-toolbar{align-items:flex-start;flex-direction:column}.aqx-actions{flex-wrap:wrap}.aqx-body{grid-template-columns:1fr}.aqx-details{border-left:0;border-top:1px solid var(--aqx-line);max-height:230px}.aqx-svg{height:460px}.aqx-zoom{left:8px;bottom:8px}.aqx-toolbar,.aqx-filters,.aqx-groups{padding-left:16px;padding-right:16px}}
.aqx-actions{position:relative}.aqx-export-menu{position:absolute;right:0;top:100%;margin-top:5px;z-index:5;padding:6px;background:var(--aqx-panel);border:1px solid var(--aqx-line);border-radius:12px;box-shadow:0 10px 30px #07132c22}.aqx-export-menu[hidden]{display:none}.aqx-export-menu button{white-space:nowrap}.aqx-group-frame rect{fill:color-mix(in srgb,var(--node-color) 3%,var(--aqx-bg));stroke:color-mix(in srgb,var(--node-color) 25%,var(--aqx-line));stroke-dasharray:5 5}.aqx-group-frame text{fill:var(--aqx-muted);font-size:12px;font-weight:600}
/* Architectural columns stay independent of the selected root's hop distance. */
.aq-explorer:not(.aqx-details-open) .aqx-body{grid-template-columns:minmax(0,1fr)}
.aqx-details[hidden]{display:none!important}.aqx-details{position:relative}.aqx-details h3{padding-right:20px}
.aqx-details button.aqx-details-close{position:absolute;right:10px;top:10px;width:32px;height:32px;padding:0;text-align:center;font-size:24px;line-height:1}
.aqx-context{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0 22px 16px;font-size:12px;color:var(--aqx-muted)}
.aqx-root-label{color:var(--aqx-ink)}
.aqx-level-label{fill:var(--aqx-muted);font:600 12px system-ui;letter-spacing:1.2px}
.aq-explorer{--assigned:#7c3aed;--reference:#2563eb;--discovered:#0f766e;--suggested:#b45309;--other:#64748b}
.aq-explorer[data-theme=dark],[data-theme=dark] .aq-explorer:not([data-theme=light]){--assigned:#a78bfa;--reference:#60a5fa;--discovered:#2dd4bf;--suggested:#fbbf24;--other:#a0aec0}
.aq-explorer [data-origin=assigned]{--relation-color:var(--assigned);--relation-dash:none}
.aq-explorer [data-origin=reference]{--relation-color:var(--reference);--relation-dash:6 4}
.aq-explorer [data-origin=discovered]{--relation-color:var(--discovered);--relation-dash:2 4}
.aq-explorer [data-origin=observed]{--relation-color:#db6b15;--relation-dash:none}
.aqx-legend [hidden]{display:none!important}
[data-theme=dark] .aq-explorer [data-origin=observed]{--relation-color:#ffb35e}
.aqx-edge[role=button]{cursor:pointer}.aqx-edge[role=button]:focus .aqx-edge-line{stroke-width:4}
.aq-explorer [data-origin=suggested]{--relation-color:var(--suggested);--relation-dash:8 4 2 4}
.aq-explorer [data-origin=other]{--relation-color:var(--other);--relation-dash:3 4}
.aqx-edge,.aqx-edge.selected{color:var(--relation-color,var(--aqx-edge));transition:opacity .16s}
.aqx-edge .aqx-edge-line,.aqx-animate .aqx-edge .aqx-edge-line{animation:none;stroke-dasharray:var(--relation-dash,none);stroke-width:1.8}
.aqx-edge.selected .aqx-edge-line{stroke-width:2.8}
.aqx-edge[data-semantic=network_peering] .aqx-edge-line{stroke-width:2.2}
.aqx-edge[data-semantic=network_peering]:not([data-peering-status=connected]) .aqx-edge-line{stroke-dasharray:7 5;stroke-opacity:.75}
.aqx-edge .aqx-edge-flow{display:none;pointer-events:none;stroke-width:3.6;stroke-linecap:round}
.aqx-animate .aqx-edge.flow-visible .aqx-edge-flow{display:block;stroke-dasharray:8 92;animation:aqx-signal 2.8s linear infinite;animation-delay:var(--flow-delay,0s);filter:drop-shadow(0 0 3px var(--relation-color))}
@keyframes aqx-signal{to{stroke-dashoffset:-100}}
.aqx-arrow{stroke:var(--relation-color,var(--aqx-edge))}
.aqx-edge text{fill:var(--relation-color,var(--aqx-muted));font-weight:500}
.aqx-edge.context-muted{opacity:.3}.aqx-node.context-muted{opacity:.5}
.aqx-node{transition:opacity .16s}.aqx-node.related .aqx-card{stroke:var(--node-color);stroke-width:2}
.aqx-focus-badge{fill:var(--node-color);font-size:8px;font-weight:750;letter-spacing:.6px}
.aqx-legend{position:absolute;right:14px;top:14px;z-index:2;max-width:min(250px,70%);padding:9px 12px;border:1px solid var(--aqx-line);border-radius:12px;background:var(--aqx-panel);box-shadow:0 4px 16px #07132c0b;font-size:11px;color:var(--aqx-ink)}
.aqx-legend summary{cursor:pointer;font-weight:600;list-style-position:inside}.aqx-legend summary:focus-visible{outline:2px solid #7c3aed;outline-offset:3px}.aqx-legend span{display:flex;align-items:center;gap:7px;margin-top:7px}.aqx-legend span:before{content:'';flex:none;width:23px;border-top:2px solid var(--relation-color)}
.aqx-legend [data-origin=reference]:before,.aqx-legend [data-origin=suggested]:before{border-top-style:dashed}
.aqx-legend [data-origin=discovered]:before,.aqx-legend [data-origin=other]:before{border-top-style:dotted}
.aqx-filters .aqx-context-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;align-self:end;min-height:39px;font-size:12px}
.aqx-context-toggle input{width:16px;height:16px;accent-color:#8b5cf6}
.aqx-relation{border-left:3px solid var(--relation-color)!important}.aqx-relation small{display:block;color:var(--aqx-muted);font-size:10px;margin-top:3px}
.aqx-zoom [aria-pressed=true]{color:var(--assigned);background:color-mix(in srgb,var(--assigned) 9%,var(--aqx-panel))}
@media(prefers-reduced-motion:reduce){.aqx-animate .aqx-edge.flow-visible .aqx-edge-flow{display:none;animation:none}.aqx-node,.aqx-edge{transition:none}}
.aqx-cloud-frame{--cloud-color:#4285e8;pointer-events:none}
.aqx-cloud-frame[data-provider=aws]{--cloud-color:#df941c}.aqx-cloud-frame[data-provider=gcp]{--cloud-color:#32a47c}
.aqx-cloud-frame rect{fill:color-mix(in srgb,var(--cloud-color) 3%,var(--aqx-panel));stroke:color-mix(in srgb,var(--cloud-color) 42%,transparent);stroke-width:1.4}
.aqx-cloud-frame text{fill:var(--aqx-ink);font-size:12px;font-weight:650;letter-spacing:.3px}
.aqx-cloud-frame[data-kind=network] rect{fill:color-mix(in srgb,var(--cloud-color) 5%,var(--aqx-panel));stroke-dasharray:7 5}
.aqx-cloud-frame[data-kind=subnet] rect{fill:color-mix(in srgb,var(--cloud-color) 8%,var(--aqx-panel));stroke-dasharray:2 5}
.aqx-cloud-frame[data-kind=subnet] text{fill:var(--aqx-muted);font-size:11px}
.aqx-details dd{overflow-wrap:anywhere}
.aqx-node-network{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;fill:var(--aqx-ink)}
.aqx-cloud-status{--presence:#199968}.aqx-cloud-status[data-presence=missing],.aqx-cloud-status[data-presence=mixed]{--presence:#c18013}.aqx-cloud-status[data-presence=tombstone]{--presence:#dc4b5c}.aqx-cloud-status[data-presence=unknown]{--presence:#74829a}
.aqx-cloud-status circle{fill:var(--presence)}.aqx-cloud-status text{fill:var(--aqx-ink);font-size:10px}
.aqx-edge .aqx-edge-hit{stroke:transparent!important;stroke-width:12;pointer-events:stroke;animation:none!important;stroke-dasharray:none!important}
.aqx-edge:hover .aqx-edge-line{stroke-width:3}.aqx-edge:hover{opacity:1}
.aqx-network-area{pointer-events:none;outline:none;transition:opacity .16s}
.aqx-area-header{pointer-events:all;cursor:grab}.aqx-area-header:active{cursor:grabbing}
.aqx-cloud-frame .aqx-area-header .aqx-area-header-hit{fill:transparent;stroke:none;pointer-events:all}
.aqx-svg{user-select:none;-webkit-user-select:none}.aqx-node{cursor:grab}.aqx-node:active{cursor:grabbing}
.aqx-network-area.root .aqx-area-outline,.aqx-network-area.selected .aqx-area-outline,.aqx-network-area.related .aqx-area-outline,.aqx-network-area:focus-visible .aqx-area-outline{stroke:var(--cloud-color);stroke-width:2.5}
.aqx-network-area.muted{opacity:.3}.aqx-network-area.context-muted{opacity:.6}
.aqx-cloud-frame .aqx-area-title{fill:var(--aqx-ink);font-size:13px;font-weight:700}
.aqx-cloud-frame .aqx-area-type{fill:var(--aqx-muted);font-size:10px;font-weight:500}
.aqx-cloud-frame .aqx-area-separator{fill:var(--aqx-muted);font-size:14px;font-weight:400}
.aqx-cloud-frame .aqx-area-header .aqx-address-pill{fill:color-mix(in srgb,var(--cloud-color) 9%,var(--aqx-panel));stroke:color-mix(in srgb,var(--cloud-color) 22%,var(--aqx-line));stroke-width:.7;stroke-dasharray:none}
.aqx-cloud-frame .aqx-address-family{fill:var(--aqx-muted);font:650 8px system-ui;letter-spacing:0}
.aqx-cloud-frame .aqx-address-value{fill:var(--aqx-ink);font:10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0}
.aqx-area-divider{stroke:color-mix(in srgb,var(--cloud-color) 25%,var(--aqx-line));stroke-width:1}
.aqx-cloud-frame .aqx-node-status,.aqx-cloud-frame .aqx-cloud-status text{font-size:10px;font-weight:500}
.aqx-details .aqx-investigate{margin-top:10px;color:var(--reference)}
