/* ==========================================================================
   GDVP Manifesto — long-form white-paper EXTENSION of the Mosaic kit.

   This file introduces NO new visual language. The paper field, its sunken
   Win95 bevel, Times/Courier type, grooved rules, classic blue/violet links and
   the table treatment all come from tokens.css + mosaic.css `.markdown-body`.
   Used as `class="markdown-body manifesto"`.

   What it adds is ceremony, not style: a reading scale (~20pt), an honest
   measure, a masthead, an epigraph, a colophon, and the evidence ledger — so a
   white paper can be scrolled top to bottom in one sitting and printed for a
   procurement file, while still reading as a GDVP document.
   ========================================================================== */

/* ---- The reading field: .markdown-body, enlarged and given air ----------- */
.markdown-body.manifesto {
  font-size: 20px;          /* ~20pt reading size, as specified */
  line-height: 1.72;
  max-width: 40em;          /* honest measure for Times at this size */
  margin: 14px auto 3rem;
  padding: 3.5rem 3rem 4.5rem;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}

.markdown-body.manifesto p { margin: 0 0 1.1em; hyphens: auto; }

/* Headings keep the kit's grooved underline; the manifesto only re-scales them
   and letterspaces the section rank so the hierarchy reads at arm's length. */
.markdown-body.manifesto h1 { font-size: 2.1rem; line-height: 1.2; }
.markdown-body.manifesto h2 {
  font-size: 1.12rem; text-transform: uppercase; letter-spacing: .13em;
  margin-top: 3.2rem;
}
.markdown-body.manifesto h3 { font-size: 1.15rem; font-style: italic; margin-top: 2.2rem; }
.markdown-body.manifesto h4 { font-size: 1rem; border-bottom: none; }

/* ---- Masthead ----------------------------------------------------------- */
.manifesto-head { text-align: center; margin: 0 0 3.5rem; }
.manifesto-head h1 { border-bottom: none; padding-bottom: 0; margin: 0 0 .45rem; }
.manifesto-head .subtitle {
  font-size: 1.05rem; font-style: italic; color: var(--ink-soft); margin: 0;
}
.manifesto-head .imprint {
  margin: 1.5rem 0 0; font-family: var(--font-mono); font-size: .72rem;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft);
}
/* The kit's grooved hr, shortened to an ornament. */
.manifesto-head hr { width: 7rem; margin: 1.6rem auto 0; }

/* The epigraph: set apart by air and italics — the kit's blockquote rule is
   retained, only softened for a citation rather than a caution. */
.markdown-body.manifesto blockquote {
  margin: 2rem 1.5rem; font-size: .95em; text-align: center;
  border-left-color: var(--mid);
}

/* Long-form listings stay quiet: Courier on the paper, kit border, no fill. */
.markdown-body.manifesto pre { font-size: .78em; line-height: 1.5; }

/* ---- Colophon ------------------------------------------------------------ */
.markdown-body.manifesto .colophon {
  margin-top: 3.5rem; font-size: .9em; font-style: italic;
  color: var(--ink-soft); text-align: center;
}
.markdown-body.manifesto .colophon strong { font-style: normal; }

/* ==========================================================================
   Evidence register — the dossier bound to the paper. Plainer than the prose on
   purpose: a ledger, not an argument. Identifiers are Courier so SHAs and run
   numbers can be checked character by character. Table chrome is the kit's.
   ========================================================================== */
.markdown-body.manifesto .evidence { font-size: .88em; }
.markdown-body.manifesto .evidence table { font-size: 1em; margin: 1.2rem 0 2rem; }
.evidence caption {
  caption-side: top; text-align: left; font-style: italic;
  color: var(--ink-soft); padding-bottom: .5rem; font-size: .95em;
}
.evidence .sha, .evidence .runid { font-family: var(--font-mono); font-size: .92em; }
.evidence .verdict { font-family: var(--font-mono); font-weight: bold; white-space: nowrap; }
/* Status colours are the kit's semantic tokens — not new hues. */
.evidence .v-pass { color: var(--ok); }
.evidence .v-gap  { color: var(--warn); }
.evidence .v-fail { color: var(--danger); }
.evidence .claim-ref { color: var(--ink-soft); font-size: .92em; }

@media (max-width: 680px) {
  .markdown-body.manifesto { font-size: 18px; padding: 2rem 1.15rem 3rem; }
  .markdown-body.manifesto h1 { font-size: 1.7rem; }
  .markdown-body.manifesto table { font-size: .78em; }
}

/* Print: the paper should survive a procurement file. Drop the app chrome and
   the paper bevel (ink on paper is already the medium). */
@media print {
  .topbar, .appbar, .subnav, .foot { display: none !important; }
  .markdown-body.manifesto {
    max-width: none; font-size: 11pt; padding: 0; margin: 0;
    border: none; box-shadow: none; background: none;
  }
  .markdown-body.manifesto a { color: var(--ink); text-decoration: none; }
  .markdown-body.manifesto a[href^="http"]::after { content: " <" attr(href) ">"; font-size: .8em; }
}
