/* Server-rendered protection map. Tokens follow the site's light/dark toggle. */
#public-main #b-diagram-security-overview {
  --ssh-ink:#18364e; --ssh-muted:#48637b; --ssh-panel:#f3f8fd; --ssh-line:#c5d8e8;
  --ssh-wire:#527f9f; --ssh-edge:#5484aa; --ssh-device:#d0e2f1; --ssh-device-top:#eaf4fd;
  --ssh-device-side:#a6c4dc; --ssh-device-detail:#34688e; --ssh-accent:#a95119; --ssh-mobile:0;
  color:var(--ssh-ink);
}
html[data-theme="dark"] #public-main #b-diagram-security-overview {
  --ssh-ink:#deebf7; --ssh-muted:#b0c3d5; --ssh-panel:#0e1e2e; --ssh-line:#35516c;
  --ssh-wire:#82aaca; --ssh-edge:#7ca7c9; --ssh-device:#1e3d56; --ssh-device-top:#375f7b;
  --ssh-device-side:#112c43; --ssh-device-detail:#aed1ec; --ssh-accent:#ffbb88;
}
#public-main #b-diagram-security-overview .sp-scene-caption h3 {color:var(--ssh-ink)}
#public-main #b-diagram-security-overview .sp-scene-caption p {color:var(--ssh-muted);font-size:15px;line-height:1.7}
#public-main #b-diagram-security-overview .ss-live-sr {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#public-main #b-diagram-security-overview .ss-overview-art {max-width:1150px;margin:24px auto 0;container:security-overview / inline-size}
#public-main #b-diagram-security-overview .ssh-map {position:relative;display:block;min-width:0}
#public-main #b-diagram-security-overview .ssh-map :where(p) {margin:0;font-size:13px;line-height:1.65;color:var(--ssh-muted);word-break:keep-all}
#public-main #b-diagram-security-overview .ss-live-link {position:relative;inset:auto;transform:none;min-height:44px;white-space:nowrap;flex-shrink:0}
#public-main #b-diagram-security-overview .ss-live-link:focus-visible {outline:3px solid var(--ssh-wire);outline-offset:4px}
#public-main #b-diagram-security-overview .ssh-access {display:flex;align-items:center;gap:18px;padding:14px 0;margin-bottom:24px;border-block:1px solid var(--ssh-line)}
#public-main #b-diagram-security-overview .ssh-icon {width:30px;height:30px;flex-shrink:0;stroke:var(--ssh-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
#public-main #b-diagram-security-overview .ssh-access p {font-size:13px}
#public-main #b-diagram-security-overview .ssh-architecture {position:relative}
#public-main #b-diagram-security-overview .ssh-connections {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
#public-main #b-diagram-security-overview .ssh-wire {fill:none;stroke:var(--ssh-wire);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#public-main #b-diagram-security-overview .ssh-grid {display:grid;grid-template-columns:minmax(142px,1fr) minmax(116px,.8fr) minmax(0,3.5fr);column-gap:26px;align-items:stretch}
#public-main #b-diagram-security-overview .ssh-source {align-self:center;position:relative;text-align:center}
#public-main #b-diagram-security-overview .ssh-group-label {font-size:12px;margin-bottom:12px}
#public-main #b-diagram-security-overview .ssh-gateway {display:flex;align-items:center;justify-content:center}
#public-main #b-diagram-security-overview .ssh-node {min-width:0;text-align:center;position:relative;z-index:2}
#public-main #b-diagram-security-overview .ssh-device-stage {height:126px;display:flex;align-items:center;justify-content:center}
#public-main #b-diagram-security-overview .ssh-device-group {display:inline-flex;align-items:flex-end;justify-content:center;gap:16px;position:relative}
#public-main #b-diagram-security-overview .ssh-node-copy {font-size:12px;margin-top:8px}
#public-main #b-diagram-security-overview .ssh-environments {display:grid;gap:20px;position:relative;min-width:0}
#public-main #b-diagram-security-overview .ssh-workload-scope {display:flex;align-items:center;gap:16px;position:relative;z-index:2}
#public-main #b-diagram-security-overview .ssh-workload-scope p {font-size:12px}
#public-main #b-diagram-security-overview .ssh-environment {min-width:0;border:1px solid var(--ssh-line);border-radius:14px;background:var(--ssh-panel);padding:16px 18px 18px;position:relative}
#public-main #b-diagram-security-overview .ssh-environment h4 {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px;font-weight:650;line-height:1.5;margin:0;padding-bottom:11px;border-bottom:1px solid var(--ssh-line);color:var(--ssh-ink)}
#public-main #b-diagram-security-overview .ssh-environment h4 span {font-size:12px;font-weight:400;color:var(--ssh-muted)}
#public-main #b-diagram-security-overview .ssh-environment-flow {display:grid;grid-template-columns:1.15fr 1fr;column-gap:32px;align-items:start;margin-top:12px;position:relative}
#public-main #b-diagram-security-overview .ssh-layer-label {font-size:12px}
#public-main #b-diagram-security-overview .ssh-asset-name {font-size:14px;color:var(--ssh-ink);font-weight:600;min-height:44px;display:flex;align-items:center;justify-content:center}
#public-main #b-diagram-security-overview .ssh-environment .ssh-node-copy {font-size:12px;margin-top:6px}
#public-main #b-diagram-security-overview .ssh-environment .ssh-device-stage {height:104px}
#public-main #b-diagram-security-overview .ssh-diagnosis {display:flex;align-items:center;gap:18px;padding-top:16px;margin-top:16px;border-top:1px solid var(--ssh-line)}
#public-main #b-diagram-security-overview .ssh-diagnosis p {font-size:13px}
/* Equipment is decorative. Names, scopes and section links remain native HTML. */
#public-main #b-diagram-security-overview .ssh-equipment {position:relative;flex-shrink:0}
#public-main #b-diagram-security-overview .ssh-terminals {gap:0;width:114px;justify-content:flex-start}
#public-main #b-diagram-security-overview .ssh-monitor {width:68px;height:70px;margin-bottom:10px}
#public-main #b-diagram-security-overview .ssh-display {width:100%;height:48px;border:1.5px solid var(--ssh-edge);border-radius:3px;background:var(--ssh-device);display:flex;align-items:center;justify-content:center}
#public-main #b-diagram-security-overview .ssh-monitor::before {content:"";position:absolute;width:7px;height:13px;top:48px;left:30px;background:var(--ssh-edge)}
#public-main #b-diagram-security-overview .ssh-monitor::after {content:"";position:absolute;width:36px;height:4px;top:61px;left:16px;border-radius:50%;background:var(--ssh-edge)}
#public-main #b-diagram-security-overview .ssh-person {width:12px;height:12px;border:1.5px solid var(--ssh-device-detail);border-radius:50%;position:relative;transform:translateY(-5px)}
#public-main #b-diagram-security-overview .ssh-person::after {content:"";position:absolute;top:13px;left:-6px;width:21px;height:10px;border:1.5px solid var(--ssh-device-detail);border-bottom:0;border-radius:12px 12px 0 0}
#public-main #b-diagram-security-overview .ssh-laptop {width:58px;height:50px;margin-left:-10px}
#public-main #b-diagram-security-overview .ssh-laptop .ssh-display {width:50px;height:36px;margin-left:4px;transform:skewY(-6deg)}
#public-main #b-diagram-security-overview .ssh-laptop::after {content:"";position:absolute;left:0;top:36px;width:58px;height:10px;border:1px solid var(--ssh-edge);border-radius:0 0 4px 4px;background:var(--ssh-device-top);transform:skewY(-6deg) skewX(-20deg)}
#public-main #b-diagram-security-overview .ssh-appliance {width:82px;height:96px}
#public-main #b-diagram-security-overview .ssh-appliance svg {position:absolute;left:19px;top:0;width:44px;height:52px;stroke:var(--ssh-device-detail);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;fill:var(--ssh-device)}
#public-main #b-diagram-security-overview .ssh-appliance-face {position:absolute;left:0;bottom:3px;width:82px;height:32px;border:1px solid var(--ssh-edge);border-radius:4px;background:var(--ssh-device);box-shadow:4px -4px 0 var(--ssh-device-top);display:flex;align-items:center;gap:5px;padding:8px}
#public-main #b-diagram-security-overview .ssh-appliance-face span {width:10px;height:8px;border:1px solid var(--ssh-device-detail);background:var(--ssh-device-side)}
#public-main #b-diagram-security-overview .ssh-appliance-face::after {content:"";width:3px;height:3px;border-radius:50%;background:var(--ssh-device-detail);margin-left:auto}
#public-main #b-diagram-security-overview .ssh-rack {width:44px;height:78px;border:1px solid var(--ssh-edge);border-radius:3px;padding:8px 5px;background:var(--ssh-device);display:flex;flex-direction:column;gap:6px}
#public-main #b-diagram-security-overview .ssh-rack::before,
#public-main #b-diagram-security-overview .ssh-vm-host::before {content:"";position:absolute;left:-1px;top:-11px;width:calc(100% + 12px);height:11px;clip-path:polygon(0 100%,18% 0,100% 0,82% 100%);background:var(--ssh-device-top)}
#public-main #b-diagram-security-overview .ssh-rack::after,
#public-main #b-diagram-security-overview .ssh-vm-host i {content:"";position:absolute;left:calc(100% - 1px);top:-11px;width:12px;height:calc(100% + 11px);clip-path:polygon(0 12%,100% 0,100% 88%,0 100%);background:var(--ssh-device-side)}
#public-main #b-diagram-security-overview .ssh-drive {height:15px;border:1px solid var(--ssh-edge);position:relative}
#public-main #b-diagram-security-overview .ssh-drive::before {content:"";position:absolute;top:5px;left:3px;width:12px;height:2px;background:var(--ssh-device-detail)}
#public-main #b-diagram-security-overview .ssh-drive::after {content:"";position:absolute;top:5px;right:3px;width:3px;height:3px;border-radius:50%;background:var(--ssh-device-detail)}
#public-main #b-diagram-security-overview .ssh-containers {width:40px;height:56px;display:grid;grid-template-columns:1fr 1fr;gap:5px;align-content:end;margin-left:3px}
#public-main #b-diagram-security-overview .ssh-containers span {width:17px;height:23px;border:1px solid var(--ssh-edge);background:var(--ssh-device-top);transform:skewY(-8deg);box-shadow:4px -2px 0 var(--ssh-device-side)}
#public-main #b-diagram-security-overview .ssh-containers span:first-child {grid-column:1/-1;justify-self:center}
#public-main #b-diagram-security-overview .ssh-vm-host {width:48px;height:74px;border:1px solid var(--ssh-edge);border-radius:3px;padding:7px 5px;display:flex;flex-direction:column;gap:5px;background:var(--ssh-device)}
#public-main #b-diagram-security-overview .ssh-vm-host span {height:14px;border:1px solid var(--ssh-edge);background:var(--ssh-device-top)}
#public-main #b-diagram-security-overview .ssh-database {width:50px;height:66px;border:1px solid var(--ssh-edge);border-top:0;border-radius:0 0 50% 50% / 0 0 9px 9px;background:linear-gradient(90deg,var(--ssh-device),var(--ssh-device-top) 48%,var(--ssh-device))}
#public-main #b-diagram-security-overview .ssh-database::before {content:"";position:absolute;top:-9px;left:-1px;width:50px;height:18px;border:1px solid var(--ssh-edge);border-radius:50%;background:var(--ssh-device-top)}
#public-main #b-diagram-security-overview .ssh-database span {position:absolute;left:-1px;right:-1px;height:17px;border-bottom:1px solid var(--ssh-edge);border-radius:0 0 50% 50%}
#public-main #b-diagram-security-overview .ssh-database span:first-child {top:15px}
#public-main #b-diagram-security-overview .ssh-database span:last-child {top:36px}
#public-main #b-diagram-security-overview .ssh-documents {width:26px;height:36px;margin-left:-6px;border:1px solid var(--ssh-edge);border-radius:2px;background:var(--ssh-device);box-shadow:4px -4px 0 var(--ssh-device-top),5px -5px 0 var(--ssh-edge)}
#public-main #b-diagram-security-overview .ssh-documents::before,
#public-main #b-diagram-security-overview .ssh-documents::after {content:"";position:absolute;left:5px;right:5px;height:2px;background:var(--ssh-device-detail)}
#public-main #b-diagram-security-overview .ssh-documents::before {top:11px}
#public-main #b-diagram-security-overview .ssh-documents::after {top:20px;right:10px}
/* CSS arrows provide a no-JavaScript fallback. */
#public-main #b-diagram-security-overview .ssh-environment-flow::after {content:"→";position:absolute;left:54%;top:50px;color:var(--ssh-wire);font-size:22px;transform:translateX(-50%)}
#public-main #b-diagram-security-overview .ssh-source::after {content:"→";position:absolute;right:-25px;top:90px;color:var(--ssh-wire);font-size:22px}
#public-main #b-diagram-security-overview [data-connections-ready="true"] .ssh-environment-flow::after,
#public-main #b-diagram-security-overview [data-connections-ready="true"] .ssh-source::after {display:none}
@container security-overview (max-width:600px) {
  #public-main #b-diagram-security-overview .ssh-map {--ssh-mobile:1}
  #public-main #b-diagram-security-overview .ssh-access {gap:10px;padding:9px 0;margin-bottom:18px}
  #public-main #b-diagram-security-overview .ssh-access .ssh-icon {display:none}
  #public-main #b-diagram-security-overview .ssh-access p {font-size:11px}
  #public-main #b-diagram-security-overview .ss-live-link {font-size:11px;padding:8px;gap:6px}
  #public-main #b-diagram-security-overview .ssh-grid {grid-template-columns:1.2fr 1fr;column-gap:14px;row-gap:24px}
  #public-main #b-diagram-security-overview .ssh-group-label {display:none}
  #public-main #b-diagram-security-overview .ssh-source {align-self:start}
  #public-main #b-diagram-security-overview .ssh-device-stage {height:100px}
  #public-main #b-diagram-security-overview .ssh-node-copy {font-size:11px;margin-top:6px}
  #public-main #b-diagram-security-overview .ssh-gateway {display:block}
  #public-main #b-diagram-security-overview .ssh-appliance {transform:scale(.9)}
  #public-main #b-diagram-security-overview .ssh-environments {grid-column:1/-1;gap:14px;padding-left:8px}
  #public-main #b-diagram-security-overview .ssh-workload-scope {gap:10px}
  #public-main #b-diagram-security-overview .ssh-workload-scope p {font-size:11px}
  #public-main #b-diagram-security-overview .ssh-environment {padding:11px 10px 13px;border-radius:11px}
  #public-main #b-diagram-security-overview .ssh-environment h4 {font-size:14px;padding-bottom:8px}
  #public-main #b-diagram-security-overview .ssh-environment h4 span {font-size:11px}
  #public-main #b-diagram-security-overview .ssh-environment-flow {column-gap:22px;margin-top:9px}
  #public-main #b-diagram-security-overview .ssh-layer-label {font-size:11px}
  #public-main #b-diagram-security-overview .ssh-environment .ssh-device-stage {height:86px}
  #public-main #b-diagram-security-overview .ssh-environment .ssh-device-group {gap:12px;transform:scale(.85)}
  #public-main #b-diagram-security-overview .ssh-asset-name {font-size:11px;min-height:44px}
  #public-main #b-diagram-security-overview .ssh-environment .ssh-node-copy {font-size:11px}
  #public-main #b-diagram-security-overview .ssh-diagnosis {gap:10px;margin-top:12px;padding-top:12px}
  #public-main #b-diagram-security-overview .ssh-diagnosis .ssh-icon {width:22px;height:22px}
  #public-main #b-diagram-security-overview .ssh-diagnosis p {font-size:11px}
}
@media(max-width:600px) {
  #public-main #b-diagram-security-overview .ssh-map {--ssh-mobile:1}
  #public-main #b-diagram-security-overview .ssh-grid {grid-template-columns:1.2fr 1fr;gap:24px 14px}
  #public-main #b-diagram-security-overview .ssh-environments {grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce) {
  #public-main #b-diagram-security-overview .ss-live-link {transition:none}
}
