/* Scope the article's diagrams and disclosures to its native Oddly palette. */
.agent-opening { color: var(--signal); font-weight: 500 !important; }
.agent-diagram svg { max-width: 460px; }
.agent-diagram svg text { font-size: 16px; letter-spacing: -.02em; }
.agent-diagram svg .agent-node-detail { font-size: 14px; font-weight: 400; letter-spacing: -.015em; fill: var(--ink-soft); }
.agent-diagram svg .agent-branch-label { font-size: 13px; font-weight: 400; fill: var(--ink-soft); }
.agent-node rect { fill: var(--paper); stroke: var(--line-strong); stroke-width: 1.25; }
.agent-node-active rect { fill: var(--paper-deep); stroke: var(--signal); stroke-width: 1.75; }
.agent-diagram .diagram-flow { stroke-width: 1.5; }
.agent-limits-wrap { overflow-x: auto; margin: 28px 0; border-block: 1px solid var(--line-strong); }
.agent-limits { width: 100%; border-collapse: collapse; text-align: left; font: 14px/1.65 var(--sans); }
.agent-limits th, .agent-limits td { padding: 14px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.agent-limits thead { background: var(--paper-deep); }
.agent-limits th { font-weight: 500; }
.agent-limits td { color: var(--ink-soft); }
.agent-limits tr:last-child > * { border-bottom: 0; }
.agent-limits th:first-child { width: 17%; }
.agent-callout { border-left: 3px solid var(--signal); padding: 20px 24px; margin: 32px 0; background: var(--paper-deep); }
.agent-callout p { margin: 0; font: 16px/1.75 var(--sans); }
.agent-contract { margin-top: 40px; border-block: 1px solid var(--line-strong); }
.agent-contract > summary { padding: 20px 0; cursor: pointer; color: var(--signal); font: 500 18px/1.5 var(--sans); }
.agent-contract-content { padding: 8px 0 28px; }
.agent-contract pre { margin: 24px 0; padding: 20px; background: var(--paper-deep); border: 1px solid var(--line); border-radius: 8px; overflow-x: auto; font: 12px/1.65 var(--mono); }
.agent-contract pre code { padding: 0; border: 0; background: none; font: inherit; white-space: pre; }
.agent-scenario-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 24px 0 0; }
.agent-scenario-controls button { min-height: 48px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--paper); color: var(--ink-soft); font: 500 14px/1.45 var(--sans); cursor: pointer; }
.agent-scenario-controls button[aria-pressed="true"] { border-color: var(--signal); background: var(--paper-deep); color: var(--signal); }
.agent-scenario-controls button:focus-visible, .agent-contract summary:focus-visible, .agent-limits-wrap:focus-visible { outline: 2px solid var(--signal); outline-offset: 4px; }
.agent-scenario h3 { margin-top: 24px; font-size: 19px; }
.agent-scenario { margin: 24px 0 0; }
@media (max-width: 540px) {
  .agent-diagram .diagram-board { padding-inline: 0; }
  .agent-limits { font-size: 12px; line-height: 1.6; }
  .agent-limits th, .agent-limits td { padding: 12px 7px; overflow-wrap: anywhere; }
  .agent-callout { padding: 16px; }
  .agent-contract pre { padding: 14px; }
}
@media print {
  .agent-scenario-controls { display: none !important; }
  .agent-scenario[hidden] { display: block !important; }
}
