/* Neutral editorial palette with a restrained, softened red accent. */
:root {
  --ink: #26292b;
  --muted: #535a5d;
  --teal: #87434b;
  --teal2: #f2e9ea;
  --cream: #f5f5f3;
  --line: #d9dcdd;
  --white: #fff;
  --gold: #a36067;
  --shadow: 0 16px 38px rgba(30, 32, 34, .08);
  --surface-soft: #efefed;
  --accent-soft: #f3e8e9;
  --sidebar-ink: #eaebeb;
}

body { background: var(--cream); color: var(--ink); }
a { color: var(--teal); }
button:focus-visible,
a:focus-visible,
input:focus-visible,
summary:focus-visible { outline: 3px solid #9a424b; outline-offset: 3px; }

/* Navigation stays dark and compact, with one clear active state. */
.sidebar { background: #292d30; color: #f7f7f6; }
.brand-mark { border-color: #d1a4a7; color: #e4b9bc; }
.side-label { color: #d0c0c2; }
.nav-link,
.nav-group summary { color: var(--sidebar-ink); }
.nav-link span,
.nav-group-icon { color: #d4a6aa; }
.nav-link:hover,
.nav-link.active,
.nav-group summary:hover,
.nav-group summary:focus-visible,
.nav-group.has-active > summary { background: #613e43; color: #fff; }
.nav-group summary:focus-visible,
.sidebar a:focus-visible { outline-color: #f0b6b9; }
.nav-sublist { border-left-color: #6c6f71; }
.sidebar-foot { border-top-color: #606568; color: #d8dcdd; }
.sidebar-foot small { color: #c9cecf; }
.live-dot { background: #d99198; }

/* Shared surfaces and editorial headings. */
.topbar { border-color: var(--line); color: #565d60; }
.hero-section { background: #eeeeec; }
.hero-section::after {
  border-color: #dedcdb;
  box-shadow: 0 0 0 52px #e9e7e6, 0 0 0 53px #dedcdb;
}
.hero-intro,
.section-heading p,
.brief-lead,
.bill-deck,
.deep-dive-prompt p { color: #4c5356; }
.hero-card,
.stat-grid,
.session-card,
.bill-stage,
.bill-main,
.issue-card,
.glossary-card,
.update-card,
.sources-grid a,
.brief-card,
.brief-ledger div,
.hub-path,
.proposal-grid article,
.policy-starter article { background: #fff; border-color: var(--line); }
.hero-card h2,
.sources-grid strong { color: var(--ink); }
.card-kicker,
.stat-card small,
.source-strip span,
.update-card time,
.update-card span,
.fine-print,
.subtle-note,
footer,
.brief-small { color: #60686b !important; }
.status-icon,
.stat-card strong,
.timeline-year { color: var(--teal); }
.feature-number { color: #d4c6c8; }
.tag { color: var(--teal); }
.tag.pending { color: #6c5659; }
.session-date,
.room-roster > div { background: #f1f1ef; border-color: var(--line); }
.session-card .question,
.issue-card .prompt,
.notice,
.brief-question { background: #f3f1f1; border-left-color: var(--teal); color: #42494c; }
.feature-card,
.update-actions,
.deep-dive-prompt,
.brief-panel { background: #f0eeed; border-color: #ded7d8; }
.updates-section { background: #f0f0ee; }
.snapshot { background: #fff; }
.source-strip,
.stage-row:not(:last-child)::after { border-color: var(--line); }
.stage-row:not(:last-child)::after { background: var(--line); }
.stage-row > span { border-color: #b7bdbf; color: #545c5f; }
.stage-row.done > span,
.stage-row.current > span { background: var(--teal); border-color: var(--teal); color: #fff; }
.stage-row small { color: #5e6669; }

/* Links and actions use the same high-contrast accent. */
.button { border-color: var(--teal); }
.button.primary,
.chip.selected { background: var(--teal); border-color: var(--teal); color: #fff; }
.button.primary:hover { background: #71383f; }
.button.secondary,
.chip { color: var(--teal); border-color: #b9a1a4; }
.button.secondary:hover,
.chip:hover { background: var(--accent-soft); }
.button:hover { box-shadow: 0 6px 16px rgba(104, 52, 58, .16); }
.toolbar input { border-color: #b9bfc1; background: #fff; color: var(--ink); }
.toolbar input::placeholder { color: #5a6164; }
.hub-path:hover { border-color: #a8676e; }
.hub-path-link,
.hub-path-label,
.entry-prompt { color: var(--teal); }

/* Learning routes and the bill-process guide. */
.bill-process { background: #eeeeec; border-color: var(--line); }
.process-steps li { background: #fff; border-color: var(--line); border-top-color: #b8bdbe; }
.process-steps li.is-current { background: #faf6f6; border-top-color: var(--teal); }
.process-note { color: #50585b; }
.proposal-grid p,
.policy-starter p,
.brief-panel p,
.brief-section > p,
.brief-card p,
.brief-timeline p,
.brief-questions li,
.room-steps p,
.room-roster p { color: #454d50; }
.brief-ledger span { color: #4b5356; }
.brief-ledger div { border-color: var(--line); }
.room-steps article { border-color: var(--line); }
.notice p,
.update-actions p,
.glossary-card p { color: #51595c; }

@media (prefers-reduced-motion: reduce) {
  .button,
  .hub-path { transition: none; }
}
