/* Demonstrable Oversight pages — LIGHT system, matching the live site (white ground,
   Inter, #15161a ink, brand red #E30613). Namespaced .do-* so nothing here leaks into
   the shared header/footer. Reuses the site's :root tokens (--ink, --muted, --line,
   --field-line, --bg-alt, --shadow-sm, --grad-soft). No dark theme, no Google Fonts. */

:root{
  /* Capability colours — reused verbatim from the poster. All >= 4.5:1 on white.
     Understand 9.59 · Monitor 6.91 · Resist 4.88 · Interpret 9.74 · Intervene 7.72.
     Colour is decoration only; every capability is named and marked, never hue alone. */
  --do-u:#2F4858; --do-m:#116466; --do-r:#E30613; --do-i:#6B2D5C; --do-v:#1B5E3F;
  --do-radius:16px; --do-radius-sm:12px;
}

/* rhythm ------------------------------------------------------------------ */
.do-section{padding:44px 0;border-top:1px solid var(--line)}
.do-section:first-of-type{border-top:0}
.do-section--tint{background:var(--bg-alt);border-top:1px solid var(--line)}
.do-wrapNarrow{max-width:none}

.do-section h2{font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2;font-weight:700;margin:0 0 16px;letter-spacing:-.01em;color:var(--ink)}
.do-section h3{font-size:1.15rem;font-weight:700;margin:0 0 8px;color:var(--ink)}
.do-section p{line-height:1.68;margin:0 0 16px;max-width:70ch;color:var(--ink-soft)}
.do-eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--indigo);margin:0 0 12px}
.do-lead{font-size:1.18rem;color:var(--ink);max-width:62ch;line-height:1.55}
.do-muted{color:var(--muted)}
.do-section p.do-muted{color:var(--muted)}

/* anchors clear the sticky header */
main [id]{scroll-margin-top:96px}

/* version block ----------------------------------------------------------- */
.do-version{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:18px 0 0;padding:14px 18px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--do-radius-sm);font-size:.92rem}
.do-version b{color:var(--ink);font-weight:700}
.do-version span{color:var(--muted)}
.do-version a{font-weight:600;color:var(--indigo)}
.do-flag{display:inline-block;background:var(--grad-soft);border:1px solid var(--indigo);color:#b3050f;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:6px}

/* poster block ------------------------------------------------------------ */
.do-poster{margin:26px 0 0}
.do-poster__img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--do-radius);background:#fff}
.do-poster__foot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin:14px auto 0}
.do-poster__cap{color:var(--muted);font-size:.95rem;margin:0 auto;max-width:60ch}
.do-poster__dl{font-weight:600;white-space:nowrap;color:var(--indigo)}

/* "start with your question" --------------------------------------------- */
.do-questions{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.do-questions li{margin:0}
.do-questions a{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;line-height:1.4}
.do-questions li:first-child a{border-top:1px solid var(--line)}
.do-questions a .q{font-weight:600;max-width:60ch}
.do-questions a .to{color:var(--muted);font-size:.9rem;font-weight:600;white-space:nowrap}
.do-questions a:hover .q{text-decoration:underline}
.do-questions a:hover .to{color:var(--indigo)}

/* the claim — thesis, visually distinct ---------------------------------- */
.do-claim{background:var(--bg-alt);border-left:4px solid var(--indigo);border-radius:0 var(--do-radius) var(--do-radius) 0;padding:22px 26px}
.do-claim p{font-size:1.22rem;line-height:1.6;color:var(--ink);margin:0;max-width:60ch}

/* capability cards -------------------------------------------------------- */
.do-cap{position:relative;--c:var(--ink);border:1px solid var(--line);border-left:4px solid var(--c);background:#fff;border-radius:var(--do-radius);box-shadow:var(--shadow-sm);padding:24px 26px;margin:0 0 18px}
.do-cap--u{--c:var(--do-u)} .do-cap--m{--c:var(--do-m)} .do-cap--r{--c:var(--do-r)}
.do-cap--i{--c:var(--do-i)} .do-cap--v{--c:var(--do-v)}
.do-cap__head{display:flex;gap:16px;align-items:flex-start;margin:0 0 14px}
.do-cap__mark{flex:none;width:48px;height:48px;display:block}
.do-cap__ref{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c);margin:0 0 3px}
.do-cap__head h3{margin:0}
.do-cap__lead{font-size:1.05rem;font-weight:600;color:var(--ink);margin:0 0 16px;line-height:1.5}

/* statutory quote — distinct without relying on colour: labelled, italic,
   quotation mark, left rule, inset surface */
.do-statute{position:relative;background:var(--bg-alt);border-left:4px solid var(--muted);border-radius:0 var(--do-radius-sm) var(--do-radius-sm) 0;padding:16px 18px;margin:0 0 18px}
.do-statute__label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.do-statute__label::before{content:"\201C "}
.do-statute p{font-style:normal;color:var(--ink-soft);margin:0;max-width:none}
.do-crit-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.do-criteria{list-style:none;margin:0;padding:0;display:grid;gap:0}
.do-criteria li{position:relative;padding:14px 2px 14px 20px;border-top:1px solid var(--line);line-height:1.6;color:var(--ink-soft)}
.do-criteria li:first-child{border-top:0}
.do-criteria li::before{content:"";position:absolute;left:0;top:1.35em;width:9px;height:2px;background:var(--c,var(--muted));border-radius:2px}
.do-criteria li b{color:var(--ink)}

/* in-card figure (Aim for / Avoid) — Resist only at launch */
.do-capfig{margin:16px 0 0}
.do-capfig__img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--do-radius-sm)}
.do-capfig figcaption{color:var(--muted);font-size:.9rem;margin:8px 2px 0}

/* anchor + copy-link control — cite an individual criterion */
.do-cap__foot{margin:18px 0 0}
.do-permalink{display:inline-flex;align-items:center;gap:7px;min-height:24px;padding:5px 8px;margin-left:-8px;border-radius:8px;font-size:.9rem;font-weight:600;color:var(--muted);text-decoration:none}
.do-permalink__i{width:16px;height:16px;flex:none}
.do-permalink:hover,.do-permalink:focus-visible{color:var(--indigo);background:var(--bg-alt)}
.do-permalink[data-done="1"]{color:#116466}

/* friction symmetry carries extra weight */
#friction-symmetry b{color:var(--ink)}

/* base condition — underlying, not a sixth capability: full-width tinted band */
.do-base{background:var(--bg-alt);border-left:4px solid var(--ink);border-radius:0 var(--do-radius) var(--do-radius) 0;padding:24px 28px}
.do-base h2{margin-top:0}
.do-base p{max-width:72ch;margin-bottom:0}

/* generic lists / cite / refs -------------------------------------------- */
.do-list{margin:0;padding-left:1.1em;color:var(--ink-soft)}
.do-list li{margin:0 0 10px;line-height:1.6}
.do-list a{color:var(--indigo)}
.do-cite{background:var(--bg-alt);border-left:4px solid var(--muted);border-radius:0 var(--do-radius-sm) var(--do-radius-sm) 0;padding:16px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word}
.do-cite a{color:var(--indigo)}
.do-refs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.do-refs li{color:var(--muted);font-size:.92rem;line-height:1.5;padding-left:1.2em;text-indent:-1.2em}
.do-refs a{color:var(--indigo)}

/* numbered protocol (seeded-error-audit) — order carried by the <ol>, numerals are
   real text in the markup (not a pseudo-element), with a connecting rule down the run */
.do-steps{list-style:none;margin:0;padding:0}
.do-steps>li{position:relative;padding:0 0 28px 66px;margin:0}
.do-steps__num{position:absolute;left:0;top:0;width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--indigo);color:var(--indigo);font-weight:800;font-size:1.15rem;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;z-index:1}
.do-steps>li::after{content:"";position:absolute;left:22px;top:46px;bottom:0;width:2px;background:var(--line)}
.do-steps>li:last-child{padding-bottom:0}
.do-steps>li:last-child::after{display:none}
.do-steps h3{margin:6px 0 8px}
.do-steps p{margin:0}

/* ---------- checklist (page 3) ------------------------------------------ */
.do-checkgroup{border:1px solid var(--line);background:#fff;border-radius:var(--do-radius);box-shadow:var(--shadow-sm);padding:20px 24px 22px;margin:0 0 28px}
.do-checkgroup legend{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.05rem;padding:0 4px 14px;color:var(--ink)}
.do-checkgroup legend .do-legmark{flex:none;width:32px;height:32px;display:block}
.do-checkgroup legend .do-legtxt{display:flex;flex-direction:column}
.do-checkgroup legend .do-legart{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.do-check{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.do-check:first-of-type{border-top:0}
.do-check input[type=checkbox]{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:var(--indigo);cursor:pointer}
.do-check label{cursor:pointer;line-height:1.55;color:var(--ink-soft)}
.do-check .n{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:2px}
.do-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:16px 0 22px}
.do-btn{font:inherit;font-weight:700;background:var(--indigo);color:#ffffff;border:0;border-radius:999px;padding:14px 26px;min-height:44px;cursor:pointer}
.do-btn:hover{filter:brightness(1.06)}
.do-btn--ghost{background:#fff;border:1px solid var(--field-line);color:var(--ink)}
.do-btn--ghost:hover{filter:none;background:var(--bg-alt)}

/* result */
.do-result{margin-top:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--do-radius);padding:24px 26px}
.do-result[hidden]{display:none}
.do-result h2{margin-top:0}
.do-profile{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.do-prow{display:grid;grid-template-columns:24px 170px 1fr auto;gap:12px;align-items:center}
.do-prow__mark{width:24px;height:24px;display:block}
.do-prow__name{font-weight:600;color:var(--ink)}
.do-prow__bar{height:12px;background:var(--bg-alt);border:1px solid var(--field-line);border-radius:999px;overflow:hidden}
.do-prow__bar i{display:block;height:100%;background:var(--indigo)}
.do-prow__n{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700;white-space:nowrap}
.do-verdict{border-top:1px solid var(--line);padding-top:18px;font-size:1.05rem;line-height:1.6;color:var(--ink-soft)}
.do-verdict strong{color:var(--ink)}
.do-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* closing block that replaced the opt-in */
.do-closing{margin-top:24px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--do-radius);padding:22px 24px}
.do-closing p{margin:0 0 12px;color:var(--ink-soft)}
.do-closing p:last-child{margin-bottom:0}
.do-closing a{color:var(--indigo);font-weight:600}

@media (max-width:760px){
  .do-prow{grid-template-columns:24px 1fr auto;grid-template-areas:"mark name n" "bar bar bar"}
  .do-prow__mark{grid-area:mark}.do-prow__name{grid-area:name}.do-prow__n{grid-area:n}.do-prow__bar{grid-area:bar}
  .do-cap{padding:20px 18px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* print — invert dark surfaces so text survives, force poster full width,
   and keep the capability colour bands + marks (print-color-adjust:exact) */
@media print{
  /* dark hero + at-a-glance + matrix header -> ink on white */
  .do-hero{background:#fff!important;color:#111!important;padding:0 0 10px!important}
  .do-hero h1,.do-hero__eyebrow,.do-hero__lead,.do-hero__lead--2,
  .do-ataglance__h,.do-ataglance dt,.do-ataglance dd,.do-hero__meta,.do-hero__meta *{color:#111!important}
  .do-ataglance{border-left:3px solid #111!important}
  .do-hero__meta{border-top:1px solid #999!important}
  .do-matrix thead th{background:#fff!important;color:#111!important;border:1px solid #333!important}

  .do-section{border-top:1px solid #ccc;padding:16px 0}
  .do-cap,.do-checkgroup,.do-result{box-shadow:none;break-inside:avoid}

  /* poster + figures print full width and are not dropped */
  .do-posterhero,.do-poster,.do-posterband{margin:0!important}
  .do-poster__img,.do-capfig__img,.do-posterband img{width:100%!important;max-width:100%!important;border:1px solid #999}

  /* capability colour bands, marks and inset surfaces must print, not be dropped */
  .do-cap,.do-cap--u,.do-cap--m,.do-cap--r,.do-cap--i,.do-cap--v,
  .do-cap__mark,.do-legmark,.do-prow__mark,.do-statute,.do-claim,.do-base,
  .do-criteria li,.do-criteria li::before,.do-version,.do-cite,.do-rule,.do-guard,
  .do-poster__img,.do-capfig__img{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rtd-tab,.rtd-tab[aria-selected="true"],.rtd-tabs,.rtd-ref--u,.rtd-ref--m,.rtd-ref--r,.rtd-ref--i,.rtd-ref--v,.do-capfig,.do-cap__mark{-webkit-print-color-adjust:exact;print-color-adjust:exact}

  /* interactive-only controls off */
  .do-permalink,.do-poster__dl,.do-controls,.do-legcount{display:none!important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;color:#555}
}

/* ============================================================
   Method-page redesign: full-bleed dark hero, at-a-glance strip,
   HEART-style matrix, rule cards, guardrail panel.
   ============================================================ */

/* full-bleed dark hero (spans the viewport; inner .container centres content) */
.do-hero{background:var(--bg-dark);color:#fff;padding:66px 0 60px}
.do-hero__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center}
.do-hero__eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ff8a91;margin:0 0 10px}
.do-hero h1{font-size:clamp(2rem,5vw,3rem);line-height:1.06;letter-spacing:-.02em;font-weight:700;margin:0;color:#fff;max-width:18ch}
.do-hero__lead{font-size:1.12rem;line-height:1.6;color:#c9ccd2;margin:16px 0 0;max-width:52ch}
.do-hero__lead--2{font-size:1rem;color:#b9bdc4;margin-top:12px}
.do-ataglance{border-left:3px solid var(--indigo);padding-left:18px}
.do-ataglance__h{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9aa0a8;margin:0 0 10px}
.do-ataglance dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0}
.do-ataglance dt{color:#9aa0a8;font-size:.9rem;white-space:nowrap}
.do-ataglance dd{color:#e7e9ec;font-size:.9rem;margin:0;line-height:1.4}
@media (max-width:760px){
  .do-hero{padding:44px 0 40px}
  .do-hero__grid{grid-template-columns:1fr;gap:26px}
  .do-ataglance{border-left:0;border-top:3px solid var(--indigo);padding-left:0;padding-top:16px}
}

.do-wrapWide{max-width:none}

/* HEART-style matrix (real table; responsive card transform on narrow) */
.do-matrixwrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.do-matrix{width:100%;border-collapse:collapse;font-size:.92rem}
.do-matrix caption{text-align:left;caption-side:top;padding:0 0 12px;color:var(--muted);font-size:.9rem}
.do-matrix thead th{background:var(--bg-dark);color:#fff;text-align:left;font-weight:700;font-size:.78rem;letter-spacing:.02em;padding:12px 14px;vertical-align:middle}
.do-matrix tbody th,.do-matrix tbody td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;line-height:1.5}
.do-matrix tbody th[scope=row]{background:var(--bg-alt);color:var(--ink);font-weight:700;text-align:left;white-space:nowrap}
.do-matrix tbody td{color:var(--ink-soft);background:#fff}
.do-matrix tbody th[scope=row] .do-mx-mark{width:22px;height:22px;vertical-align:-5px;margin-right:8px}
.do-matrix tbody th[scope=row] .do-mx-num{color:var(--indigo);font-weight:800;margin-right:6px;font-variant-numeric:tabular-nums}
.do-matrix a{color:var(--indigo);font-weight:600;white-space:nowrap}
.do-mxnote{font-size:.8rem;color:var(--muted);margin:10px 2px 0}
@media (max-width:760px){
  .do-matrix thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .do-matrix,.do-matrix tbody,.do-matrix tr,.do-matrix th,.do-matrix td{display:block;width:auto}
  .do-matrix tr{border-top:1px solid var(--line);padding:6px 0}
  .do-matrix tr:first-child{border-top:0}
  .do-matrix tbody th[scope=row]{background:transparent;padding:10px 14px 4px;font-size:1rem}
  .do-matrix tbody td{border-top:0;padding:2px 14px 8px}
  .do-matrix tbody td::before{content:attr(data-label);display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
}

/* three rule cards */
.do-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.do-rule{border:1px solid var(--line);border-top:3px solid var(--indigo);border-radius:0 0 12px 12px;padding:15px 17px;background:#fff}
.do-rule h3{margin:0 0 6px;font-size:1rem}
.do-rule p{margin:0;font-size:.92rem;color:var(--ink-soft);line-height:1.5}
@media (max-width:680px){.do-rules{grid-template-columns:1fr}.do-rule{border-radius:0 12px 12px 0;border-top:1px solid var(--line);border-left:3px solid var(--indigo)}}

/* guardrail panel (ethics) */
.do-guard{background:var(--bg-alt);border:1px solid var(--line);border-left:4px solid #116466;border-radius:0 12px 12px 0;padding:18px 20px}
.do-guard__h{display:flex;align-items:center;gap:8px;font-weight:700;color:#0f4a44;margin:0 0 8px}
.do-guard p{margin:0;color:var(--ink-soft)}

/* poster used as a full-width band foot */
.do-posterband{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0}
.do-posterband a.block{display:block}
.do-posterband img{display:block;width:100%;height:auto}
.do-posterband__foot{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;align-items:baseline;padding:12px 16px}

/* hub hero poster — full container width, prominent */
.do-posterhero{margin-top:26px}
.do-posterhero .do-poster{margin:0}
.do-posterhero .do-poster__img{border-radius:16px}

/* hero meta line (version/licence on the dark hero) */
.do-hero__meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:32px 0 0;padding-top:22px;border-top:1px solid #26262a;font-size:.9rem;color:#9aa0a8}
.do-hero__meta b{color:#fff;font-weight:700}
.do-hero__meta a{color:#ff8a91;font-weight:600}
.do-hero__meta .do-flag{background:#2a1113;border:1px solid #ff8a91;color:#ff8a91}

/* poster in its own light band under the dark hero */
.do-posterband-sec .do-poster{margin:0}

/* checklist: live per-group progress pill in the legend */
.do-checkgroup legend .do-legcount{margin-left:auto;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.do-checkgroup legend .do-legcount[data-full="1"]{color:#0f4a44;border-color:#116466;background:#e6f2ef}

/* ---- Aim for / Avoid figures (picture) + interactive demo iframes ---- */
.do-capfig picture{display:block}
.do-demo{margin:20px 0 0}
.do-demo__intro{font-weight:600;color:var(--ink);margin:0 0 12px;max-width:70ch;line-height:1.5}
.do-demo iframe{width:100%;display:block;border:1px solid var(--line);border-radius:12px;background:#fff}
.do-demo__cap{color:var(--muted);font-size:.9rem;margin:8px 2px 0;max-width:70ch;line-height:1.5}
.do-base .do-capfig{margin-top:18px}
@media print{
  .do-demo iframe{display:none!important}
  .do-demo::after{content:"[ Interactive demo — open the page to use it ]";display:block;color:#555;font-size:.85rem;border:1px dashed #999;padding:12px;border-radius:8px}
}

/* ---- Capabilities as open sections (proposal D): no card box, full-bleed figures ---- */
.do-capsec{padding:36px 0 10px;border-top:1px solid var(--line)}
.do-capsec--u{--c:var(--do-u)} .do-capsec--m{--c:var(--do-m)} .do-capsec--r{--c:var(--do-r)}
.do-capsec--i{--c:var(--do-i)} .do-capsec--v{--c:var(--do-v)}
.do-capsec--tint{background:var(--bg-alt)}
.do-capsec__head{display:flex;gap:16px;align-items:center;margin:0 0 2px}
.do-capsec__num{font-size:1.75rem;font-weight:800;line-height:1;color:var(--c);font-variant-numeric:tabular-nums;flex:none}
.do-capsec__mark{width:44px;height:44px;flex:none}
.do-capsec__ref{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c);margin:0 0 2px}
.do-capsec h3{margin:0;font-size:1.3rem;color:var(--ink)}
.do-capsec__lead{font-size:1.08rem;font-weight:600;color:var(--ink);margin:16px 0 0;line-height:1.5}
.do-capsec .do-demo{margin-top:24px}
/* full-bleed figure: section is full width, figure is a direct child (outside .container) */
.do-capfig--bleed{margin:26px 0 0}
.do-capfig--bleed{max-width:1000px;margin:24px auto 0;padding:0 24px}
.do-capfig--bleed .do-capfig__img{width:100%;display:block;margin:0 auto;height:auto;border:1px solid var(--line);border-radius:12px}
.do-capfig--bleed .do-capfig__cap{margin:0}
.do-capfig__cap .container{color:var(--muted);font-size:.92rem;padding-top:12px;line-height:1.5}
@media (max-width:760px){ .do-capsec__num{font-size:1.4rem} }

/* handover-check score */
.do-hcscore{font-size:2.4rem;font-weight:800;color:var(--ink);margin:0 0 6px;font-variant-numeric:tabular-nums;line-height:1}
.do-hcof{font-size:1rem;font-weight:600;color:var(--muted)}

/* ---- Appendix accordions (references, changelog, licence, relationship) ---- */
.do-appx{border-top:1px solid var(--line)}
.do-appx summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 2px;min-height:44px}
.do-appx summary::-webkit-details-marker{display:none}
.do-appx summary h2{margin:0;font-size:1.15rem}
.do-appx summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s;margin-right:4px}
.do-appx[open] summary::after{transform:rotate(-135deg)}
.do-appx summary:hover h2,.do-appx summary:focus-visible h2{color:var(--indigo)}
.do-appx__body{padding:0 2px 22px}
@media (prefers-reduced-motion:reduce){ .do-appx summary::after{transition:none} }

/* ---- Room to Disagree: one consistent content rail (no narrow/wide mix) ---- */
.do-rail{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.do-hero .do-rail .do-hero__grid{max-width:none}

/* centre every figure caption under its image */
.do-capfig figcaption,.do-capfig__cap,.do-capfig__cap2,.do-poster__cap{text-align:center}
.do-poster__foot{justify-content:center;flex-direction:column;gap:6px}

/* ---- Capability explorer (accessible tabs; square borders, no curled ends) ---- */
.rtd-explorer{margin:24px 0 0}
.rtd-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line)}
html:not(.js) .rtd-tabs{display:none}
.rtd-tab{--tc:var(--ink);flex:1 1 0;min-width:118px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 10px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;cursor:pointer;font:inherit;color:var(--muted);font-weight:600}
.rtd-tab img{width:26px;height:26px}
.rtd-tab__name{font-size:1.1rem;font-weight:600}
.rtd-tab__ref{font-size:.74rem;color:var(--muted);font-weight:600;letter-spacing:.02em}
.rtd-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--tc)}
.rtd-tab:hover{color:var(--ink)}
.rtd-tab:focus-visible{outline:3px solid var(--indigo);outline-offset:-3px}
.rtd-tab--u{--tc:var(--do-u)} .rtd-tab--m{--tc:var(--do-m)} .rtd-tab--r{--tc:var(--do-r)}
.rtd-tab--i{--tc:var(--do-i)} .rtd-tab--v{--tc:var(--do-v)}
.rtd-panel{padding:26px 0 0}
html.js .rtd-panel:not(.rtd-panel--active){display:none}
html:not(.js) .rtd-panel{border-top:1px solid var(--line);margin-top:12px}
.rtd-panel__grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:start}
.rtd-panel__text h3{margin:2px 0 0;font-size:1.35rem}
.rtd-ref--u{color:var(--do-u)} .rtd-ref--m{color:var(--do-m)} .rtd-ref--r{color:var(--do-r)}
.rtd-ref--i{color:var(--do-i)} .rtd-ref--v{color:var(--do-v)}
.rtd-panel__media .do-capfig{margin:0}
.rtd-panel__media .do-capfig__img{width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.rtd-panel__wide{margin:24px 0 0}
.rtd-fullsize{font-weight:600;color:var(--indigo);white-space:nowrap}
@media (max-width:820px){ .rtd-panel__grid{grid-template-columns:1fr} .rtd-tab{min-width:96px} }

/* ---- Review round: text fills the rail; underline only link labels, not arrows ---- */
.do-rail p,.do-rail li,.do-rail .do-lead,.do-rail .do-capsec__lead,.do-rail .do-statute,
.do-rail .do-criteria,.do-rail .do-list,.do-rail .do-refs,.do-rail .do-claim,
.do-rail .do-base,.do-rail .do-base p,.do-appx__body p,.do-appx__body li{max-width:none}

/* questions: underline only the destination label, never the question or the arrow */
.do-questions a,.do-questions .q{text-decoration:none!important}
.do-questions .to{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.do-questions a:hover .to{color:var(--indigo)}
.do-arr{display:inline-block;text-decoration:none!important;margin-left:.12em}

/* capability panel: text on top, example fills the block end to end */
.rtd-panel__grid{display:block}
.rtd-panel__media{margin-top:22px}
.rtd-panel__media .do-capfig__img{width:100%}

/* space between a full-width figure caption and the following content (e.g. How-to-use links) */
.do-capfig--bleed{margin-bottom:30px}

/* forms/results stay a readable width but left-aligned to the page (header) edge */
.do-checkgroup,.do-result,.do-controls,.do-closing{max-width:760px}

/* form tools (oversight checklist, handover check): centered column, not left-rail */
.do-tool{max-width:840px;margin:0 auto}
.do-tool .do-checkgroup,.do-tool .do-result,.do-tool .do-controls,.do-tool .do-closing{max-width:none}

/* keep the demo frame the same width as the demo content column, left-aligned to the rail */
.do-demo{max-width:760px;margin-left:auto;margin-right:auto}
.do-demo__intro,.do-demo__cap{text-align:left}

/* house rule: no italics */
em,i,cite{font-style:normal}

/* links in running prose must not rely on colour alone (SC 1.4.1) */
.do-hero__lead a,.do-rail p a,.do-section p a,.do-appx__body p a{text-decoration:underline;text-underline-offset:2px}

/* caption links must not rely on colour alone (link-in-text-block) */
.do-poster__cap a,.do-posterband__foot a,.do-capfig__cap2 a,.do-capfig__cap a,.do-demo__cap a{text-decoration:underline;text-underline-offset:2px}
/* Notes and additions since publication — plain record styling */
.do-notes>p:first-child{margin-top:0}
.do-notes h3{font-size:1.05rem;line-height:1.35;margin:1.7em 0 .35em}
.do-cite{color:var(--muted);font-size:.92rem;line-height:1.5;margin:.55em 0 0}
