:root {
  --bg: #0b0f14;
  --surface: #0c1119;
  --surface-2: #111925;
  --surface-3: #172230;
  --ink: #e6ecf2;
  --muted: #8b97a6;
  --dim: #5d6875;
  --line: rgba(214, 226, 240, .11);
  --line-strong: rgba(214, 226, 240, .21);
  --cyan: #4dd2ff;
  --coral: #ff4d6d;
  --gold: #e8bd5c;
  --green: #59d49b;
  --violet: #a98bff;
  --blue: #6fa8ff;
  --orange: #ef965f;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --shadow: 0 24px 80px rgba(0, 0, 0, .28);
}

* { box-sizing: border-box; }
html { background: var(--bg); color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 300px;
  background:
    radial-gradient(circle at 8% -12%, rgba(85, 215, 255, .08), transparent 34rem),
    radial-gradient(circle at 96% 8%, rgba(169, 139, 255, .055), transparent 30rem),
    var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--cyan); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: #a5eaff; }
code, .mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
code { overflow-wrap: anywhere; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); letter-spacing: -.025em; }
h1 { font-family: var(--serif); font-size: clamp(2.4rem, 6vw, 5.2rem); font-weight: 500; line-height: .96; }
h2 { font-family: var(--serif); font-size: clamp(1.45rem, 2.6vw, 2.05rem); font-weight: 500; line-height: 1.12; }
button, input, select { font: inherit; }
button { cursor: pointer; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 50; padding: .75rem 1rem; background: var(--cyan); color: #061017; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }

.site-header { border-bottom: 1px solid var(--line); background: rgba(7, 10, 15, .92); }
.header-inner, .global-nav, .run-nav, .mobile-run-nav, .page-shell, .site-footer {
  width: min(1240px, calc(100% - 2.5rem));
  margin-inline: auto;
}
.header-inner { display: flex; align-items: center; gap: 2rem; min-height: 76px; }
.brand { display: flex; align-items: center; gap: .75rem; color: var(--ink); text-decoration: none; flex: 0 0 auto; }
.brand:hover { color: var(--ink); }
.brand-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(85, 215, 255, .45);
  background: linear-gradient(145deg, rgba(85, 215, 255, .16), rgba(169, 139, 255, .08));
  color: var(--cyan);
  font-family: var(--serif);
  font-size: 1.25rem;
}
.brand b { display: block; font-size: .88rem; letter-spacing: .18em; text-transform: uppercase; }
.brand small { display: block; color: var(--muted); font-family: var(--mono); font-size: .59rem; letter-spacing: .17em; text-transform: uppercase; }
.run-switcher { display: flex; align-items: center; flex: 0 0 auto; border: 1px solid var(--line-strong); background: var(--surface); }
.run-switcher label { padding-left: .65rem; color: var(--dim); font: .55rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.run-switcher select { min-height: 36px; max-width: 180px; border: 0; background: transparent; color: var(--ink); padding: .35rem .5rem; font: .65rem var(--mono); }
.run-switcher button { align-self: stretch; border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--cyan); padding: 0 .65rem; font: .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.run-context-link { border: 1px solid var(--line-strong); padding: .42rem .65rem; color: var(--muted); font: .58rem var(--mono); letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.global-search {
  display: flex;
  align-items: center;
  gap: .65rem;
  width: min(600px, 100%);
  margin-left: auto;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  padding-left: .85rem;
  color: var(--muted);
}
.global-search:focus-within { border-color: rgba(85, 215, 255, .6); box-shadow: 0 0 0 3px rgba(85, 215, 255, .07); }
.global-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); padding: .72rem 0; }
.global-search button { align-self: stretch; border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--cyan); padding: 0 1rem; font-family: var(--mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .09em; }
.global-nav, .run-nav { display: flex; gap: 1.55rem; overflow-x: auto; scrollbar-width: none; }
.global-nav, .run-nav { border-top: 1px solid var(--line); }
.global-nav a, .run-nav a { flex: 0 0 auto; padding: .65rem 0 .7rem; color: var(--muted); font-family: var(--mono); font-size: .64rem; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.global-nav a:hover, .run-nav a:hover { color: var(--ink); }
.global-nav a.active, .run-nav a.active { color: var(--cyan); }
.global-nav a.active, .run-nav a.active { box-shadow: inset 0 -2px var(--cyan); }
.global-nav .nav-home { color: var(--coral); font-weight: 700; }
.global-nav .nav-home:hover { color: #ff8294; }
.run-nav .branch-people, .run-nav .branch-economy, .run-nav .branch-law { margin-left: .25rem; border-left: 1px solid var(--line-strong); padding-left: 1rem; }
.mobile-run-nav { display: none; }

.page-shell { min-height: 70vh; padding-block: 1.15rem 6rem; }
.crumbs { display: flex; gap: .55rem; align-items: center; min-height: 32px; margin-bottom: 2.3rem; color: var(--dim); font-family: var(--mono); font-size: .66rem; overflow: hidden; white-space: nowrap; }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs span:last-child { color: var(--ink); overflow: hidden; text-overflow: ellipsis; }
.site-footer { display: flex; justify-content: space-between; gap: 2rem; padding-block: 2.2rem 3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.site-footer p { margin: 0; }
.footer-walk { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-family: var(--mono); }
.footer-walk a { color: var(--muted); text-decoration: none; }
.footer-walk a:hover { color: var(--cyan); }

.branch-walk { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1px; margin-top: clamp(4rem, 8vw, 7rem); border: 1px solid var(--line); background: var(--line); }
.branch-walk > a, .branch-walk > span { min-height: 76px; background: var(--surface); padding: .8rem 1rem; text-decoration: none; }
.branch-walk > a { display: grid; align-content: center; color: var(--ink); }
.branch-walk a:hover { background: var(--surface-2); }
.branch-walk span { color: var(--dim); font: .54rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.branch-walk b { margin-top: .2rem; font: .72rem var(--mono); font-weight: 500; }
.branch-walk .branch-center { min-width: 210px; text-align: center; }
.branch-walk .branch-next { text-align: right; }

.hero { padding: clamp(2rem, 5vw, 5.8rem) 0 clamp(2rem, 4vw, 4.4rem); }
.hero-wide { max-width: 990px; }
.eyebrow { display: block; color: var(--muted); font-family: var(--mono); font-size: .65rem; font-style: normal; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.lede { max-width: 720px; color: #aab5c2; font-family: var(--serif); font-size: clamp(1.08rem, 2.1vw, 1.4rem); line-height: 1.52; }
.section-block { margin-top: clamp(3.5rem, 7vw, 6.5rem); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.25rem; }
.section-head h2 { margin: .2rem 0 0; }
.section-head > p { max-width: 430px; margin: 0; color: var(--muted); font-size: .85rem; }
.text-link { font-family: var(--mono); font-size: .7rem; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }

.run-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr)); gap: 1rem; }
.run-card { position: relative; display: block; min-height: 310px; border: 1px solid var(--line-strong); background: linear-gradient(155deg, rgba(17, 25, 37, .94), rgba(8, 12, 18, .97)); padding: 1.4rem; color: var(--ink); text-decoration: none; box-shadow: var(--shadow); overflow: hidden; }
.run-card::after { content: ""; position: absolute; right: -60px; bottom: -90px; width: 230px; height: 230px; border: 1px solid rgba(85, 215, 255, .13); border-radius: 50%; box-shadow: inset 0 0 70px rgba(85, 215, 255, .025); }
.run-card:hover { border-color: rgba(85, 215, 255, .44); transform: translateY(-1px); }
.run-card-top { display: flex; justify-content: space-between; gap: 1rem; color: var(--dim); font-size: .62rem; }
.run-card h2 { margin: 3rem 0 .5rem; font-size: 2rem; }
.run-card p { max-width: 35ch; color: var(--muted); font-size: .86rem; }
.mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); margin: 1.4rem 0 1.25rem; }
.mini-stats div { padding: .75rem .4rem; border-right: 1px solid var(--line); }
.mini-stats div:last-child { border-right: 0; }
.mini-stats dt { color: var(--dim); font-family: var(--mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.mini-stats dd { margin: .2rem 0 0; font-family: var(--mono); font-size: 1.15rem; }
.enter { position: relative; z-index: 1; color: var(--cyan); font-family: var(--mono); font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }

.compare-picker { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)) auto; gap: .75rem; align-items: end; margin-bottom: 1rem; }
.compare-picker label { display: grid; gap: .35rem; color: var(--muted); font: .57rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.compare-picker select { min-height: 42px; width: 100%; border: 1px solid var(--line-strong); background: var(--bg); color: var(--ink); padding: .5rem .6rem; font: .72rem var(--mono); }
.compare-run-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.compare-run-strip a { display: grid; min-height: 132px; align-content: center; background: linear-gradient(145deg, rgba(77, 210, 255, .06), var(--surface)); padding: 1rem; color: var(--ink); text-decoration: none; }
.compare-run-strip a:hover { background: var(--surface-2); }
.compare-run-strip span { color: var(--green); font: .55rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.compare-run-strip b { margin: .25rem 0; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.compare-run-strip small { color: var(--muted); font: .58rem/1.5 var(--mono); }
.compare-run-strip .compare-empty { display: grid; min-height: 132px; align-content: center; background: rgba(255, 255, 255, .018); padding: 1rem; }
.compare-run-strip .compare-empty span { color: var(--dim); }
.compare-run-strip .compare-empty b { color: var(--muted); }
.compare-table-wrap { overflow-x: auto; border: 1px solid var(--line); scrollbar-color: var(--line-strong) var(--surface); }
.mobile-scroll-hint { display: none; color: var(--cyan); font: .59rem var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.compare-table { width: 100%; min-width: 720px; border-collapse: collapse; background: rgba(9, 13, 20, .58); }
.compare-table th, .compare-table td { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .8rem; text-align: left; vertical-align: top; }
.compare-table tr > *:last-child { border-right: 0; }
.compare-table thead th { background: var(--surface-2); color: var(--muted); font: .58rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.compare-table thead th:not(:first-child) { min-width: 175px; }
.compare-table thead a { color: var(--cyan); text-decoration: none; }
.compare-table tbody > tr:not(.compare-group):hover { background: rgba(77, 210, 255, .025); }
.compare-table tbody th { width: 32%; min-width: 245px; }
.compare-table tbody th b, .compare-table tbody th small { display: block; }
.compare-table tbody th b { font: .7rem var(--mono); }
.compare-table tbody th small { margin-top: .2rem; color: var(--muted); font-size: .68rem; font-weight: 400; }
.compare-table td a { display: grid; color: var(--ink); text-decoration: none; }
.compare-table td a > b { font: 1.15rem var(--mono); font-weight: 400; }
.compare-table td a > small { color: var(--muted); font: .57rem var(--mono); }
.compare-table td a > span { margin-top: .45rem; color: var(--cyan); font: .52rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.compare-table .compare-group th { position: sticky; left: 0; background: #111923; color: var(--cyan); font: .58rem var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.compare-table.compact tbody th { width: 38%; }
.compare-kinds { padding-top: .65rem; }
.compare-kinds > summary { font-size: .76rem; }

.run-hero { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2rem; padding-top: 2.2rem; }
.run-seal { display: grid; place-items: center; align-content: center; width: 150px; height: 150px; border: 1px solid rgba(85, 215, 255, .28); border-radius: 50%; background: radial-gradient(circle, rgba(85, 215, 255, .09), transparent 68%); text-align: center; }
.run-seal span, .run-seal small { color: var(--muted); font-family: var(--mono); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.run-seal b { color: var(--cyan); font-family: var(--mono); font-size: 3.1rem; font-weight: 400; line-height: .95; }
.metric-strip { display: grid; grid-template-columns: repeat(5, 1fr); border-block: 1px solid var(--line-strong); }
.metric-strip a { min-width: 0; padding: 1.2rem 1rem; border-right: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.metric-strip a:last-child { border-right: 0; }
.metric-strip a:hover { background: rgba(85, 215, 255, .04); }
.metric-strip b { display: block; font-family: var(--mono); font-size: clamp(1.35rem, 3vw, 2.25rem); font-weight: 400; letter-spacing: -.05em; }
.metric-strip span { display: block; color: var(--muted); font-family: var(--mono); font-size: .59rem; letter-spacing: .12em; text-transform: uppercase; }

.domain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.domain-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; min-height: 152px; padding: 1.2rem; background: linear-gradient(145deg, var(--domain-soft, rgba(85, 215, 255, .045)), var(--surface) 58%); color: var(--domain-color, var(--cyan)); text-decoration: none; overflow: hidden; }
.domain-card::after { content: ""; position: absolute; right: -58px; bottom: -78px; width: 180px; height: 180px; border: 1px solid var(--domain-soft, var(--line)); border-radius: 50%; }
.domain-card:hover { z-index: 1; background: linear-gradient(145deg, var(--domain-soft, rgba(85, 215, 255, .07)), var(--surface-2) 64%); box-shadow: 0 0 0 1px var(--domain-color, var(--cyan)); }
.domain-symbol { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid currentColor; border-radius: 50%; font-family: var(--serif); font-size: 1.25rem; }
.domain-symbol.small { width: 30px; height: 30px; flex: 0 0 auto; font-size: .8rem; }
.domain-card span:not(.domain-symbol) { display: block; color: var(--domain-color, var(--cyan)); font-family: var(--mono); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.domain-card b { display: block; margin-top: .15rem; font-family: var(--mono); font-size: 2rem; font-weight: 400; letter-spacing: -.05em; }
.domain-card small { display: block; max-width: 31ch; margin-top: .5rem; color: var(--muted); font-size: .75rem; line-height: 1.35; }
.domain-card > i { position: relative; z-index: 1; align-self: start; color: var(--domain-color, var(--cyan)); font-style: normal; }
.domain-economy { --domain-color: var(--green); --domain-soft: rgba(89, 212, 155, .085); color: var(--green); }
.domain-life { --domain-color: var(--violet); --domain-soft: rgba(169, 139, 255, .085); color: var(--violet); }
.domain-law { --domain-color: var(--gold); --domain-soft: rgba(232, 189, 92, .085); color: var(--gold); }
.domain-justice { --domain-color: var(--coral); --domain-soft: rgba(255, 107, 120, .08); color: var(--coral); }
.domain-communication { --domain-color: var(--cyan); --domain-soft: rgba(85, 215, 255, .08); color: var(--cyan); }
.domain-institution { --domain-color: var(--blue); --domain-soft: rgba(111, 168, 255, .085); color: var(--blue); }
.domain-system { --domain-color: var(--muted); --domain-soft: rgba(137, 150, 167, .07); color: var(--muted); }
.fill-economy { --fill-color: var(--green); color: var(--green); fill: var(--green); background-color: var(--green); }
.fill-life { --fill-color: var(--violet); color: var(--violet); fill: var(--violet); background-color: var(--violet); }
.fill-law { --fill-color: var(--gold); color: var(--gold); fill: var(--gold); background-color: var(--gold); }
.fill-justice { --fill-color: var(--coral); color: var(--coral); fill: var(--coral); background-color: var(--coral); }
.fill-communication { --fill-color: var(--cyan); color: var(--cyan); fill: var(--cyan); background-color: var(--cyan); }
.fill-institution { --fill-color: var(--blue); color: var(--blue); fill: var(--blue); background-color: var(--blue); }
.fill-system { --fill-color: var(--muted); color: var(--muted); fill: var(--muted); background-color: var(--muted); }
.domain-symbol[class*="fill-"] { border-color: var(--fill-color); color: var(--bg); }

.timeline-frame { overflow-x: auto; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(17, 25, 37, .68), rgba(8, 12, 18, .82)); padding: 1rem .5rem .45rem; scrollbar-color: var(--line-strong) var(--surface); }
.run-timeline { display: block; min-width: 680px; height: auto; }
.run-timeline .axis { stroke: var(--line-strong); stroke-width: 1; }
.run-timeline text { fill: var(--muted); font-family: var(--mono); font-size: 7px; }
.run-timeline .hit-area { fill: transparent; }
.run-timeline a:hover rect:not(.hit-area) { filter: brightness(1.45); }
.legend-row { display: flex; flex-wrap: wrap; gap: .65rem 1rem; padding-top: .75rem; color: var(--muted); font-family: var(--mono); font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; }
.legend-row span { display: flex; align-items: center; gap: .38rem; }
.legend-row i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }

.two-column { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr); gap: 1rem; align-items: start; }
.two-column > * { min-width: 0; }
.panel { border: 1px solid var(--line); background: rgba(12, 17, 25, .78); padding: clamp(1rem, 2.2vw, 1.5rem); }
.activity-list { border-top: 1px solid var(--line); }
.activity-list.compact { margin-top: 1.2rem; }
.activity-row { display: flex; align-items: center; gap: .85rem; min-height: 68px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.activity-row > span:nth-child(2) { min-width: 0; flex: 1; }
.activity-row b { display: block; overflow: hidden; font-family: var(--mono); font-size: .72rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.activity-row small { display: flex; gap: .55rem; color: var(--muted); font-size: .7rem; }
.activity-row > i { color: var(--dim); font-style: normal; }
.activity-row:hover { background: rgba(85, 215, 255, .025); }
.note { margin: 1.2rem 0 0; color: var(--muted); font-size: .77rem; line-height: 1.5; }

.page-head, .record-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding: 1.5rem 0 2.2rem; border-bottom: 1px solid var(--line-strong); margin-bottom: 1.4rem; }
.page-head h1, .record-head h1 { margin: .18rem 0 .65rem; font-size: clamp(2.5rem, 5vw, 4.4rem); }
.page-head .lede { margin-bottom: 0; }
.count-block { flex: 0 0 auto; text-align: right; }
.count-block b { display: block; font-family: var(--mono); font-size: 2.4rem; font-weight: 400; letter-spacing: -.06em; }
.count-block span { color: var(--muted); font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }

.filter-bar { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin: 0 0 1rem; padding: .85rem; border: 1px solid var(--line); background: var(--surface); }
.filter-bar label { display: grid; gap: .3rem; color: var(--muted); font-family: var(--mono); font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.filter-bar select, .filter-bar input { min-height: 37px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--bg); color: var(--ink); padding: .42rem .58rem; font-family: var(--mono); font-size: .72rem; }
.filter-bar select { max-width: 220px; }
.filter-help { margin: -.45rem 0 1rem; color: var(--dim); font-family: var(--mono); font-size: .58rem; line-height: 1.45; }
.clear-link { align-self: center; padding: .55rem .2rem; color: var(--muted); font-family: var(--mono); font-size: .65rem; text-decoration: none; }
.button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border: 1px solid var(--cyan); background: var(--cyan); color: #061119; padding: .55rem .9rem; font-family: var(--mono); font-size: .65rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.button:hover { color: #061119; background: #a5eaff; }
.button.secondary { background: transparent; color: var(--cyan); border-color: var(--line-strong); }
.button.secondary:hover { border-color: var(--cyan); background: rgba(85, 215, 255, .05); color: var(--cyan); }
.button.disabled { border-color: var(--line); background: transparent; color: var(--dim); cursor: default; }
.full-button { width: 100%; margin-top: 1rem; }

.table-scroll { overflow-x: auto; border: 1px solid var(--line); scrollbar-color: var(--line-strong) var(--surface); }
.record-table { width: 100%; min-width: 780px; border-collapse: collapse; background: rgba(9, 13, 20, .58); font-family: var(--mono); font-size: .71rem; font-variant-numeric: tabular-nums; }
.record-table th { padding: .72rem .8rem; border-bottom: 1px solid var(--line-strong); background: var(--surface-2); color: var(--muted); font-size: .56rem; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.record-table td { padding: .72rem .8rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.record-table tr:last-child td { border-bottom: 0; }
.record-table tbody tr:hover { background: rgba(85, 215, 255, .025); }
.record-table td:first-child { min-width: 180px; }
.record-table td:first-child code { display: block; margin-top: .15rem; color: var(--dim); font-size: .59rem; }
.primary-id, .plate-link { display: block; color: var(--ink); font-weight: 700; text-decoration: none; }
.plate-link { max-width: 45ch; white-space: normal; }
.occurrence-summary { min-width: 340px; max-width: 620px; font-family: var(--sans); }
.occurrence-summary > a { color: var(--ink); text-decoration: none; }
.occurrence-summary small, .occurrence-table td small { display: block; margin-top: .2rem; color: var(--dim); font-family: var(--mono); font-size: .55rem; text-transform: uppercase; }
.muted { color: var(--muted); }
.domain-dot { display: inline-block; width: 7px; height: 7px; margin-right: .45rem; border-radius: 50%; vertical-align: 1px; }
.status { display: inline-flex; align-items: center; border: 1px solid var(--line-strong); padding: .16rem .38rem; font-family: var(--mono); font-size: .54rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.status.causal { border-color: rgba(89, 212, 155, .33); color: var(--green); background: rgba(89, 212, 155, .05); }
.status.derived { color: var(--muted); }
.empty { color: var(--muted); font-style: italic; text-align: center; }

.pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; }
.page-moves { display: flex; gap: .55rem; }
.page-sizes { display: flex; gap: .6rem; align-items: center; color: var(--muted); font-family: var(--mono); font-size: .63rem; }
.page-sizes a, .page-sizes strong { min-width: 25px; text-align: center; }
.page-sizes strong { color: var(--ink); }

.domain-badge { display: inline-flex; gap: .45rem; align-items: center; border: 1px solid currentColor; padding: .22rem .52rem; font-family: var(--mono); font-size: .59rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.record-subtitle { max-width: 760px; margin: 0; color: var(--muted); }
.record-step { display: flex; gap: .5rem; }
.record-step a { display: flex; gap: .45rem; min-height: 39px; align-items: center; border: 1px solid var(--line-strong); padding: .55rem .7rem; font-family: var(--mono); font-size: .65rem; text-decoration: none; }
.record-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(265px, 330px); gap: 1rem; align-items: start; }
.record-main { display: grid; gap: 1rem; min-width: 0; }
.record-aside { min-width: 0; }
.sticky-card { position: sticky; top: 1rem; }
.full-id { display: block; margin: .65rem 0 1.2rem; padding: .7rem; border: 1px solid var(--line); background: #070b11; color: var(--cyan); font-size: .68rem; }
.definition-list { margin: .5rem 0 0; }
.definition-list > div { display: grid; grid-template-columns: minmax(82px, .8fr) 1.4fr; gap: .75rem; padding: .55rem 0; border-bottom: 1px solid var(--line); }
.definition-list dt { color: var(--muted); font-family: var(--mono); font-size: .59rem; letter-spacing: .07em; text-transform: uppercase; }
.definition-list dd { margin: 0; font-family: var(--mono); font-size: .68rem; overflow-wrap: anywhere; text-align: right; }
.alias-box, .source-path { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: 1rem; }
.alias-box > span, .source-path > span { flex: 0 0 100%; color: var(--muted); font-family: var(--mono); font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.alias-box code, .source-path code { padding: .24rem .38rem; background: var(--surface-3); color: #b6c4d4; font-size: .59rem; }
.occurrence-cards { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.occurrence-card { display: flex; align-items: center; gap: .8rem; min-height: 68px; padding: .65rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.occurrence-card > span:nth-child(2) { flex: 1; min-width: 0; }
.occurrence-card b { display: block; font-family: var(--mono); font-size: .67rem; }
.occurrence-card small { color: var(--muted); }
.occurrence-card > i { color: var(--dim); font-style: normal; }
.raw-panel details { border-top: 1px solid var(--line); }
details summary { padding: .85rem 0; color: var(--cyan); cursor: pointer; font-family: var(--mono); font-size: .68rem; }
pre { max-width: 100%; max-height: 68vh; overflow: auto; margin: .5rem 0 0; border: 1px solid var(--line); background: #05080c; color: #aebac8; padding: 1rem; font: .68rem/1.55 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; scrollbar-color: var(--line-strong) #05080c; }
.fact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; border: 1px solid var(--line); background: var(--line); }
.fact-grid > div { min-height: 92px; padding: .85rem; background: var(--surface); }
.fact-grid dt { color: var(--dim); font: .55rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.fact-grid dd { margin: .45rem 0 0; color: var(--ink); font-size: .82rem; overflow-wrap: anywhere; }
.evidence-details { margin-top: 1rem; border-top: 1px solid var(--line); }

.relation-panel { min-width: 0; }
.relation-list { border-top: 1px solid var(--line); }
.relation-row { display: grid; grid-template-columns: 34px 1fr; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.direction { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line-strong); border-radius: 50%; font-family: var(--mono); }
.direction-outgoing { color: var(--green); }
.direction-incoming { color: var(--violet); }
.relation-copy { min-width: 0; }
.relation-copy > a { display: block; margin: .25rem 0; color: var(--ink); font-family: var(--mono); font-size: .73rem; font-weight: 700; overflow: hidden; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.relation-label { color: var(--muted); font-size: .7rem; }
.semantic { display: inline-block; margin-right: .35rem; border: 1px solid var(--line-strong); padding: .1rem .3rem; color: var(--cyan); font-family: var(--mono); font-size: .5rem; letter-spacing: .06em; text-transform: uppercase; }
.semantic-derived { color: var(--violet); }
.semantic-lineage { color: var(--gold); }
.trace { color: var(--dim); font-family: var(--mono); font-size: .56rem; overflow-wrap: anywhere; }
.relation-full { max-width: 960px; }
.chip-nav { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.chip-nav a { border: 1px solid var(--line); padding: .42rem .65rem; color: var(--muted); font-family: var(--mono); font-size: .61rem; text-decoration: none; }
.chip-nav a.active, .chip-nav a:hover { border-color: var(--cyan); color: var(--cyan); }

.lineage-grid, .life-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 1rem; }
.lineage-card, .life-card { border: 1px solid var(--line); background: var(--surface); color: var(--ink); }
.lineage-card { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.15rem; text-decoration: none; }
.lineage-card:hover, .life-card:hover { border-color: rgba(85, 215, 255, .4); background: var(--surface-2); }
.lineage-index { display: grid; place-items: center; align-content: center; width: 68px; height: 82px; border: 1px solid var(--line-strong); color: var(--cyan); font-family: var(--mono); font-size: 1.6rem; }
.lineage-index span { display: block; color: var(--muted); font-size: .55rem; }
.lineage-copy { min-width: 0; }
.lineage-copy h2, .life-card h2 { margin: .25rem 0; font-family: var(--sans); font-size: 1.1rem; }
.lineage-copy code, .life-card code { display: block; color: var(--dim); font-size: .59rem; }
.lineage-card dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); margin: .5rem 0 0; border-block: 1px solid var(--line); }
.lineage-card dl div { padding: .55rem; border-right: 1px solid var(--line); }
.lineage-card dl div:last-child { border-right: 0; }
.lineage-card dt { color: var(--dim); font-family: var(--mono); font-size: .54rem; text-transform: uppercase; }
.lineage-card dd { margin: 0; font-family: var(--mono); }
.lineage-card .enter { grid-column: 1 / -1; }
.life-card-link { display: grid; grid-template-columns: auto 1fr; gap: .9rem; min-height: 175px; padding: 1.1rem; color: var(--ink); text-decoration: none; }
.life-card-identity { display: grid; gap: .6rem; align-content: start; }
.life-number { color: var(--cyan); font-family: var(--mono); font-size: 2.5rem; line-height: .9; letter-spacing: -.08em; }
.life-number span { color: var(--violet); font-size: 1.3rem; }
.life-mini-glyph { width: 76px; border: 1px solid var(--line); background: #080d14; padding: .2rem; }
.life-mini-glyph .identity-glyph { display: block; width: 100%; height: auto; }
.life-card-link .enter { grid-column: 1 / -1; align-self: end; }
.life-foot { display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; border-top: 1px solid var(--line); padding: .65rem 1rem; color: var(--muted); font-family: var(--mono); font-size: .57rem; }

.brief-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-bottom: 1.4rem; border: 1px solid var(--line); background: var(--line); }
.brief-metrics > div { min-height: 120px; padding: 1rem; background: var(--surface); }
.brief-metrics b, .brief-metrics span, .brief-metrics small { display: block; }
.brief-metrics b { color: var(--cyan); font: 2rem/1 var(--mono); }
.brief-metrics span { margin-top: .5rem; font-family: var(--serif); font-size: 1rem; }
.brief-metrics small { margin-top: .3rem; color: var(--muted); font-size: .66rem; }
.succession-ledger { display: grid; gap: 1rem; }
.succession-brief { border: 1px solid var(--line); background: linear-gradient(145deg, rgba(169, 139, 255, .045), var(--surface) 62%); }
.succession-brief > header { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding: 1rem; border-bottom: 1px solid var(--line); }
.succession-brief h2 { margin: .2rem 0 0; font-size: 1.2rem; }
.succession-brief .eyebrow a { color: inherit; }
.record-chip { max-width: 380px; border: 1px solid var(--line-strong); padding: .4rem .55rem; color: var(--dim); font: .56rem var(--mono); text-align: right; text-decoration: none; }
.succession-path { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1px; align-items: stretch; border-bottom: 1px solid var(--line); background: var(--line); }
.succession-path > a { min-width: 0; padding: .8rem 1rem; background: rgba(10, 15, 23, .9); color: var(--ink); text-decoration: none; }
.succession-path > a:last-child { text-align: right; }
.succession-path small, .succession-path b, .succession-path span { display: block; }
.succession-path small { color: var(--dim); font: .52rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.succession-path b { margin: .2rem 0; overflow-wrap: anywhere; }
.succession-path span { color: var(--muted); font-size: .64rem; }
.succession-arrow { display: grid; place-items: center; min-width: 48px; padding: .7rem; background: var(--surface-2); color: var(--violet); font-size: 1.2rem; }
.succession-brief blockquote { margin: 0; padding: 1.4rem clamp(1rem, 4vw, 3rem); color: #d2d8e2; font-family: var(--serif); font-size: 1.03rem; line-height: 1.72; white-space: pre-wrap; }
.empty-brief { margin: 0; padding: 1.4rem; color: var(--dim); font-style: italic; }
.succession-brief > footer { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; padding: .65rem 1rem; border-top: 1px solid var(--line); font: .57rem var(--mono); }
.succession-brief > footer a:last-child { margin-left: auto; }
.brief-empty { background: var(--surface); }

.profile-hero { display: grid; grid-template-columns: minmax(230px, 340px) 1fr; gap: clamp(1.7rem, 5vw, 5rem); align-items: center; padding: 1.6rem 0 3.5rem; border-bottom: 1px solid var(--line-strong); }
.glyph-frame { position: relative; max-width: 330px; padding: 1rem; border: 1px solid var(--line-strong); background: radial-gradient(circle at 50% 40%, rgba(85, 215, 255, .055), transparent 62%), #080c12; }
.identity-glyph { display: block; width: 100%; height: auto; }
.glyph-caption { display: block; margin-top: .65rem; color: var(--dim); font-family: var(--mono); font-size: .53rem; letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.profile-title h1 { margin: .2rem 0 .8rem; }
.profile-title .lede a { color: inherit; }
.identity-address { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .8rem; max-width: 760px; margin-top: 1.5rem; border: 1px solid var(--line); background: var(--surface); padding: .65rem .75rem; }
.identity-address span { color: var(--muted); font-family: var(--mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.identity-address code { color: var(--cyan); font-size: .68rem; text-align: right; }
.profile-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.priority-card { margin-top: 1rem; }
.priority-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 1rem 0 0; border: 1px solid var(--line); background: var(--line); }
.priority-values > div { min-width: 0; padding: .8rem; background: var(--surface-2); }
.priority-values dt { color: var(--dim); font: .55rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.priority-values dd { margin: .4rem 0 0; color: var(--ink); font-family: var(--mono); font-size: .72rem; overflow-wrap: anywhere; }
.priority-empty { margin: 1rem 0 0; padding: .8rem; border: 1px solid var(--line); }
.resource-list { display: grid; gap: 1rem; margin-top: 1.2rem; }
.resource-row > div { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; }
.resource-row span { color: var(--muted); font-family: var(--mono); font-size: .63rem; text-transform: uppercase; }
.resource-row b { font-family: var(--mono); font-weight: 500; }
meter { width: 100%; height: 9px; border: 0; background: var(--surface-3); }
meter::-webkit-meter-bar { border: 0; border-radius: 0; background: var(--surface-3); }
meter::-webkit-meter-optimum-value { background: var(--cyan); }
meter::-moz-meter-bar { background: var(--cyan); }
.resource-food meter::-webkit-meter-optimum-value { background: var(--green); }
.resource-metal meter::-webkit-meter-optimum-value { background: var(--violet); }
.resource-energy meter::-webkit-meter-optimum-value { background: var(--gold); }
.resource-food meter::-moz-meter-bar { background: var(--green); }
.resource-metal meter::-moz-meter-bar { background: var(--violet); }
.resource-energy meter::-moz-meter-bar { background: var(--gold); }
.life-chain { display: flex; overflow-x: auto; gap: 1px; border: 1px solid var(--line); background: var(--line); scrollbar-color: var(--line-strong) var(--surface); }
.chain-node { position: relative; flex: 1 0 210px; display: block; min-height: 130px; padding: 1rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.chain-node.current { background: linear-gradient(145deg, rgba(85, 215, 255, .09), var(--surface)); }
.chain-node .generation { color: var(--cyan); font-family: var(--mono); font-size: 1.35rem; }
.chain-node b, .chain-node small { display: block; }
.chain-node b { margin-top: .65rem; }
.chain-node small { color: var(--muted); }
.chain-node i { position: absolute; right: -.5rem; top: 50%; z-index: 2; color: var(--cyan); font-style: normal; }
.activity-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 1px; margin-top: 1rem; border: 1px solid var(--line); background: var(--line); }
.activity-totals > div, .activity-totals > a { min-height: 82px; padding: .7rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.activity-totals b { display: block; font-family: var(--mono); font-size: 1.4rem; font-weight: 400; }
.activity-totals span { color: var(--muted); font-family: var(--mono); font-size: .55rem; text-transform: uppercase; }
.continuity-map { display: grid; gap: 1px; margin-top: 1rem; border: 1px solid var(--line); background: var(--line); }
.continuity-map > a, .continuity-map > div { position: relative; display: block; min-height: 75px; padding: .75rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.continuity-map > a.current { background: rgba(85, 215, 255, .055); }
.continuity-map small, .continuity-map b { display: block; }
.continuity-map small { color: var(--muted); font-family: var(--mono); font-size: .55rem; text-transform: uppercase; }
.continuity-map span { position: absolute; right: .8rem; top: 1.4rem; color: var(--dim); }
.continuity-empty { color: var(--dim); }

.tick-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.kind-cloud { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.kind-cloud a { border: 1px solid var(--line); padding: .35rem .5rem; color: var(--muted); font-family: var(--mono); font-size: .57rem; text-decoration: none; }
.kind-cloud a:hover { border-color: var(--cyan); color: var(--cyan); }

.search-page { display: flex; max-width: 920px; margin-bottom: 2.2rem; }
.search-page input { min-width: 0; flex: 1; border: 1px solid var(--line-strong); border-right: 0; border-radius: 0; background: var(--surface); color: var(--ink); padding: .9rem 1rem; }
.search-hints { display: flex; flex-wrap: wrap; gap: .45rem; max-width: 920px; margin: -1.2rem 0 2.2rem; color: var(--muted); font-size: .68rem; }
.search-hints b { flex: 0 0 100%; color: var(--ink); font: .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.search-hints span { border: 1px solid var(--line); padding: .3rem .45rem; }
.search-hints p { flex: 0 0 100%; margin: .15rem 0 0; color: var(--dim); }
.search-result { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 1rem; align-items: center; min-height: 86px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.search-result:last-child { border-bottom: 1px solid var(--line); }
.search-result:hover { background: rgba(85, 215, 255, .025); }
.type-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line-strong); color: var(--cyan); font-family: var(--mono); }
.search-result b, .search-result em, .search-result code { display: inline-block; margin-right: .7rem; }
.search-result em { color: var(--violet); font-family: var(--mono); font-size: .68rem; font-style: normal; }
.search-result code { color: var(--dim); font-size: .6rem; }
.search-result small { color: var(--muted); font-family: var(--mono); font-size: .6rem; }
.search-result > i { color: var(--dim); font-style: normal; }
.empty-state { max-width: 660px; padding: 2rem; }
.error-page { max-width: 720px; padding: 5rem 0; }
.error-code { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 1rem; border: 1px solid var(--coral); border-radius: 50%; color: var(--coral); font-size: 1.5rem; }

.explainer-head { max-width: 980px; }
.explainer-intro { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.principle-card { min-height: 245px; padding: 1.35rem; background: linear-gradient(145deg, rgba(85, 215, 255, .045), var(--surface) 65%); }
.principle-number { color: var(--cyan); font-family: var(--mono); font-size: .64rem; letter-spacing: .12em; }
.principle-card h2 { margin: 2.8rem 0 .65rem; font-size: 1.45rem; }
.principle-card p { margin: 0; color: var(--muted); font-size: .86rem; }
.world-cycle { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 1fr); gap: 1px; overflow-x: auto; margin: 0; padding: 1px; border: 1px solid var(--line); background: var(--line); list-style: none; scrollbar-color: var(--line-strong) var(--surface); }
.world-cycle li { position: relative; min-height: 220px; padding: 1.1rem; background: var(--surface); }
.world-cycle li::before { content: counter(list-item, decimal-leading-zero); display: block; margin-bottom: 3.5rem; color: var(--cyan); font-family: var(--mono); font-size: .65rem; letter-spacing: .1em; }
.world-cycle li:not(:last-child)::after { content: "→"; position: absolute; z-index: 1; right: -.48rem; top: 1rem; color: var(--cyan); }
.world-cycle b, .world-cycle span { display: block; }
.world-cycle b { margin-bottom: .55rem; font-size: .9rem; }
.world-cycle span { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.causal-note { background: linear-gradient(145deg, rgba(169, 139, 255, .06), var(--surface)); }
.question-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.question-grid a { position: relative; min-height: 150px; padding: 1.1rem 3rem 1.1rem 1.1rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.question-grid a:hover { background: var(--surface-2); }
.question-grid b, .question-grid span { display: block; }
.question-grid b { margin-bottom: .65rem; font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
.question-grid span { max-width: 48ch; color: var(--muted); font-size: .8rem; }
.question-grid i { position: absolute; right: 1.1rem; top: 1.1rem; color: var(--cyan); font-style: normal; }
.letter-nav { display: flex; flex-wrap: wrap; gap: .5rem; position: sticky; z-index: 4; top: 0; margin: 0 0 3rem; padding: .65rem; border: 1px solid var(--line); background: rgba(7, 10, 15, .96); }
.letter-nav a { border: 1px solid var(--line); padding: .35rem .55rem; color: var(--muted); font-family: var(--mono); font-size: .61rem; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.letter-nav a:hover { border-color: var(--cyan); color: var(--cyan); }
.glossary-section { display: grid; grid-template-columns: minmax(180px, .36fr) 1fr; gap: clamp(1.5rem, 5vw, 4.5rem); margin-top: 4.5rem; padding-top: 1rem; scroll-margin-top: 4rem; }
.glossary-section h2 { margin-top: .3rem; }
.glossary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; border: 1px solid var(--line); background: var(--line); }
.glossary-grid > div { min-height: 155px; padding: 1rem; background: var(--surface); }
.glossary-grid > div[id] { scroll-margin-top: 5rem; }
.glossary-grid dt { margin-bottom: .65rem; color: var(--ink); font-family: var(--serif); font-size: 1.15rem; }
.glossary-grid dt a { color: inherit; }
.glossary-grid dd { margin: 0; color: var(--muted); font-size: .79rem; line-height: 1.5; }

/* Deep domain surfaces */
.domain-hero { position: relative; padding-top: 2rem; overflow: hidden; }
.domain-hero::after { content: ""; position: absolute; right: 1rem; bottom: -85px; width: 230px; height: 230px; border: 1px solid var(--hero-color, var(--cyan)); border-radius: 50%; opacity: .11; pointer-events: none; }
.economy-hero { --hero-color: var(--green); }
.messages-hero { --hero-color: var(--cyan); }
.law-hero { --hero-color: var(--gold); }
.justice-hero { --hero-color: var(--coral); }
.institution-hero { --hero-color: var(--blue); }
.derivation-note { margin: .9rem 0 0; color: var(--dim); font-family: var(--mono); font-size: .58rem; line-height: 1.5; }
.table-frame, .chart-scroll { max-width: 100%; overflow-x: auto; scrollbar-color: var(--line-strong) var(--surface); }
.compact-table { width: 100%; border-collapse: collapse; font-size: .76rem; }
.compact-table th, .compact-table td { padding: .65rem .5rem; border-bottom: 1px solid var(--line); text-align: right; }
.compact-table th:first-child { text-align: left; }
.compact-table thead th { color: var(--dim); font-family: var(--mono); font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.big-callout { margin: 1rem 0; color: var(--cyan); font: 2.8rem/1 var(--mono); }
.big-callout small { color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.evidence-gap { background: linear-gradient(145deg, rgba(232, 189, 92, .055), var(--surface)); }

.resource-dashboard { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.resource-card { --resource: var(--cyan); min-width: 0; background: linear-gradient(150deg, color-mix(in srgb, var(--resource) 6%, var(--surface)), var(--surface) 54%); padding: 1.15rem; }
.resource-food { --resource: var(--green); }
.resource-metal { --resource: var(--violet); }
.resource-energy { --resource: var(--gold); }
.resource-card > header { display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: center; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.resource-orb { width: 28px; height: 28px; border: 1px solid var(--resource); border-radius: 50%; box-shadow: inset 0 0 15px color-mix(in srgb, var(--resource) 22%, transparent); }
.resource-card header span:not(.resource-orb) { display: block; color: var(--muted); font-family: var(--mono); font-size: .52rem; text-transform: uppercase; }
.resource-card h2 { margin: .1rem 0 0; font-size: 1.35rem; }
.resource-card header > b { color: var(--resource); font-family: var(--mono); font-size: 1.35rem; font-weight: 400; }
.mini-metrics { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; }
.mini-metrics div { padding: .7rem .3rem; border-bottom: 1px solid var(--line); }
.mini-metrics div:nth-child(odd) { border-right: 1px solid var(--line); }
.mini-metrics dt { color: var(--dim); font-family: var(--mono); font-size: .5rem; text-transform: uppercase; }
.mini-metrics dd { margin: .1rem 0 0; font-family: var(--mono); font-size: .78rem; }
.holder-list { margin-top: .5rem; }
.holder-list a { display: flex; justify-content: space-between; gap: .7rem; padding: .5rem 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.holder-list b, .holder-list small { display: block; }
.holder-list b { font-size: .7rem; }
.holder-list small { color: var(--dim); font-size: .6rem; }
.holder-list strong { color: var(--resource); font-family: var(--mono); font-size: .7rem; font-weight: 400; }
.flow-chart-grid { display: grid; grid-template-columns: 1fr; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.flow-chart { --resource: var(--cyan); min-width: 0; background: var(--surface); }
.flow-chart > header { display: flex; justify-content: space-between; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid var(--line); }
.flow-chart h3 { margin: 0; font-size: 1rem; }
.flow-chart header span { color: var(--muted); font-family: var(--mono); font-size: .55rem; }
.flow-chart svg, .commons-chart svg { display: block; min-width: 700px; height: auto; padding: .5rem; background: linear-gradient(180deg, rgba(17, 25, 37, .55), rgba(7, 10, 15, .75)); }
.flow-chart .axis, .commons-chart .axis { stroke: var(--line-strong); }
.flow-chart text, .commons-chart text { fill: var(--dim); font-family: var(--mono); font-size: 7px; }
.flow-chart .chart-zero { fill: var(--muted); font-size: 9px; text-transform: uppercase; }
.production-bar { fill: color-mix(in srgb, var(--resource) 55%, transparent); }
.transfer-bar { fill: var(--resource); }
.flow-chart a:hover rect { filter: brightness(1.5); }
.commons-chart { border: 1px solid var(--line); }
.commons-line { fill: none; stroke: var(--green); stroke-width: 1.5; }
.commons-point { fill: var(--green); }
.drought-point { fill: var(--coral); stroke: #fff; stroke-width: .5; }
.transfer-table small { display: block; color: var(--dim); }
.transfer-table .flow-arrow { color: var(--green); text-align: center; }
.resource-label { color: var(--resource); font-family: var(--mono); font-size: .6rem; text-transform: uppercase; }

.message-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 1.4rem; border: 1px solid var(--line); background: var(--line); }
.message-metrics a { min-height: 130px; padding: 1rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.message-metrics a:hover { background: var(--surface-2); }
.message-metrics b, .message-metrics span, .message-metrics small { display: block; }
.message-metrics b { color: var(--cyan); font: 2rem/1 var(--mono); }
.message-metrics span { margin-top: .55rem; font-family: var(--serif); font-size: 1rem; }
.message-metrics small { margin-top: .3rem; color: var(--muted); font-size: .65rem; }
.message-filter .text-filter { flex: 1 1 260px; }
.message-filter .text-filter input { width: 100%; max-width: none; }
.message-filter .focus-field { flex: 1 1 245px; }
.message-filter .focus-field input { width: 100%; max-width: none; }
.network-window-links { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 1rem 0 .5rem; }
.network-window-links a { border: 1px solid var(--line); padding: .35rem .55rem; color: var(--muted); font: .58rem var(--mono); text-decoration: none; text-transform: uppercase; }
.network-window-links a:hover { border-color: var(--cyan); color: var(--cyan); }
.network-window-links span { margin-left: auto; color: var(--dim); font: .57rem var(--mono); }
.network-time-frame { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); background: #090d14; padding: .35rem; scrollbar-color: var(--line-strong) var(--surface); }
.network-time-frame svg { display: block; }
.network-time-frame rect { fill: rgba(77, 210, 255, .32); }
.network-time-frame rect.selected { fill: var(--cyan); }
.network-time-frame a:hover rect { fill: var(--coral); }
.network-time-frame + .interaction-map { margin-top: 1.6rem; }
.message-ledger { display: grid; gap: .7rem; }
.message-card { --channel: var(--cyan); border: 1px solid var(--line); background: linear-gradient(145deg, color-mix(in srgb, var(--channel) 4%, var(--surface)), var(--surface) 60%); }
.message-private_message { --channel: var(--violet); }
.message-journal_entry { --channel: var(--gold); }
.message-card > header { display: grid; grid-template-columns: auto 1fr auto; gap: .85rem; align-items: center; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.channel-glyph { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--channel); border-radius: 50%; color: var(--channel); }
.message-card h2 { margin: .1rem 0 0; font-family: var(--sans); font-size: .92rem; }
.message-card h2 small { color: var(--muted); font-size: .74rem; font-weight: 400; }
.status-badge { display: inline-block; border: 1px solid currentColor; padding: .2rem .4rem; color: var(--green); font-family: var(--mono); font-size: .52rem; letter-spacing: .07em; text-transform: uppercase; }
.status-pending { color: var(--gold); }
.status-discarded, .status-technical_default, .status-malformed { color: var(--coral); }
.status-enacted { color: var(--green); }
.message-card blockquote { margin: 0; padding: 1.2rem 1.2rem 1.25rem 3.2rem; color: #ccd5df; font-family: var(--serif); font-size: 1.05rem; line-height: 1.65; white-space: pre-wrap; }
.message-card blockquote::before { content: "“"; float: left; margin-left: -2.15rem; color: var(--channel); font-size: 2.3rem; line-height: .9; }
.message-card > footer { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; padding: .55rem 1rem; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: .56rem; }
.message-card > footer a:last-child { margin-left: auto; }
.unresolved { color: var(--coral); }
.rank-list a { display: grid; grid-template-columns: 30px 1fr auto; gap: .7rem; align-items: center; padding: .65rem 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.rank-list > a > b { color: var(--dim); font-family: var(--mono); font-size: .65rem; }
.rank-list span, .rank-list small { display: block; }
.rank-list span { font-size: .76rem; font-weight: 600; }
.rank-list small { color: var(--muted); font-size: .6rem; font-weight: 400; }
.rank-list strong { color: var(--cyan); font-family: var(--mono); font-weight: 400; }
.pair-list > div { display: grid; grid-template-columns: 1fr auto 1fr auto; gap: .55rem; align-items: center; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .7rem; }
.pair-list span { color: var(--violet); }
.pair-list b { color: var(--cyan); font-family: var(--mono); font-weight: 400; }
.pair-list .pair-arrow { color: var(--violet); text-decoration: none; }
.pair-list .pair-count { color: var(--cyan); font-family: var(--mono); text-align: right; text-decoration: none; }
.pair-list .pair-count small { display: block; color: var(--muted); font-size: .5rem; }
.conversation-participants { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1px; margin-bottom: 1rem; border: 1px solid var(--line); background: var(--line); }
.conversation-participants > a { display: flex; gap: 1rem; align-items: center; min-height: 130px; padding: 1rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.conversation-participants > a:hover { background: var(--surface-2); }
.conversation-participants > a:last-child { flex-direction: row-reverse; text-align: right; }
.conversation-participants h2 { margin: .15rem 0; font-size: 1rem; }
.conversation-participants small, .conversation-participants code { color: var(--muted); font-size: .58rem; }
.conversation-node { display: grid; place-items: center; flex: 0 0 66px; width: 66px; height: 66px; border: 1px solid var(--violet); border-radius: 50%; color: var(--violet); font-family: var(--mono); }
.conversation-axis { display: grid; place-items: center; align-content: center; min-width: 90px; padding: .7rem; background: var(--surface-2); color: var(--violet); text-align: center; }
.conversation-axis span { font-size: 1.7rem; }
.conversation-axis small { color: var(--muted); font-family: var(--mono); font-size: .5rem; }
.interaction-map .chart-scroll { padding: .5rem; background: #090d14; }
.interaction-svg { display: block; max-width: none; height: auto; }
.interaction-svg a:hover path { stroke-opacity: .9; }
.interaction-svg a:hover circle { stroke: #a5eaff; stroke-width: 2.5; }
.network-table { min-width: 1050px; }
.network-table td small { display: block; color: var(--dim); font-size: .54rem; }
.life-story-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 1rem; margin-top: 1rem; align-items: start; }
.life-story-grid h3 { margin: .15rem 0 0; }
.life-contact-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .3rem .7rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.life-contact-list > div > a:first-child { color: var(--ink); text-decoration: none; }
.life-contact-list b, .life-contact-list small { display: block; }
.life-contact-list b { font-size: .72rem; }
.life-contact-list small, .life-contact-list span { color: var(--muted); font-size: .58rem; }
.life-contact-list span { text-align: right; }
.life-contact-list .conversation-link { grid-column: 1 / -1; color: var(--violet); font-family: var(--mono); font-size: .54rem; text-decoration: none; }
.life-word-list article { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.life-word-list header { display: flex; justify-content: space-between; gap: .8rem; color: var(--muted); font: .54rem var(--mono); text-transform: uppercase; }
.life-word-list header a { color: var(--cyan); text-decoration: none; }
.life-word-list article > a { display: -webkit-box; overflow: hidden; margin-top: .35rem; color: #ccd5df; font-family: var(--serif); font-size: .82rem; line-height: 1.5; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.life-word-list article > small { color: var(--dim); font: .5rem var(--mono); text-transform: uppercase; }

.law-metrics, .institution-metrics { margin-top: -.05rem; }
.proposal-list { display: grid; gap: 1rem; }
.proposal-card { border: 1px solid var(--line); background: linear-gradient(150deg, rgba(232, 189, 92, .045), var(--surface) 52%); }
.proposal-card > header { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); }
.proposal-card h3 { margin: .1rem 0 0; font: 1rem var(--mono); }
.law-quote, .law-text, .legal-prose { white-space: pre-wrap; }
.law-quote { margin: 0; padding: 1.2rem; color: #c7d0db; font-family: var(--serif); font-size: 1.02rem; line-height: 1.65; }
.legal-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border-block: 1px solid var(--line); background: var(--line); }
.legal-chain a, .legal-chain > div { position: relative; min-height: 110px; padding: .8rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.legal-chain a:not(:last-child)::after, .legal-chain > div:not(:last-child)::after { content: "→"; position: absolute; z-index: 1; right: -.45rem; top: .8rem; color: var(--gold); }
.legal-chain span, .legal-chain b, .legal-chain small { display: block; }
.legal-chain .chain-pending { color: var(--muted); background: #0a0e15; }
.legal-chain span { color: var(--gold); font-family: var(--mono); font-size: .55rem; }
.legal-chain b { margin-top: 1.5rem; font-size: .78rem; }
.legal-chain small { color: var(--muted); font-size: .62rem; }
.proposal-card > footer { display: flex; flex-wrap: wrap; gap: .55rem 1rem; align-items: center; padding: .7rem 1rem; color: var(--muted); font-size: .65rem; }
.proposal-card > footer strong { color: var(--coral); font-weight: 500; }
.law-tick-form { display: flex; align-items: end; gap: 1rem; margin-bottom: 1rem; border: 1px solid var(--line); background: var(--surface); padding: 1rem; }
.law-tick-form > div { min-width: 0; flex: 1; }
.law-tick-form b, .law-tick-form span { display: block; }
.law-tick-form span { color: var(--muted); font-size: .75rem; }
.law-tick-form label { color: var(--muted); font: .56rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.law-tick-form input { display: block; width: 100px; min-height: 38px; margin-top: .25rem; border: 1px solid var(--line-strong); background: var(--bg); color: var(--ink); padding: .45rem; }
.notice { border-left: 2px solid var(--gold); padding: .6rem .8rem; color: var(--muted); background: rgba(232, 189, 92, .04); }
.mechanics-badge { margin-left: auto; border: 1px solid var(--line-strong); padding: .18rem .35rem; font-family: var(--mono); font-size: .5rem; text-transform: uppercase; }
.mechanics-empty, .no-mechanics { color: var(--coral); }
.has-mechanics { color: var(--green); }
.statute-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.statute-card { display: grid; grid-template-columns: auto 1fr auto; gap: .9rem; min-height: 180px; padding: 1rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.statute-card:hover { background: var(--surface-2); }
.statute-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--gold); color: var(--gold); font-family: var(--serif); }
.statute-card h3 { margin: .2rem 0 .4rem; font-family: var(--serif); font-size: 1.4rem; }
.statute-card p { color: var(--muted); font-size: .7rem; line-height: 1.45; }
.statute-card small { font-family: var(--mono); font-size: .55rem; }
.statute-card i { color: var(--gold); font-style: normal; }
.statute-head { align-items: center; }
.version-stack { display: grid; gap: 1.2rem; }
.law-version { border: 1px solid var(--line); background: var(--surface); }
.law-version > header { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--line); }
.law-version > header h2 { margin: .2rem 0 0; }
.law-version > header dl { display: flex; gap: 1.4rem; margin: 0; }
.law-version > header dl div { text-align: right; }
.law-version > header dt { color: var(--dim); font-family: var(--mono); font-size: .52rem; text-transform: uppercase; }
.law-version > header dd { margin: 0; font-family: var(--mono); }
.law-version-grid, .ruling-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .65fr); }
.law-version-grid > section, .law-version-grid > aside, .ruling-grid > section, .ruling-grid > aside { padding: 1.2rem; }
.law-version-grid > aside, .ruling-grid > aside { border-left: 1px solid var(--line); }
.law-text, .legal-prose { margin-top: 1rem; color: #c7d0da; font-family: var(--serif); line-height: 1.72; }
.rendered-law { white-space: normal; }
.rendered-law h3, .rendered-law h4, .rendered-law h5 { margin: 1.5rem 0 .55rem; font-family: var(--serif); }
.rendered-law p { margin: .75rem 0; }
.rendered-law li { margin: .35rem 0; }
.version-anchor { color: inherit; text-decoration: none; }
.operative-list { margin: .8rem 0 0; }
.operative-list div { padding: .55rem 0; border-bottom: 1px solid var(--line); }
.operative-list dt { color: var(--muted); font-size: .68rem; }
.operative-list dd { margin: .15rem 0 0; color: var(--green); font-family: var(--mono); }
.zero-mechanics { margin-top: 1rem; border: 1px dashed rgba(255, 107, 120, .35); padding: 1rem; text-align: center; }
.zero-mechanics b { display: block; color: var(--coral); font-size: 2rem; }
.zero-mechanics span { color: var(--coral); font-family: var(--mono); font-size: .65rem; text-transform: uppercase; }
.zero-mechanics p { margin: .7rem 0 0; color: var(--muted); font-size: .68rem; }

.justice-split { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.justice-split > a { display: flex; gap: 1.2rem; align-items: center; min-height: 160px; padding: 1.2rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.justice-split > a:hover { background: var(--surface-2); }
.outcome-ring { display: grid; place-items: center; flex: 0 0 88px; width: 88px; height: 88px; border: 1px solid currentColor; border-radius: 50%; color: var(--green); box-shadow: inset 0 0 30px rgba(89, 212, 155, .06); }
.default-ring { color: var(--coral); box-shadow: inset 0 0 30px rgba(255, 107, 120, .06); }
.outcome-ring b { font: 1.8rem var(--mono); }
.justice-split h2 { margin: 0 0 .35rem; font-size: 1.25rem; }
.justice-split p { margin: 0; color: var(--muted); font-size: .75rem; }
.funnel-row { display: grid; grid-template-columns: repeat(9, auto); align-items: center; justify-content: space-between; gap: .5rem; border: 1px solid var(--line); background: var(--surface); padding: 1rem; }
.funnel-row div { min-width: 90px; text-align: center; }
.funnel-row b, .funnel-row span { display: block; }
.funnel-row b { color: var(--coral); font: 1.6rem var(--mono); }
.funnel-row span { color: var(--muted); font-family: var(--mono); font-size: .52rem; text-transform: uppercase; }
.funnel-row i { color: var(--dim); font-style: normal; }
.case-ledger { border-top: 1px solid var(--line); }
.case-row { display: grid; grid-template-columns: 34px 1.1fr 1fr .8fr auto; gap: 1rem; align-items: center; min-height: 88px; border-bottom: 1px solid var(--line); color: var(--ink); }
.case-row:hover { background: rgba(255, 107, 120, .025); }
.case-index { color: var(--dim); font-family: var(--mono); font-size: .6rem; }
.case-row b, .case-row small { display: block; }
.case-row b { font: .7rem var(--mono); }
.case-row small { color: var(--muted); font-size: .6rem; }
.case-row a { text-decoration: none; }
.case-main-link { color: var(--ink); font: .7rem var(--mono); font-weight: 700; }
.case-enter { color: var(--coral); font-style: normal; }
.case-result { border-left: 2px solid var(--green); padding-left: .65rem; }
.result-default { border-color: var(--coral); color: var(--coral); }
.result-merits { border-color: var(--green); color: var(--green); }
.case-head { align-items: center; }
.case-verdict { min-width: 190px; border: 1px solid currentColor; padding: 1rem; text-align: center; }
.case-verdict small, .case-verdict b { display: block; }
.case-verdict small { font-family: var(--mono); font-size: .54rem; text-transform: uppercase; }
.case-verdict b { margin-top: .3rem; font-family: var(--serif); font-size: 1.25rem; }
.case-chain { display: flex; overflow-x: auto; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.case-chain a { position: relative; flex: 1 0 150px; min-height: 92px; padding: .75rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.case-chain a:not(:last-child)::after { content: "→"; position: absolute; right: -.45rem; top: .7rem; z-index: 1; color: var(--coral); }
.case-chain span, .case-chain b, .case-chain small { display: block; }
.case-chain span { color: var(--coral); font-family: var(--mono); font-size: .52rem; }
.case-chain b { margin-top: 1rem; font-size: .72rem; }
.case-chain small { color: var(--muted); font-size: .6rem; }
.case-dossier-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 1rem; }
.case-dossier-grid blockquote { margin: 1rem 0 0; }
.technical-default { border-color: rgba(255, 107, 120, .3); background: linear-gradient(145deg, rgba(255, 107, 120, .07), var(--surface)); }
.citation-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.citation-list a { border: 1px solid var(--line); padding: .25rem .4rem; font-family: var(--mono); font-size: .56rem; text-decoration: none; }
.consequence-list { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: .8rem; }
.consequence-list h3 { font: 1rem var(--serif); }
.consequence-list p { display: grid; grid-template-columns: 105px 1fr; gap: .8rem; margin: 0; padding: .5rem 0; border-bottom: 1px solid var(--line); font-size: .72rem; }
.consequence-list b { color: var(--coral); font-family: var(--mono); }
.consequence-list span { color: var(--muted); }

.office-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.office-card { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; min-height: 180px; padding: 1.2rem; background: linear-gradient(145deg, rgba(111, 168, 255, .05), var(--surface)); }
.office-sigil { display: grid; place-items: center; width: 76px; height: 76px; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); font-family: var(--serif); font-size: 2rem; }
.office-card h2 { margin: .2rem 0 .5rem; }
.office-card p { margin: 0; color: var(--muted); }
.vacant { color: var(--coral) !important; font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }
.ballot-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.ballot-grid article { border: 1px solid var(--line); background: var(--surface); }
.ballot-grid header { padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.ballot-grid h3 { margin: .15rem 0 0; }
.ballot-grid dl { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; }
.ballot-grid dl div { padding: .7rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ballot-grid dt { color: var(--dim); font-family: var(--mono); font-size: .52rem; text-transform: uppercase; }
.ballot-grid dd { margin: .1rem 0 0; font-family: var(--mono); }
.ballot-grid footer { display: flex; justify-content: space-between; padding: .7rem 1rem; font-family: var(--mono); font-size: .6rem; }
.session-line { display: flex; overflow-x: auto; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.session-line article { flex: 1 0 105px; min-height: 115px; padding: .7rem; background: var(--surface); color: var(--ink); }
.session-line b, .session-line span, .session-line small { display: block; }
.session-line b { color: var(--blue); font: 1.5rem var(--mono); }
.session-line span { margin-top: 1.3rem; font-size: .66rem; }
.session-line small { color: var(--muted); font-size: .56rem; }
.session-line footer { display: flex; flex-wrap: wrap; gap: .25rem .55rem; margin-top: .65rem; font: .55rem var(--mono); }
.session-line footer a { color: var(--cyan); }
.archive-record { display: block; margin-top: 1rem; border: 1px solid var(--line); padding: .85rem; color: var(--ink); text-decoration: none; }
.archive-record span, .archive-record b, .archive-record small { display: block; }
.archive-record span { color: var(--blue); font-family: var(--mono); font-size: .58rem; }
.archive-record b { margin-top: .3rem; }
.archive-record small { color: var(--muted); }

@media (max-width: 900px) {
  .domain-grid { grid-template-columns: repeat(2, 1fr); }
  .metric-strip { grid-template-columns: repeat(3, 1fr); }
  .metric-strip a:nth-child(3) { border-right: 0; }
  .metric-strip a:nth-child(n+4) { border-top: 1px solid var(--line); }
  .record-layout { grid-template-columns: 1fr; }
  .sticky-card { position: static; }
  .two-column { grid-template-columns: minmax(0, 1fr); }
  .life-story-grid { grid-template-columns: 1fr; }
  .explainer-intro { grid-template-columns: 1fr; }
  .principle-card { min-height: 180px; }
  .principle-card h2 { margin-top: 1.8rem; }
  .glossary-section { grid-template-columns: 1fr; }
  .resource-dashboard, .flow-chart-grid { grid-template-columns: 1fr; }
  .resource-card { min-height: auto; }
  .law-version-grid, .ruling-grid, .case-dossier-grid { grid-template-columns: 1fr; }
  .law-version-grid > aside, .ruling-grid > aside { border-top: 1px solid var(--line); border-left: 0; }
  .funnel-row { grid-template-columns: repeat(5, 1fr); }
  .funnel-row i { display: none; }
  .compare-picker { grid-template-columns: repeat(2, 1fr); }
  .compare-picker .button { min-height: 42px; }
}

@media (max-width: 720px) {
  .brief-metrics { grid-template-columns: 1fr; }
  .succession-brief > header { display: grid; }
  .record-chip { max-width: 100%; text-align: left; }
  .succession-path { grid-template-columns: 1fr; }
  .succession-path > a:last-child { text-align: left; }
  .succession-arrow { min-height: 34px; padding: .2rem; font-size: 0; }
  .succession-arrow::after { content: "↓"; font-size: 1rem; }
  .succession-brief > footer a:last-child { margin-left: 0; }
  body { font-size: 15px; }
  .header-inner, .global-nav, .run-nav, .mobile-run-nav, .page-shell, .site-footer { width: min(100% - 1.25rem, 1240px); }
  .header-inner { min-height: 64px; gap: .7rem; flex-wrap: wrap; padding-block: .55rem; }
  .brand-mark { width: 33px; height: 33px; }
  .brand b { font-size: .72rem; }
  .brand small { font-size: .49rem; }
  .global-search { border: 0; background: transparent; width: auto; margin-left: auto; padding: 0; }
  .global-search > span, .global-search input { display: none; }
  .global-search button { min-height: 35px; border: 1px solid var(--line-strong); }
  .run-switcher { order: 3; width: 100%; }
  .run-switcher select { max-width: none; flex: 1; }
  .global-nav { gap: 0 1.15rem; flex-wrap: wrap; overflow: visible; }
  .run-nav { display: none; }
  .mobile-run-nav { display: block; border-top: 1px solid var(--line); }
  .mobile-run-nav summary { padding: .65rem 0; color: var(--cyan); font: .62rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
  .mobile-run-nav > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); margin-bottom: .65rem; }
  .mobile-run-nav a { padding: .65rem; background: var(--surface); color: var(--muted); font: .6rem var(--mono); text-decoration: none; text-transform: uppercase; }
  .mobile-run-nav a.active { color: var(--cyan); box-shadow: inset 3px 0 var(--cyan); }
  .crumbs { margin-bottom: 1.25rem; }
  .site-footer { display: grid; }
  .branch-walk { grid-template-columns: 1fr 1fr; }
  .branch-walk .branch-center { grid-column: 1 / -1; grid-row: 1; }
  .branch-walk .branch-previous { grid-column: 1; grid-row: 2; }
  .branch-walk .branch-next { grid-column: 2; grid-row: 2; }
  .branch-walk > span:empty { display: none; }
  .run-hero { grid-template-columns: 1fr; }
  .run-seal { width: 112px; height: 112px; }
  .run-seal b { font-size: 2.35rem; }
  .metric-strip { grid-template-columns: repeat(2, 1fr); }
  .metric-strip a, .metric-strip a:nth-child(3) { border-right: 1px solid var(--line); border-top: 1px solid var(--line); }
  .metric-strip a:nth-child(2n) { border-right: 0; }
  .metric-strip a:first-child, .metric-strip a:nth-child(2) { border-top: 0; }
  .domain-grid { grid-template-columns: 1fr; }
  .domain-card { min-height: 125px; }
  .section-head, .page-head, .record-head { align-items: start; flex-direction: column; gap: .65rem; }
  .section-head > p { max-width: none; }
  .count-block { text-align: left; }
  .record-step { width: 100%; justify-content: space-between; }
  .record-step a span { display: none; }
  .filter-bar { display: grid; grid-template-columns: 1fr 1fr; }
  .filter-bar label, .filter-bar select, .filter-bar input { width: 100%; max-width: none; }
  .filter-bar .button, .clear-link { align-self: end; }
  .wide-only { display: none; }
  .record-table { min-width: 540px; }
  .pagination { align-items: stretch; flex-direction: column; }
  .page-moves { display: grid; grid-template-columns: 1fr 1fr; }
  .page-sizes { justify-content: center; }
  .profile-hero { grid-template-columns: 1fr; }
  .glyph-frame { max-width: 260px; margin-inline: auto; }
  .profile-grid, .tick-summary { grid-template-columns: 1fr; }
  .priority-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .identity-address { grid-template-columns: 1fr; }
  .identity-address code { text-align: left; }
  .search-result { grid-template-columns: auto minmax(0, 1fr) auto; padding: .7rem 0; }
  .search-result small { grid-column: 2 / -1; }
  .question-grid, .glossary-grid { grid-template-columns: 1fr; }
  .letter-nav { position: static; }
  .message-metrics, .justice-split, .office-grid, .ballot-grid, .statute-grid { grid-template-columns: 1fr; }
  .conversation-participants { grid-template-columns: 1fr; }
  .conversation-participants > a:last-child { flex-direction: row; text-align: left; }
  .conversation-axis { min-height: 55px; }
  .legal-chain { grid-template-columns: repeat(2, 1fr); }
  .case-row { grid-template-columns: 25px 1fr auto; gap: .65rem; padding: .75rem 0; }
  .case-row > span:nth-child(3) { grid-column: 2; }
  .case-row > .case-result { grid-column: 2; }
  .case-row > .case-enter { grid-column: 3; grid-row: 1 / 4; }
  .case-head { align-items: start; }
  .funnel-row { grid-template-columns: repeat(2, 1fr); }
  .funnel-row div:last-child { grid-column: 1 / -1; }
  .message-card > header { grid-template-columns: auto 1fr; }
  .message-card > header .status-badge { grid-column: 2; justify-self: start; }
  .compare-picker { grid-template-columns: 1fr; }
  .compare-run-strip { grid-template-columns: 1fr; }
  .compare-run-strip a { min-height: 105px; }
  .compare-table { min-width: 650px; }
  .mobile-scroll-hint { display: block; }
}

@media (max-width: 440px) {
  .run-card { min-height: 290px; }
  .lineage-grid, .life-grid { grid-template-columns: 1fr; }
  .filter-bar { grid-template-columns: 1fr; }
  .record-table { min-width: 470px; }
  .fact-grid { grid-template-columns: 1fr; }
  .law-tick-form { align-items: stretch; flex-direction: column; }
  .activity-row small { display: block; }
  .profile-actions { display: grid; }
  .profile-actions .button { width: 100%; }
  .priority-values { grid-template-columns: 1fr; }
  .resource-card > header { grid-template-columns: auto 1fr; }
  .resource-card header > b { grid-column: 2; }
  .legal-chain { grid-template-columns: 1fr; }
  .legal-chain a:not(:last-child)::after, .legal-chain > div:not(:last-child)::after { content: "↓"; }
  .proposal-card > footer { align-items: start; flex-direction: column; }
  .mechanics-badge { margin-left: 0; }
  .office-card { grid-template-columns: 1fr; }
  .pair-list > div { grid-template-columns: 1fr auto 1fr; }
  .pair-list b { grid-column: 1 / -1; }
}

@media print {
  .site-header, .site-footer, .pagination, .filter-bar { display: none; }
  body { background: #fff; color: #111; }
  .page-shell { width: 100%; padding: 0; }
  .panel, .record-table, .lineage-card, .life-card { background: #fff; border-color: #bbb; }
}
