/* Der Agenten-Perimeter — artefakteigene Schicht ueber mzone-ui@1.2.0.
   Nur Tokens, keine Hex-Werte: das Theme schaltet mit. */

/* Inhaltsleiste unter dem Kopfblock -------------------------------- */
.rp-toc {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 2rem 0 3.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--mz-border-soft);
}

/* Abschnitte: Nummer als Kolumnentitel, feiner Trenner darueber ----- */
.rp-sec {
  margin: 4.5rem 0;
  scroll-margin-top: 2rem;
}
.rp-sec + .rp-sec { border-top: 1px solid var(--mz-border-soft); padding-top: 3.5rem; }

.rp-num {
  font-family: var(--mz-mono);
  font-size: .72rem;
  letter-spacing: .22em;
  color: var(--mz-accent);
  margin: 0 0 .35rem;
  text-transform: uppercase;
}
.rp-sec > .mz-h2 { margin-top: 0; }

/* Zeitschiene der Spec-Revisionen ---------------------------------- */
.rp-rail {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0 0 0 1.35rem;
  border-left: 2px solid var(--mz-border);
}
.rp-rail > li {
  position: relative;
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  gap: .35rem 1.25rem;
  padding: 0 0 1.75rem;
}
.rp-rail > li::before {
  content: "";
  position: absolute;
  left: calc(-1.35rem - 6px);
  top: .42rem;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--mz-bg);
  border: 2px solid var(--mz-border);
}
.rp-rail > li:last-child { padding-bottom: 0; }
.rp-rail > li:last-child::before { border-color: var(--mz-accent); background: var(--mz-accent); }

.rp-rail__date {
  font-family: var(--mz-mono);
  font-size: .82rem;
  color: var(--mz-text-muted);
  letter-spacing: .04em;
  white-space: nowrap;
}
.rp-rail__body { color: var(--mz-text); }
.rp-rail__body strong { color: var(--mz-text-strong); }

@media (max-width: 620px) {
  .rp-rail > li { grid-template-columns: 1fr; }
}

/* Quellenverzeichnis ----------------------------------------------- */
.rp-src {
  list-style: none;
  counter-reset: src;
  margin: 2rem 0 0;
  padding: 0;
  max-width: var(--mz-measure);
}
.rp-src > li {
  counter-increment: src;
  position: relative;
  padding: .9rem 0 .9rem 3rem;
  border-top: 1px solid var(--mz-border-soft);
}
.rp-src > li:last-child { border-bottom: 1px solid var(--mz-border-soft); }
.rp-src > li::before {
  content: "[" counter(src) "]";
  position: absolute;
  left: 0;
  top: .95rem;
  font-family: var(--mz-mono);
  font-size: .76rem;
  color: var(--mz-accent);
}
.rp-src a { color: var(--mz-text-strong); text-decoration-color: var(--mz-border); }
.rp-src a:hover { text-decoration-color: var(--mz-accent); }
.rp-src__note {
  display: block;
  margin-top: .3rem;
  font-size: .86rem;
  color: var(--mz-text-muted);
  line-height: 1.55;
}

/* Kleinigkeiten ----------------------------------------------------- */
.mz-card__label .mz-pill { margin-left: .5rem; vertical-align: middle; }
.mz-finding__head strong { color: var(--mz-text-strong); }
.rp-sec .mz-grid { margin-top: 1.75rem; }
