.corax-body { padding-top: 0; }
.corax-body .study-section > p { max-width: 68ch; line-height: 1.8; }
.corax-diagram {
  --diagram-line: #6b7561;
  --diagram-amber: #926139;
  --diagram-surface: #f4efe4;
  color: #282c25;
  background: #eae4d6;
  border: 1px solid #79756559;
  padding: clamp(1rem, 3vw, 2rem);
  margin-block: 1.5rem 0;
}
.corax-diagram h3 { font: 400 clamp(1.4rem, 2.7vw, 2.25rem)/1.15 var(--display); margin-bottom: 1.25rem; }
.corax-diagram h4 { margin: 0 0 .65rem; font-size: .92rem; line-height: 1.4; }
.corax-diagram p { margin: 0; line-height: 1.5; }
.corax-diagram figcaption { font-size: .9rem; line-height: 1.55; margin-top: .9rem; }
.corax-architecture-grid { display: grid; grid-template-columns: 2fr 1fr; gap: clamp(1rem, 3vw, 2rem); }
.corax-flow, .corax-edges, .corax-legend { list-style: none; padding: 0; margin: 0; }
.corax-flow { display: grid; gap: 1.4rem; }
.corax-flow li, .corax-rail > div {
  position: relative;
  display: grid;
  align-content: center;
  gap: .3rem;
  min-width: 0;
  padding: .65rem .75rem;
  border: 1px solid var(--diagram-line);
  background: var(--diagram-surface);
  font-size: .87rem;
  line-height: 1.45;
}
.corax-flow li:not(:last-child)::after {
  position: absolute; top: 50%; left: calc(100% + .18rem);
  transform: translateY(-50%); content: "→"; color: var(--diagram-line);
}
.corax-flow li span { font-size: .83rem; }
.corax-stack li:not(:last-child)::after {
  content: "↓"; top: calc(100% + .05rem); left: 50%; transform: translateX(-50%);
}
.corax-rail { display: grid; align-content: start; gap: .75rem; }
.corax-rail .corax-governed { border-width: 2px; border-inline-start-width: 4px; background: #e5e9df; }
.corax-rail .corax-pending { border-top: 1px dashed var(--diagram-line); padding-top: .35rem; margin-top: .15rem; }
.corax-memory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.corax-edges { display: grid; gap: .55rem; }
.corax-edge {
  display: grid; grid-template-columns: auto minmax(.75rem, 1fr) auto;
  gap: .3rem .4rem; align-items: center;
  border: 1px solid var(--diagram-line); background: var(--diagram-surface); padding: .55rem;
  font-size: .82rem; line-height: 1.3;
}
.corax-edge small { grid-column: 1 / -1; font-size: .78rem; line-height: 1.4; }
.corax-endpoint { font-weight: 600; }
.corax-edge-arrow { display: flex; align-items: center; color: var(--diagram-line); }
.corax-edge-arrow::before { content: ""; flex: 1; border-top: 2px solid currentColor; }
.corax-edge-arrow > span:first-child { margin-left: -.17em; }
.corax-read .corax-edge-arrow::before { border-top-width: 1px; }
.corax-priority { border-inline-start: 3px solid #81713e; }
.corax-edge.corax-governed { border-width: 2px; background: #e5e9df; }
.corax-edge.corax-pending { border-style: dashed; }
.corax-edge.corax-pending .corax-edge-arrow::before { border-top: 1px dashed currentColor; }
.corax-diagram .corax-dream-note { margin-top: .65rem; font-size: .8rem; }
.corax-turn-flow { grid-template-columns: repeat(8, minmax(0, 1fr)); margin-bottom: 1.25rem; }
.corax-recovery-flow { grid-template-columns: repeat(5, minmax(0, 1fr)); --diagram-line: var(--diagram-amber); }
.corax-recovery-flow li { background: #f3e9db; }
.corax-lifecycle p { margin-top: .85rem; font-size: .87rem; }
.corax-legend { display: flex; flex-wrap: wrap; gap: .45rem 1.1rem; margin-top: 1.15rem; font-size: .75rem; }
.corax-legend li { display: flex; align-items: center; gap: .4rem; }
.corax-legend li span { width: 1.25rem; border-top: 1px solid var(--diagram-line); }
.corax-legend .corax-key-pending span { border-top-style: dashed; }
.corax-legend .corax-key-governed span { border-top-width: 3px; }
.corax-legend .corax-key-retired span { opacity: .38; }
.corax-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}
.corax-pillars, .corax-decisions, .corax-evolution, .corax-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 2rem;
  margin: 0;
}
.corax-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.corax-body dl > div { border-top: 1px solid var(--line); padding-top: .65rem; }
.corax-body dt { font: 400 clamp(1.05rem, 2vw, 1.45rem)/1.3 var(--display); }
.corax-body dd { margin: .4rem 0 0; line-height: 1.65; }
.corax-retired { color: var(--muted); margin-top: 1rem; text-decoration: line-through; }
@media (max-width: 940px) {
  .corax-memory-grid { grid-template-columns: minmax(0, 1fr); }
  .corax-turn-flow, .corax-recovery-flow { grid-template-columns: minmax(0, 1fr); }
  .corax-flow li:not(:last-child)::after {
    content: "↓"; top: calc(100% + .05rem); left: 50%; transform: translateX(-50%);
  }
}
@media (max-width: 600px) {
  .corax-architecture-grid, .corax-pillars, .corax-decisions, .corax-evolution, .corax-status {
    grid-template-columns: minmax(0, 1fr);
  }
}
