/* records-index.css - the record indexes: the hub /records and the ten /records/<kind> pages (Lane 25, 2026-09-30).
   Written by scripts/build-entities.mjs next to /sections/spine-nav.css and linked on those eleven pages only. Tokens only (roles.css
   aliases of design/tokens.css): the engraved atelier on oxblood - brass hairlines, the display face for names and counts, Plex Mono
   for labels and facts, Archivo for the one-line summaries. No icons, no colour-only meaning.
   The filter works without JavaScript: each group link targets its group (#g-<group>), and a list with a :target group shows only
   that group (":has"); "All" targets the list itself and shows every group again. A browser without :has shows every group, and the
   group links then simply jump. The chosen group's link is marked by a small per-page rule the emitter writes into the head. */

/* ------------------------------------------------------------ the filter line ------------------------------------------------------------ */
.rx-filter{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--rp-space-scale-2) var(--rp-space-scale-4);margin:var(--rp-space-scale-6) 0 var(--rp-space-scale-4);padding:var(--rp-space-scale-3) 0;border-top:1px solid var(--rp-hair);border-bottom:1px solid var(--rp-hair);font:400 var(--rp-type-scale-label)/1.6 var(--rp-mono);letter-spacing:.08em;text-transform:uppercase}
.rx-filter-k{color:var(--rp-text-muted);letter-spacing:.16em}
.rx-filter a{display:inline-flex;align-items:baseline;gap:.45em;min-height:24px;padding:.15em 0;color:var(--rp-brass);text-decoration:none;border-bottom:1px solid transparent}
.rx-filter a:hover{color:var(--rp-text);border-bottom-color:var(--rp-brass-dim)}
.rx-filter a:focus-visible{outline:var(--rp-focus-ring);outline-offset:2px}
.rx-filter-n{color:var(--rp-text-muted);font-variant-numeric:lining-nums tabular-nums}
.rx:not(:has(.rx-group:target)) .rx-filter a[href="#rx-all"]{color:var(--rp-text);border-bottom-color:var(--rp-brass)}

/* ------------------------------------------------------------ the groups and the lines ------------------------------------------------------------ */
.rx-list:has(.rx-group:target) .rx-group:not(:target){display:none}
.rx-list,.rx-group{scroll-margin-top:calc(var(--rp-sticky-top) + 5.5rem)}
.rx-list:focus,.rx-group:focus{outline:none}
.rx-group-h{margin:var(--rp-space-scale-8) 0 var(--rp-space-scale-2);font:500 var(--rp-type-scale-label)/1.4 var(--rp-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--rp-brass)}
/* the legacy `h2:not(.st)...{font-family:'Bodoni Moda'!important;font-weight:400!important}` (styles.css) reaches every h2: the group label is a Plex Mono label */
.rx .rx-group-h{font-family:var(--rp-mono)!important;font-weight:500!important;letter-spacing:.16em}
.rx-group-n{margin-left:.5em;color:var(--rp-text-muted);font-weight:400}
.rx-items{list-style:none;margin:0;padding:0;border-top:1px solid var(--rp-hair)}
.rx-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.2rem var(--rp-space-scale-4);margin:0;padding:var(--rp-space-scale-3) 0;border-bottom:1px solid var(--rp-hair)}
.rx-name{justify-self:start;font-family:var(--rp-display);font-weight:400;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.3;color:var(--rp-text);text-decoration:none;border-bottom:1px solid transparent}
.rx-name:hover{color:var(--rp-brass-hi);border-bottom-color:var(--rp-brass-dim)}
.rx-name:focus-visible{outline:var(--rp-focus-ring);outline-offset:3px}
.rx-meta{font:400 var(--rp-type-scale-label)/1.5 var(--rp-mono);letter-spacing:.06em;color:var(--rp-text-muted);text-align:right;font-variant-numeric:lining-nums tabular-nums}
.rx-meta sub{font-size:.8em;vertical-align:-.2em}
.rx-sum{grid-column:1 / -1;max-width:var(--rp-measure);font:400 var(--rp-type-scale-small)/1.6 var(--rp-body);color:var(--rp-text-muted)}
@media (max-width:599.98px){.rx-item{grid-template-columns:minmax(0,1fr)}.rx-meta{text-align:left}}

/* the other kinds, at the foot of an index */
.rx-kinds{display:flex;flex-wrap:wrap;gap:var(--rp-space-scale-2) var(--rp-space-scale-6);margin:0 0 var(--rp-space-scale-8);padding:0;list-style:none}
.rx-kinds li{margin:0}
.rx-kinds a{display:inline-block;min-height:24px;padding:.1em 0;color:var(--rp-brass);text-decoration:none;border-bottom:1px solid var(--rp-hair);font:400 var(--rp-body-size)/1.5 var(--rp-body)}
.rx-kinds a:hover{color:var(--rp-text);border-bottom-color:var(--rp-brass)}
.rx-kinds a:focus-visible{outline:var(--rp-focus-ring);outline-offset:2px}

/* ------------------------------------------------------------ the hub: ten kinds in the order of the Journey ------------------------------------------------------------ */
.rx-hub .rp-note{max-width:var(--rp-measure)}
.rx-kinds-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--rp-space-scale-8);margin:var(--rp-space-scale-8) 0;padding:0;list-style:none;border-top:1px solid var(--rp-hair)}
@media (min-width:900px){.rx-kinds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rx-kind{margin:0;padding:var(--rp-space-scale-4) 0 var(--rp-space-scale-6);border-bottom:1px solid var(--rp-hair)}
.rx-kind-k{margin:0 0 .3em;font:400 var(--rp-type-scale-label)/1.4 var(--rp-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--rp-text-muted)}
.rx-kind-h{margin:0 0 .35em;font-family:var(--rp-display);font-weight:400;font-size:var(--rp-type-scale-h3);line-height:1.2}
.rx-kind-h a{color:var(--rp-text);text-decoration:none;border-bottom:1px solid var(--rp-hair)}
.rx-kind-h a:hover{color:var(--rp-brass-hi);border-bottom-color:var(--rp-brass)}
.rx-kind-h a:focus-visible{outline:var(--rp-focus-ring);outline-offset:3px}
.rx-kind-n{margin-left:.35em;font-weight:var(--rp-num-weight);font-variant-numeric:lining-nums tabular-nums;color:var(--rp-brass)}
.rx-kind-d{margin:0 0 .6em;max-width:var(--rp-measure);font:400 var(--rp-type-scale-small)/1.6 var(--rp-body);color:var(--rp-text-muted)}
.rx-kind-s{margin:0;font:400 var(--rp-type-scale-small)/1.7 var(--rp-body);color:var(--rp-text-muted)}
.rx-kind-sk{margin-right:.5em;font:400 var(--rp-type-scale-label)/1.4 var(--rp-mono);letter-spacing:.14em;text-transform:uppercase}
.rx-kind-s a{display:inline-block;min-height:24px;color:var(--rp-brass);text-decoration:none;border-bottom:1px solid transparent}
.rx-kind-s a:hover{color:var(--rp-text);border-bottom-color:var(--rp-brass)}
.rx-kind-s a:focus-visible{outline:var(--rp-focus-ring);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.rx-name,.rx-filter a,.rx-kinds a,.rx-kind-h a,.rx-kind-s a{transition:color var(--rp-dur-fast) var(--rp-ease),border-color var(--rp-dur-fast) var(--rp-ease)}}
