/* Canonical OPD content layer. Every selector stays inside the OPD namespace. */
.opd-status{display:inline-flex;align-items:center;gap:.45rem;margin:0 .45rem .35rem 0;padding:.26rem .5rem;border:1px solid var(--line);border-radius:999px;font:600 .68rem/1.2 var(--sans);letter-spacing:.055em;text-transform:uppercase;color:var(--quiet);background:var(--wash)}
.opd-status-toy{border-style:dashed}
.opd-boundary{margin:1.4rem 0;padding:1rem 1.1rem;border-left:3px solid var(--accent);background:var(--wash);font-size:.94rem}
.opd-inspection-list{padding-left:1.35rem}
.opd-inspection-list li{margin:.55rem 0;padding-left:.25rem}
.opd-transfer{margin:1.35rem 0;padding:1.25rem;border:1px solid var(--line);background:var(--lab-surface)}
.opd-transfer>p:first-child{font-size:1.04rem}
.opd-transfer .answer{margin-top:1rem;border-top:1px solid var(--line);padding-top:.7rem}
.opd-transfer .answer summary{font:600 .82rem/1.4 var(--sans);letter-spacing:.03em;color:var(--accent);cursor:pointer}
.opd-transfer .answer div{padding:.4rem 0 .1rem}
.opd-enhancement-slot{margin:0}
.opd-enhancement-slot:empty{display:none}
.opd-figure{margin-block:2rem}
.opd-figure .figure-top{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.opd-figure .figure-top span{font:600 .68rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--quiet)}
.opd-figure .figure-top strong{font:600 .84rem/1.3 var(--sans);text-align:right}
.opd-svg-wrap{overflow-x:auto;overscroll-behavior-inline:contain;padding:.65rem 0}
.opd-svg-wrap svg{display:block;min-width:680px;width:100%;height:auto}
.opd-figure .grid-line,.opd-figure .row-guide{stroke:var(--diagram-guide);stroke-width:1}
.opd-figure .svg-kicker{fill:var(--quiet);font:600 12px var(--sans);letter-spacing:1.3px}
.opd-figure .svg-emphasis{fill:var(--ink);font:600 14px var(--sans)}
.opd-figure .svg-muted{fill:var(--quiet);font:12px var(--sans)}
.opd-axis-point{fill:var(--accent);stroke:var(--paper);stroke-width:3}
.opd-axis-callout{stroke:var(--accent);stroke-width:1.5}
.opd-axis-cell{fill:var(--wash);stroke:var(--line)}
.opd-pipeline-flow line{stroke:var(--diagram-flow);stroke-width:1.5}
.opd-gradient-arrow{stroke-dasharray:5 4}
.opd-pipeline-box rect{fill:var(--paper);stroke:var(--line);stroke-width:1.2}
.opd-detach-brace{stroke:var(--quiet);stroke-width:3;stroke-dasharray:4 4}
.opd-local-brace{stroke:var(--accent);stroke-width:3}
.opd-pipeline-fallback{display:none;margin:1rem 0;padding-left:1.5rem}
.opd-pipeline-fallback li{margin:.45rem 0}
.opd-balance-table td,.opd-balance-table th{white-space:nowrap}
.opd-balance-total{font-weight:700;background:var(--wash)}
.opd-method-focus{background:var(--wash)}
.opd-method-table td:nth-child(5){font-size:.82rem;color:var(--quiet)}
.opd-branch-table td:last-child{font-weight:650}
.opd-distribution-table td{text-align:right;font-variant-numeric:tabular-nums}
.opd-source-list{padding-left:1.35rem}
.opd-source-list li{margin:0 0 1.25rem;padding-left:.35rem}
.opd-source-list p{margin:.2rem 0}
.opd-source-list code{font-size:.72rem}

@media(max-width:600px){
  .opd-figure .figure-top{display:block}
  .opd-figure .figure-top strong{display:block;margin-top:.35rem;text-align:left}
  .opd-transfer{padding:1rem}
}

@media(prefers-reduced-motion:reduce){
  .opd-svg-wrap{scroll-behavior:auto}
}

@media(forced-colors:active){
  .opd-axis-point{fill:Highlight;stroke:Canvas}
  .opd-boundary{border-left-color:Highlight}
}

@media print{
  .opd-svg-wrap{overflow:visible}
  .opd-svg-wrap svg{min-width:0}
  .opd-transfer{break-inside:avoid}
  .opd-enhancement-slot{break-inside:auto}
}
