/* Proof of Agent | site.css | Proof Ledger
   One stylesheet for every page. Dark only. No JavaScript on this site.
   Radius is 0 everywhere; circles only for nodes, the seal and triad glyphs. */

/* 1. Tokens */
:root {
  color-scheme: dark;
  --ink-0: #0A0A0B;
  --ink-1: #0F1318;
  --ink-2: #151B23;
  --rule: #1F2937;
  --rule-hi: #2E3A4A;
  --rule-ui: #56677A;
  --fg: #F8FAFC;
  --fg-2: #CBD5E1;
  --muted: #9AA7B4;
  --faint: #7A8693;
  --lime: #A3FF4D;
  --green: #22C55E;
  --forest: #064E3B;
  --amber: #F5B453;
  --amber-body: #F3E6CF;
  --amber-ink: #FFD591;
  --coral: #FF7B72;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ease: cubic-bezier(.2, 0, 0, 1);

  --gutter: 16px;
  --sheet-pad: 12px;
  --rail: 0px;
  --seal: 64px;
}
@media (min-width: 360px) { :root { --sheet-pad: 16px; --seal: 72px; } }
@media (min-width: 480px) { :root { --gutter: 20px; --sheet-pad: 24px; } }
@media (min-width: 768px) { :root { --gutter: 24px; --sheet-pad: 32px; --seal: 96px; } }
@media (min-width: 1024px) { :root { --gutter: 32px; --sheet-pad: 40px; --rail: 200px; } }
@media (min-width: 1280px) { :root { --sheet-pad: 56px; --rail: 240px; } }

/* 2. Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 72px; }
body {
  margin: 0;
  background: var(--ink-0);
  color: var(--fg-2);
  font: 400 16px/1.65 var(--sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-ligatures: none;
  font-feature-settings: "calt" 0, "liga" 0;
  overflow-wrap: break-word;
}
::selection { background: var(--lime); color: var(--ink-0); }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
strong { font-weight: 600; color: var(--fg); }
table { border-collapse: collapse; border-spacing: 0; }
th { font-weight: inherit; }

code {
  font-family: var(--mono);
  font-size: .92em;
  font-weight: 500;
  color: var(--fg);
  background: var(--ink-2);
  border: 1px solid var(--rule-hi);
  padding: 1px 5px;
  border-radius: 0;
  overflow-wrap: anywhere;
}

/* Mono data: literal characters and tabular figures */
code, .tag, .fields, .rec__meta, .rec__foot, .rec__no, .records__rail, .recindex,
.num, .footer__status, .meter__scale, .meter__legend, .status, .strip__tag,
.cmd, .act, .tlink, .nav__link, .toc, .terms dt, .ledger th, .ledger td.num,
.custody__role, .custody__conn, .gap__track, .cmdrow__hint, .legend, .micro {
  font-variant-numeric: tabular-nums;
  font-variant-ligatures: none;
  font-feature-settings: "calt" 0, "liga" 0;
}

/* Inline prose links */
a:not([class]) {
  color: var(--fg);
  text-decoration: underline;
  text-decoration-color: var(--rule-ui);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 120ms var(--ease), text-decoration-color 120ms var(--ease);
}
a:not([class]):hover { color: var(--lime); text-decoration-color: var(--lime); }

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip {
  position: absolute;
  left: -9999px;
  top: 12px;
  z-index: 100;
  padding: 10px 14px;
  background: var(--ink-2);
  color: var(--fg);
  border: 1px solid var(--lime);
  font: 600 13px/1 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
}
.skip:focus { position: fixed; left: 12px; }

/* 3. Type roles */
.display {
  font: 600 44px/.98 var(--sans);
  letter-spacing: -.045em;
  color: var(--fg);
}
@media (min-width: 360px) { .display { font-size: 48px; } }
@media (min-width: 480px) { .display { font-size: 60px; } }
@media (min-width: 768px) { .display { font-size: 76px; } }
@media (min-width: 1024px) { .display { font-size: 92px; } }
@media (min-width: 1280px) { .display { font-size: 108px; } }
@media (min-width: 1440px) { .display { font-size: 116px; } }
.h1__line { display: block; }
.stop { color: var(--lime); text-shadow: 0 0 18px rgb(163 255 77 / .55); }

.page-title {
  font: 600 32px/1.04 var(--sans);
  letter-spacing: -.035em;
  color: var(--fg);
}
@media (min-width: 480px) { .page-title { font-size: 44px; } }
@media (min-width: 1024px) { .page-title { font-size: 56px; } }

.h2 {
  font: 600 26px/1.15 var(--sans);
  letter-spacing: -.03em;
  color: var(--fg);
  text-wrap: balance;
}
@media (min-width: 480px) { .h2 { font-size: 30px; } }
@media (min-width: 1024px) { .h2 { font-size: 38px; } }

.h3 {
  font: 600 20px/1.3 var(--sans);
  letter-spacing: -.015em;
  color: var(--fg);
}
@media (min-width: 768px) { .h3 { font-size: 22px; } }

.lede {
  font: 400 16px/1.6 var(--sans);
  color: var(--fg-2);
  max-width: 62ch;
}
@media (min-width: 480px) { .lede { font-size: 18px; } }

.body { font: 400 16px/1.65 var(--sans); color: var(--fg-2); max-width: 68ch; }

.fine { font: 400 13px/1.5 var(--sans); color: var(--muted); }

.micro {
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
}
.micro--faint { color: var(--faint); }

.rail-stack {
  font: 500 11px/20px var(--mono);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--faint);
}

/* 4. Frame */
.wrap { padding-inline: var(--gutter); }
.frame {
  max-width: 1280px;
  margin-inline: auto;
  border-left: 1px solid var(--rule);
  border-right: 1px solid var(--rule);
}

/* 5. Status strip */
.strip {
  background: rgb(245 180 83 / .07);
  border-bottom: 1px solid rgb(245 180 83 / .30);
  padding-inline: var(--gutter);
}
.strip__inner {
  max-width: 1280px;
  margin-inline: auto;
  padding: 8px calc(var(--sheet-pad) + 1px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}
.strip__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 22px;
  padding: 0 8px;
  border: 1px solid rgb(245 180 83 / .55);
  font: 600 11px/1 var(--mono);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--amber);
  white-space: nowrap;
}
.strip__text {
  font: 400 12px/1.45 var(--sans);
  color: var(--amber-body);
  min-width: 0;
  flex: 1 1 16em;
}
.strip__text strong { color: var(--amber-ink); font-weight: 600; }
@media (min-width: 480px) { .strip__text { font-size: 13px; } }
@media (max-width: 479px) {
  .strip__inner { display: block; }
  .strip__tag { vertical-align: 1px; margin-right: 8px; }
  .strip__text { display: inline; }
}

.sq {
  display: inline-block;
  flex: none;
  width: 8px;
  height: 8px;
  background: var(--amber);
}

/* 6. Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--ink-0);
  border-bottom: 1px solid var(--rule);
}
.site-header__inner {
  display: flex;
  align-items: stretch;
  height: 56px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  text-decoration: none;
  color: var(--fg);
  border-right: 1px solid var(--rule);
  flex: none;
}
.brand img {
  width: 28px;
  height: 28px;
  filter: drop-shadow(0 0 8px rgb(163 255 77 / .3));
}
.brand__word {
  font: 600 16px/1 var(--sans);
  letter-spacing: -.02em;
  color: var(--fg);
  white-space: nowrap;
}
.brand__of { font-weight: 400; color: var(--muted); }
.brand__short {
  display: none;
  font: 700 16px/1 var(--sans);
  letter-spacing: -.02em;
  color: var(--lime);
}
@media (max-width: 389px) {
  .site-header .brand__word { display: none; }
  .site-header .brand__short { display: inline; }
}
@media (min-width: 480px) { .brand { padding: 0 20px; } }
@media (min-width: 1024px) { .site-header .brand { width: var(--rail); } }

.nav { display: none; }
@media (min-width: 768px) { .nav { display: flex; } }
.nav__link {
  display: inline-flex;
  align-items: center;
  height: 56px;
  padding: 0 18px;
  border-right: 1px solid var(--rule);
  font: 500 12px/1 var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: color 120ms var(--ease), box-shadow 120ms var(--ease);
}
.nav__link:hover { color: var(--fg); box-shadow: inset 0 -2px 0 var(--lime); }
.nav__link[aria-current="page"] { color: var(--lime); box-shadow: inset 0 -2px 0 var(--lime); }
.nav__link:focus-visible { outline-offset: -2px; }

.site-header__spacer { flex: 1 1 auto; min-width: 0; }
.site-header__action {
  display: flex;
  align-items: center;
  padding: 0 0 0 8px;
  border-left: 1px solid var(--rule);
  flex: none;
}
@media (min-width: 480px) { .site-header__action { padding: 0 8px; } }

/* 7. Actions */
.cmd {
  display: inline-flex;
  align-items: stretch;
  height: 52px;
  border: 1px solid var(--fg);
  border-radius: 0;
  text-decoration: none;
  font: 600 13px/1 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-0);
  transition: box-shadow 120ms var(--ease);
}
.cmd__label {
  display: flex;
  align-items: center;
  padding: 0 22px;
  background: var(--fg);
  color: var(--ink-0);
  white-space: nowrap;
}
.cmd__slot {
  width: 52px;
  flex: none;
  display: grid;
  place-items: center;
  background: var(--ink-0);
  border-left: 1px solid var(--fg);
  color: var(--fg);
}
.cmd__slot .triad { width: 22px; height: 22px; }
.cmd__slot .ico { width: 16px; height: 16px; }
.cmd--mail .cmd__slot { color: var(--fg); }
.cmd:hover, .cmd:focus-visible {
  box-shadow: 0 0 0 3px rgb(163 255 77 / .22), 0 0 24px rgb(163 255 77 / .20);
}
.cmd:hover .triad__node, .cmd:focus-visible .triad__node {
  fill: var(--lime);
  stroke-opacity: 1;
  filter: drop-shadow(0 0 4px rgb(163 255 77 / .6));
}
.cmd:active { transform: translateY(1px); }
.cmd .triad__node { transition: fill 120ms var(--ease); }

.cmd--sm { height: 40px; font-size: 12px; }
.cmd--sm .cmd__label { padding: 0 14px; }
.cmd--sm .cmd__slot { width: 36px; }
.cmd--sm .cmd__slot .triad { width: 18px; height: 18px; }
@media (max-width: 359px) {
  .cmd--sm { letter-spacing: .08em; }
  .cmd--sm .cmd__label { padding: 0 10px; }
}
.cmd--sm[aria-current="page"] .cmd__label { background: var(--ink-0); color: var(--fg); }
.cmd--sm[aria-current="page"]:hover .triad__node,
.cmd--sm[aria-current="page"]:focus-visible .triad__node { fill: var(--forest); stroke-opacity: .45; filter: none; }

.act {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 18px;
  border: 1px solid var(--rule-ui);
  border-radius: 0;
  background: transparent;
  color: var(--fg);
  text-decoration: none;
  font: 600 13px/1 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 120ms var(--ease), border-color 120ms var(--ease);
}
.act .ico { width: 16px; height: 16px; flex: none; }
.act:hover { color: var(--lime); border-color: var(--lime); }

@media (max-width: 479px) {
  .cmdrow .cmd, .actions .cmd { display: flex; width: 100%; }
  .cmdrow .cmd__label, .actions .cmd__label { flex: 1; }
  .cmdrow .act, .actions .act { width: 100%; justify-content: space-between; }
  .cmdrow .cmd, .actions .cmd { height: auto; min-height: 52px; }
  .cmdrow .cmd__label, .actions .cmd__label { white-space: normal; line-height: 1.35; padding: 10px 16px; }
  .cmdrow .act, .actions .act { height: auto; min-height: 52px; padding-block: 10px; white-space: normal; line-height: 1.35; }
}

.tlink {
  display: inline-block;
  padding-block: 8px;
  font: 500 13px/20px var(--mono);
  color: var(--lime);
  text-decoration: none;
  transition: color 120ms var(--ease);
}
.tlink::before { content: "> "; content: "> " / ""; }
.tlink:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

.cmdrow, .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}
.cmdrow__hint {
  font: 400 12px/18px var(--mono);
  color: var(--muted);
  max-width: 32ch;
  padding-left: 16px;
  border-left: 1px solid var(--rule);
}
@media (max-width: 479px) { .cmdrow__hint { padding-left: 0; border-left: 0; } }
@media (min-width: 480px) and (max-width: 1279px) { .cmdrow__hint { flex-basis: 100%; max-width: none; padding-left: 0; border-left: 0; } }

/* 8. Icons and triad glyph */
.ico { display: block; flex: none; }
.triad { display: block; flex: none; overflow: visible; }
.triad__ring { stroke: var(--forest); }
.triad__node { fill: var(--forest); stroke: var(--lime); stroke-opacity: .45; stroke-width: 1.5; }
.triad__node.is-lit { fill: var(--lime); stroke-opacity: 1; filter: drop-shadow(0 0 4px rgb(163 255 77 / .6)); }
.triad__check { stroke: var(--green); }
.triad--unlit .triad__node { fill: none; stroke: var(--fg); stroke-opacity: .35; }
.triad--unlit .triad__ring { stroke: var(--rule-hi); }
.triad--unlit .triad__check { stroke: var(--rule-ui); }
.triad--missing .triad__node--v { fill: none; stroke: var(--fg); stroke-opacity: .5; stroke-dasharray: 2 3; }
.triad__node--v, .triad__node--m, .triad__node--p { transform-box: fill-box; transform-origin: center; }
.triad--20 { width: 20px; height: 20px; }
.triad--24 { width: 24px; height: 24px; }

/* 9. Tags */
.tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 22px;
  padding: 0 8px;
  border: 1px solid;
  border-radius: 0;
  font: 600 11px/1 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: middle;
}
@media (max-width: 359px) { .tag { font-size: 10px; } }
.tag .ico { width: 12px; height: 12px; }
.tag--ok { color: var(--green); background: rgb(34 197 94 / .10); border-color: rgb(34 197 94 / .55); }
.tag--bad { color: var(--coral); background: rgb(255 123 114 / .10); border-color: rgb(255 123 114 / .55); }
.tag--hold { color: var(--amber); background: rgb(245 180 83 / .10); border-color: rgb(245 180 83 / .55); }
.tag--neutral { color: var(--muted); border-color: var(--rule-ui); background: transparent; }
.tag--pending { color: var(--muted); border-color: var(--rule-ui); border-style: dashed; background: transparent; }
.tag--sample {
  color: #C4CCD4;
  border-color: rgb(154 167 180 / .45);
  background: repeating-linear-gradient(135deg, rgb(154 167 180 / .16) 0 1px, transparent 1px 5px);
}

/* 10. Bands: a margin rail and a sheet */
.band {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding-block: 56px 64px;
  border-top: 1px solid var(--rule);
}
@media (min-width: 768px) { .band { padding-block: 64px 72px; } }
.band__rail, .band__sheet, .band__after { padding-inline: var(--sheet-pad); min-width: 0; }
.band__after { padding-top: 48px; }

.rail__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 20px;
}
.rail__num {
  font: 600 13px/16px var(--mono);
  letter-spacing: .08em;
  color: var(--lime);
}
.rail__rule { display: none; width: 24px; height: 1px; background: var(--lime); }
.rail__name {
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
}

@media (min-width: 1024px) {
  .band {
    grid-template-columns: var(--rail) minmax(0, 1fr);
    padding-block: 0;
  }
  .band::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--rail) - 1px);
    width: 1px;
    background: var(--rule);
    pointer-events: none;
  }
  .band__rail { padding: 0; grid-column: 1; }
  .band__sheet { padding: 72px var(--sheet-pad) 88px; grid-column: 2; }
  .band__after { grid-column: 2; padding: 48px var(--sheet-pad) 88px; }
  .band__sheet--how { padding-bottom: 40px; }
  .rail__inner {
    position: sticky;
    top: 80px;
    display: block;
    padding: 72px 24px 0;
    border: 0;
    margin: 0;
  }
  .rail__num, .rail__name { display: block; }
  .rail__rule { display: block; margin: 12px 0; }
}

/* Entry head */
.entry { display: block; }
.entry__row {
  padding-bottom: 20px;
  border-bottom: 3px double var(--rule-hi);
}
.entry__meta {
  margin-top: 8px;
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--faint);
}
.entry__intro {
  margin-top: 24px;
  font: 400 17px/1.6 var(--sans);
  color: var(--fg-2);
  max-width: 62ch;
}
@media (min-width: 1024px) {
  .entry__row { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; }
  .entry__meta { margin-top: 0; white-space: nowrap; }
}

/* 11. Hero */
.band--hero { border-top: 0; padding-block: 0; }
.hero__rail {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "seal num" "seal status" "seal tags";
  align-content: center;
  align-items: center;
  column-gap: 16px;
  row-gap: 6px;
  padding: 32px var(--sheet-pad) 0;
}
@media (min-width: 480px) { .hero__rail { padding-top: 40px; } }
.hero__num {
  grid-area: num;
  font: 600 13px/16px var(--mono);
  letter-spacing: .08em;
  color: var(--lime);
}
.hero__rule { display: none; width: 24px; height: 1px; background: var(--lime); }
.hero__status { grid-area: status; }
.hero__tags { grid-area: tags; }
.hero__tags span { display: inline; }
.hero__tags2 { display: none; }
.hero__rail .seal { grid-area: seal; width: var(--seal); }

.status {
  display: flex;
  align-items: center;
  gap: 10px;
  font: 500 11px/20px var(--mono);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--muted);
}
.status--row { font-size: 12px; letter-spacing: .16em; line-height: 18px; }

.hero__sheet {
  position: relative;
  isolation: isolate;
  padding: 24px var(--sheet-pad) 64px;
}
.hero__sheet::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: repeating-linear-gradient(to bottom, transparent 0 39px, rgb(31 41 55 / .5) 39px 40px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0 55%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0 55%, transparent 100%);
}
.hero__lede { margin-top: 28px; }
.hero__sheet .cmdrow { margin-top: 36px; }
.hero__notice { margin-top: 32px; }
@media (min-width: 768px) { .hero__sheet { padding-bottom: 72px; } }

@media (min-width: 1024px) {
  .band--hero::before { background: rgb(163 255 77 / .28); }
  .hero__rail {
    display: block;
    padding: 72px 24px 48px;
    background: linear-gradient(to bottom, rgb(6 78 59 / .16), transparent 70%);
  }
  .hero__rule { display: block; margin-top: 12px; }
  .hero__rail .seal { width: 100%; max-width: 192px; margin-top: 24px; }
  .hero__status { display: block; margin-top: 28px; }
  .hero__status .sq { display: block; margin-bottom: 8px; }
  .hero__tags { margin-top: 32px; }
  .hero__tags span { display: block; }
  .hero__tags .rail-stack__sep { display: none; }
  .hero__tags2 { display: block; margin-top: 24px; color: var(--muted); }
  .hero__tags2 span { display: block; }
  .hero__sheet { padding: 72px var(--sheet-pad) 88px; }
}

/* Seal */
.seal { position: relative; aspect-ratio: 1 / 1; }
.seal::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 0;
  background: radial-gradient(closest-side, rgb(163 255 77 / .20), rgb(34 197 94 / .08) 55%, transparent 76%);
  pointer-events: none;
}
.seal img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(circle, #000 50%, transparent 72%);
  mask-image: radial-gradient(circle, #000 50%, transparent 72%);
}
.seal__ring { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; }
.seal__outer { stroke: var(--rule-hi); stroke-width: .5; fill: none; }
.seal__ticks { stroke: var(--lime); stroke-opacity: .35; stroke-width: 1.4; stroke-dasharray: .35 2.06; fill: none; }

/* 12. Notice */
.notice {
  display: grid;
  grid-template-columns: minmax(112px, max-content) minmax(0, 1fr);
  border-top: 1px solid rgb(245 180 83 / .45);
  border-bottom: 1px solid rgb(245 180 83 / .45);
  border-left: 4px solid var(--amber);
  background: rgb(245 180 83 / .06);
  border-radius: 0;
}
.notice__label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 14px 16px;
  border-right: 1px solid rgb(245 180 83 / .3);
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--amber);
}
.notice__label .ico { width: 16px; height: 16px; }
.notice__text {
  padding: 14px 18px;
  font: 400 16px/1.55 var(--sans);
  color: var(--amber-body);
  min-width: 0;
}
.notice__text strong { color: var(--amber-ink); font-weight: 600; }
@media (max-width: 479px) {
  .notice { grid-template-columns: minmax(0, 1fr); }
  .notice__label {
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    border-right: 0;
    border-bottom: 1px solid rgb(245 180 83 / .3);
  }
  .notice__text { padding: 12px 14px; }
}

/* 13. Why table */
.why { width: 100%; margin-top: 32px; }
.why thead th {
  padding: 0 16px 10px;
  text-align: left;
  border-bottom: 1px solid var(--rule-hi);
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
}
.why tbody th, .why tbody td {
  padding: 20px 16px;
  border-bottom: 1px solid var(--rule);
  vertical-align: top;
  text-align: left;
}
.why__key { font: 600 13px/24px var(--mono); color: var(--lime); letter-spacing: .08em; }
.why__title { display: block; font: 600 18px/1.35 var(--sans); color: var(--fg); letter-spacing: -.01em; }
.why__body { display: block; margin-top: 6px; font: 400 15px/1.6 var(--sans); color: var(--fg-2); }
.why__answer {
  display: flex;
  gap: 10px;
  font: 500 16px/1.45 var(--sans);
  color: var(--fg);
}
.why__answer::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  margin-top: .55em;
  background: var(--lime);
}
.why__answer + .tlink { margin-top: 4px; }
.why tfoot th, .why tfoot td { border-top: 3px double var(--rule-hi); padding: 16px; text-align: left; vertical-align: baseline; }
.why tfoot th { padding-right: 0; white-space: nowrap; }
.why__total-key {
  font: 600 11px/16px var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--faint);
}
.why__total { font: 600 16px/1.5 var(--sans); color: var(--fg); }
@media (min-width: 768px) {
  .why { table-layout: fixed; }
  .why__c1 { width: 64px; }
  .why__c2 { width: auto; }
  .why__c3 { width: 42%; }
}
@media (max-width: 767px) {
  .why, .why thead, .why tbody, .why tfoot, .why tr, .why th, .why td { display: block; }
  .why thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .why tbody tr { padding: 20px 0; border-bottom: 1px solid var(--rule); }
  .why tbody th, .why tbody td { padding: 0; border: 0; }
  .why tbody td + td { margin-top: 16px; }
  .why td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 6px;
    font: 500 11px/16px var(--mono);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .why tfoot tr { border-top: 3px double var(--rule-hi); padding: 16px 0; }
  .why tfoot th, .why tfoot td { border: 0; padding: 0; }
  .why tfoot td { margin-top: 6px; }
}

/* 14. Section 02 helpers */
.how__fine { margin-top: 12px; max-width: 68ch; }
.legend {
  margin-top: 8px;
  font: 400 12px/18px var(--mono);
  color: var(--muted);
}

/* Record index */
.recindex { margin-top: 32px; }
.recindex__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 16px;
  margin-bottom: 10px;
}
.recindex__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}
@media (min-width: 480px) { .recindex__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .recindex__list { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
.recindex__list li { border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); min-width: 0; }
.recindex__link {
  display: grid;
  gap: 4px;
  align-content: start;
  min-height: 72px;
  height: 100%;
  padding: 12px 14px;
  text-decoration: none;
  transition: background-color 120ms var(--ease);
}
.recindex__link:hover { background: var(--ink-2); }
.recindex__link:focus-visible { outline-offset: -2px; }
.recindex__no {
  display: flex;
  align-items: center;
  gap: 6px;
  font: 500 12px/16px var(--mono);
  color: var(--faint);
  transition: color 120ms var(--ease);
}
.recindex__no::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--forest);
  border: 1px solid var(--lime);
}
.recindex__link:hover .recindex__no { color: var(--lime); }
.recindex__kind {
  font: 600 12px/16px var(--mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--fg);
}
.recindex__res { font: 600 11px/16px var(--mono); letter-spacing: .12em; text-transform: uppercase; }

.is-ok { color: var(--green); }
.is-bad { color: var(--coral); }
.is-hold { color: var(--amber); }
.is-neutral { color: var(--muted); }

.parties { margin-top: 40px; }
.band__after > .parties:first-child { margin-top: 0; }
.parties__note { margin-top: 12px; }

/* 15. Ledger tables */
.ledger {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--rule-hi);
}
.ledger caption {
  caption-side: top;
  text-align: left;
  padding: 0 0 10px;
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
}
.ledger thead th {
  padding: 12px 16px;
  background: var(--ink-2);
  border-bottom: 3px double var(--rule-hi);
  text-align: left;
  font: 500 11px/16px var(--mono);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  vertical-align: bottom;
}
.ledger td, .ledger tbody th {
  padding: 14px 16px;
  border-bottom: 1px solid var(--rule);
  vertical-align: top;
  text-align: left;
  font: 400 15px/1.55 var(--sans);
  color: var(--fg-2);
}
.ledger tbody th[scope="row"] { font-weight: 600; color: var(--fg); }
.ledger td.num, .ledger--mono-key tbody th[scope="row"] {
  font: 500 13px/1.6 var(--mono);
  color: var(--fg);
}
.ledger--mono-key tbody th[scope="row"] { font-weight: 600; }
.ledger .ledger__group th {
  padding: 10px 16px;
  background: var(--ink-1);
  border-bottom: 1px solid var(--rule);
  font: 600 11px/16px var(--mono);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lime);
}
.ledger + .fine, .ledger-note { margin-top: 12px; max-width: 68ch; }
.ledger .tag { margin: 1px 0; }

.layer { display: inline-flex; align-items: center; gap: 10px; }
.reclinks { display: flex; flex-wrap: wrap; gap: 0 14px; }
.reclinks .tlink { padding-block: 0; min-height: 24px; }

.shelf { margin-top: 48px; }
.shelf--first { margin-top: 0; }
.shelf > .h3 + .ledger, .shelf > .h3 + table { margin-top: 20px; }

/* Stack tables into ruled blocks on narrow screens */
@media (max-width: 639px) {
  .ledger, .ledger thead, .ledger tbody, .ledger tr, .ledger th, .ledger td, .ledger caption { display: block; }
  .ledger { border-top: 0; }
  .ledger thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ledger tbody tr {
    border: 1px solid var(--rule-hi);
    padding: 12px 14px;
    margin-bottom: 12px;
  }
  .ledger td, .ledger tbody th { padding: 6px 0; border: 0; }
  .ledger td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    font: 500 11px/16px var(--mono);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .ledger tbody tr.ledger__group { border: 0; padding: 0; margin: 20px 0 10px; }
  .ledger tbody:first-of-type tr.ledger__group, .ledger thead + tbody tr.ledger__group:first-child { margin-top: 0; }
  .ledger .ledger__group th { background: transparent; padding: 0 0 8px; border-bottom: 1px solid var(--rule); }
  .ledger--perms tbody tr:not(.ledger__group) { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
  .ledger--perms td[data-label]::before { display: none; }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .ledger--wide, .ledger--wide thead, .ledger--wide tbody, .ledger--wide tr, .ledger--wide th, .ledger--wide td, .ledger--wide caption { display: block; }
  .ledger--wide { border-top: 0; }
  .ledger--wide thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ledger--wide tbody tr { border: 1px solid var(--rule-hi); padding: 12px 14px; margin-bottom: 12px; }
  .ledger--wide td, .ledger--wide tbody th { padding: 6px 0; border: 0; }
  .ledger--wide td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    font: 500 11px/16px var(--mono);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .ledger--wide tbody tr.ledger__group { border: 0; padding: 0; margin: 20px 0 10px; }
  .ledger--wide thead + tbody tr.ledger__group:first-child { margin-top: 0; }
  .ledger--wide .ledger__group th { background: transparent; padding: 0 0 8px; border-bottom: 1px solid var(--rule); }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .ledger--wide .tag { white-space: normal; height: auto; min-height: 22px; padding-block: 4px; line-height: 1.25; }
}

/* 16. Record chain */
.records { margin-top: 40px; }
.records__item { padding-inline: var(--sheet-pad); }
.records__item + .records__item { margin-top: 16px; }
.records__rail { display: none; }
.records__body { min-width: 0; }
.tx-note {
  margin-bottom: 8px;
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--lime);
}

@media (min-width: 768px) {
  .records__item {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 12px;
  }
  .records__item + .records__item { margin-top: 0; }
  .records__body { padding-bottom: 24px; }
  .records__rail { display: block; position: relative; }
  .records__rail > * { display: none; }
  .records__rail::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 13px;
    width: 1px;
    background: var(--rule-hi);
  }
  .records__rail::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 16px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--forest);
    border: 1px solid var(--lime);
  }
  .records__item:first-child .records__rail::before { top: 21px; }
  .records__item:last-child .records__rail::before { bottom: auto; height: 21px; }
  .records__item--tx-start .records__rail::before {
    width: 2px;
    background:
      linear-gradient(var(--lime), var(--lime)) no-repeat 0 21px / 2px 100%,
      linear-gradient(var(--rule-hi), var(--rule-hi)) no-repeat 0 0 / 1px 21px;
  }
  .records__item--tx-end .records__rail::before {
    width: 2px;
    background:
      linear-gradient(var(--lime), var(--lime)) no-repeat 0 0 / 2px 21px,
      linear-gradient(var(--rule-hi), var(--rule-hi)) no-repeat 0 21px / 1px 100%;
  }
}
@media (min-width: 1024px) {
  .records { grid-column: 1 / -1; margin-top: 0; }
  .records__item {
    grid-template-columns: var(--rail) minmax(0, 1fr);
    column-gap: 0;
    padding-inline: 0;
  }
  .records__body { padding-inline: var(--sheet-pad); }
  .records__rail {
    padding: 10px 44px 0 24px;
    text-align: left;
  }
  .records__rail > * { display: block; }
  .records__rail::before { left: auto; right: 32px; }
  .records__rail::after { left: auto; right: 27px; }
  .records__item--tx-start .records__rail::before,
  .records__item--tx-end .records__rail::before { right: 31.5px; }
  .records__phase { margin-bottom: 10px; color: var(--muted); }
  .records__rail .triad { width: 24px; height: 24px; margin-bottom: 10px; }
  .records__time { font: 500 13px/20px var(--mono); color: var(--fg); }
  .records__tz { color: var(--faint); }
  .records__tx { margin-top: 14px; color: var(--lime); }
  .tx-note {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    margin: 0;
  }
}

/* Receipt */
.rec {
  position: relative;
  border: 1px solid var(--rule-hi);
  background: var(--ink-1);
  border-radius: 0;
}
.rec__head {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  min-height: 44px;
  background: var(--ink-2);
  border-bottom: 1px solid var(--rule-hi);
}
.rec__no {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 14px;
  border-right: 1px solid var(--rule-hi);
  font: 600 13px/1 var(--mono);
  color: var(--lime);
}
.rec__kind {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 14px;
  font: 600 13px/1 var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--fg);
}
.rec__kind.micro { font-weight: 500; font-size: 11px; letter-spacing: .24em; color: var(--muted); }
.rec__spacer { flex: 1 1 auto; }
.rec__tags {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-right: 12px;
}
@media (max-width: 479px) {
  .rec__tags {
    flex-basis: 100%;
    flex-wrap: wrap;
    padding: 8px 14px;
    border-top: 1px solid var(--rule);
  }
}
.rec__meta {
  padding: 7px 14px;
  border-bottom: 1px solid var(--rule);
  font: 400 12px/18px var(--mono);
  color: var(--muted);
  overflow-wrap: anywhere;
}
.rec__meta code { font-size: 11px; padding: 0 4px; }
.rec__body { display: grid; grid-template-columns: minmax(0, 1fr); }
.rec__memo { padding: 16px; }
.rec__memo p + p { margin-top: 8px; }
.rec__memo .micro + p { margin-top: 8px; }
.rec__memo p:not(.micro) { font: 400 15px/1.6 var(--sans); color: var(--fg-2); }
.rec__fields {
  padding: 14px 16px 18px;
  border-top: 1px solid var(--rule);
  background: url(/img/ridge.svg) no-repeat right -28px bottom -28px / 200px;
  min-width: 0;
}
.rec__fields > .micro + .fields { margin-top: 8px; }
.rec__more > summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; min-height: 24px; }
.rec__more > summary::-webkit-details-marker { display: none; }
.rec__more > summary::after { content: " +"; content: " +" / ""; white-space: pre; color: var(--lime); }
.rec__more[open] > summary::after { content: " -"; content: " -" / ""; }
.rec__more > summary:hover { color: var(--fg); }
.rec__more > summary + .fields { margin-top: 8px; }
@media (min-width: 480px) {
  .rec__memo { padding: 20px 24px; }
  .rec__fields { padding: 16px 24px 20px; }
}
@media (min-width: 1280px) {
  .rec__body { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .rec__fields { border-top: 0; border-left: 1px solid var(--rule); }
}
.rec__footnote { padding: 10px 16px; border-top: 1px solid var(--rule); }
@media (min-width: 480px) { .rec__footnote { padding: 10px 24px; } }
.rec__foot {
  border-top: 1px dashed var(--rule-hi);
  padding: 10px 14px;
  font: 400 11px/16px var(--mono);
  letter-spacing: .04em;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.records__item:target .rec { border-color: var(--lime); box-shadow: inset 4px 0 0 var(--lime); }

/* Field rows: one method, dot leaders on the key */
.fields__row { display: flex; align-items: baseline; gap: 0; min-height: 28px; }
.fields__row dt {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  font: 400 12px/20px var(--mono);
  color: var(--muted);
}
.fields__row dt::after {
  content: "";
  flex: 1;
  min-width: 16px;
  margin: 0 8px 5px;
  border-bottom: 1px dotted var(--rule-ui);
}
.fields__row dd {
  flex: 0 1 auto;
  margin: 0;
  text-align: right;
  font: 500 13px/20px var(--mono);
  color: var(--fg);
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  align-items: baseline;
  overflow-wrap: anywhere;
  min-width: 0;
}
.fields__row dd code { font-size: 12px; }
@media (min-width: 480px) { .fields__row dt { white-space: nowrap; } }
.fields__row--stack { display: block; padding: 4px 0; }
.fields__row--stack dt::after { display: none; }
.fields__row--stack dd { display: flex; justify-content: flex-start; text-align: left; margin-top: 2px; }
@media (max-width: 479px) {
  .fields__row--long { display: block; padding: 4px 0; }
  .fields__row--long dt::after { display: none; }
  .fields__row--long dd { display: flex; justify-content: flex-start; text-align: left; margin-top: 2px; }
}

/* Deposit meter */
.meter__scale {
  margin-top: 16px;
  text-align: right;
  font: 500 11px/16px var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.meter {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr)) 2px repeat(2, minmax(0, 1fr));
  gap: 3px;
  margin-top: 10px;
  align-items: start;
}
.cell { height: 16px; }
@media (min-width: 480px) { .cell { height: 20px; } }
.cell--a { background: var(--lime); }
.cell--b { background: rgb(163 255 77 / .55); }
.cell--room { border: 1px solid var(--rule-ui); }
.cell--cap { background: var(--fg); height: 28px; margin-top: -6px; margin-bottom: -6px; }
@media (min-width: 480px) { .cell--cap { height: 32px; } }
.cell--rejected {
  border: 1px solid var(--coral);
  background: repeating-linear-gradient(135deg, rgb(255 123 114 / .5) 0 2px, transparent 2px 5px);
}
.meter__legend {
  margin-top: 12px;
  font: 400 12px/18px var(--mono);
  color: var(--muted);
}
.meter__legend .k-a { color: var(--lime); }
.meter__legend .k-r { color: var(--coral); }
.rec__fields .fine { margin-top: 8px; }

/* Pro-rata split */
.split {
  display: grid;
  grid-template-columns: 4fr 5fr;
  gap: 3px;
  height: 16px;
  margin-top: 12px;
}
.split__a { background: var(--lime); }
.split__b { background: rgb(163 255 77 / .55); }

/* Post-trade gap line */
.gap {
  margin-top: 16px;
  border: 1px solid var(--rule-hi);
  background: var(--ink-0);
  padding: 20px 16px;
}
@media (min-width: 480px) { .gap { padding: 20px 24px; } }
.gap__track { margin-top: 16px; }
.gap__zone-label {
  font: 500 11px/16px var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--amber-ink);
}
.gap__zone {
  display: block;
  height: 16px;
  width: 66.666%;
  margin-top: 6px;
  border-top: 1px solid var(--amber);
  background: repeating-linear-gradient(135deg, rgb(245 180 83 / .35) 0 2px, transparent 2px 6px);
}
.gap__ticks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--rule-ui);
}
.gap__ticks li {
  position: relative;
  grid-row: 1;
  padding-top: 18px;
  font: 500 11px/16px var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  max-width: 100%;
}
.gap__ticks li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 12px;
  background: var(--rule-ui);
}
.gap__ticks li:nth-child(1) { grid-column: 1; }
.gap__ticks li:nth-child(2) { grid-column: 2; }
.gap__ticks li:nth-child(3) { grid-column: 3; max-width: 48%; }
.gap__ticks li:nth-child(4) { grid-column: 3; justify-self: end; text-align: right; max-width: 48%; }
.gap__ticks li:nth-child(4)::before { left: auto; right: 0; }
.gap__cap { margin-top: 18px; font: 400 14px/1.55 var(--sans); color: var(--fg-2); max-width: 68ch; }
@media (max-width: 599px) {
  .gap__track {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    column-gap: 10px;
  }
  .gap__zone-label { grid-column: 1 / -1; grid-row: 1; margin-bottom: 8px; }
  .gap__zone {
    grid-column: 1;
    grid-row: 2 / 5;
    width: 6px;
    height: auto;
    margin: 0;
    border-top: 0;
    border-left: 1px solid var(--amber);
  }
  .gap__ticks { display: contents; }
  .gap__ticks li {
    grid-column: 2 !important;
    justify-self: start !important;
    text-align: left !important;
    max-width: none !important;
    min-height: 28px;
    padding: 6px 0 6px 14px;
  }
  .gap__ticks li:nth-child(1) { grid-row: 2; }
  .gap__ticks li:nth-child(2) { grid-row: 3; }
  .gap__ticks li:nth-child(3) { grid-row: 4; }
  .gap__ticks li:nth-child(4) { grid-row: 5; }
  .gap__ticks li::before, .gap__ticks li:nth-child(4)::before {
    top: 11px;
    left: 0;
    right: auto;
    width: 6px;
    height: 6px;
    background: transparent;
    border: 1px solid var(--rule-ui);
  }
}

/* 17. Layers, schedule */
.layers-note { margin-top: 12px; }

/* 18. Trust: custody diagram and permissions */
.custody { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 48px; }
.custody__side { margin-top: 32px; }
@media (min-width: 1280px) {
  .custody { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto 1fr; align-items: start; }
  .custody__stage { grid-column: 1; grid-row: 1 / span 2; }
  .custody__side { grid-column: 2; grid-row: 1; margin-top: 48px; }
  .custody__cap { grid-column: 2; grid-row: 2; }
}
.custody__stage { display: flex; flex-direction: column; }
.custody__svg { display: none; }
.custody__box {
  background: var(--ink-1);
  border: 1px solid var(--rule-hi);
  padding: 10px 12px;
}
.custody__box--centre { border-color: var(--lime); }
.custody__role {
  display: block;
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--muted);
}
.custody__title { display: block; margin-top: 4px; font: 600 14px/1.3 var(--sans); color: var(--fg); }
.custody__note { display: block; margin-top: 4px; font: 400 13px/1.45 var(--sans); color: var(--muted); }
.custody__conn {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  height: 32px;
  font: 500 11px/16px var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.custody__conn::before {
  content: "";
  justify-self: center;
  width: 1px;
  height: 100%;
  background: var(--rule-ui);
}
.custody__short { display: none; }
@media (min-width: 768px) {
  .custody__stage {
    display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 560px;
    margin: 48px auto 24px;
  }
  .custody__svg { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }
  .custody__box { position: absolute; width: 164px; z-index: 1; }
  .custody__box--top { left: 50%; top: 22%; transform: translate(-50%, calc(-100% - 12px)); }
  .custody__box--bl { left: 24%; top: 67%; transform: translate(-50%, 12px); }
  .custody__box--br { left: 76%; top: 67%; transform: translate(-50%, 12px); }
  .custody__box--centre { left: 50%; top: 52%; transform: translate(-50%, -50%); width: 150px; }
  .custody__conn {
    display: block;
    position: absolute;
    height: auto;
    padding: 0 4px;
    background: var(--ink-0);
    transform: translate(-50%, -50%);
    letter-spacing: .08em;
    text-transform: none;
    z-index: 1;
  }
  .custody__conn::before { display: none; }
  .custody__conn--owns { left: 50%; top: 32%; }
  .custody__conn--trades { left: 30%; top: 62.5%; }
  .custody__conn--watches { left: 70%; top: 62.5%; }
  .custody__short { display: inline; }
  .custody__long { display: none; }
}
.custody__side { min-width: 0; }
.custody__cap { margin-top: 16px; }

/* Disclosures */
.disclosures {
  margin-top: 32px;
  border: 1px solid var(--rule-hi);
  background: var(--ink-1);
}
.disclosures__head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  background: var(--ink-2);
  border-bottom: 1px solid var(--rule-hi);
  color: var(--amber);
}
.disclosures__head .ico { width: 16px; height: 16px; }
.disclosures__title {
  font: 500 11px/16px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--fg);
}
.disclosures ol { counter-reset: d; }
.disclosures li {
  counter-increment: d;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  padding: 14px 20px 14px 0;
  font: 400 15px/1.6 var(--sans);
  color: var(--fg-2);
}
.disclosures li + li { border-top: 1px solid var(--rule); }
.disclosures li::before {
  content: "D" counter(d);
  padding-left: 16px;
  font: 600 12px/24px var(--mono);
  color: var(--faint);
}
.trust__link { margin-top: 24px; }
.trust__link + .fine { margin-top: 0; }

/* 19. T-account */
.taccount {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 32px;
  border-top: 2px solid var(--rule-hi);
}
.taccount__side { display: flex; flex-direction: column; padding: 24px 0 0; min-width: 0; }
.taccount__side + .taccount__side { border-top: 1px solid var(--rule-hi); margin-top: 32px; }
@media (min-width: 768px) {
  .taccount { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .taccount__side:first-child { padding: 24px 32px 0 0; border-right: 1px solid var(--rule-hi); }
  .taccount__side + .taccount__side { border-top: 0; margin-top: 0; padding: 24px 0 0 32px; }
}
.taccount__side .h3 { margin-top: 12px; }
.taccount__side .body { margin-top: 12px; }
.ticks { margin-top: 16px; }
.ticks li {
  position: relative;
  padding-left: 22px;
  margin-top: 10px;
  font: 400 16px/1.6 var(--sans);
  color: var(--fg-2);
}
.ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .6em;
  width: 6px;
  height: 6px;
  border: 1px solid var(--muted);
}
.taccount__note {
  margin-top: auto;
  padding-top: 24px;
}
.taccount__note-inner { border-top: 1px solid var(--rule); padding-top: 12px; }
.taccount__note-inner .fine { margin-top: 4px; }

/* 20. Pending record (section 05) */
.rec--pending {
  border: 1px dashed var(--rule-ui);
  background: var(--ink-1) url(/img/ridge.svg) no-repeat right -28px bottom -28px / 280px;
}
.rec--pending .rec__body { display: block; padding: 32px var(--sheet-pad); }
.rec--pending .rec__foot { border-top-color: var(--rule-ui); }
.pending__text { margin-top: 16px; font: 400 17px/1.6 var(--sans); color: var(--fg-2); max-width: 62ch; }
.rec--pending .notice { margin-top: 24px; }
.rec--pending .actions { margin-top: 28px; }
.pending__hint { margin-top: 16px; }

/* 21. Footer */
.site-footer .frame { border-top: 3px double var(--rule-hi); }
.colophon {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px var(--sheet-pad);
  border-bottom: 1px solid var(--rule);
}
.colophon__poa { font: 700 20px/1 var(--sans); letter-spacing: -.02em; color: var(--lime); }
.colophon__sheet { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.colophon__rule { display: block; width: 40px; height: 1px; background: var(--lime); flex: none; }
.colophon__tagline {
  font: 400 11px/20px var(--mono);
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--muted);
}
.colophon__tags {
  font: 400 11px/20px var(--mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--faint);
}
@media (min-width: 768px) { .colophon__tagline { letter-spacing: .5em; } }
@media (min-width: 1024px) {
  .colophon {
    display: grid;
    grid-template-columns: var(--rail) minmax(0, 1fr);
    gap: 0;
    min-height: 56px;
    padding: 0;
  }
  .colophon__poa { display: flex; align-items: center; padding: 0 24px; border-right: 1px solid var(--rule); }
  .colophon__sheet { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 48px; padding: 12px var(--sheet-pad); }
  .colophon__tags { margin-left: auto; text-align: right; padding-left: 24px; border-left: 1px solid var(--rule); }
}
@media (min-width: 1024px) and (max-width: 1439px) { .colophon__tagline { letter-spacing: .3em; } }

.footer__body { display: grid; grid-template-columns: minmax(0, 1fr); }
.footer__col { padding: 32px var(--sheet-pad); min-width: 0; }
.footer__col + .footer__col { border-top: 1px solid var(--rule); }
@media (min-width: 768px) {
  .footer__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .footer__col + .footer__col { border-top: 0; }
  .footer__col:first-child { border-right: 1px solid var(--rule); }
  .footer__col:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--rule); }
}
@media (min-width: 1024px) {
  .footer__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr); }
  .footer__col:nth-child(2) { border-right: 1px solid var(--rule); }
  .footer__col:nth-child(3) { grid-column: auto; border-top: 0; }
}
.brand--footer { padding: 0; border: 0; }
.brand--footer img { width: 24px; height: 24px; }
.footer__copy { margin-top: 12px; }
.footer__nav li { border-bottom: 1px solid var(--rule); }
.footer__nav li:first-child { border-top: 1px solid var(--rule); }
.footer__link {
  display: flex;
  align-items: center;
  min-height: 40px;
  font: 400 13px/1.4 var(--mono);
  color: var(--fg-2);
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color 120ms var(--ease);
}
.footer__link:hover, .footer__link[aria-current="page"] { color: var(--lime); }
.footer__link:focus-visible { outline-offset: 0; }
.footer__status { font: 400 12px/18px var(--mono); color: var(--muted); }
.footer__status .v-on { color: var(--fg); }
.footer__status .v-off { color: var(--amber); }
.footer__status + .fine { margin-top: 12px; }
.footer__col .fine + .fine { margin-top: 4px; }
.footer__warn { color: var(--amber-ink); }

/* 22. Inner pages */
.page-head .page-title { margin-top: 0; }
.page-head .lede { margin-top: 20px; }
.page-head .notice { margin-top: 28px; }
.page-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  padding-bottom: 12px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--rule);
  font: 600 13px/16px var(--mono);
  letter-spacing: .08em;
  color: var(--lime);
}

/* /app/ */
.rail__inner--app .triad { width: 80px; height: 80px; order: -1; }
.rail__inner--app { align-items: center; }
@media (min-width: 1024px) {
  .rail__inner--app .triad { width: 120px; height: 120px; margin-top: 24px; }
}
.app__status { margin-bottom: 16px; }
.app__record { margin-top: 32px; }
.app__record .fields { padding: 16px; }
@media (min-width: 480px) { .app__record .fields { padding: 16px 24px 20px; } }
.app__plan { margin-top: 40px; }
.app__plan .h2 { margin-bottom: 20px; }
.app__plan .fine { margin-top: 12px; }
.app__actions { margin-top: 32px; }
.app__more { margin-top: 16px; }

/* /limits/ */
.toc { padding-inline: var(--sheet-pad); margin-top: 28px; min-width: 0; }
.toc__label { margin-bottom: 10px; }
.toc__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: 24px;
  counter-reset: toc;
}
@media (min-width: 480px) { .toc__list { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.toc__list li { border-bottom: 1px solid var(--rule); }
.toc__list li:first-child { border-top: 1px solid var(--rule); }
@media (min-width: 480px) and (max-width: 1023px) { .toc__list li:nth-child(2) { border-top: 1px solid var(--rule); } }
.toc__link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 36px;
  font: 500 12px/1.4 var(--mono);
  color: var(--muted);
  text-decoration: none;
  transition: color 120ms var(--ease);
}
.toc__link span { color: var(--faint); }
.toc__link:hover { color: var(--lime); }
.limits-head { grid-column: auto; }
.limits-body { padding-top: 0; }
@media (min-width: 1024px) {
  .band--limits { grid-template-rows: auto 1fr; }
  .toc { grid-column: 1; grid-row: 1 / span 2; padding: 0; margin: 0; }
  .toc__inner { position: sticky; top: 80px; padding: 72px 24px 0; }
  .toc__list { grid-template-columns: minmax(0, 1fr); }
  .limits-head { grid-column: 2; grid-row: 1; padding-bottom: 0; }
  .limits-body { grid-column: 2; grid-row: 2; padding-top: 0; }
}
.part { margin-top: 56px; }
.part__no { font: 600 13px/16px var(--mono); letter-spacing: .08em; color: var(--lime); }
.part__head {
  margin-top: 8px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 3px double var(--rule-hi);
}
.part .fine { margin-top: 12px; max-width: 68ch; }
.part > p.body + .ledger, .part > p.body + table { margin-top: 20px; }
.ledger .tag.lead { margin-right: 6px; }
@media (min-width: 640px) { .ledger--verbatim tbody th[scope="row"] { width: 180px; } }

.terms__row { padding: 14px 0; border-bottom: 1px solid var(--rule); }
.terms__row:first-child { border-top: 1px solid var(--rule); }
.terms dt { font: 600 13px/1.6 var(--mono); color: var(--fg); }
.terms dd { margin-top: 4px; font: 400 15px/1.6 var(--sans); color: var(--fg-2); }
@media (min-width: 768px) {
  .terms__row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 16px; }
  .terms dd { margin-top: 0; }
}

.limits { counter-reset: l; }
.limits li {
  counter-increment: l;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  padding: 14px 0;
  border-bottom: 1px solid var(--rule);
  font: 400 15px/1.6 var(--sans);
  color: var(--fg-2);
}
.limits li:first-child { border-top: 1px solid var(--rule); }
.limits li::before {
  content: "L" counter(l, decimal-leading-zero);
  font: 400 12px/24px var(--mono);
  color: var(--faint);
}
.stricter__tag { margin-top: 16px; }
.limits-actions { margin-top: 56px; }

/* 404 */
@media (min-width: 1024px) { .band__sheet.lost { padding-block: 96px 120px; } }
.lost .triad { width: 120px; height: 120px; }
.lost .page-title { margin-top: 24px; }
.lost .body { margin-top: 20px; }

/* 23. Motion */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .records__item:target .rec { animation: rec-flash 1.2s ease-out 1; }
}
@keyframes rec-flash {
  from { background-color: rgb(163 255 77 / .08); }
  to { background-color: var(--ink-1); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
