/* Scholarship guides — calm reader layout (accent colours are set per guide in each page head).
   Neutral surfaces, one accent colour for links, small colour cues in chips and bars only. */

:root {
  --rd-bg: #f7f7f8;
  --rd-surface: #ffffff;
  --rd-subtle: #fafafa;
  --rd-line: #ebebee;
  --rd-line-strong: #dcdce0;
  --rd-ink: #16171a;
  --rd-text: #242424;
  --rd-muted: #5f636b;
  --rd-faint: #9a9ea6;
  --rd-accent: #0060af;
  --rd-accent-soft: #eef4fa;
  --rd-accent-line: #b8cfe6;
  --rd-violet: #8b5cf6;
  --rd-green: #22b573;
  --rd-sky: #1fa2d6;
  --rd-amber: #f2a72e;
  --rd-red: #e5484d;
  --rd-serif: "Charis SIL", Charter, "Bitstream Charter", Georgia, Cambria, "Times New Roman", serif;
}

/* Minimal reset (the page no longer loads Tailwind) */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; }
button { background: none; font: inherit; color: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
img, svg { display: block; max-width: 100%; }
table { border-collapse: collapse; }
[x-cloak] { display: none !important; }
@media (max-width: 639px) { .hidden-sm { display: none !important; } }
@media (max-width: 899px) { .hidden-md { display: none !important; } }
.rd-chev { width: 16px; height: 16px; color: var(--rd-faint); transition: transform .2s; }
html { scroll-behavior: smooth; }
body.rd { background: var(--rd-bg); color: var(--rd-text); font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; font-feature-settings: "cv11", "ss01"; }
.rd ::selection { background: var(--rd-accent-soft); }

/* ---------- Top bar ---------- */
.rd-topbar { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid var(--rd-line); }
.rd-topbar-inner { max-width: 1360px; margin: 0 auto; height: 60px; padding: 0 16px; display: flex; align-items: center; gap: 12px; }
.rd-brand { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--rd-ink); white-space: nowrap; }
.rd-brand img { width: 26px; height: 26px; border-radius: 7px; }
.rd-brand span { color: var(--rd-faint); font-weight: 500; }
.rd-btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid var(--rd-line-strong); border-radius: 8px; background: var(--rd-surface); font-size: 13px; font-weight: 500; color: var(--rd-text); white-space: nowrap; transition: background .15s, border-color .15s; }
.rd-btn:hover { background: var(--rd-subtle); border-color: #cfcfd5; }
.rd-btn svg { width: 15px; height: 15px; color: var(--rd-muted); }
.rd-btn-primary { background: var(--rd-ink); border-color: var(--rd-ink); color: #fff; }
.rd-btn-primary:hover { background: #2a2c31; border-color: #2a2c31; }
.rd-btn-primary svg { color: #fff; }
.rd-crumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--rd-muted); min-width: 0; }
.rd-crumbs a:hover { color: var(--rd-ink); }
.rd-crumbs .sep { color: var(--rd-line-strong); }
.rd-crumbs .here { color: var(--rd-ink); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; border: 1px solid #b7e4cc; color: #178a55; font-size: 11px; font-weight: 600; background: #f3fbf6; }
.rd-topbar-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.rd-updated { font-size: 13px; color: var(--rd-muted); white-space: nowrap; }
.rd-dot-ok { width: 8px; height: 8px; border-radius: 999px; background: var(--rd-green); box-shadow: 0 0 0 3px #e3f6ec; display: inline-block; margin-right: 6px; vertical-align: middle; }

/* ---------- Shell ---------- */
.rd-shell { max-width: 1360px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { .rd-shell { grid-template-columns: 240px minmax(0, 1fr); } }
@media (min-width: 1280px) { .rd-shell { grid-template-columns: 240px minmax(0, 1fr) 280px; } }

/* Left navigation */
.rd-nav { display: none; border-right: 1px solid var(--rd-line); }
@media (min-width: 1024px) { .rd-nav { display: block; } }
.rd-nav-inner { position: sticky; top: 60px; max-height: calc(100vh - 60px); overflow-y: auto; padding: 20px 14px 32px; }
.rd-nav-guide { display: flex; align-items: center; gap: 10px; padding: 10px 10px; margin-bottom: 14px; border: 1px solid var(--rd-line); background: var(--rd-surface); border-radius: 10px; }
.rd-nav-guide .mark { flex-shrink: 0; width: 34px; height: 34px; border-radius: 8px; background: var(--rd-accent); color: #fff; font-size: 9.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; letter-spacing: .02em; }
.rd-nav-guide .t { font-size: 13px; font-weight: 600; color: var(--rd-ink); line-height: 1.2; }
.rd-nav-guide .s { font-size: 12px; color: var(--rd-faint); }
.rd-nav-label { padding: 18px 10px 6px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rd-faint); }
.rd-nav a.item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border-radius: 8px; font-size: 14px; color: var(--rd-muted); transition: background .12s, color .12s; }
.rd-nav a.item:hover { background: #efeff1; color: var(--rd-ink); }
.rd-nav a.item.is-active { background: var(--rd-surface); color: var(--rd-ink); font-weight: 600; box-shadow: 0 0 0 1px var(--rd-line), 0 1px 2px rgba(16,17,20,.04); }
.rd-nav a.item .min { font-size: 11px; color: var(--rd-faint); font-weight: 500; padding: 1px 7px; border-radius: 999px; background: #efeff1; }
.rd-nav a.item.is-active .min { background: var(--rd-accent-soft); color: var(--rd-accent); }

/* Mobile guide menu */
.rd-mobile-menu { border-bottom: 1px solid var(--rd-line); background: var(--rd-surface); }
@media (min-width: 1024px) { .rd-mobile-menu { display: none; } }
.rd-mobile-menu > button { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; font-size: 14px; font-weight: 500; color: var(--rd-ink); }
.rd-mobile-menu .panel { padding: 0 8px 12px; }
.rd-mobile-menu .panel a.item { display: flex; justify-content: space-between; padding: 9px 10px; border-radius: 8px; font-size: 15px; color: var(--rd-muted); }
.rd-mobile-menu .panel a.item.is-active { background: var(--rd-accent-soft); color: var(--rd-accent); font-weight: 600; }
.rd-mobile-menu .panel a.item .min { font-size: 12px; color: var(--rd-faint); }

/* Centre column */
.rd-main { background: var(--rd-surface); min-width: 0; }
@media (min-width: 1280px) { .rd-main { border-right: 1px solid var(--rd-line); } }
.rd-article { max-width: 744px; margin: 0 auto; padding: 36px 24px 88px; }
@media (min-width: 640px) { .rd-article { padding: 72px 32px 128px; } }

.rd-meta-top { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 22px; font-size: 13px; color: var(--rd-muted); }
.rd-meta-top .src { display: inline-flex; align-items: center; gap: 6px; }
.rd-meta-top .src b { color: var(--rd-ink); font-weight: 600; }
.rd-meta-top .flag { width: 18px; height: 12px; border-radius: 2px; background: linear-gradient(#111 0 33.3%, #dd0000 33.3% 66.6%, #ffce00 66.6%); box-shadow: 0 0 0 1px rgba(0,0,0,.06); }
.rd-title { font-size: 34px; line-height: 1.16; font-weight: 700; letter-spacing: -.024em; color: var(--rd-ink); }
@media (min-width: 640px) { .rd-title { font-size: 44px; line-height: 1.12; } }
.rd-dek { margin-top: 16px; font-family: var(--rd-serif); font-size: 22px; line-height: 1.5; color: var(--rd-muted); }
.rd-byline { margin-top: 32px; padding: 16px 0; border-top: 1px solid var(--rd-line); border-bottom: 1px solid var(--rd-line); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; font-size: 13px; color: var(--rd-muted); }
.rd-byline .who { display: flex; align-items: center; gap: 10px; color: var(--rd-ink); font-weight: 500; }
.rd-byline .who img { width: 28px; height: 28px; border-radius: 999px; }
.rd-byline .dot { width: 3px; height: 3px; border-radius: 999px; background: var(--rd-faint); }

/* Reading progress */
.rd-progress { position: fixed; left: 0; top: 0; height: 2px; width: 0; background: var(--rd-accent); z-index: 60; transition: width .08s linear; }

/* ---------- Prose ---------- */
.rd-prose { font-family: var(--rd-serif); font-size: 19px; line-height: 1.68; color: var(--rd-text); letter-spacing: 0; overflow-wrap: break-word; }
@media (min-width: 640px) { .rd-prose { font-size: 20px; line-height: 1.65; } }
.rd-prose > * + * { margin-top: 1.5em; }
.rd-prose h2 { margin-top: 2.6em; font-family: Inter, system-ui, sans-serif; font-size: 26px; line-height: 1.3; font-weight: 700; letter-spacing: -.018em; color: var(--rd-ink); scroll-margin-top: 84px; }
@media (min-width: 640px) { .rd-prose h2 { font-size: 28px; } }
.rd-prose h3 { margin-top: 2em; font-family: Inter, system-ui, sans-serif; font-size: 21px; line-height: 1.4; font-weight: 600; letter-spacing: -.012em; color: var(--rd-ink); scroll-margin-top: 84px; }
.rd-prose h2 + *, .rd-prose h3 + * { margin-top: .7em; }
.rd-prose > :first-child { margin-top: 0; }
.rd-prose strong { color: var(--rd-ink); font-weight: 700; }
.rd-prose a:not([class]) { color: var(--rd-accent); text-decoration: underline; text-decoration-color: var(--rd-accent-line); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.rd-prose a:not([class]):hover { text-decoration-color: var(--rd-accent); }
.rd-prose ul:not([class]), .rd-prose ol:not([class]) { padding-left: 1.4em; }
.rd-prose ul:not([class]) { list-style: disc; }
.rd-prose ol:not([class]) { list-style: decimal; }
.rd-prose ul:not([class]) li, .rd-prose ol:not([class]) li { padding-left: .3em; }
.rd-prose ul:not([class]) li + li, .rd-prose ol:not([class]) li + li { margin-top: .7em; }
.rd-prose li::marker { color: var(--rd-faint); }
.rd-prose hr { border: 0; text-align: center; margin: 2.6em 0; height: auto; }
.rd-prose hr::before { content: "· · ·"; color: var(--rd-faint); letter-spacing: .6em; font-size: 20px; }
.rd-prose .lead { font-size: 1.06em; color: var(--rd-ink); }
.rd-prose .small { font-size: 17px; line-height: 1.6; color: var(--rd-muted); }

/* Pull quote — Medium style */
.rd-prose blockquote { margin-top: 1.8em; margin-bottom: .3em; border-left: 3px solid var(--rd-ink); padding: 0 0 0 24px; font-size: 1.1em; line-height: 1.58; color: var(--rd-ink); font-style: italic; }

/* Section heading with action, like "Links  [+ Add issue]" */
.rd-sh { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 2.6em; }
.rd-sh h2 { margin-top: 0 !important; }
.rd-sh + * { margin-top: .7em; }
.rd-prose > .rd-ui { margin-top: 1.6em; }
.rd-prose > .rd-ui + p { margin-top: 1.6em; }
.rd-mini-btn { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border: 1px solid var(--rd-line-strong); border-radius: 7px; font-size: 13px; font-weight: 500; color: var(--rd-text); background: var(--rd-surface); white-space: nowrap; text-decoration: none; }
.rd-mini-btn:hover { background: var(--rd-subtle); }

/* ---------- Components (all sized independently of prose) ---------- */
.rd-ui { font-family: Inter, system-ui, sans-serif; font-size: 16px; line-height: 1.6; letter-spacing: -.003em; }

/* Callout */
.rd-note { border: 0; background: #f6f6f7; border-radius: 12px; padding: 20px 24px; font-size: 17px; line-height: 1.65; color: var(--rd-text); }
.rd-note .lbl { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--rd-muted); margin-bottom: 6px; }
.rd-note .lbl i { width: 7px; height: 7px; border-radius: 999px; background: var(--rd-accent); }
.rd-note.warn .lbl i { background: var(--rd-amber); }
.rd-note.bad .lbl i { background: var(--rd-red); }
.rd-note.good .lbl i { background: var(--rd-green); }
.rd-note p + p { margin-top: .6em; }

/* Cards */
.rd-cards { display: grid; gap: 14px; }
.rd-cards.two { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .rd-cards.two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rd-card { display: block; border: 1px solid var(--rd-line); border-radius: 12px; background: var(--rd-surface); padding: 20px 22px; transition: border-color .15s, box-shadow .15s; }
a.rd-card:hover { border-color: var(--rd-line-strong); box-shadow: 0 2px 10px rgba(16,17,20,.05); }
.rd-card .hd { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.rd-card .t { font-size: 17px; font-weight: 600; color: var(--rd-ink); line-height: 1.4; }
.rd-card .d { margin-top: 6px; font-size: 16px; line-height: 1.65; color: #4b4f57; }
.rd-card .chips { margin-top: 12px; }
.rd-score { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 22px; padding: 0 7px; border-radius: 999px; border: 1.5px solid #9fdcbd; color: #178a55; font-size: 12px; font-weight: 600; }
.rd-score.blue { border-color: var(--rd-accent-line); color: var(--rd-accent); }
.rd-score.amber { border-color: #f3d29a; color: #a96a06; }
.rd-score.violet { border-color: #d5c6fb; color: #6d3fe0; }

/* Chips */
.rd-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-chip { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 6px 0 9px; border: 1px solid var(--rd-line); border-radius: 8px; background: var(--rd-surface); font-size: 13px; color: var(--rd-text); white-space: nowrap; }
.rd-chip.plain { padding-right: 10px; }
.rd-chip svg { width: 15px; height: 15px; }
.rd-chip .n { font-size: 11px; font-weight: 500; color: var(--rd-muted); background: #f1f1f3; border-radius: 5px; padding: 2px 6px; }
.c-violet { color: var(--rd-violet); } .c-green { color: var(--rd-green); } .c-sky { color: var(--rd-sky); } .c-amber { color: var(--rd-amber); } .c-red { color: var(--rd-red); } .c-blue { color: var(--rd-accent); } .c-muted { color: var(--rd-faint); }

/* Check / cross lists */
.rd-checks { display: grid; gap: 0; border: 1px solid var(--rd-line); border-radius: 12px; overflow: hidden; background: var(--rd-surface); }
.rd-checks > li { display: flex; gap: 14px; padding: 18px 22px; font-size: 17px; line-height: 1.6; color: var(--rd-text); }
.rd-checks > li + li { border-top: 1px solid var(--rd-line); }
.rd-checks .ic { flex-shrink: 0; margin-top: 3px; width: 20px; height: 20px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: #e9f7f0; color: #178a55; }
.rd-checks .ic svg { width: 12px; height: 12px; }
.rd-checks.x .ic, .rd-checks .ic.x { background: #fdeeee; color: var(--rd-red); }
.rd-checks .ic.i { background: var(--rd-accent-soft); color: var(--rd-accent); }
.rd-checks .ic.w { background: #fdf4e3; color: #a96a06; }
.rd-checks li strong { color: var(--rd-ink); font-weight: 600; }

/* Table */
.rd-table-wrap { border: 1px solid var(--rd-line); border-radius: 12px; overflow-x: auto; background: var(--rd-surface); }
.rd-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.55; }
.rd-table th { text-align: left; padding: 12px 18px; font-size: 12px; font-weight: 600; color: var(--rd-muted); background: var(--rd-subtle); border-bottom: 1px solid var(--rd-line); white-space: nowrap; }
.rd-table td { padding: 14px 18px; border-top: 1px solid var(--rd-line); color: var(--rd-text); vertical-align: top; }
.rd-table tr:first-child td { border-top: 0; }
.rd-table td:first-child { color: var(--rd-ink); font-weight: 500; }

/* Steps / thread timeline */
.rd-steps { position: relative; }
.rd-steps > li { position: relative; display: flex; gap: 18px; padding-bottom: 28px; }
.rd-steps > li:last-child { padding-bottom: 0; }
.rd-steps > li::before { content: ""; position: absolute; left: 13px; top: 30px; bottom: 2px; width: 1px; background: var(--rd-line-strong); }
.rd-steps > li:last-child::before { display: none; }
.rd-steps .num { position: relative; z-index: 1; flex-shrink: 0; width: 27px; height: 27px; border-radius: 999px; border: 1px solid var(--rd-line-strong); background: var(--rd-surface); font-size: 12px; font-weight: 600; color: var(--rd-text); display: flex; align-items: center; justify-content: center; }
.rd-steps .num.done { background: var(--rd-green); border-color: var(--rd-green); color: #fff; }
.rd-steps .num.on { background: var(--rd-accent); border-color: var(--rd-accent); color: #fff; }
.rd-steps .body { flex: 1; min-width: 0; padding-top: 2px; }
.rd-steps .when { font-size: 12px; font-weight: 500; color: var(--rd-faint); }
.rd-steps .t { font-size: 17px; font-weight: 600; color: var(--rd-ink); line-height: 1.45; }
.rd-steps .d { margin-top: 6px; font-size: 17px; line-height: 1.6; color: #4b4f57; }
.rd-steps.boxed .body { border: 1px solid var(--rd-line); border-radius: 12px; padding: 16px 20px; margin-top: -2px; }

/* Accordion (FAQ / tips) */
.rd-acc { border: 1px solid var(--rd-line); border-radius: 12px; overflow: hidden; background: var(--rd-surface); }
.rd-acc > div + div { border-top: 1px solid var(--rd-line); }
.rd-acc button { width: 100%; display: flex; align-items: center; gap: 12px; padding: 20px 22px; text-align: left; font-size: 17px; font-weight: 600; color: var(--rd-ink); line-height: 1.45; }
.rd-acc button:hover { background: var(--rd-subtle); }
.rd-acc button svg { flex-shrink: 0; width: 16px; height: 16px; margin-left: auto; color: var(--rd-faint); transition: transform .2s; }
.rd-acc .a { padding: 0 22px 22px; font-family: var(--rd-serif); font-size: 18px; line-height: 1.65; color: var(--rd-text); }

/* Segmented tabs */
.rd-tabs { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--rd-line); border-radius: 9px; background: var(--rd-subtle); max-width: 100%; overflow-x: auto; }
.rd-tabs button { height: 30px; padding: 0 12px; border-radius: 7px; font-size: 13px; font-weight: 500; color: var(--rd-muted); white-space: nowrap; }
.rd-tabs button.on { background: var(--rd-surface); color: var(--rd-ink); box-shadow: 0 0 0 1px var(--rd-line), 0 1px 2px rgba(16,17,20,.05); }
.rd-panel { border: 1px solid var(--rd-line); border-radius: 12px; background: var(--rd-surface); padding: 22px 24px; }

/* Choice buttons (quizzes) */
.rd-choice { height: 36px; padding: 0 16px; border: 1px solid var(--rd-line-strong); border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--rd-text); background: var(--rd-surface); }
.rd-choice:hover { background: var(--rd-subtle); }
.rd-choice.yes.on { background: var(--rd-ink); border-color: var(--rd-ink); color: #fff; }
.rd-choice.no.on { background: var(--rd-red); border-color: var(--rd-red); color: #fff; }

/* Stat row */
.rd-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--rd-line); border-radius: 12px; background: var(--rd-surface); overflow: hidden; }
@media (min-width: 640px) { .rd-stats.four { grid-template-columns: repeat(4, minmax(0, 1fr)); } .rd-stats.three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rd-stats > div { padding: 18px 20px; border-left: 1px solid var(--rd-line); border-top: 1px solid var(--rd-line); margin: -1px 0 0 -1px; }
.rd-stats .v { font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--rd-ink); }
.rd-stats .k { margin-top: 4px; font-size: 13px; color: var(--rd-muted); }

/* Bars (insight style) */
.rd-bars { display: grid; gap: 12px; }
.rd-bar { display: grid; grid-template-columns: 18px 84px minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 13px; color: var(--rd-text); }
.rd-bar svg { width: 16px; height: 16px; }
.rd-bar .lbl { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-bar .fill { height: 5px; border-radius: 999px; }
.rd-bar .val { font-size: 11px; font-weight: 500; color: var(--rd-muted); background: #f1f1f3; border-radius: 5px; padding: 2px 6px; white-space: nowrap; }
.f-violet { background: var(--rd-violet); } .f-green { background: var(--rd-green); } .f-sky { background: var(--rd-sky); } .f-amber { background: var(--rd-amber); } .f-blue { background: var(--rd-accent); } .f-red { background: var(--rd-red); }

/* Next / previous */
.rd-pager { margin-top: 88px; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .rd-pager { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rd-pager a { display: block; border: 1px solid var(--rd-line); border-radius: 12px; padding: 14px 18px; transition: border-color .15s; }
.rd-pager a:hover { border-color: var(--rd-line-strong); }
.rd-pager .k { font-size: 12px; color: var(--rd-faint); }
.rd-pager .t { margin-top: 2px; font-size: 15px; font-weight: 600; color: var(--rd-ink); }
.rd-pager a.next { text-align: right; }

/* ---------- Right rail ---------- */
.rd-rail { display: none; }
@media (min-width: 1280px) { .rd-rail { display: block; } }
.rd-rail-inner { position: sticky; top: 60px; max-height: calc(100vh - 60px); overflow-y: auto; padding: 24px 20px 32px; }
.rd-rail-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; font-size: 14px; font-weight: 600; color: var(--rd-ink); }
.rd-rail-h .rd-mini-btn { height: 26px; font-size: 12px; }
.rd-rail-sec + .rd-rail-sec { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--rd-line); }
.rd-toc { display: grid; gap: 2px; border-left: 1px solid var(--rd-line); }
.rd-toc a { display: block; margin-left: -1px; padding: 5px 0 5px 14px; border-left: 2px solid transparent; font-size: 13px; line-height: 1.45; color: var(--rd-muted); }
.rd-toc a:hover { color: var(--rd-ink); }
.rd-toc a.on { border-left-color: var(--rd-ink); color: var(--rd-ink); font-weight: 500; }
.rd-facts { display: grid; gap: 10px; font-size: 13px; }
.rd-facts div { display: flex; justify-content: space-between; gap: 12px; }
.rd-facts dt { color: var(--rd-muted); }
.rd-facts dd { color: var(--rd-ink); font-weight: 500; text-align: right; }
.rd-rail .rd-official { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--rd-line); border-radius: 10px; font-size: 13px; color: var(--rd-text); }
.rd-rail .rd-official:hover { background: var(--rd-subtle); }

/* Mobile "at a glance" inside article */
.rd-glance-mobile { margin-top: 28px; }
@media (min-width: 1280px) { .rd-glance-mobile { display: none; } }

/* ---------- Footer ---------- */
.rd-footer { border-top: 1px solid var(--rd-line); background: var(--rd-surface); }
.rd-footer-inner { max-width: 1360px; margin: 0 auto; padding: 28px 16px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; font-size: 13px; color: var(--rd-muted); }
.rd-footer a:hover { color: var(--rd-ink); }
.rd-related { border-top: 1px solid var(--rd-line); background: var(--rd-bg); }
.rd-related-inner { max-width: 1360px; margin: 0 auto; padding: 36px 16px; display: grid; gap: 24px; }
@media (min-width: 768px) { .rd-related-inner { grid-template-columns: 1fr 2fr; } }
.rd-related .lbl { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--rd-faint); margin-bottom: 10px; }
.rd-related .grid3 { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .rd-related .grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rd-related .grid3 a { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--rd-line); background: var(--rd-surface); border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--rd-ink); }
.rd-related .grid3 a:hover { border-color: var(--rd-line-strong); }
.rd-related .grid3 a span:last-child { margin-left: auto; color: var(--rd-faint); }

/* Phone: keep the top bar to brand + one action */
@media (max-width: 639px) {
  .rd-brand span, .rd-crumbs { display: none; }
  .rd-topbar-inner { height: 56px; }
  .rd-nav-inner, .rd-rail-inner { top: 56px; }
  .rd-dek { font-size: 19px; }
}

/* Interface pieces always stay in the sans face, even inside serif prose */
.rd-mini-btn, .rd-btn, .rd-chip, .rd-score, .rd-pager, .rd-sh .rd-mini-btn { font-family: Inter, system-ui, sans-serif; }
.rd-rail .rd-bar { grid-template-columns: 16px 64px minmax(0, 1fr) auto; }

/* Generic guide additions */
.rd-meta-top .emoji { font-size: 16px; line-height: 1; }
.rd-nav-guide .mark { font-size: 10px; }
