/* Build 031 — Flow Topology Atlas */
.topology-lab{margin:28px 0 34px;padding:clamp(15px,2.5vw,26px);background:linear-gradient(150deg,#101e2b,#0b1421);border:1px solid #2a4659;border-radius:15px;color:#cbdde8}
.topology-lab h2{margin:7px 0 8px;font-size:clamp(23px,3vw,34px);letter-spacing:-.035em;color:#eaf6ff}
.topology-lab h3{font-size:13px;color:#b9d8e8;letter-spacing:.04em}
.topology-lab p{line-height:1.55;color:#a9bfce}
.topology-controls,.topology-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}
.topology-controls label{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:.025em;color:#a8c6d9;min-width:102px}
.topology-controls select,.topology-controls input[type=number]{width:100%;max-width:150px;min-height:39px;border-radius:7px;border:1px solid #355368;background:#0b1a2a;color:#e2f6ff;padding:7px;font:inherit}
.topology-controls label.topology-check{flex-direction:row;align-items:center;gap:7px;min-height:38px;min-width:0}
.topology-check input{accent-color:#73e6d0;width:16px;height:16px}
.topology-actions button{border:1px solid #355368;border-radius:7px;background:#12283a;color:#cceaf5;padding:10px 12px;min-height:40px;font-size:11px;font-weight:700;cursor:pointer}
.topology-actions button.primary{background:#2d7b82;color:#f5ffff;border-color:#3bafb1}
.topology-actions button:disabled{opacity:.38;cursor:default}
.topology-actions button:focus-visible,.topology-lab input:focus-visible,.topology-lab select:focus-visible,.topology-map:focus-visible{outline:2px solid #8cf3db;outline-offset:2px}
.topology-stage{position:relative;border:1px solid #2c4859;border-radius:10px;overflow:hidden;background:#0b1725}
.topology-map{width:100%;height:auto;display:block;aspect-ratio:900/520;touch-action:manipulation}
.topology-legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0 4px;font-size:11px;color:#bdd0df}
.topology-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--key);margin-right:6px}
.topology-scrub{display:flex;align-items:center;gap:12px;margin:12px 0}
.topology-scrub input{flex:1;min-width:50px;accent-color:#7dded4}
.topology-scrub output{font:11px ui-monospace,monospace;color:#c3e8f4;min-width:130px;text-align:right}
.topology-progress{display:flex;align-items:center;gap:10px;margin:10px 0}
.topology-progress progress{width:100%;height:9px;accent-color:#7dded4}
.topology-progress output{font:11px ui-monospace,monospace;min-width:40px}
#topology-readout{min-height:2em;font:12px/1.5 ui-monospace,monospace;color:#b6d4e5;overflow-wrap:anywhere}
#topology-status{min-height:2em}
@media(max-width:650px){.topology-lab{padding:12px;border-radius:10px}.topology-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topology-controls label{min-width:0}.topology-controls select,.topology-controls input[type=number]{max-width:none}.topology-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.topology-actions button{padding:10px 5px}.topology-legend{gap:8px}.topology-scrub{flex-wrap:wrap}.topology-scrub output{min-width:100%}}
@media(prefers-reduced-motion:reduce){.topology-lab *{scroll-behavior:auto;transition:none!important}}
