/* Data centre page */
.dch-racks rect{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.22)}
.dch-racks path{fill:none;stroke:rgba(255,255,255,.18);stroke-width:2;stroke-linecap:round}

/* Scale out: pods */
.dcs-pod.m-hl > rect{stroke:var(--orange);stroke-width:2.5;stroke-dasharray:none}
.dcs-bad.m-hl > rect{stroke:#E11D48;stroke-width:2.5;fill:rgba(255,241,242,.95)}

/* Failure injector */
.dcf-link{transition:stroke .25s ease,opacity .25s ease}
.dcf-link.is-dead{opacity:.18}
.dcf-link.is-failed{stroke:#E11D48;stroke-dasharray:6 6;opacity:1}
.dcf-hit{fill:none;stroke:transparent;stroke-width:16;cursor:pointer;pointer-events:stroke}
.dcf-srv.is-dead{opacity:.18}
.dcf-node{cursor:pointer;outline:none}
.dcf-node:hover rect{stroke:var(--orange);stroke-width:2.5}
.dcf-node:focus-visible rect{stroke:var(--orange);stroke-width:3.5}
.dcf-node .dcf-x{display:none}
.dcf-node.is-failed rect{fill:#FFF1F2;stroke:#E11D48}
.dcf-node.is-failed .t{fill:#9F1239}
.dcf-node.is-failed .s{fill:#BE123C}
.dcf-node.is-failed .dcf-x{display:block}
#dcf-a.is-down rect,#dcf-b.is-down rect{fill:#FFF1F2;stroke:#E11D48}
.dcf-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dcf-stats div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.dcf-stats span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}
.dcf-stats b{display:block;font-family:var(--font-heading);font-size:1.05rem;color:var(--ink);margin-top:2px}
.dcf-stats b.down{color:#BE123C}
.dcf-stats b.up{color:var(--teal-strong)}
.dcf-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.dcf-bar i{display:block;height:100%;width:100%;border-radius:999px;background:var(--teal);transition:width .35s ease,background-color .35s ease}
.dcf-bar i.mid{background:#F59E0B}
.dcf-bar i.low{background:#E11D48}

@media (max-width:700px){
  .dcf-stats div{padding:8px 10px}
  .dcf-stats span{font-size:.64rem}
  .dcf-stats b{font-size:.92rem}
}
.dc-gap{margin-top:22px}
.dc-note{margin-top:8px}

/* Phase 2: fabric maths, pod tools, vPC deep dive */
.gap-note{margin-top:8px}
.dcc-track{fill:var(--surface-2);stroke:var(--line)}
.dcc-bar{transition:width .35s ease}
.dcc-bar.down{fill:var(--cyan)}
.dcc-bar.up{fill:var(--orange)}
.dcc-val{font-family:var(--font-mono);font-size:13px;font-weight:600;fill:var(--ink)}
.dcc-big{font-family:var(--font-heading);font-size:40px;font-weight:700;fill:var(--ink)}
.dcc-srv rect{fill:var(--surface-2);stroke:var(--line-strong)}
.dcc-pick{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;font-size:.88rem}
.dcc-pick > span{font-weight:600;color:var(--ink)}
.dc-calc-fig .sim-out th{font-weight:600;color:var(--muted);width:55%}
.dc64-rack{fill:var(--surface-2);stroke:var(--line-strong)}
.dc64-spine{fill:var(--navy)}
.dc-mask{stroke:#fff;stroke-width:6}
.dc-tool{margin-top:6px}
.dc-tool h3{margin:0 0 6px}
.dc-tool-in{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.dc-tool-in label{display:grid;gap:4px;font-size:.82rem;font-weight:600;color:var(--muted)}
.dc-tool-in input{font:inherit;font-size:.95rem;width:7.5rem;padding:7px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink)}
.dc-tool-in input:focus-visible{outline:3px solid var(--orange);outline-offset:1px}
.dc-tool .sim-out th{width:45%;font-weight:600;color:var(--muted)}
.cli{margin:12px 0 0;padding:14px 16px;border-radius:12px;background:var(--navy);color:#E2E8F0;font-family:var(--font-mono);font-size:.78rem;line-height:1.55;overflow-x:auto;white-space:pre}
.motion-panel .cli{font-size:.72rem}
.dc-cfg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:20px;align-items:start}
.dc-cfg-grid .cli{margin:22px 0 0}
.dc-cfg-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.dc-cfg-grid{grid-template-columns:1fr}}
@media (max-width:700px){.dc-cfg-cards{grid-template-columns:1fr}.dcc-pick{grid-template-columns:1fr;gap:6px}.dc-tool-in input{width:6.5rem}}
