/* Copyright 2026 Ego Hygiene */
/* SPDX-License-Identifier: MIT */

:root {
  color-scheme: dark;
  --ri-canvas: #070910;
  --ri-canvas-raised: #0c1020;
  --ri-surface: rgba(18, 23, 40, 0.9);
  --ri-surface-strong: #171d32;
  --ri-text: #f7f8ff;
  --ri-muted: #aeb7d2;
  --ri-primary: #a77cff;
  --ri-accent: #58e6d9;
  --ri-blue: #78a8ff;
  --ri-success: #6fe0a3;
  --ri-caution: #ffd166;
  --ri-danger: #ff7899;
  --ri-unknown: #b6bfd9;
  --ri-border: rgba(174, 186, 228, 0.2);
  --ri-border-strong: rgba(174, 186, 228, 0.38);
  --ri-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  --ri-radius: 1.15rem;
  --ri-sidebar: 17rem;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html {
  min-width: 20rem;
  background: var(--ri-canvas);
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--ri-text);
  background:
    radial-gradient(circle at 12% -6%, rgba(144, 91, 255, 0.25), transparent 32rem),
    radial-gradient(circle at 94% 9%, rgba(68, 216, 207, 0.17), transparent 30rem),
    linear-gradient(180deg, #080b14, var(--ri-canvas) 62%, #090c17);
  line-height: 1.55;
}

a { color: var(--ri-accent); text-underline-offset: 0.18em; }
a:hover { color: #a5fff7; }

:where(a, button, input, select, summary):focus-visible {
  outline: 0.2rem solid var(--ri-caution);
  outline-offset: 0.2rem;
}

button, input, select { font: inherit; }

.ri-skip {
  position: fixed;
  z-index: 100;
  inset: 0.7rem auto auto 0.7rem;
  padding: 0.7rem 1rem;
  transform: translateY(-180%);
  border-radius: 0.6rem;
  color: #080a11;
  background: var(--ri-caution);
  font-weight: 850;
}

.ri-skip:focus { transform: translateY(0); }

.ri-global-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  min-height: 4.1rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem clamp(1rem, 3vw, 2rem);
  border-bottom: 1px solid var(--ri-border);
  background: rgba(7, 9, 16, 0.84);
  backdrop-filter: blur(18px);
}

.ri-global-header nav { display: flex; gap: 1.25rem; font-size: 0.88rem; }

.ri-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--ri-text);
  text-decoration: none;
}

.ri-brand > span {
  display: grid;
  width: 2.3rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(88, 230, 217, 0.45);
  border-radius: 0.7rem;
  color: var(--ri-accent);
  background: linear-gradient(145deg, rgba(88, 230, 217, 0.15), rgba(167, 124, 255, 0.16));
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.ri-layout { display: grid; grid-template-columns: var(--ri-sidebar) minmax(0, 1fr); }

.ri-sidebar {
  position: sticky;
  top: 4.1rem;
  overflow-y: auto;
  height: calc(100vh - 4.1rem);
  padding: 1.5rem 1rem 2rem;
  border-right: 1px solid var(--ri-border);
  background: rgba(9, 12, 22, 0.58);
}

.ri-repository { display: grid; gap: 0.35rem; padding: 0 0.7rem 1.25rem; }
.ri-repository strong { overflow-wrap: anywhere; }

.ri-route-nav { display: grid; gap: 0.2rem; }

.ri-route-nav a {
  padding: 0.58rem 0.75rem;
  border: 1px solid transparent;
  border-radius: 0.65rem;
  color: var(--ri-muted);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.ri-route-nav a:hover { color: var(--ri-text); background: rgba(174, 186, 228, 0.08); }

.ri-route-nav a[aria-current="page"] {
  border-color: rgba(88, 230, 217, 0.28);
  color: var(--ri-accent);
  background: linear-gradient(90deg, rgba(88, 230, 217, 0.13), rgba(167, 124, 255, 0.08));
}

.ri-local-resume {
  margin-top: 1.6rem;
  padding: 1rem 0.75rem;
  border-top: 1px solid var(--ri-border);
  color: var(--ri-muted);
  font-size: 0.76rem;
}

.ri-local-resume p { margin: 0.45rem 0 0.8rem; }
.ri-local-resume .ri-button { width: 100%; }

.ri-text-button {
  margin-top: 0.65rem;
  padding: 0;
  border: 0;
  color: var(--ri-muted);
  background: transparent;
  cursor: pointer;
  font-size: 0.76rem;
  text-decoration: underline;
}

.ri-page { min-width: 0; }
.ri-page > :where(header, section, main, footer) { width: min(79rem, calc(100% - 3rem)); margin-inline: auto; }

.ri-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  padding-block: clamp(3.5rem, 8vw, 6.8rem) 2.2rem;
}

.ri-kicker, .ri-eyebrow {
  color: var(--ri-accent);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ri-kicker { display: inline-flex; align-items: center; gap: 0.5rem; }
.ri-kicker i { width: 0.46rem; height: 0.46rem; border-radius: 50%; background: var(--ri-accent); box-shadow: 0 0 1.2rem var(--ri-accent); }

.ri-hero h1 {
  max-width: 12ch;
  margin: 0.7rem 0 0.9rem;
  color: transparent;
  background: linear-gradient(100deg, #fff 5%, #cbb9ff 52%, #72ece2 94%);
  background-clip: text;
  font-size: clamp(3rem, 8vw, 6.4rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
  overflow-wrap: anywhere;
}

.ri-hero p { max-width: 45rem; margin: 0; color: var(--ri-muted); font-size: clamp(1rem, 2vw, 1.2rem); }

.ri-orbit {
  position: relative;
  display: grid;
  width: clamp(9rem, 15vw, 12rem);
  aspect-ratio: 1;
  place-content: center;
  border: 1px solid rgba(167, 124, 255, 0.38);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(167, 124, 255, 0.2), rgba(88, 230, 217, 0.04) 57%, transparent 58%);
  box-shadow: inset 0 0 2rem rgba(167, 124, 255, 0.14), 0 0 4rem rgba(88, 230, 217, 0.08);
  text-align: center;
}

.ri-orbit::before, .ri-orbit::after, .ri-orbit > span {
  position: absolute;
  inset: -0.6rem;
  border: 1px solid rgba(88, 230, 217, 0.3);
  border-radius: 50%;
  content: "";
}

.ri-orbit::before { transform: rotate(60deg) scaleY(0.35); }
.ri-orbit::after { transform: rotate(-45deg) scaleY(0.55); }
.ri-orbit > span { inset: 1.15rem; border-style: dashed; animation: ri-spin 18s linear infinite; }
.ri-orbit strong { font-size: 1rem; }
.ri-orbit small { color: var(--ri-muted); }

.ri-context {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  margin-bottom: 1rem;
  border: 1px solid var(--ri-border);
  border-radius: var(--ri-radius);
  background: rgba(14, 18, 32, 0.78);
  box-shadow: var(--ri-shadow);
}

.ri-context > * {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
  padding: 0.9rem 1rem;
  border-right: 1px solid var(--ri-border);
  color: var(--ri-text);
  text-decoration: none;
}

.ri-context > :last-child { border-right: 0; }
.ri-context span:first-child { color: var(--ri-muted); font-size: 0.7rem; font-weight: 800; text-transform: uppercase; }
.ri-context code, .ri-context strong { overflow: hidden; font-size: 0.76rem; text-overflow: ellipsis; white-space: nowrap; }

.ri-status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.38rem;
  color: var(--ri-unknown);
  font-size: 0.72rem;
  font-weight: 800;
}

.ri-status > span { width: 0.46rem; height: 0.46rem; border-radius: 50%; background: currentColor; }
.ri-status[data-state="active"], .ri-status[data-state="current"], .ri-status[data-state="ready"], .ri-status[data-state="success"], .ri-status[data-state="complete"], .ri-status[data-state="accepted"], .ri-status[data-state="implemented"], .ri-status[data-state="verified"] { color: var(--ri-success); }
.ri-status[data-state="blocked"], .ri-status[data-state="failed"], .ri-status[data-state="failure"], .ri-status[data-state="error"], .ri-status[data-state="rejected"] { color: var(--ri-danger); }
.ri-status[data-state="in_progress"], .ri-status[data-state="partial"], .ri-status[data-state="stale"], .ri-status[data-state="proposed"] { color: var(--ri-caution); }
.ri-status[data-state="deprecated"], .ri-status[data-state="not_applicable"], .ri-status[data-state="not_started"], .ri-status[data-state="superseded"] { color: var(--ri-unknown); }

.ri-command-bar {
  position: sticky;
  z-index: 15;
  top: 4.7rem;
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) auto auto auto;
  align-items: end;
  gap: 0.65rem;
  margin-block: 1rem 2rem;
  padding: 0.75rem;
  border: 1px solid var(--ri-border);
  border-radius: 0.9rem;
  background: rgba(10, 13, 24, 0.92);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(16px);
}

.ri-command-bar label { display: grid; gap: 0.3rem; color: var(--ri-muted); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.ri-command-bar :where(input, select) { min-height: 2.6rem; border: 1px solid var(--ri-border); border-radius: 0.6rem; color: var(--ri-text); background: var(--ri-surface-strong); }
.ri-command-bar input { width: 100%; padding-inline: 2.2rem 0.75rem; }
.ri-command-bar select { padding-inline: 0.7rem 2rem; }
.ri-search { position: relative; }
.ri-search > span[aria-hidden] { position: absolute; z-index: 1; bottom: 0.52rem; left: 0.75rem; color: var(--ri-accent); font-size: 1.05rem; }
.ri-command-bar output { grid-column: 1 / -1; color: var(--ri-muted); font-size: 0.75rem; }

.ri-button {
  display: inline-flex;
  min-height: 2.6rem;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.58rem 0.85rem;
  border: 1px solid rgba(88, 230, 217, 0.45);
  border-radius: 0.6rem;
  color: #07100f;
  background: var(--ri-accent);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
  text-decoration: none;
}

.ri-button--quiet { color: var(--ri-text); background: rgba(174, 186, 228, 0.08); }

.ri-section { margin-top: 2.5rem; }
.ri-section--lead { margin-top: 0; }
.ri-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; }
.ri-section-heading h2 { margin: 0.22rem 0 0; font-size: clamp(1.7rem, 4vw, 2.5rem); letter-spacing: -0.04em; }
.ri-section-heading p { max-width: 37rem; margin: 0; color: var(--ri-muted); }

.ri-now-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ri-panel { padding: clamp(1rem, 2.5vw, 1.5rem); border: 1px solid var(--ri-border); border-radius: var(--ri-radius); background: linear-gradient(145deg, rgba(23, 29, 49, 0.91), var(--ri-surface)); box-shadow: var(--ri-shadow); }
.ri-panel--wide { grid-column: 1 / -1; }
.ri-panel[data-severity="blocked"] { border-color: rgba(255, 120, 153, 0.3); }
.ri-panel[data-severity="failure"] { border-color: rgba(255, 209, 102, 0.3); }
.ri-panel-heading { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1rem; }
.ri-panel-heading h2 { margin: 0.15rem 0 0; font-size: 1.08rem; }
.ri-panel-icon { display: grid; width: 2.5rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--ri-border-strong); border-radius: 0.75rem; color: var(--ri-accent); background: rgba(88, 230, 217, 0.08); font-weight: 900; }

.ri-record-list { display: grid; gap: 0.65rem; }
.ri-record, .ri-change { padding: 0.95rem; border: 1px solid var(--ri-border); border-radius: 0.8rem; background: rgba(8, 11, 21, 0.56); }
.ri-record__top { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; }
.ri-record h3, .ri-change h3 { margin: 0.5rem 0 0.3rem; font-size: 1rem; }
.ri-record p, .ri-change p { margin: 0; color: var(--ri-muted); font-size: 0.82rem; }
.ri-source-link { display: inline-flex; gap: 0.25rem; margin-top: 0.65rem; font-size: 0.78rem; font-weight: 750; }

.ri-change { display: grid; grid-template-columns: 1.2rem minmax(0, 1fr); gap: 0.75rem; }
.ri-change__rail { position: relative; display: flex; justify-content: center; }
.ri-change__rail::before { position: absolute; inset: 0.4rem auto; width: 1px; background: linear-gradient(var(--ri-accent), var(--ri-primary)); content: ""; }
.ri-change__rail span { z-index: 1; width: 0.7rem; height: 0.7rem; margin-top: 0.25rem; border: 2px solid var(--ri-canvas); border-radius: 50%; background: var(--ri-accent); box-shadow: 0 0 0 0.18rem rgba(88, 230, 217, 0.2); }

.ri-empty { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 0.8rem; padding: 1rem; border: 1px dashed var(--ri-border-strong); border-radius: 0.8rem; color: var(--ri-muted); background: rgba(7, 9, 16, 0.35); }
.ri-empty__mark { width: 0.8rem; aspect-ratio: 1; margin-top: 0.35rem; border: 2px solid var(--ri-unknown); border-radius: 50%; }
.ri-empty[data-state="partial"] .ri-empty__mark { border-color: var(--ri-caution); }
.ri-empty h3 { margin: 0; color: var(--ri-text); font-size: 0.95rem; }
.ri-empty p { margin: 0.3rem 0 0; font-size: 0.82rem; }

.ri-action-list { position: relative; display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.ri-action-list::before { position: absolute; inset: 1.4rem auto 1.4rem 1.35rem; width: 2px; background: linear-gradient(var(--ri-accent), var(--ri-primary)); content: ""; }
.ri-action { position: relative; display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); gap: 1rem; }
.ri-action__number { z-index: 1; display: grid; width: 2.8rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(88, 230, 217, 0.5); border-radius: 50%; color: var(--ri-accent); background: var(--ri-canvas-raised); font: 800 0.72rem ui-monospace, monospace; }
.ri-action article { padding: 1.2rem; border: 1px solid var(--ri-border); border-radius: var(--ri-radius); background: linear-gradient(145deg, rgba(23, 29, 49, 0.9), var(--ri-surface)); box-shadow: var(--ri-shadow); }
.ri-action h3 { margin: 0.5rem 0; font-size: 1.2rem; }
.ri-action p { color: var(--ri-muted); }
.ri-action details { margin-block: 0.8rem; padding: 0.75rem; border: 1px solid var(--ri-border); border-radius: 0.7rem; background: rgba(7, 9, 16, 0.36); }
.ri-action summary { cursor: pointer; font-weight: 800; }
.ri-action ul { display: grid; gap: 0.5rem; margin-bottom: 0; padding-left: 1.2rem; }
.ri-action li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; }
.ri-muted { color: var(--ri-muted); }
.ri-no-results { margin-top: 1rem; }

.ri-roadmap-intro { scroll-margin-top: 10rem; }

.ri-roadmap-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--ri-border);
  border-radius: var(--ri-radius);
  background: rgba(14, 18, 32, 0.78);
  box-shadow: var(--ri-shadow);
}

.ri-roadmap-metrics article {
  display: grid;
  gap: 0.15rem;
  padding: 1.1rem 1.2rem;
  border-right: 1px solid var(--ri-border);
}

.ri-roadmap-metrics article:last-child { border-right: 0; }
.ri-roadmap-metrics strong { color: var(--ri-accent); font-size: clamp(1.35rem, 3vw, 2rem); }
.ri-roadmap-metrics span { color: var(--ri-muted); font-size: 0.76rem; font-weight: 750; text-transform: uppercase; }

.ri-progress-rules {
  margin-top: 0.8rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--ri-border);
  border-radius: 0.8rem;
  color: var(--ri-muted);
  background: rgba(7, 9, 16, 0.42);
}

.ri-progress-rules summary { color: var(--ri-text); cursor: pointer; font-weight: 800; }
.ri-progress-rules p { max-width: 70rem; margin: 0.7rem 0 0; }

.ri-roadmap-layout {
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: 2rem;
}

.ri-map {
  position: sticky;
  top: 10.2rem;
  overflow: auto;
  max-height: calc(100vh - 11.3rem);
  padding: 1rem;
  border: 1px solid var(--ri-border);
  border-radius: 0.9rem;
  background: rgba(10, 13, 24, 0.9);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
  scrollbar-width: thin;
}

.ri-map > p { margin: 0.35rem 0 1rem; color: var(--ri-muted); font-size: 0.75rem; }
.ri-map :where(ol, li) { margin: 0; padding: 0; list-style: none; }
.ri-map > ol { display: grid; gap: 1rem; }
.ri-map li ol { display: grid; gap: 0.28rem; margin-top: 0.4rem; }

.ri-map a {
  display: grid;
  padding: 0.44rem 0.55rem;
  border: 1px solid transparent;
  border-radius: 0.55rem;
  color: var(--ri-muted);
  font-size: 0.72rem;
  text-decoration: none;
}

.ri-map a:hover, .ri-map a[aria-current="step"] { border-color: var(--ri-border); color: var(--ri-text); background: rgba(174, 186, 228, 0.08); }
.ri-map a[data-state="active"], .ri-map a[data-state="ready"], .ri-map a[data-state="complete"] { border-left-color: var(--ri-success); }
.ri-map a[data-state="blocked"] { border-left-color: var(--ri-danger); }
.ri-map a[data-state="deferred"], .ri-map a[data-state="superseded"] { opacity: 0.72; }
.ri-map a span { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-weight: 800; }
.ri-map a small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ri-map .ri-map__chapter { padding-inline: 0; color: var(--ri-accent); font-weight: 850; }

.ri-roadmap-story { min-width: 0; }
.ri-roadmap-chapter { scroll-margin-top: 10.2rem; }
.ri-roadmap-chapter + .ri-roadmap-chapter { margin-top: 4rem; }

.ri-chapter-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--ri-border);
}

.ri-chapter-heading span { color: var(--ri-primary); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.13em; text-transform: uppercase; }
.ri-chapter-heading h2 { max-width: 25ch; margin: 0.25rem 0 0; font-size: clamp(1.5rem, 3vw, 2.15rem); line-height: 1.05; letter-spacing: -0.04em; }
.ri-chapter-heading p { margin: 0; color: var(--ri-muted); font-size: 0.8rem; }

.ri-quest-line {
  position: relative;
  display: grid;
  gap: clamp(1.6rem, 4vw, 3.2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ri-quest-line::before {
  position: absolute;
  inset: 1.7rem 50% 1.7rem auto;
  width: 2px;
  background: linear-gradient(180deg, var(--ri-accent), var(--ri-primary) 48%, rgba(167, 124, 255, 0.18));
  content: "";
}

.ri-quest {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4.5rem minmax(0, 1fr);
  align-items: start;
  scroll-margin-top: 10.2rem;
}

.ri-quest__node {
  z-index: 2;
  grid-column: 2;
  display: grid;
  width: 3.5rem;
  aspect-ratio: 1;
  place-self: start center;
  place-items: center;
  border: 1px solid rgba(88, 230, 217, 0.52);
  border-radius: 50%;
  color: var(--ri-accent);
  background: radial-gradient(circle, #182437, #0b0f1c 68%);
  box-shadow: 0 0 0 0.45rem rgba(7, 9, 16, 0.92), 0 0 2rem rgba(88, 230, 217, 0.18);
  font: 850 0.76rem ui-monospace, SFMono-Regular, Consolas, monospace;
}

.ri-quest__card {
  grid-column: 1;
  min-width: 0;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border: 1px solid var(--ri-border);
  border-radius: var(--ri-radius);
  background: linear-gradient(145deg, rgba(23, 29, 49, 0.94), rgba(12, 16, 29, 0.94));
  box-shadow: var(--ri-shadow);
}

.ri-quest:nth-child(even) .ri-quest__card { grid-column: 3; }
.ri-quest:target .ri-quest__card, .ri-quest[data-selected="true"] .ri-quest__card { border-color: rgba(88, 230, 217, 0.7); box-shadow: 0 0 0 0.2rem rgba(88, 230, 217, 0.12), var(--ri-shadow); }
.ri-quest[data-state="blocked"] .ri-quest__node { border-color: var(--ri-danger); color: var(--ri-danger); }
.ri-quest[data-state="complete"] .ri-quest__node { border-color: var(--ri-success); color: var(--ri-success); }
.ri-quest[data-state="deferred"] .ri-quest__card, .ri-quest[data-state="superseded"] .ri-quest__card { opacity: 0.78; }

.ri-quest__card > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.ri-quest__card h3 { margin: 0.35rem 0 0; font-size: clamp(1.15rem, 2vw, 1.42rem); line-height: 1.15; }
.ri-quest__permalink { color: var(--ri-accent); font: 800 0.7rem ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 0.04em; text-decoration: none; }
.ri-quest__outcome { color: var(--ri-muted); }

.ri-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; margin-block: 1rem; }
.ri-progress > div { overflow: hidden; height: 0.5rem; border-radius: 999px; background: rgba(174, 186, 228, 0.12); }
.ri-progress > div span { display: block; width: var(--ri-progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ri-accent), var(--ri-primary)); }
.ri-progress strong { color: var(--ri-muted); font-size: 0.7rem; white-space: nowrap; }

.ri-criteria { display: grid; gap: 0.5rem; margin: 0.8rem 0; padding: 0; list-style: none; }
.ri-criteria li { display: grid; grid-template-columns: 1.35rem minmax(0, 1fr); gap: 0.55rem; color: var(--ri-muted); font-size: 0.82rem; }
.ri-criteria li > span:first-child { display: grid; width: 1.15rem; height: 1.15rem; place-items: center; border: 1px solid var(--ri-border-strong); border-radius: 0.35rem; color: #07100f; font-size: 0.72rem; }
.ri-criteria li[data-complete="true"] > span:first-child { border-color: var(--ri-success); background: var(--ri-success); }

.ri-relationship-grid { display: grid; gap: 0.6rem; margin-block: 1rem; }
.ri-relationship-row { display: grid; grid-template-columns: 5.7rem minmax(0, 1fr); align-items: start; gap: 0.7rem; }
.ri-relationship-row > strong { padding-top: 0.35rem; color: var(--ri-muted); font-size: 0.7rem; text-transform: uppercase; }
.ri-relationship-row > div { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ri-link-chip { display: inline-flex; max-width: 100%; flex-wrap: wrap; gap: 0.35rem; padding: 0.3rem 0.48rem; border: 1px solid var(--ri-border); border-radius: 0.5rem; color: var(--ri-text); background: rgba(7, 9, 16, 0.46); font-size: 0.72rem; text-decoration: none; }
.ri-link-chip__relationship { color: var(--ri-accent); }

.ri-quest__source { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.7rem; margin-top: 1rem; padding-top: 0.8rem; border-top: 1px solid var(--ri-border); color: var(--ri-muted); font-size: 0.7rem; }

.ri-evidence { margin-top: 1rem; border: 1px solid var(--ri-border); border-radius: 0.8rem; background: rgba(7, 9, 16, 0.48); }
.ri-evidence > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.8rem 0.9rem; cursor: pointer; list-style: none; }
.ri-evidence > summary::-webkit-details-marker { display: none; }
.ri-evidence > summary > span:first-child { display: grid; }
.ri-evidence > summary small { color: var(--ri-muted); }
.ri-evidence[open] > summary > span:last-child { transform: rotate(45deg); }
.ri-evidence__summary { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0 0.9rem 0.75rem; }
.ri-evidence__summary span { padding: 0.28rem 0.45rem; border-radius: 0.45rem; color: var(--ri-muted); background: rgba(174, 186, 228, 0.08); font-size: 0.7rem; }

.ri-evidence-viewport { padding: 0 0.7rem 0.7rem; }
.ri-evidence-viewport[data-virtualized="true"] { overflow-y: auto; max-height: 31rem; overscroll-behavior: contain; scrollbar-width: thin; }
.ri-evidence-list { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.ri-evidence-record { min-height: 8.8rem; padding: 0.75rem; border: 1px solid var(--ri-border); border-radius: 0.65rem; background: rgba(18, 23, 40, 0.76); }
.ri-evidence-record[data-assertion="inferred"] { border-left-color: var(--ri-caution); }
.ri-evidence-record[data-assertion="unknown"] { border-left-style: dashed; }
.ri-evidence-record__top { display: flex; justify-content: space-between; gap: 0.6rem; }
.ri-evidence-record > strong { display: block; margin-top: 0.45rem; font-size: 0.9rem; }
.ri-evidence-record p { margin: 0.25rem 0 0.55rem; color: var(--ri-muted); font-size: 0.72rem; }
.ri-evidence-kind { color: var(--ri-primary); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.ri-provenance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem 0.7rem; margin: 0; }
.ri-provenance div { min-width: 0; }
.ri-provenance dt { color: var(--ri-muted); font-size: 0.6rem; text-transform: uppercase; }
.ri-provenance dd { overflow: hidden; margin: 0; font-size: 0.67rem; text-overflow: ellipsis; white-space: nowrap; }
.ri-virtual-space { min-height: var(--ri-virtual-space); }

.ri-decision-intro { scroll-margin-top: 10rem; }

.ri-decision-boundaries {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 0.8rem;
}

.ri-decision-boundaries article {
  padding: 0.9rem 1rem;
  border: 1px solid var(--ri-border);
  border-radius: 0.8rem;
  background: rgba(7, 9, 16, 0.42);
}

.ri-decision-boundaries strong { display: block; margin-top: 0.25rem; }
.ri-decision-boundaries p { margin: 0.35rem 0 0; color: var(--ri-muted); font-size: 0.76rem; }

.ri-decision-filters {
  margin-top: 0.8rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--ri-border);
  border-radius: 0.8rem;
  background: rgba(7, 9, 16, 0.42);
}

.ri-decision-filters > summary { cursor: pointer; font-weight: 800; }
.ri-decision-filters > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; margin-top: 0.8rem; }
.ri-decision-filters label { display: grid; gap: 0.3rem; color: var(--ri-muted); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.ri-decision-filters select { min-width: 0; min-height: 2.6rem; padding-inline: 0.7rem; border: 1px solid var(--ri-border); border-radius: 0.6rem; color: var(--ri-text); background: var(--ri-surface-strong); }
.ri-decision-filters > p { margin: 0.7rem 0 0; color: var(--ri-muted); font-size: 0.72rem; }

.ri-decision-compare {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid rgba(167, 124, 255, 0.34);
  border-radius: var(--ri-radius);
  background: linear-gradient(145deg, rgba(25, 25, 48, 0.94), rgba(12, 16, 29, 0.94));
  box-shadow: var(--ri-shadow);
}

.ri-decision-compare h2 { margin: 0.2rem 0; font-size: 1.25rem; }
.ri-decision-compare p { margin: 0; color: var(--ri-muted); }
.ri-decision-compare__controls { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 0.7rem; }
.ri-decision-compare__controls label { display: grid; gap: 0.3rem; color: var(--ri-muted); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.ri-decision-compare__controls select { min-width: 0; min-height: 2.6rem; padding-inline: 0.7rem; border: 1px solid var(--ri-border); border-radius: 0.6rem; color: var(--ri-text); background: var(--ri-surface-strong); }
.ri-decision-compare__output { overflow-x: auto; }
.ri-decision-compare table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.ri-decision-compare caption { padding-bottom: 0.5rem; color: var(--ri-muted); text-align: left; }
.ri-decision-compare :where(th, td) { padding: 0.6rem; border: 1px solid var(--ri-border); text-align: left; vertical-align: top; }
.ri-decision-compare thead th { color: var(--ri-accent); background: rgba(88, 230, 217, 0.06); }
.ri-decision-compare tbody th { width: 10rem; color: var(--ri-muted); }

.ri-decision-layout {
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: 2rem;
}

.ri-decision-story { min-width: 0; }
.ri-decision-group { scroll-margin-top: 10.2rem; }
.ri-decision-group + .ri-decision-group { margin-top: 4rem; }
.ri-decision-group > .ri-chapter-heading p { max-width: 28rem; }

.ri-decision-line {
  position: relative;
  display: grid;
  gap: 1.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ri-decision-line::before {
  position: absolute;
  inset: 1.5rem auto 1.5rem 1.35rem;
  width: 2px;
  background: linear-gradient(180deg, var(--ri-accent), var(--ri-primary) 58%, rgba(167, 124, 255, 0.15));
  content: "";
}

.ri-decision {
  position: relative;
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  scroll-margin-top: 10.2rem;
}

.ri-decision__node {
  z-index: 2;
  display: grid;
  width: 2.8rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(88, 230, 217, 0.52);
  border-radius: 0.75rem;
  color: var(--ri-accent);
  background: radial-gradient(circle, #182437, #0b0f1c 70%);
  box-shadow: 0 0 0 0.38rem rgba(7, 9, 16, 0.92), 0 0 1.5rem rgba(88, 230, 217, 0.14);
  font: 850 0.72rem ui-monospace, SFMono-Regular, Consolas, monospace;
  transform: rotate(45deg);
}

.ri-decision__node span { transform: rotate(-45deg); }
.ri-decision[data-state="rejected"] .ri-decision__node { border-color: var(--ri-danger); color: var(--ri-danger); }
.ri-decision[data-state="accepted"] .ri-decision__node { border-color: var(--ri-success); color: var(--ri-success); }
.ri-decision[data-state="deprecated"] .ri-decision__node, .ri-decision[data-state="superseded"] .ri-decision__node { border-color: var(--ri-muted); color: var(--ri-muted); }

.ri-decision__card {
  min-width: 0;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border: 1px solid var(--ri-border);
  border-radius: var(--ri-radius);
  background: linear-gradient(145deg, rgba(23, 29, 49, 0.94), rgba(12, 16, 29, 0.94));
  box-shadow: var(--ri-shadow);
}

.ri-decision:target .ri-decision__card, .ri-decision[data-selected="true"] .ri-decision__card { border-color: rgba(88, 230, 217, 0.7); box-shadow: 0 0 0 0.2rem rgba(88, 230, 217, 0.12), var(--ri-shadow); }
.ri-decision[data-state="deprecated"] .ri-decision__card, .ri-decision[data-state="superseded"] .ri-decision__card { background: linear-gradient(145deg, rgba(23, 29, 49, 0.74), rgba(12, 16, 29, 0.82)); }
.ri-decision__card > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.ri-decision__card h3 { margin: 0.35rem 0 0; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.15; }
.ri-decision__card > header p { margin: 0.35rem 0 0; color: var(--ri-muted); font-size: 0.75rem; }
.ri-decision__permalink { color: var(--ri-accent); font: 800 0.7rem ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 0.04em; text-decoration: none; }

.ri-decision-states { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; margin-block: 1rem; }
.ri-decision-states > div { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; padding: 0.65rem 0.75rem; border: 1px solid var(--ri-border); border-radius: 0.65rem; background: rgba(7, 9, 16, 0.4); }
.ri-decision-states > div > span { color: var(--ri-muted); font-size: 0.67rem; font-weight: 800; text-transform: uppercase; }

.ri-decision-metadata { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; margin: 0; }
.ri-decision-metadata div { min-width: 0; padding: 0.6rem 0.7rem; border-left: 2px solid rgba(167, 124, 255, 0.35); background: rgba(7, 9, 16, 0.28); }
.ri-decision-metadata dt { color: var(--ri-muted); font-size: 0.62rem; font-weight: 800; text-transform: uppercase; }
.ri-decision-metadata dd { overflow-wrap: anywhere; margin: 0.2rem 0 0; font-size: 0.75rem; }

.ri-decision-narrative { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin-top: 1rem; }
.ri-decision-narrative section { padding: 0.75rem; border: 1px solid var(--ri-border); border-radius: 0.65rem; background: rgba(7, 9, 16, 0.34); }
.ri-decision-narrative h4 { margin: 0; color: var(--ri-primary); font-size: 0.7rem; text-transform: uppercase; }
.ri-decision-narrative p, .ri-decision-narrative-note { margin: 0.8rem 0 0; color: var(--ri-muted); font-size: 0.78rem; }
.ri-decision-narrative section p { margin-top: 0.35rem; }
.ri-lineage-warning { margin: 0.8rem 0 0; padding: 0.65rem 0.75rem; border-left: 0.2rem solid var(--ri-caution); color: var(--ri-muted); background: rgba(255, 209, 102, 0.06); font-size: 0.76rem; }
.ri-decision__source { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.7rem; margin-top: 1rem; padding-top: 0.8rem; border-top: 1px solid var(--ri-border); color: var(--ri-muted); font-size: 0.7rem; }
.ri-link-chip small { padding-left: 0.35rem; border-left: 1px solid var(--ri-border); color: var(--ri-muted); font-size: 0.62rem; }
.ri-link-chip small[data-assertion="authoritative"] { color: var(--ri-success); }
.ri-link-chip small[data-assertion="inferred"] { color: var(--ri-caution); }

.ri-journey-intro { scroll-margin-top: 10rem; }

.ri-journey-contract {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 0.8rem;
}

.ri-journey-contract article {
  padding: 0.9rem 1rem;
  border: 1px solid var(--ri-border);
  border-radius: 0.8rem;
  background: rgba(7, 9, 16, 0.42);
}

.ri-journey-contract strong { display: block; margin-top: 0.25rem; }
.ri-journey-contract p { margin: 0.35rem 0 0; color: var(--ri-muted); font-size: 0.76rem; }

.ri-journey-lanes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
}

.ri-journey-lanes li { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--ri-muted); font-size: 0.7rem; font-weight: 800; text-transform: uppercase; }
.ri-journey-lanes i { width: 0.6rem; aspect-ratio: 1; border-radius: 50%; background: var(--ri-unknown); box-shadow: 0 0 0.8rem currentcolor; }
.ri-journey-lanes [data-lane="intent"] i { color: var(--ri-primary); background: var(--ri-primary); }
.ri-journey-lanes [data-lane="work"] i { color: var(--ri-blue); background: var(--ri-blue); }
.ri-journey-lanes [data-lane="code"] i { color: var(--ri-accent); background: var(--ri-accent); }
.ri-journey-lanes [data-lane="proof"] i { color: var(--ri-caution); background: var(--ri-caution); }
.ri-journey-lanes [data-lane="delivery"] i { color: var(--ri-success); background: var(--ri-success); }

.ri-journey-filters {
  margin-top: 0.9rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--ri-border);
  border-radius: 0.8rem;
  background: rgba(7, 9, 16, 0.42);
}

.ri-journey-filters > summary { cursor: pointer; font-weight: 800; }
.ri-journey-filters > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; margin-top: 0.8rem; }
.ri-journey-filters label { display: grid; gap: 0.3rem; color: var(--ri-muted); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.ri-journey-filters :where(select, input) { min-width: 0; min-height: 2.6rem; padding-inline: 0.7rem; border: 1px solid var(--ri-border); border-radius: 0.6rem; color: var(--ri-text); background: var(--ri-surface-strong); }
.ri-journey-filters > p { margin: 0.7rem 0 0; color: var(--ri-muted); font-size: 0.72rem; }

.ri-journey-tools {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--ri-border);
  border-radius: var(--ri-radius);
  background: rgba(12, 16, 29, 0.68);
}

.ri-journey-tools > summary { color: var(--ri-accent); cursor: pointer; font-weight: 800; }
.ri-journey-tools > div { display: grid; gap: 1rem; margin-top: 0.9rem; }
.ri-journey-tools .ri-journey-replay, .ri-journey-tools .ri-journey-compare { margin-top: 0; }

.ri-journey-replay,
.ri-journey-compare {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid rgba(167, 124, 255, 0.3);
  border-radius: var(--ri-radius);
  background: linear-gradient(145deg, rgba(25, 25, 48, 0.92), rgba(12, 16, 29, 0.94));
  box-shadow: var(--ri-shadow);
}

.ri-journey-replay h2, .ri-journey-compare h2 { margin: 0.2rem 0; font-size: 1.25rem; }
.ri-journey-replay p, .ri-journey-compare p { margin: 0; color: var(--ri-muted); }
.ri-journey-replay__controls { display: grid; grid-template-columns: auto minmax(12rem, 1fr) minmax(12rem, auto); align-items: center; gap: 1rem; }
.ri-journey-replay__controls label { display: grid; }
.ri-journey-replay__controls input { width: 100%; accent-color: var(--ri-accent); }
.ri-journey-replay__controls output { color: var(--ri-muted); font-size: 0.76rem; }

.ri-journey-compare__controls { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 0.7rem; }
.ri-journey-compare__controls label { display: grid; gap: 0.3rem; color: var(--ri-muted); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.ri-journey-compare__controls select { min-width: 0; min-height: 2.6rem; padding-inline: 0.7rem; border: 1px solid var(--ri-border); border-radius: 0.6rem; color: var(--ri-text); background: var(--ri-surface-strong); }
.ri-journey-compare__output { overflow-x: auto; }
.ri-journey-compare table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.ri-journey-compare caption { padding-bottom: 0.5rem; color: var(--ri-muted); text-align: left; }
.ri-journey-compare :where(th, td) { padding: 0.6rem; border: 1px solid var(--ri-border); text-align: left; vertical-align: top; }
.ri-journey-compare thead th { color: var(--ri-accent); background: rgba(88, 230, 217, 0.06); }
.ri-journey-compare tbody th { width: 11rem; color: var(--ri-muted); }

.ri-journey-layout {
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: 2rem;
}

.ri-journey-story { min-width: 0; }
.ri-journey-chapter { scroll-margin-top: 10.2rem; }
.ri-journey-chapter + .ri-journey-chapter { margin-top: 4rem; }

.ri-journey-chapter__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.72fr);
  gap: 1rem;
  align-items: end;
  margin-bottom: 0.8rem;
}

.ri-journey-chapter__heading h2 { margin: 0.3rem 0; font-size: clamp(1.55rem, 3vw, 2.35rem); line-height: 1.05; }
.ri-journey-chapter__heading p { margin: 0; color: var(--ri-muted); font-size: 0.76rem; }
.ri-journey-boundary { padding: 0.75rem 0.85rem; border-left: 0.2rem solid var(--ri-success); background: rgba(111, 224, 163, 0.06); }
.ri-journey-boundary > span { color: var(--ri-muted); font-size: 0.62rem; font-weight: 800; text-transform: uppercase; }
.ri-journey-boundary strong { display: block; margin-top: 0.15rem; }
.ri-journey-boundary p { margin-top: 0.25rem; }

.ri-journey-chapter__metrics { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1rem; }
.ri-journey-chapter__metrics span { padding: 0.35rem 0.55rem; border: 1px solid var(--ri-border); border-radius: 999px; color: var(--ri-muted); background: rgba(7, 9, 16, 0.36); font-size: 0.67rem; }
.ri-journey-chapter__metrics strong { color: var(--ri-text); }

.ri-journey-events {
  position: relative;
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ri-journey-events::before {
  position: absolute;
  inset: 1rem auto 1rem 5.8rem;
  width: 2px;
  background: linear-gradient(180deg, rgba(167, 124, 255, 0.75), rgba(88, 230, 217, 0.55) 56%, rgba(111, 224, 163, 0.15));
  content: "";
}

.ri-journey-gap {
  z-index: 1;
  display: grid;
  gap: 0.15rem;
  margin-left: 6.55rem;
  padding: 0.55rem 0.75rem;
  border: 1px dashed var(--ri-border-strong);
  border-radius: 0.65rem;
  color: var(--ri-muted);
  background: rgba(7, 9, 16, 0.72);
  font-size: 0.7rem;
}

.ri-journey-gap span { color: var(--ri-text); font-weight: 800; }
.ri-journey-gap small { font-size: 0.65rem; }

.ri-journey-event {
  position: relative;
  display: grid;
  grid-template-columns: 5.1rem minmax(0, 1fr);
  gap: 1.5rem;
  scroll-margin-top: 10.2rem;
  content-visibility: auto;
  contain-intrinsic-block-size: auto 19rem;
  transition: opacity 180ms ease, filter 180ms ease;
}

.ri-journey-event__lane { z-index: 2; display: grid; justify-items: end; gap: 0.35rem; padding-top: 0.9rem; }
.ri-journey-event__lane > span { color: var(--ri-muted); font-size: 0.58rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.ri-journey-event__lane > i { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--ri-unknown); border-radius: 50%; color: var(--ri-unknown); background: var(--ri-canvas-raised); box-shadow: 0 0 0 0.34rem rgba(7, 9, 16, 0.94); font-style: normal; font-weight: 900; }
.ri-journey-event[data-lane="intent"] .ri-journey-event__lane > i { border-color: var(--ri-primary); color: var(--ri-primary); }
.ri-journey-event[data-lane="work"] .ri-journey-event__lane > i { border-color: var(--ri-blue); color: var(--ri-blue); }
.ri-journey-event[data-lane="code"] .ri-journey-event__lane > i { border-color: var(--ri-accent); color: var(--ri-accent); }
.ri-journey-event[data-lane="proof"] .ri-journey-event__lane > i { border-color: var(--ri-caution); color: var(--ri-caution); }
.ri-journey-event[data-lane="delivery"] .ri-journey-event__lane > i { border-color: var(--ri-success); color: var(--ri-success); }
.ri-journey-event[data-state="failure"] .ri-journey-event__lane > i, .ri-journey-event[data-state="failed"] .ri-journey-event__lane > i, .ri-journey-event[data-state="error"] .ri-journey-event__lane > i { border-color: var(--ri-danger); color: var(--ri-danger); box-shadow: 0 0 0 0.34rem rgba(7, 9, 16, 0.94), 0 0 1rem rgba(255, 120, 153, 0.28); }

.ri-journey-event__card {
  min-width: 0;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border: 1px solid var(--ri-border);
  border-radius: var(--ri-radius);
  background: linear-gradient(145deg, rgba(23, 29, 49, 0.92), rgba(12, 16, 29, 0.94));
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.2);
}

.ri-journey-event[data-context-status="unclassified"] .ri-journey-event__card { border-style: dashed; }
.ri-journey-event:target .ri-journey-event__card, .ri-journey-event[data-selected="true"] .ri-journey-event__card, .ri-journey-event[data-replay-state="current"] .ri-journey-event__card { border-color: rgba(88, 230, 217, 0.72); box-shadow: 0 0 0 0.2rem rgba(88, 230, 217, 0.12), var(--ri-shadow); }
.ri-journey-event[data-replay-state="future"] { opacity: 0.34; filter: saturate(0.45); }
.ri-journey-event__card > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.ri-journey-event__card h3 { margin: 0.3rem 0; font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.18; }
.ri-journey-event__card h3 a { color: var(--ri-text); text-decoration-color: rgba(88, 230, 217, 0.35); }
.ri-journey-event__card > header p { margin: 0; color: var(--ri-muted); font-size: 0.72rem; }
.ri-journey-event__card .ri-status { display: inline-flex; }
.ri-journey-permalink { color: var(--ri-accent); font: 800 0.68rem ui-monospace, SFMono-Regular, Consolas, monospace; text-decoration: none; }

.ri-journey-contexts { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.85rem; }
.ri-journey-context { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.34rem 0.5rem; border: 1px solid rgba(88, 230, 217, 0.25); border-radius: 0.55rem; color: var(--ri-text); background: rgba(88, 230, 217, 0.06); font-size: 0.7rem; font-weight: 750; text-decoration: none; }
.ri-journey-context span { color: var(--ri-accent); font-size: 0.58rem; text-transform: uppercase; }
.ri-journey-context[data-context-kind="decision"] { border-color: rgba(167, 124, 255, 0.3); background: rgba(167, 124, 255, 0.07); }
.ri-journey-context[data-context-kind="decision"] span { color: var(--ri-primary); }
.ri-journey-unclassified { margin: 0.85rem 0 0; padding: 0.6rem 0.7rem; border-left: 0.18rem solid var(--ri-unknown); color: var(--ri-muted); background: rgba(182, 191, 217, 0.05); font-size: 0.74rem; }

.ri-journey-event details { margin-top: 0.85rem; border-top: 1px solid var(--ri-border); }
.ri-journey-event details > summary { padding-block: 0.75rem 0; color: var(--ri-accent); cursor: pointer; font-size: 0.74rem; font-weight: 800; }
.ri-journey-evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin-top: 0.75rem; }
.ri-journey-evidence section { min-width: 0; padding: 0.75rem; border: 1px solid var(--ri-border); border-radius: 0.65rem; background: rgba(7, 9, 16, 0.36); }
.ri-journey-evidence h4 { margin: 0; color: var(--ri-primary); font-size: 0.68rem; text-transform: uppercase; }
.ri-journey-evidence p, .ri-journey-evidence li { color: var(--ri-muted); font-size: 0.72rem; }
.ri-journey-evidence ul { margin: 0.5rem 0 0; padding-left: 1rem; }
.ri-journey-evidence dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem; margin: 0.5rem 0 0; }
.ri-journey-evidence dl div { min-width: 0; }
.ri-journey-evidence dt { color: var(--ri-muted); font-size: 0.6rem; text-transform: uppercase; }
.ri-journey-evidence dd { overflow-wrap: anywhere; margin: 0.1rem 0 0; font-size: 0.7rem; }
.ri-journey-changes { display: grid; gap: 0.4rem; padding: 0; list-style: none; }
.ri-journey-changes li { display: grid; grid-template-columns: minmax(7rem, 0.5fr) minmax(0, 1fr); gap: 0.5rem; }
.ri-journey-changes code { overflow-wrap: anywhere; color: var(--ri-text); }
.ri-journey-event details > footer { display: flex; justify-content: flex-end; margin: 0.75rem 0 0; padding: 0; border: 0; }

footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding-block: 1.5rem 3rem; border-top: 1px solid var(--ri-border); color: var(--ri-muted); font-size: 0.78rem; }

.ri-visually-hidden { position: absolute !important; overflow: hidden; width: 1px; height: 1px; padding: 0; border: 0; margin: -1px; clip: rect(0, 0, 0, 0); white-space: nowrap; }

@keyframes ri-spin { to { transform: rotate(360deg); } }

@media (max-width: 72rem) {
  .ri-layout { display: block; }
  .ri-sidebar { position: static; overflow-x: auto; width: 100%; height: auto; padding: 0.75rem 1.2rem; border-right: 0; border-bottom: 1px solid var(--ri-border); }
  .ri-repository, .ri-local-resume { display: none; }
  .ri-route-nav { display: flex; width: max-content; }
  .ri-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ri-context > * { border-bottom: 1px solid var(--ri-border); }
  .ri-context > :nth-child(2n) { border-right: 0; }
  .ri-roadmap-layout { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1.4rem; }
  .ri-decision-layout { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1.4rem; }
  .ri-journey-layout { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1.4rem; }
  .ri-quest { grid-template-columns: 3.7rem minmax(0, 1fr); }
  .ri-quest-line::before { right: auto; left: 1.7rem; }
  .ri-quest__node { grid-column: 1; }
  .ri-quest__card, .ri-quest:nth-child(even) .ri-quest__card { grid-column: 2; }
}

@media (max-width: 48rem) {
  .ri-global-header nav { display: none; }
  .ri-page > :where(header, section, main, footer) { width: min(100% - 1.25rem, 79rem); }
  .ri-hero { grid-template-columns: 1fr; padding-top: 3rem; }
  .ri-orbit { display: none; }
  .ri-context { grid-template-columns: 1fr; }
  .ri-context > * { border-right: 0; }
  .ri-command-bar { position: static; grid-template-columns: 1fr 1fr; }
  .ri-search { grid-column: 1 / -1; }
  .ri-command-bar .ri-button { align-self: end; }
  .ri-now-grid { grid-template-columns: 1fr; }
  .ri-panel--wide { grid-column: auto; }
  .ri-section-heading { display: block; }
  .ri-section-heading p { margin-top: 0.6rem; }
  .ri-roadmap-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ri-roadmap-metrics article:nth-child(2) { border-right: 0; }
  .ri-roadmap-metrics article:nth-child(-n + 2) { border-bottom: 1px solid var(--ri-border); }
  .ri-decision-boundaries { grid-template-columns: 1fr; }
  .ri-journey-contract { grid-template-columns: 1fr; }
  .ri-decision-filters > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ri-journey-filters > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ri-decision-compare__controls { grid-template-columns: 1fr; }
  .ri-decision-compare__controls .ri-button { width: 100%; }
  .ri-journey-replay__controls, .ri-journey-compare__controls { grid-template-columns: 1fr; }
  .ri-journey-replay__controls .ri-button, .ri-journey-compare__controls .ri-button { width: 100%; }
  .ri-roadmap-layout { display: block; }
  .ri-decision-layout { display: block; }
  .ri-journey-layout { display: block; }
  .ri-map { position: sticky; z-index: 10; top: 4.1rem; overflow-x: auto; max-height: none; margin-bottom: 1.5rem; padding: 0.7rem; }
  .ri-map > :where(.ri-eyebrow, p) { display: none; }
  .ri-map > ol { display: flex; width: max-content; max-width: none; gap: 0.6rem; }
  .ri-map > ol > li { display: flex; gap: 0.35rem; }
  .ri-map li ol { display: flex; margin: 0; }
  .ri-map a { width: 5.5rem; }
  .ri-map a small { display: none; }
  .ri-map .ri-map__chapter { width: auto; padding-inline: 0.45rem; }
  .ri-quest { grid-template-columns: 3rem minmax(0, 1fr); }
  .ri-quest-line::before { left: 1.38rem; }
  .ri-quest__node { width: 2.8rem; }
  .ri-quest__card > header { display: grid; }
  .ri-decision__card > header { display: grid; }
  .ri-journey-chapter__heading { grid-template-columns: 1fr; }
  .ri-journey-events::before { left: 1.28rem; }
  .ri-journey-event { grid-template-columns: 2.2rem minmax(0, 1fr); gap: 1rem; }
  .ri-journey-event__lane > span { display: none; }
  .ri-journey-gap { margin-left: 3.2rem; }
  .ri-journey-event__lane > i { width: 1.8rem; }
  .ri-journey-event__card > header { display: grid; }
  .ri-journey-evidence { grid-template-columns: 1fr; }
  .ri-journey-changes li { grid-template-columns: 1fr; }
  .ri-decision-states, .ri-decision-metadata, .ri-decision-narrative { grid-template-columns: 1fr; }
  .ri-relationship-row { grid-template-columns: 1fr; gap: 0.25rem; }
  .ri-provenance { grid-template-columns: 1fr; }
  footer { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

@media (forced-colors: active) {
  .ri-status > span, .ri-kicker i, .ri-change__rail span { forced-color-adjust: auto; }
  .ri-orbit, .ri-panel, .ri-action article, .ri-context { box-shadow: none; }
}

@media print {
  :root { color-scheme: light; }
  body { color: #111; background: #fff; }
  .ri-global-header, .ri-sidebar, .ri-command-bar, .ri-decision-compare, .ri-decision-filters, .ri-journey-tools, .ri-journey-filters, .ri-orbit, .ri-skip, .ri-map { display: none !important; }
  .ri-page > :where(header, section, main, footer) { width: 100%; }
  .ri-hero { padding-block: 1rem; }
  .ri-hero h1 { color: #111; background: none; font-size: 3rem; }
  .ri-context, .ri-panel, .ri-record, .ri-action article, .ri-empty, .ri-quest__card, .ri-decision__card, .ri-decision-compare, .ri-journey-event__card, .ri-evidence-record { color: #111; background: #fff; box-shadow: none; break-inside: avoid; }
  .ri-panel { border-color: #777; }
  .ri-roadmap-layout { display: block; }
  .ri-decision-layout { display: block; }
  .ri-journey-layout { display: block; }
  .ri-quest { display: block; margin-bottom: 1rem; }
  .ri-decision { display: block; margin-bottom: 1rem; }
  .ri-journey-event { display: block; margin-bottom: 1rem; opacity: 1 !important; filter: none !important; content-visibility: visible; }
  .ri-journey-gap { margin: 0 0 1rem; }
  .ri-quest-line::before, .ri-quest__node { display: none; }
  .ri-decision-line::before, .ri-decision__node { display: none; }
  .ri-journey-events::before, .ri-journey-event__lane { display: none; }
  .ri-evidence-viewport[data-virtualized="true"] { overflow: visible; max-height: none; }
  details { display: block; }
  details > * { display: block; }
  a { color: #111; text-decoration: underline; }
}
