/* The shared figure shell and responsive 520 × 310 viewBox remain unchanged. */
.service-diagram .red-team-topology text{font-family:'Ubuntu Mono',monospace;font-size:10px;letter-spacing:0;fill:#a6bcd0}
.red-team-topology .rt-center{text-anchor:middle}.red-team-topology .rt-end{text-anchor:end}
.service-diagram .red-team-topology .rt-overline{font-size:8px;letter-spacing:.04em;fill:#7797b3}
.red-team-topology .rt-structure path{fill:none;stroke:#7598b443;stroke-width:.8;stroke-dasharray:2 5}
.red-team-topology .rt-map-reveal path{fill:none;stroke:#82a8c1;stroke-width:.8;opacity:0}
.red-team-topology .rt-adversary-traces path{fill:none;stroke:#c9a77e;stroke-width:1;opacity:0}
.red-team-topology .rt-adversary-traces [data-rt-trace="0"],.red-team-topology .rt-adversary-traces [data-rt-trace="1"]{opacity:.5}
.red-team-topology .rt-node-base{fill:#101d2a;stroke:#739ab35e;stroke-width:.8}
.red-team-topology .rt-node-highlight{fill:#b7976f06;stroke:#c9a77e;stroke-width:.9;opacity:0}
.red-team-topology .rt-node-core{fill:#7699b6}
.service-diagram .red-team-topology .rt-node-label{font-size:10px;fill:#9db5cb}
.red-team-topology [data-rt-node="4"] .rt-node-base{fill:#152333;stroke:#a0bed58c}
.red-team-topology .rt-target-boundary{fill:none;stroke:#8cabc259;stroke-width:.8;stroke-dasharray:2 4}
.red-team-topology .rt-monitor-link{fill:none;stroke:#86bce2;stroke-width:.8;opacity:.6}
.red-team-topology .rt-correlation{fill:none;stroke:#99cef2;stroke-width:.9;opacity:.7}
.red-team-topology .rt-detection-point,.red-team-topology .rt-evidence-node{fill:none;stroke:#90c8ef;stroke-width:.9;opacity:.7}
.red-team-topology .rt-detection-ring{fill:none;stroke:#8fc9f3;stroke-width:.8;opacity:0}
.red-team-topology .rt-response-marker rect{fill:#11283c;stroke:#94c7eb;stroke-width:.8}
.red-team-topology .rt-response-marker path{fill:none;stroke:#a0d2f4;stroke-width:1.2;stroke-linecap:round}
.red-team-topology .rt-adversary-pulse{fill:#dfc19c;opacity:0;pointer-events:none}
.red-team-topology .rt-pulse-soft{opacity:.18}
.red-team-topology .rt-teams rect{fill:#0e1824;stroke:#789bb63d;stroke-width:.8}
.red-team-topology .rt-red-indicator{fill:#c6a67e}.red-team-topology .rt-blue-indicator{fill:#8fc4e9}
.service-diagram .red-team-topology .rt-team-heading{font-size:10px;fill:#b4c8d9;letter-spacing:.05em}
.service-diagram .red-team-topology .rt-status-label{font-size:11px;fill:#cbb08e}
.service-diagram .red-team-topology .rt-blue-status .rt-status-label{fill:#9cc9e9}
.red-team-topology .rt-status{opacity:0}
.red-team-topology .rt-evaluation-row path{fill:none;stroke:#9ac7ae;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.service-diagram .red-team-topology .rt-result-label{font-size:10px;fill:#b2c8d8}
.service-diagram .red-team-topology .rt-footnote{font-size:8px;fill:#7795b0;letter-spacing:.035em}
@media(max-width:760px){
 .service-diagram .red-team-topology .rt-node-label{font-size:14px}
 .service-diagram .red-team-topology .rt-team-heading{font-size:12px;letter-spacing:0}
 .service-diagram .red-team-topology .rt-status-label{font-size:15px}
 .service-diagram .red-team-topology .rt-result-label{font-size:13px}
 .service-diagram .red-team-topology .rt-footnote{font-size:10px;letter-spacing:0}
 .service-diagram .red-team-topology .rt-overline{font-size:9px;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.red-team-topology .rt-adversary-pulse,.red-team-topology .rt-detection-ring{display:none}}
