@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("/fonts/home/f01.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("/fonts/home/f02.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/home/f03.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/home/f04.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/home/f05.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/home/f06.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #141414;
  --paper: #f6f5f1;
  --dim: #4a4a46;
  --faint: #d2d0c8;
  --hair: #d2d0c8;
  --ikb: #002fa7;
  --red: #e10600;
  --wash: rgba(20, 20, 20, 0.045);
  --serif: "Newsreader", "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --read: var(--serif);
  --font-text: var(--serif);
  --font-sans: var(--serif);
  --font-data: var(--mono);
  --font-mono: var(--mono);
  color-scheme: light;
}
html.ink {
  --ink: #f3f2ec;
  --paper: #141414;
  --dim: #b4b3ab;
  --faint: #2e2e2c;
  --hair: #2e2e2c;
  --ikb: #8eb0ff;
  --red: #ff4d3a;
  --wash: rgba(243, 242, 236, 0.06);
  color-scheme: dark;
}
html.sans { --read: var(--sans); --font-text: var(--sans); --font-sans: var(--sans); }

body.register {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--read);
  font-size: 18px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  border-top: 1px solid var(--ink);
}
body.register a { color: var(--ikb); text-underline-offset: 0.14em; }
body.register :focus-visible { outline: 2px solid var(--ikb); outline-offset: 2px; }
body.register ::selection { background: var(--ikb); color: var(--paper); }

.reg-sheet {
  width: min(44rem, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 1.35rem 0 3.5rem;
}
.reg-id {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}
.reg-id h1 {
  font-family: var(--read);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin: 0;
}
.reg-id h1 a { color: inherit; text-decoration: none; }
.reg-id h1 a:hover { color: var(--ikb); }
.reg-role, .reg-doc {
  margin: 0;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--dim);
}
.reg-role { margin-top: 0.15rem; }
.reg-doc { font-size: 11px; text-align: right; white-space: nowrap; }
.reg-doc b { color: var(--ink); font-weight: 500; }
.reg-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-top: 0.85rem;
  border-bottom: 2px solid var(--ink);
}
.reg-bar nav { display: flex; flex-wrap: wrap; }
.reg-bar nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 0.95rem 0 0;
  font-family: var(--mono);
  font-size: 13px;
  color: var(--ink);
  text-decoration: none;
}
.reg-bar nav a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--red); }
.reg-bar nav a:hover { color: var(--ikb); }
.reg-modes { display: flex; gap: 0.35rem; padding-bottom: 0.45rem; }
.reg-modes button {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--dim);
  background: transparent;
  border: 1px solid var(--hair);
  padding: 0.35rem 0.5rem;
  min-height: 32px;
  cursor: pointer;
}
.reg-modes button:hover { color: var(--ink); border-color: var(--ink); }

body.register main {
  font-family: var(--read);
  color: var(--ink);
}
body.register main h1,
body.register .dispatch-title,
body.register .prose :where(h1) {
  font-family: var(--read) !important;
  font-weight: 500 !important;
  font-size: 1.7rem !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  margin: 1.15rem 0 0.55rem !important;
  text-transform: none !important;
  color: var(--ink) !important;
}
body.register main h2,
body.register .prose :where(h2) {
  font-family: var(--read) !important;
  font-weight: 500 !important;
  font-size: 1.28rem !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  color: var(--ink) !important;
  margin: 1.6rem 0 0.4rem !important;
}
body.register main h3,
body.register .prose :where(h3) {
  font-family: var(--read) !important;
  font-weight: 500 !important;
  font-size: 1.12rem !important;
  text-transform: none !important;
  color: var(--ink) !important;
}
body.register .prose,
body.register .prose :where(p, li, blockquote, figcaption),
body.register .dispatch-lede,
body.register main p {
  font-family: var(--read);
  color: var(--ink);
}
body.register .prose :where(p) { margin: 0.85em 0; text-wrap: pretty; }
body.register .prose :where(a),
body.register main a { color: var(--ikb); }
body.register .prose :where(a) { text-decoration-thickness: 1px; }
body.register .prose :where(code) {
  font-family: var(--mono) !important;
  font-size: 0.84em !important;
  background: var(--wash) !important;
  color: var(--ink) !important;
  border-radius: 0 !important;
}
body.register .prose :where(pre) {
  font-family: var(--mono) !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--hair) !important;
  border-radius: 0 !important;
  color: var(--ink) !important;
}
body.register .prose :where(blockquote) {
  border-left: 1px solid var(--hair) !important;
  color: var(--dim) !important;
  font-style: italic;
}
body.register .prose :where(img),
body.register article img {
  border: 0 !important;
  border-radius: 0 !important;
}

body.register .docstrip,
body.register .eyebrow,
body.register .dispatch-tags,
body.register .contents-label,
body.register .kicker {
  font-family: var(--mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dim) !important;
  border: 0 !important;
  background: transparent !important;
}
body.register .docstrip {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.15rem 0 0.35rem;
  padding: 0;
}
body.register .dispatch,
body.register .dispatch-header,
body.register .contents-box,
body.register article > footer,
body.register .site-sheet {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.register .contents-box {
  border-top: 1px solid var(--hair) !important;
  margin: 1rem 0 1.4rem;
  padding-top: 0.4rem;
}
body.register .contents-list { font-family: var(--read); }
body.register .contents-link { color: var(--ink); text-decoration: none; }
body.register .contents-link:hover { color: var(--ikb); }

body.register main ul.space-y-1,
body.register main .space-y-12 ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.register main a.group,
body.register main li > a.flex {
  display: grid !important;
  grid-template-columns: 1fr auto;
  gap: 0.75rem 1rem;
  align-items: baseline;
  padding: 0.42rem 0.2rem !important;
  border-top: 1px solid var(--hair);
  color: inherit !important;
  text-decoration: none !important;
}
body.register main a.group:hover,
body.register main li > a.flex:hover { background: var(--wash); }
body.register main a.group:hover :where(span, p),
body.register main li > a.flex:hover { color: var(--ikb); }
body.register main a.group span,
body.register main li > a.flex span:last-child {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--dim) !important;
}

body.register .reg-foot { margin-top: 2.2rem; }
body.register .reg-rule {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin: 1.65rem 0 0.35rem;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dim);
}
body.register .reg-rule::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid var(--hair);
  transform: translateY(-0.28em);
}
body.register .reg-channels,
body.register .reg-fine {
  font-family: var(--mono);
  font-size: 12.5px;
  line-height: 1.7;
  margin: 0.35rem 0 0;
}
body.register .reg-channels a,
body.register .reg-fine a { color: var(--ink); text-decoration: none; }
body.register .reg-channels a:hover,
body.register .reg-fine a:hover { color: var(--ikb); }
body.register .reg-dot { color: var(--dim); padding: 0 0.3rem; }

body.register table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
body.register th, body.register td {
  border-top: 1px solid var(--hair);
  padding: 0.4rem 0.35rem;
  text-align: left;
  vertical-align: baseline;
}
body.register th { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dim); }
body.register input, body.register textarea, body.register select {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--ink);
  border-radius: 0;
  padding: 0.35rem 0;
}
body.register button, body.register .tile {
  font-family: var(--mono);
  border-radius: 0;
}

@media (max-width: 680px) {
  body.register { font-size: 17px; }
  .reg-sheet { width: min(44rem, calc(100% - 1.5rem)); }
  .reg-id { flex-direction: column; gap: 0.25rem; }
  .reg-doc { text-align: left; white-space: normal; }
  body.register main h1, body.register .dispatch-title { font-size: 1.45rem !important; }
}

/* ---- Containers: boxed sections with an inverted label strip ---- */
:root { --cx-bg: #ffffff; }
html.ink { --cx-bg: #1b1b1a; }
.cx { border: 1px solid var(--ink); background: var(--cx-bg); margin: 0 0 16px; }
.cx-h { display: flex; align-items: stretch; flex-wrap: wrap; border-bottom: 1px solid var(--ink); font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.cx-h b { background: var(--ink); color: var(--paper); padding: 7px 9px; font-weight: 500; }
.cx-h span { padding: 7px 9px; color: var(--dim); letter-spacing: .02em; text-transform: none; }
.cx-h em { margin-left: auto; padding: 7px 9px; border-left: 1px solid var(--ink); font-style: normal; font-variant-numeric: tabular-nums; }
body.register .cx-h b a, body.register .cx-h b a:visited, .cx-h b a, .cx-h b a:visited { color: inherit; text-decoration: none; }
body.register .cx-h b a:hover, body.register .cx-h b a:focus-visible, .cx-h b a:hover { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cx-b { padding: 10px 12px; }
.cx-b > :first-child { margin-top: 0; }
.cx-b > :last-child { margin-bottom: 0; }
.cx-r { display: grid; grid-template-columns: 9.5rem 1fr; gap: 0 14px; padding: 7px 10px; font-size: 14.5px; line-height: 1.4; }
.cx-r + .cx-r { border-top: 1px dotted var(--ink); }
.cx-r > :first-child { font-family: var(--mono); font-size: 12px; letter-spacing: .02em; overflow-wrap: anywhere; min-width: 0; }
.cx-r i { font: normal 11px var(--mono); color: var(--dim); }
.cx-r a { color: var(--ikb); }
.cx.new .cx-h b { background: var(--red); }
.cx.api .cx-h b { background: var(--ikb); color: #fff; }
.cx.arch .cx-h b { background: var(--cx-bg); color: var(--ink); border-right: 1px solid var(--ink); }
.cx.arch .cx-r { color: var(--dim); }
.cx.arch .cx-r a { color: var(--ink); }
.cx.draft { border-style: dashed; }
.cx.draft .cx-h { border-bottom-style: dashed; }
.cx.draft .cx-h b { background: transparent; color: var(--ink); border-right: 1px dashed var(--ink); }
.cx.tools .cx-h b::after { content: " · access"; opacity: .75; }
.tg { display: inline-block; font: 10.5px/1.5 var(--mono); border: 1px solid var(--ink); padding: 0 4px; margin: 0 3px 2px 0; color: var(--ink); text-transform: lowercase; }
.quad { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 12px 0; }
.quad .cx { margin: 0; }
.cx table { margin: 0; width: 100%; border: 0; }
.cx figure { margin: 0; }
.cx img { max-width: 100%; height: auto; border: 1px solid var(--hair); }
@media (max-width: 760px) { .quad { grid-template-columns: 1fr; } .cx-r { grid-template-columns: 1fr; } }

/* ---- Estate pages: products, drafts, tools, about, product files ---- */
.es { padding: 24px 34px 48px; color: var(--ink); }
.es .meta { font-family: var(--mono); font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--dim); }
.es .dither { height: 0; margin: 14px 0; border-top: 1px solid var(--ink); }
.es .intro { max-width: 64ch; padding-top: 14px; }
.es .intro h1 { margin: 0; }
.es .lead { font-size: 21px; line-height: 1.6; margin: 18px 0 0; max-width: 64ch; }
.es .crumb { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 10px; }
.es .crumb a { color: var(--ink); text-decoration: none; }
.es .crumb a:hover { color: var(--ikb); }
.es .stamp { display: inline-block; font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; border: 1px solid var(--ink); padding: 5px 7px; margin-top: 12px; }
.es .stamp.arch { color: var(--dim); }
.es .stamp.cur { background: var(--ink); color: var(--paper); }
.es .stamp.drf { border-style: dashed; }
.es h2.sec { font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; border-bottom: 2px solid var(--ink); padding-bottom: .35rem; margin: 36px 0 12px; }
.es .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); border: 2px solid var(--ink); }
.es .cell { border: 1px solid var(--ink); padding: .8rem .85rem; min-height: 5.6rem; display: block; color: var(--ink); text-decoration: none; }
.es .cell:hover { background: var(--wash); }
.es .cell:hover .v { text-decoration: underline; text-underline-offset: 2px; }
.es .cell .k { font-family: var(--mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--dim); margin-bottom: .45rem; }
.es .cell .v { font-size: 20px; font-weight: 700; line-height: 1.25; }
.es .cell .v small { display: block; margin-top: .35rem; font-size: 15.5px; font-weight: 400; color: var(--dim); line-height: 1.45; }
.es .cx-r a.nm { font-weight: 600; text-decoration: none; }
.es .cx-r a.nm:hover { text-decoration: underline; }
.es .body { max-width: 68ch; }
.es .file { max-width: 68ch; }
.es .file :where(h1) { display: none; }
@media (max-width: 640px) { .es { padding: 16px 20px 40px; } .es .grid { grid-template-columns: 1fr; } }
body.register main a.tg, a.tg { color: var(--ink); text-decoration: none; }
body.register main a.tg:hover, a.tg:hover { background: var(--ink); color: var(--paper); }
body.register main a.tg[aria-current="true"], a.tg[aria-current="true"] { background: var(--ink); color: var(--paper); }
.tg { text-transform: none; }
/* Product pages: content column + side column */
.es .tagline { margin: 12px 0 0; }
.es .pgrid { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 16px; align-items: start; }
.es .pside .cx-r { grid-template-columns: 6.5rem 1fr; font-size: 13.5px; }
.es .sitemap { display: flex; flex-direction: column; padding: 4px 0; max-height: 34rem; overflow: auto; }
.es .sitemap a { font: 12.5px/1.35 var(--mono); padding: 4px 10px; color: var(--ink); text-decoration: none; border-top: 1px dotted var(--hair); }
.es .sitemap a:first-child { border-top: 0; }
.es .sitemap a:hover { color: var(--ikb); }
.es .sitemap a[aria-current="page"] { background: var(--ink); color: var(--paper); }
.es .ported { max-width: none; }
.es .ported div { margin: .3em 0; }
.es .ported div > span + span, .es .ported p > span + span { margin-left: 1ch; }
.es .ported section { border-top: 1px dotted var(--ink); margin-top: 1rem; padding-top: .5rem; }
.es .ported pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.es .ported fieldset { border: 1px dashed var(--ink); padding: 10px; margin: 10px 0; }
.es .ported input:not(.table-desk-filter), .es .ported textarea, .es .ported select, .es .ported button:not(.table-desk-btn, .table-desk-sort) { font: 13px var(--mono); border: 1px solid var(--hair); background: var(--wash); color: var(--dim); padding: 4px 6px; margin: 2px 0; max-width: 100%; }
.es .ported .ported-note { font: 12px var(--mono); border-left: 3px solid var(--ink); padding: 4px 8px; background: var(--wash); }
.es .ported img { max-width: 100%; height: auto; }
.es .snap-t { overflow: visible; }
.es .snap-t table { font: 12px var(--mono); }
@media (max-width: 900px) { .es .pgrid { grid-template-columns: 1fr; } }
/* Facts: linked assets one per line; tag chips keep a visible gap */
.es .flinks { list-style: none; margin: 0; padding: 0; }
.es .flinks li { margin: 0 0 2px; overflow-wrap: anywhere; }
.es .flinks small { font: 11px var(--mono); color: var(--dim); }
.tags { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.tags .tg { margin: 0; }
/* Boxed page header (PageHead) */
.es .cx.hd { margin-top: 6px; }
.es .cx.hd .cx-h b a, .es .cx.hd .cx-h b a:visited { color: var(--paper); text-decoration: none; }
.es .cx.hd .cx-h .trail a { color: var(--ink); text-decoration: none; }
.es .cx.hd .cx-h .trail a:hover { color: var(--ikb); }
.es .cx.hd .cx-b { padding: 16px 14px 14px; }
.es .cx.hd h1 { margin: 0 0 6px; }
.es .cx.hd .lead { margin: 6px 0 0; max-width: 64ch; }
.es .cx.hd .stamp { margin-top: 10px; }
.es .cx.hd.draft .cx-h b a { color: var(--ink); }
/* Tag chips: readable size, always spaced */
.tg { font-size: 12px; line-height: 1.6; padding: 0 6px; }
.cx-r .tags { margin-top: 4px; }
/* Publishing works */
.es .work-cover { display: block; max-width: 100%; height: auto; border: 1px solid var(--ink); }
.es .work-thumb { width: 140px; max-width: 100%; height: auto; border: 1px solid var(--ink); display: block; }
.es .cx-r.withthumb { grid-template-columns: 140px 1fr; align-items: start; gap: 0 16px; padding: 12px 10px; }
.es .cx-r.withthumb > :first-child { min-width: 0; overflow: visible; }
.es .cx-b audio { width: 100%; }
@media (max-width: 640px) {
  .es .cx-r.withthumb { grid-template-columns: 100px 1fr; }
  .es .work-thumb { width: 100px; }
}

/* Long values (URLs, addresses) wrap inside their box instead of spilling out. */
.cx-r > * { min-width: 0; overflow-wrap: anywhere; }
.cx-b { overflow-wrap: anywhere; }
/* Footer as a box */
body.register .reg-foot .cx.foot { margin: 0; }
body.register .reg-foot .cx.foot .cx-r > :last-child { font-family: var(--mono); font-size: 12.5px; letter-spacing: .02em; }
body.register .reg-foot .cx.foot .reg-channels, body.register .reg-foot .cx.foot .reg-fine { margin: 0; display: inline; }

/* Header nav: "Index" reads "Home" on hover and keyboard focus. */
.nav-swap .sw-b { display: none; }
.nav-swap:hover .sw-a, .nav-swap:focus-visible .sw-a { display: none; }
.nav-swap:hover .sw-b, .nav-swap:focus-visible .sw-b { display: inline; }

/* Collapsible boxes: <details class="cx fold"> with the label strip as <summary>. */
details.cx.fold > summary.cx-h { cursor: pointer; list-style: none; }
details.cx.fold > summary.cx-h::-webkit-details-marker { display: none; }
details.cx.fold > summary.cx-h::after { content: "−"; margin-left: auto; padding: 7px 10px; border-left: 1px solid var(--ink); font: 500 11px/1 var(--mono); }
details.cx.fold > summary.cx-h:has(em)::after { margin-left: 0; }
details.cx.fold:not([open]) > summary.cx-h { border-bottom: 0; }
details.cx.fold:not([open]) > summary.cx-h::after { content: "+"; }
details.cx.fold > summary.cx-h:focus-visible { outline: 2px solid var(--ikb); outline-offset: 2px; }

/* ---- Register rows shared with the homepage: journal files, product registers,
   label/value lines, find field, notes, machine-readable blocks. Scoped to
   a.file / a.reg so product prose (.cx-b.prose.file) keeps its own rules. ---- */
body.register a.file, body.register a.reg,
a.file, a.reg {
  display: grid;
  gap: 0 1rem;
  align-items: baseline;
  padding: 0.42rem 9px;
  border-top: 1px dotted var(--ink);
  color: inherit;
  text-decoration: none;
  max-width: none;
}
body.register main a.file, body.register main a.reg { color: inherit; text-decoration: none; }
a.file { grid-template-columns: 6.6rem 1fr; }
a.reg { grid-template-columns: 10.5rem 1fr 11.5rem; }
.cx > .cx-h + a.file, .cx > .cx-h + a.reg, .cx [data-list] > a:first-child { border-top: 0; }
a.file:hover, a.reg:hover { background: var(--wash); }
a.file .dt, a.reg .where, .yr {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--dim);
  font-variant-numeric: tabular-nums;
}
a.file .ttl, a.reg .name { font-family: var(--read); font-size: 1.02rem; line-height: 1.3; color: var(--ink); }
a.file:hover .ttl, a.reg:hover .name { color: var(--ikb); }
a.reg .what { font-family: var(--read); font-size: 0.98rem; line-height: 1.35; color: var(--ink); }
.cv-line {
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  gap: 0.15rem 1rem;
  padding: 0.4rem 9px;
  border-top: 1px dotted var(--ink);
  font-size: 0.98rem;
}
.cx > .cx-h + .cv-line { border-top: 0; }
.cv-line b { font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.cv-line > span { font-family: var(--mono); font-size: 12px; color: var(--dim); }
.findrow { display: flex; align-items: baseline; gap: 0.75rem; margin: 0.85rem 0 0.6rem; }
.findrow label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dim); }
body.register .findrow input[type="search"] { width: min(16rem, 60%); padding: 0.3rem 0; }
body.register .findrow input[type="search"]:focus { outline: none; border-bottom-color: var(--ikb); }
.empty { font-family: var(--mono); font-size: 13px; color: var(--dim); }
body.register main p.note, .note { max-width: 38rem; color: var(--dim); font-size: 0.98rem; margin: 0.7rem 0; }
body.register main a.more, .more { display: block; margin: 0.55rem 0 16px; font-family: var(--mono); font-size: 12.5px; }
body.register main p.more { font-family: var(--mono); font-size: 12.5px; }
.cx-b.more { margin: 0; }
pre.machine {
  font-family: var(--mono);
  font-size: 11.5px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
  padding: 0.65rem 9px;
  color: var(--ink);
  background: transparent;
}
.cx > pre.machine { border-top: 0; }
.live { font-family: var(--mono); font-size: 10px; font-style: normal; letter-spacing: 0.06em; text-transform: uppercase; color: var(--red); margin-left: 0.4rem; }
.cx .cx-b .subscribe { margin: 0; }
@media (max-width: 680px) {
  a.file, a.reg, .cv-line { grid-template-columns: 1fr; gap: 0.12rem; padding: 0.65rem 9px; }
  a.reg .where { order: 3; }
}
a.file[hidden], a.reg[hidden], .cx[hidden] { display: none; }

/* ---- Product pages: file strip on top, one reading column below ---- */
.es .pstrip { margin: 0 0 18px; }
.es .pfile { margin: 0; }
.es .pfile > summary.cx-h { min-height: 44px; align-items: stretch; }
.es .pfile > summary.cx-h > b { display: flex; align-items: center; }
.es .pfile > summary.cx-h .pf-sum { flex: 1 1 12rem; min-width: 0; display: flex; align-items: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mono); }
.es .pfile > summary.cx-h em { display: flex; align-items: center; }
.es .pfile > summary.cx-h::after { display: flex; align-items: center; min-width: 44px; justify-content: center; }
.es .pf-g { columns: 2 17rem; column-gap: 0; column-rule: 1px solid var(--ink); }
.es .pf-c { break-inside: avoid; padding: 0 0 6px; border-bottom: 1px dotted var(--ink); }
.es .pf-t { font: 500 11px/1 var(--mono) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--dim) !important; margin: 0 !important; padding: 10px 10px 6px; }
.es .pf-c .cx-r { grid-template-columns: 6.5rem 1fr; font-size: 13.5px; padding: 5px 10px; }
.es .pf-c .cx-r + .cx-r { border-top: 1px dotted var(--hair); }
.es .pf-c .sitemap { max-height: 16rem; padding: 0 0 2px; }
.es .pacts { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; margin: 10px 0 0; }
.es .pact { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.es .pact-l { font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.es .pact-dot { color: var(--dim); }
.es .pacts a.btn, body.register main .es .pacts a.btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); font: 500 12.5px/1 var(--mono); letter-spacing: .04em; text-decoration: none; }
.es .pacts a.btn:hover { background: var(--paper); color: var(--ink); }
.es .pbody > .cx { margin-bottom: 18px; }
.es .pbody .prose { font-size: 1.02rem; line-height: 1.62; }
.es .pbody .prose :where(p, li, blockquote, dd) { max-width: 70ch; }
.es .pbody .prose :where(h2, h3, h4) { max-width: 70ch; }
.es .pbody .ported :where(pre, code) { font-size: 12.5px; }
.es .pbody .ported :where(pre) { background: var(--wash); padding: 10px 12px; border: 1px solid var(--hair); }

/* Wide data pages run the width of the window, capped. */
.es.wide { width: min(92rem, calc(100vw - 2rem)); margin-left: calc(50% - min(46rem, calc(50vw - 1rem))); padding-left: 0; padding-right: 0; }

@media (max-width: 640px) {
  .es .pf-g { columns: 1; }
  .es .pfile > summary.cx-h .pf-sum { white-space: normal; }
  .es .pf-c .cx-r { grid-template-columns: 1fr; }
  .es .pf-c .sitemap a { padding-top: 10px; padding-bottom: 10px; }
  .es.wide { width: auto; margin-left: 0; }
}

/* ---- Coin register, leaderboard and wallet check ---- */
.cr-stats, .wc-sum { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 10px 12px; border-bottom: 1px solid var(--ink); font: 13px/1.4 var(--mono); }
.cr-stats i, .wc-sum i { font-style: normal; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.cr-stats b, .wc-sum b { font-weight: 600; }
.cr-parties { border-bottom: 1px solid var(--ink); }
.cr-parties > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 12px; font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.cr-parties > summary small { color: var(--dim); text-transform: none; letter-spacing: .02em; }
.cr-tools { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; padding: 10px 12px; border-bottom: 1px dotted var(--ink); }
.cr-tools label { display: inline-flex; align-items: center; gap: 8px; }
.cr-tools label > span, .cr-g { font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.cr-q { flex: 1 1 18rem; }
.cr-q input, .wc-form input { flex: 1; min-width: 0; min-height: 44px; padding: 0 10px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font: 14px var(--mono); border-radius: 0; }
.cr-v select { min-height: 44px; padding: 0 8px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font: 13px var(--mono); border-radius: 0; }
.cr-q input:focus, .wc-form input:focus, .cr-v select:focus { outline: 2px solid var(--ikb); outline-offset: 1px; }
.cr-count { font: 13px var(--mono); color: var(--dim); margin-left: auto; }
.cr-reset, .wc-form button, .wc-filter { min-height: 44px; padding: 0 14px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font: 500 12.5px/1 var(--mono); letter-spacing: .04em; cursor: pointer; border-radius: 0; }
.wc-form button { background: var(--ink); color: var(--paper); }
.cr-reset:hover, .wc-filter:hover { background: var(--ink); color: var(--paper); }
.wc-form button:hover { background: var(--paper); color: var(--ink); }
.wc-form button[disabled] { opacity: .6; cursor: progress; }
.cr-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px 12px; border-bottom: 1px dotted var(--ink); }
.cr-g { min-width: 5.5rem; }
.cr-tags .tag { min-height: 36px; padding: 0 10px; border: 1px solid var(--hair); background: transparent; color: var(--ink); font: 13px/1 var(--mono); cursor: pointer; border-radius: 0; }
.cr-tags .tag small { color: var(--dim); margin-left: 4px; }
.cr-tags .tag:hover { border-color: var(--ink); }
.cr-tags .tag.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.cr-tags .tag.on small { color: var(--paper); }
.cr-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cx table.cr-t { width: 100%; border-collapse: collapse; font: 13.5px/1.4 var(--mono); font-variant-numeric: tabular-nums; }
.cr-t th { position: sticky; top: 0; background: var(--paper); text-align: left; font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); border-bottom: 1px solid var(--ink); padding: 0; white-space: nowrap; }
.cr-t th:not(:has(button)) { padding: 10px 10px; }
.cr-t th button { all: unset; box-sizing: border-box; cursor: pointer; display: block; width: 100%; padding: 10px 10px; min-height: 36px; }
.cr-t th button:hover { color: var(--ink); }
.cr-t th[aria-sort="ascending"] button::after { content: " ▲"; }
.cr-t th[aria-sort="descending"] button::after { content: " ▼"; }
.cr-t td { padding: 7px 10px; border-bottom: 1px dotted var(--hair); vertical-align: baseline; white-space: nowrap; }
.cr-t tbody tr:hover { background: var(--wash); }
.cr-t .r { text-align: right; }
.cr-t .n, .cr-t .d, .cr-t .by { color: var(--dim); }
.cr-t .sym { font-weight: 600; }
.cr-t .ct a { color: var(--ikb); }
.cr-note, .wc-help { margin: 0 !important; padding: 10px 12px; font: 12.5px/1.5 var(--mono) !important; color: var(--dim) !important; max-width: none !important; }
.wc-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 12px 4px; }
.wc-l { font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.wc-form input { flex: 1 1 22rem; }
.wc-out { border-top: 1px solid var(--ink); }
.wc-out > p { margin: 0 !important; padding: 10px 12px; font: 13px/1.5 var(--mono) !important; max-width: none !important; }
.wc-me { background: var(--wash); }
.wc-err { color: var(--red) !important; }
.wc-t tr.ours { background: var(--wash); }
.wc-ours { display: inline-block; padding: 2px 6px; background: var(--ink); color: var(--paper); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.wc-t small { color: var(--dim); }
.wc-notes { margin: 0; padding: 8px 12px 10px 28px; font: 12px/1.5 var(--mono); color: var(--dim); border-top: 1px dotted var(--hair); }
.wc-sum code { font-size: 12.5px; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .cr-count { margin-left: 0; width: 100%; }
  .cr-g { width: 100%; }
  .cr-tags .tag { min-height: 44px; }
  .wc-form button { flex: 1 1 100%; }
  }
.es .pfile > summary.cx-h { flex-wrap: nowrap; }
.cr-stats > span, .wc-sum > span { display: inline-flex; gap: 6px; align-items: baseline; }
@media (max-width: 640px) {
  .es .pfile > summary.cx-h .pf-sum { white-space: nowrap; }
  .es .pfile > summary.cx-h em { display: none; }
}

/* Box columns pack by content: each box ends where its content ends, new boxes flow in. */
.quad { display: block; columns: 2 19rem; column-gap: 14px; margin: 12px 0; }
.quad > .cx, .quad > * { break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 14px; vertical-align: top; }
.es .pgrid { align-items: start; }
@media (max-width: 760px) { .quad { columns: 1; } }
.es .pbody details > summary { display: flex; align-items: baseline; gap: .6em; cursor: pointer; list-style: none; min-height: 44px; }
.es .pbody details > summary::-webkit-details-marker { display: none; }
.es .pbody details > summary::before { content: "+"; font-family: var(--mono, ui-monospace, monospace); font-size: 12px; width: 1em; flex: none; }
.es .pbody details[open] > summary::before { content: "–"; }
.es .pbody details > summary > :is(h1,h2,h3,h4,h5,h6) { margin: 0; flex: 1; }
.es .pbody details > summary:empty { display: none; }
.es .ported h2:has(> span + span)::after { content: none; }
.es .ported :is(h2,h3) > span + span:last-child { position: absolute; right: 0; bottom: 8px; font: 400 12.5px var(--font-data, var(--mono)); letter-spacing: .06em; color: var(--dim); }
.es .ported h3:has(> span + span) { position: relative; padding-right: 3.5rem; }
@media (max-width: 640px) { .es { padding: 16px 0 36px; } }
@media (max-width: 640px) {
  .es .pfile > summary { min-height: 44px; }
  .es .pf-c a, .es .cx-r a { display: inline-flex; align-items: center; min-height: 44px; }
  .es .wcheck button, .es .coins-reg button, .es .coins-reg input, .es .wcheck input { min-height: 44px; }
}
.es .pbody .cr-parties > summary { align-items: center; }


/* Watched addresses: one compact line per party. */
.cr-plist { list-style: none; margin: 0; padding: 0; border-top: 1px dotted var(--ink); }
.cr-pw { display: grid; grid-template-columns: 3.2rem 11rem minmax(0, 1fr) auto 3.4rem; gap: 0 12px; align-items: center; padding: 3px 12px; border-bottom: 1px dotted var(--hair); font: 12px/1.5 var(--mono); }
.cr-pid { font-weight: 600; }
.cr-plabel { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cr-paddr { font: 11.5px/1.5 var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; user-select: all; background: none; border: 0; padding: 0; color: var(--ink); }
.cr-paddr.is-none { user-select: text; color: var(--dim); }
.cr-pacts { display: inline-flex; gap: 10px; align-items: center; white-space: nowrap; font-size: 11px; letter-spacing: .04em; }
.cr-pacts a { color: var(--ikb); text-decoration: none; }
.cr-pacts a:hover { text-decoration: underline; }
.cr-copy { all: unset; box-sizing: border-box; cursor: pointer; border: 1px solid var(--hair); padding: 2px 6px; font: 500 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.cr-copy:hover { border-color: var(--ink); }
.cr-copy:focus-visible, .cr-pw .cr-party:focus-visible { outline: 2px solid var(--ikb); outline-offset: 1px; }
.cr-pw .cr-party { all: unset; box-sizing: border-box; cursor: pointer; text-align: right; font: 600 12px/1.5 var(--mono); padding: 2px 4px; }
.cr-pw .cr-party:hover { background: var(--wash); }
.cr-pw .cr-party[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
@media (max-width: 760px) {
  .cr-pw { grid-template-columns: 2.6rem minmax(0, 1fr) auto; grid-template-areas: "id lb ct" "ad ad ad" "ac ac ac"; padding: 6px 10px; row-gap: 2px; }
  .cr-pid { grid-area: id; } .cr-plabel { grid-area: lb; } .cr-pw .cr-party { grid-area: ct; min-height: 32px; }
  .cr-paddr { grid-area: ad; white-space: normal; overflow-wrap: anywhere; word-break: break-all; }
  .cr-pacts { grid-area: ac; gap: 16px; }
  .cr-copy, .cr-pacts a { min-height: 32px; display: inline-flex; align-items: center; }
}

/* Register and leaderboard tables: fit the width, one line per row. */
.cr-scroll { overflow-x: visible; }
.cx table.cr-t { table-layout: fixed; width: 100%; font: 12.5px/1.35 var(--mono); font-variant-numeric: tabular-nums; }
.cr-t th button, .cr-t th:not(:has(button)) { padding: 8px 8px; min-height: 32px; }
.cr-t td { padding: 5px 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.cr-t td a { display: inline; }
.cr-t td.nm { font-family: var(--read); font-size: 14px; line-height: 1.2; }
.cr-t col.c-n { width: 3.6rem; } .cr-t col.c-rk { width: 3.4rem; }
.cr-t col.c-d { width: 6.6rem; } .cr-t col.c-ch { width: 6.4rem; } .cr-t col.c-l { width: 8.4rem; }
.cr-t col.c-by { width: 3.6rem; } .cr-t col.c-t { width: 9rem; } .cr-t col.c-v { width: 5.4rem; } .cr-t col.c-ct { width: 8.2rem; }
.cr-lbt col.c-v { width: 7.4rem; }
@media (max-width: 1100px) { .cr-t .p2 { display: none; } }
@media (max-width: 860px) { .cr-t .p3 { display: none; } }
@media (max-width: 600px) {
  .cr-t .p4 { display: none; }
  .cr-t col.c-t { width: auto; } .cr-t col.c-ch { width: 5.6rem; } .cr-t col.c-by { width: 3rem; } .cr-t col.c-ct { width: 7.4rem; }
  .cx table.cr-t { font-size: 12px; }
}
@media (max-width: 860px) { .cr-lbt col.c-t { width: auto; } }

/* Data tables: one system for every ledger, sheet and spec table. */
body.register main .table-desk,
body.register main .table-wrap { position: relative; width: 100%; max-width: 100%; margin: 1.25rem 0 1.5rem; border: 1px solid var(--ink); background: var(--cx-bg); overflow: visible; }
body.register main .table-desk .table-desk-scroll { overflow-x: auto; overscroll-behavior-x: contain; max-width: 100%; }
body.register main .table-desk:not(.is-overflow) .table-desk-scroll { overflow: visible; }
body.register main .table-desk.is-wide { width: min(1216px, calc(100vw - 32px)); max-width: none; }
body.register main .table-desk.is-overflow::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 28px; pointer-events: none; background: linear-gradient(to right, transparent, var(--cx-bg)); opacity: 1; transition: opacity .15s; }
body.register main .table-desk.is-overflow.at-end::after { opacity: 0; }

body.register main .table-desk-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0; border-bottom: 1px solid var(--ink); font: 500 10.5px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
body.register main .table-desk-bar > * { margin: 0; }
body.register main .table-desk-filter { flex: 1 1 12rem; min-width: 8rem; height: 32px; padding: 0 12px; border: 0; border-right: 1px solid var(--hair); background: transparent; color: var(--ink); font: 12.5px var(--mono); letter-spacing: 0; text-transform: none; }
body.register main .table-desk-filter:focus-visible { outline: 2px solid var(--ikb); outline-offset: -2px; }
body.register main .table-desk-count { padding: 0 12px; color: var(--dim); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.register main .table-desk-btn { height: 32px; padding: 0 12px; margin: 0; border: 0; border-left: 1px solid var(--hair); background: transparent; color: var(--ink); font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
body.register main .table-desk-btn:hover, body.register main .table-desk-btn:focus-visible { background: var(--ink); color: var(--paper); outline: 0; }
body.register main .table-desk-btn[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
body.register main .table-desk.is-small .table-desk-filter,
body.register main .table-desk.is-small .table-desk-count,
body.register main .table-desk.is-small .table-desk-btn:not([aria-pressed]) { display: none; }
body.register main .table-desk.is-small .table-desk-bar { justify-content: flex-end; border-bottom: 0; position: absolute; right: 0; bottom: 100%; }
body.register main .table-desk.is-small .table-desk-btn { height: 24px; border: 1px solid var(--ink); border-bottom: 0; background: var(--cx-bg); }

body.register main table:not([data-table-static]) { display: table; width: 100%; min-width: 0; margin: 0; border: 0; border-collapse: collapse; table-layout: auto; font: 14.5px/1.5 var(--read); font-variant-numeric: tabular-nums; color: var(--ink); overflow-wrap: normal; word-break: normal; hyphens: manual; }
body.register main table:not([data-table-static]) :is(th, td) { padding: 9px 14px; border: 0; border-bottom: 1px solid var(--hair); text-align: left; vertical-align: top; overflow-wrap: normal; word-break: normal; background: none; }
body.register main table:not([data-table-static]) td { max-width: 34rem; }
body.register main table:not([data-table-static]) td:first-child:not(.td-nw, .td-num) { min-width: 7rem; }
body.register main table:not([data-table-static]) td.td-brk { overflow-wrap: anywhere; }
body.register main table:not([data-table-static]) th { position: sticky; top: 0; z-index: 1; padding-top: 8px; padding-bottom: 8px; background: color-mix(in srgb, var(--cx-bg) 93%, var(--ink)); border-bottom: 1px solid var(--ink); font: 500 10.5px/1.35 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); vertical-align: bottom; }
body.register main table:not([data-table-static]) tbody tr:nth-child(even) > td { background: color-mix(in srgb, var(--cx-bg) 97.5%, var(--ink)); }
body.register main table:not([data-table-static]) tbody tr:last-child > td { border-bottom: 0; }
body.register main table:not([data-table-static]) tbody tr:hover > td { background: color-mix(in srgb, var(--cx-bg) 94%, var(--ikb)); }
body.register main table:not([data-table-static]) :is(th, td):first-child { padding-left: 16px; }
body.register main table:not([data-table-static]) :is(th, td):last-child { padding-right: 16px; }
body.register main table:not([data-table-static]) .td-nw { white-space: nowrap; }
body.register main table:not([data-table-static]) td.td-num { white-space: nowrap; text-align: right; font: 13px/1.6 var(--mono); }
body.register main table:not([data-table-static]) th.td-num { text-align: right; }
body.register main table:not([data-table-static]) th.td-num .table-desk-sort { text-align: right; }
body.register main table:not([data-table-static]) :is(td, th) code { font: 12.5px/1.5 var(--mono); padding: 0; background: none; border: 0; white-space: normal; overflow-wrap: anywhere; word-break: normal; }
body.register main table:not([data-table-static]) .td-nw code { white-space: nowrap; overflow-wrap: normal; }
body.register main table:not([data-table-static]) td :is(p, ul, ol) { margin: 0; max-width: none; }
body.register main table:not([data-table-static]) td a { overflow-wrap: anywhere; }
body.register main .table-desk .table-desk-sort { all: unset; box-sizing: border-box; display: block; width: 100%; cursor: pointer; padding-right: 10px; text-align: left; }
body.register main .table-desk .table-desk-sort:hover, body.register main .table-desk .table-desk-sort:focus-visible { color: var(--ink); text-decoration: none; }
body.register main .table-desk .table-desk-sort:focus-visible { outline: 2px solid var(--ikb); outline-offset: 2px; }
body.register main .table-desk .table-desk-resize { position: absolute; top: 0; right: 0; width: 8px; height: 100%; cursor: col-resize; }
body.register main .table-desk .table-desk-resize:hover { background: linear-gradient(to right, transparent 3px, var(--hair) 3px, var(--hair) 5px, transparent 5px); }
body.register main :is(h2, h3, h4) + :is(.table-desk, .table-wrap) { margin-top: .75rem; }
body.register main.es .pbody .prose > :is(.table-desk, .table-wrap) { max-width: none; }
body.register main caption { caption-side: top; padding: 8px 16px; text-align: left; font: 500 10.5px/1.35 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); border-bottom: 1px solid var(--hair); }
@media (max-width: 760px) {
  body.register main .table-desk.is-wide { width: 100%; margin-left: 0 !important; }
  body.register main .table-desk-btn[aria-pressed] { display: none; }
  body.register main .table-desk.is-small .table-desk-bar { display: none; }
  body.register main .table-desk-bar { flex-wrap: nowrap; }
  body.register main .table-desk-filter { flex: 1 1 0; min-width: 0; }
  body.register main .table-desk-count { padding: 0 10px; }
  body.register main table:not([data-table-static]) { font-size: 14px; }
  body.register main table:not([data-table-static]) :is(th, td) { padding: 8px 10px; }
  body.register main table:not([data-table-static]) :is(th, td):first-child { padding-left: 12px; }
  body.register main table:not([data-table-static]) td { max-width: 20rem; }
  body.register main table:not([data-table-static]) td:first-child:not(.td-nw, .td-num) { min-width: 6.5rem; }
  /* Prose-heavy tables read as stacked records. */
  body.register main .table-desk:has(table.is-prose) .table-desk-scroll { overflow: visible; }
  body.register main .table-desk:has(table.is-prose)::after { display: none; }
  body.register main table.is-prose, body.register main table.is-prose :is(tbody, tr, td) { display: block; width: 100%; max-width: none; min-width: 0; }
  body.register main table.is-prose thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  body.register main table.is-prose colgroup { display: none; }
  body.register main table.is-prose tr { padding: 10px 12px; border-bottom: 1px solid var(--hair); }
  body.register main table.is-prose tbody tr:last-child { border-bottom: 0; }
  body.register main table.is-prose:not([data-table-static]) tbody tr > td { background: none; }
  body.register main table.is-prose:not([data-table-static]) td { display: block; padding: 4px 0; border: 0; text-align: left; white-space: normal; overflow-wrap: break-word; }
  body.register main table.is-prose td::before { content: attr(data-label); display: block; margin: 0 0 1px; font: 500 10px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
  body.register main table.is-prose td:empty { display: none; }
  body.register main table.is-prose:not([data-table-static]) td:first-child { padding: 0 0 4px; font-weight: 600; }
  body.register main table.is-prose td:first-child::before { display: none; }
  body.register main table.is-prose td.td-num { font: 13px/1.6 var(--mono); }
  body.register main table.is-prose td code { white-space: normal; overflow-wrap: anywhere; }
}
body.register main table:not([data-table-static]) code::before,
body.register main table:not([data-table-static]) code::after { content: none; }
body.register main .footnotes :is(li, p, a) { overflow-wrap: anywhere; }
body.register main .snap-t > :is(.table-desk, .table-wrap) { margin: 0; border: 0; }
body.register main .snap-t > .table-desk.is-wide { border: 1px solid var(--ink); }
body.register main .snap-t > .table-desk:not(.is-small) > .table-desk-bar { border-bottom: 1px solid var(--hair); }

/* Fold toggles: every collapse/expand control is one square chip. */
details.cx.fold > summary.cx-h,
body.register main details:not(.cx, .group) > summary:not([style]),
body.register .hcoll-h { cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background-color .15s ease; }
body.register main details:not(.cx, .group) > summary:not([style]) { list-style: none; user-select: none; }
body.register main details:not(.cx, .group) > summary:not([style])::-webkit-details-marker { display: none; }

details.cx.fold > summary.cx-h::after,
body.register main details:not(.cx, .group) > summary:not([style])::before,
body.register .hcoll {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 24px; height: 24px; min-width: 0; padding: 0;
  border: 1px solid var(--ink); border-radius: 0; background: var(--cx-bg); color: var(--ink);
  font: 700 16px/1 var(--mono); letter-spacing: 0; text-transform: none; opacity: 1;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .08s ease;
}
details.cx.fold > summary.cx-h::after { content: "−"; align-self: center; margin: 4px 6px 4px auto; border-left: 1px solid var(--ink); }
details.cx.fold > summary.cx-h:has(em)::after { margin-left: 6px; }
details.cx.fold:not([open]) > summary.cx-h::after { content: "+"; }
body.register main details:not(.cx, .group) > summary:not([style])::before { content: "+"; margin-right: .6em; vertical-align: middle; width: 22px; height: 22px; font-size: 15px; }
body.register main details:not(.cx, .group)[open] > summary:not([style])::before { content: "−"; }
body.register .hcoll { width: 22px; height: 22px; margin-right: .45em; font-size: 15px; vertical-align: .12em; position: relative; }

@media (hover: hover) {
  details.cx.fold > summary.cx-h:hover,
  body.register main details:not(.cx, .group) > summary:not([style]):hover { background-color: color-mix(in srgb, var(--cx-bg) 92%, var(--ikb)); }
  details.cx.fold > summary.cx-h:hover::after,
  body.register main details:not(.cx, .group) > summary:not([style]):hover::before,
  body.register .hcoll-h:hover > .hcoll,
  body.register .hcoll:hover { background: var(--ikb); border-color: var(--ikb); color: var(--paper); }
  details.cx.fold > summary.cx-h:hover > b { text-decoration: underline; text-underline-offset: 3px; }
}
details.cx.fold > summary.cx-h:focus-visible,
body.register main details:not(.cx, .group) > summary:not([style]):focus-visible,
body.register .hcoll:focus-visible { outline: 2px solid var(--ikb); outline-offset: 2px; }
details.cx.fold > summary.cx-h:focus-visible::after,
body.register main details:not(.cx, .group) > summary:not([style]):focus-visible::before,
body.register .hcoll:focus-visible { background: var(--ikb); border-color: var(--ikb); color: var(--paper); }
details.cx.fold > summary.cx-h:active::after,
body.register main details:not(.cx, .group) > summary:not([style]):active::before,
body.register .hcoll:active { background: var(--ink); border-color: var(--ink); color: var(--paper); transform: scale(.9); }

@media (hover: none) {
  details.cx.fold > summary.cx-h::after,
  body.register main details:not(.cx, .group) > summary:not([style])::before,
  body.register .hcoll { background: var(--ink); border-color: var(--ink); color: var(--paper); }
  details.cx.fold > summary.cx-h:active::after,
  body.register main details:not(.cx, .group) > summary:not([style]):active::before,
  body.register .hcoll:active { background: var(--ikb); border-color: var(--ikb); }
}
@media (prefers-reduced-motion: reduce) {
  details.cx.fold > summary.cx-h, details.cx.fold > summary.cx-h::after,
  body.register main details > summary, body.register main details > summary::before,
  body.register .hcoll, body.register .hcoll-h { transition: none; }
  details.cx.fold > summary.cx-h:active::after,
  body.register main details > summary:active::before,
  body.register .hcoll:active { transform: none; }
}
