
/* Setup */
.detail-fallback,.detail-status {padding:16px 24px;font:14px/1.6 var(--mono);}
.detail-retry {margin:0 24px 16px;min-height:44px;}
.record-page .obs-hero h1 {overflow-wrap:anywhere;}
.record-page .project-card {margin-top:48px;}
@media print {
 .record-page .obs-header,.record-page .obs-finding,.record-page .obs-closing-mark,.record-page .obs-footer,.record-page .plate-lens {display:none;}
 .record-page details::details-content {content-visibility:visible;}
 .record-page .specimen-drawer>.specimen-plate {display:block!important;}
 .record-page .plate-art,.record-page .plate-leaders,.record-page .plate-terrain path {animation:none!important;opacity:1!important;transform:none!important;}
 .record-page .pg-info>summary {display:none;}
 .record-page .pg-pop {position:static;width:auto;max-height:none;margin-top:8px;padding:8px 0 0;border:0;border-top:1px dashed var(--rule);box-shadow:none;}
 .record-page .plate-grid {background:none;padding:0;}
}
.deployment-group {margin:20px 0;}
.deployment-group h5 {font:14px/1.5 var(--mono);margin-bottom:12px;}
.deployment-group ul {padding-left:20px;}
.deployment-group li {margin-bottom:16px;}
.deployment-group .fine-print {font-size:12px;}

/* Retro-Scraperism */
:root {
  --paper:var(--rs-paper);
  --mist:var(--rs-mist);
  --ink:var(--rs-ink);
  --muted:var(--rs-muted);
  --accent:var(--rs-scarlet);
  --rule:#acb6c0;
  --mono:var(--rs-mono);
  --sans:var(--rs-font);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font:17px/1.5 var(--sans);
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-underline-offset:4px;
}
a:hover {
  color:var(--accent);
}
button,input,select {
  font:inherit;
  color:inherit;
}
button,select,summary {
  cursor:pointer;
}
button,input,select {
  border-radius:2px;
}
button:disabled,select:disabled {
  cursor:default;
  opacity:.6;
}
:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px;
}
[hidden] {
  display:none!important;
}
p,h1,h2,h3,h4 {
  margin:0;
}
img {
  max-width:100%;
}
summary {
  list-style:none;
}
summary::-webkit-details-marker {
  display:none;
}
summary::marker {
  content:'';
}
.page-shell {
  max-width:1600px;
  margin:auto;
}
.visually-hidden,.skip-link:not(:focus) {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link:focus {
  position:fixed;
  left:16px;
  top:16px;
  z-index:9;
  background:var(--ink);
  color:white;
  padding:16px;
}
.site-header {
  display:flex;
  align-items:center;
  padding:16px 32px;
  background:var(--rs-blueprint);
  color:white;
  border-bottom:3px solid var(--ink);
}
.site-header :focus-visible {
  outline-color:var(--rs-amber);
}
.site-header a:hover {
  color:var(--rs-amber);
}
.brand {
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  white-space:nowrap;
}
.brand-mark {
  width:64px;
  height:64px;
  object-fit:contain;
}
.brand-asterisk {
  color:var(--rs-paper);
}
.header-links {
  margin-left:auto;
  display:flex;
  align-items:center;
}
.header-links a {
  padding:10px 0;
}
.layout {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:40px;
  padding:16px 32px 64px;
  align-items:start;
}
.category-panel>summary {
  font:13px var(--mono);
  text-transform:uppercase;
  padding:14px 0;
  border-top:2px solid var(--ink);
  border-bottom:1px solid var(--ink);
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.category-nav {
  padding-top:8px;
  overflow:auto;
  scrollbar-width:thin;
}
.category-nav a {
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:2px;
  border-bottom:1px solid var(--mist);
  font-size:13px;
  text-decoration:none;
}
.category-nav a[aria-current] {
  font-weight:650;
  color:var(--accent);
  border-bottom:1px solid var(--accent);
  background:var(--rs-mist);
}
.category-nav a {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
}
.category-art {
  display:block;
  width:48px;
  height:48px;
  object-fit:contain;
}
.category-label { min-width:0; overflow-wrap:anywhere; }
.category-nav a:not(.has-category-art) .category-label { grid-column:1 / 3; }
/* The menu spans both control columns. Keep its links above the adjacent
   stretched, transparent Filters form so the right-hand items remain clickable. */
.category-panel[open] .category-nav { position:relative; z-index:1; }
.category-count {
  font:13px var(--mono);
  color:var(--muted);
}
.category-panel[open]>summary>span {
  transform:rotate(45deg);
}
.catalog-main {
  min-width:0;
}
.catalog-main:focus:not(:focus-visible) {
  outline:none;
}
.search-field {
  padding:16px 0;
}
.search-field>label,.filter-field>label {
  display:block;
  font:13px/1.5 var(--mono);
  margin-bottom:8px;
}
.search-input {
  display:flex;
  align-items:center;
  gap:12px;
}
.search-input>span {
  color:var(--accent);
  font-size:26px;
}
.search-input input {
  width:100%;
  min-width:0;
  border:1px solid var(--ink);
  background:white;
  padding:12px;
  font-size:19px;
  min-height:48px;
}
.search-input input::placeholder {
  color:var(--muted);
  opacity:1;
}
.diagnostic-filters,.filter-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  padding:0 0 16px;
}
.filter-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding-top:16px;
}
.filter-field {
  min-width:0;
}
.filter-field select,.filter-field input {
  display:block;
  width:100%;
  min-width:0;
  min-height:44px;
  padding:9px 28px 9px 8px;
  border:1px solid var(--rule);
  background:white;
  font:13px/1.5 var(--mono);
}
.filter-field input {
  padding-right:8px;
}
.more-filters {
  border-top:1px solid var(--rule);
}
.more-filters>summary {
  padding:12px 0;
  font:13px/1.5 var(--mono);
  display:flex;
  justify-content:space-between;
  min-height:44px;
}
#clear-filters {
  background:white;
  border:1px solid var(--ink);
  min-height:44px;
  white-space:nowrap;
}
#clear-filters:hover {
  background:var(--rs-mist);
}
.results-heading {
  display:flex;
  align-items:center;
  gap:16px;
}
.results-heading h2 {
  font:14px var(--mono);
}
.sort-field {
  display:flex;
  align-items:center;
  gap:8px;
  font:13px var(--mono);
}
.sort-field select {
  border:1px solid var(--rule);
  background:white;
  padding:8px;
  min-height:44px;
  max-width:170px;
  font:13px var(--mono);
}
.leader-key {
  font-size:13px;
  color:var(--muted);
  max-width:75ch;
}
.ledger-columns,.specimen-drawer>summary {
  display:grid;
  gap:16px;
  align-items:baseline;
}
.ledger-columns {
  font:13px var(--mono);
  background:var(--rs-blueprint);
  color:white;
}
.project-card {
  scroll-margin-top:24px;
  border-bottom:1px solid var(--rule);
}
.specimen-drawer>summary:hover {
  background:var(--rs-mist);
}
.folio {
  padding-left:4px;
  font:13px var(--mono);
  color:var(--muted);
}
.name-cell {
  min-width:0;
}
.specimen-name {
  display:block;
  overflow-wrap:anywhere;
}
.description {
  overflow-wrap:anywhere;
}
.license-readout {
  font:13px/1.5 var(--mono);
  overflow-wrap:anywhere;
  color:var(--muted);
}
.drawer-sign {
  font:24px/1 var(--mono);
  color:var(--accent);
  text-align:center;
  transition:transform var(--rs-duration);
}
.specimen-drawer[open]>summary {
  background:var(--rs-mist);
}
.drawer-sign::before {
  content:"+";
}
.specimen-drawer[open]>summary>.drawer-sign::before {
  content:"*";
}
.specimen-interior {
  background:white;
}
.fine-print {
  font:13px/1.6 var(--mono);
  color:var(--muted);
  overflow-wrap:anywhere;
}
.empty-state,.link-notice,.no-script {
  padding:20px;
  border:1px solid var(--rule);
  font-size:16px;
  margin:16px 0;
}
.link-notice {
  border-left:3px solid var(--accent);
}
.site-footer {
  padding:24px 32px 32px;
  background:var(--rs-blueprint);
  color:white;
}
.site-footer :focus-visible {
  outline-color:var(--rs-amber);
}
.site-footer a:hover {
  color:var(--rs-amber);
}
.footer-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
.footer-actions a {
  padding:10px 0;
}
.data-notes {
  margin-top:20px;
}
.data-notes>summary {
  display:flex;
  justify-content:space-between;
  min-height:48px;
  padding:12px 0;
}
.colophon {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:40px;
  padding:16px 0 24px;
}
.colophon p {
  color:var(--rs-trace);
  font-size:15px;
  margin-bottom:16px;
  max-width:70ch;
}
.footer-baseline {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  font:13px/1.6 var(--mono);
  overflow-wrap:anywhere;
}
@media(max-width:1200px) {
  .layout {
    gap:24px;
    padding-inline:24px;
  }
  .ledger-columns,.specimen-drawer>summary {
    gap:12px;
  }
}
@media(max-width:900px) {
  .site-header {
    padding:12px 20px;
  }
  .layout {
    display:block;
    padding:20px;
  }
  .sidebar {
    margin-bottom:24px;
  }
  .category-panel:not([open])>summary>span {
    transform:none;
  }
  .site-footer {
    padding-inline:20px;
  }
}
@media(max-width:720px) {
  .ledger-columns {
    display:none;
  }
  .folio {
    grid-column:1;
    grid-row:1;
  }
  .name-cell {
    grid-column:2;
    grid-row:1;
  }
  .drawer-sign {
    grid-column:3;
    grid-row:1;
  }
  .diagnostic-filters {
    grid-template-columns:1fr;
    gap:12px;
  }
  .filter-grid {
    grid-template-columns:1fr;
  }
  .colophon {
    grid-template-columns:1fr;
    gap:16px;
  }
  .site-header {
    flex-wrap:wrap;
  }
  .header-links {
    justify-content:space-between;
  }
  .search-input input {
    font-size:16px;
  }
  .results-heading {
    gap:8px;
  }
  .sort-field {
    gap:4px;
  }
  .sort-field select {
    max-width:145px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
  }
}

.filter-options[open] > summary > span {
  transform: rotate(45deg);
}
.filter-options[open] .diagnostic-filters {
  padding-top: 12px;
}


/* ledger controls */
.brand-name { display:inline; }
.header-search { padding:0; flex:1; min-width:160px; }
.header-search > label { margin:0; color:var(--rs-trace); font-size:12px; }
.header-search .search-input { gap:0; }
.header-search .search-input > span { display:none; }
.header-search input { min-height:36px; padding:4px 0; color:white; background:transparent; border:0; border-bottom:1px dashed var(--rs-trace); }
.header-search input::placeholder { color:var(--rs-trace); }
h1 { margin:0; }
.control-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.sidebar { position:static; min-width:0; }
.catalog-toolbar { border:0; min-width:0; }
.category-panel > summary, .filter-options > summary { display:flex; justify-content:space-between; min-height:44px; border:1px solid var(--rule); background:var(--rs-mist); font:13px/1.5 var(--mono); text-transform:none; }
.category-nav, .filter-body { width:calc(200% + 12px); padding:12px 0; }
.category-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 20px; max-height:50vh; }
.filter-body { margin-left:calc(-100% - 12px); }
.result-actions { display:flex; align-items:center; gap:16px; }
#clear-filters { font-size:12px; padding:4px 8px; }
.leader-key { margin-bottom:12px; }
@media(max-width:900px) {
  .category-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .layout { padding-top:12px; }
}
@media(max-width:720px) {
  .header-search { order:3; flex-basis:100%; }
  .header-links { width:auto; margin-left:auto; }
  .category-nav { grid-template-columns:1fr; }
  .results-heading { flex-wrap:wrap; }
  .result-actions { gap:8px; margin-left:auto; }
  .leader-key { line-height:1.4; }
}

/* Compact production ledger */
.results-heading { justify-content:flex-end; }
.leader-label { display:none; }
.description { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.license-readout { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.license-readout:empty { visibility:hidden; }
.colophon ul { color:var(--rs-trace);padding-left:20px;margin-bottom:20px; }
.colophon li { margin:4px 0; }
.colophon .coverage-notes { margin-top:24px; }
@media(max-width:720px) {
  .specimen-drawer > summary > .description, .specimen-drawer > summary > .license-readout { display:none; }
}

/* loupe */
.header-search .search-submit {flex:0 0 44px;width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:6px;border:0;background:transparent;cursor:pointer;}
.header-search .search-submit img {display:block;width:32px;height:32px;object-fit:contain;}
.header-search .search-submit:hover {background:var(--rs-mist);}

/* Specimen sheets */
.specimen-identity {padding-top:0;}
.record-description {font:500 clamp(25px,2.5vw,36px)/1.16 var(--sans);color:var(--rs-blueprint);overflow-wrap:anywhere;}


/* Folded discussion traces and scarlet factual values. */
.name-cell .specimen-name {display:inline;}
.name-sparkline {display:inline-block;width:80px;height:16px;object-fit:contain;}
.specimen-drawer[open] .name-sparkline {display:none;}
.license-readout,.metric-value {color:var(--accent);}
@media(max-width:720px) {
  .name-sparkline {width:56px;height:14px;}
}

/* Reviewed Function prose supplements the concise ledger headline. */
.function-detail>p {overflow-wrap:anywhere;}


/* The text stays on solid blue / pattern; transparent creatures occupy the footer floor. */
.site-footer.has-art {position:relative;isolation:isolate;overflow:hidden;padding-bottom:24px;background-image: url(patterns/navypattern2.png); border-top: 3px double #fff;}
/* One source pixel per CSS pixel at every viewport; the footer clips overflow. */
.footer-art {position:absolute;z-index:-1;inset:auto auto 0 50%;left:round(nearest,50%,1px);width:auto;height:auto;min-width:0;max-width:none;max-height:none;transform:translateX(-50%);pointer-events:none;mask-image:linear-gradient(to bottom,transparent,#000 22%);}

.filter-field>label {color:var(--rs-scarlet);}

/* Metadata sits at the foot of the panorama, with individual ink-blue highlights. */
.data-notes[open]>summary>span {font-size:0;}
.data-notes[open]>summary>span::after {content:"*";font-size:18px;}
.site-footer.has-art .footer-baseline {margin-top:clamp(180px,34vw,640px);}
.footer-baseline {border-top:0;padding-top:0;align-items:flex-start;}
.footer-baseline>span {background:black;padding:4px 8px;}

.page-end {display:flex;justify-content:center;padding:72px 24px 120px;}
.page-end img {display:block;max-width:100%;height:auto;}
/* Typography revision: soft editorial headings, precise ledger text. */
body {font-size:15px;line-height:1.6;font-weight:400;font-variant-numeric:tabular-nums;font-synthesis:none;}
h1,h2,h3,.record-description,.data-notes>summary {
  font-family:var(--rs-display);font-weight:var(--rs-display-weight, 400);font-optical-sizing:auto;
  font-variation-settings:var(--rs-display-axes, normal);letter-spacing:-.025em;text-wrap:pretty;
}
.brand {font-family:var(--rs-display);font-weight:var(--rs-wordmark-weight, 400);font-size:30px;line-height:1.1;letter-spacing:-.035em;font-optical-sizing:auto;font-variation-settings:var(--rs-display-axes, normal);gap:10px;}
.site-header {gap:clamp(16px,2vw,32px);padding-block:12px;}
.header-links {font:13px/1.5 var(--mono);gap:20px;}
.header-search {max-width:300px;}
.header-search input {font:15px/1.5 var(--mono);}
h1 {font-size:clamp(30px,3vw,42px);line-height:1.15;}
.control-row {gap:12px;}
.category-panel>summary,.filter-options>summary {padding:10px 12px;}
.results-heading {margin:12px 0;}
.ledger-columns,.specimen-drawer>summary {column-gap:20px;grid-template-columns:36px minmax(180px,240px) minmax(180px,1fr) 120px 24px;}
.ledger-columns {font-size:12px;line-height:1.5;padding:10px 12px;letter-spacing:.015em;}
.specimen-name {font:450 16px/1.5 var(--mono);letter-spacing:-.025em;}
.project-card[data-leader="true"] .specimen-name {font-weight:650;}
.description {font-size:14px;line-height:1.6;letter-spacing:-.02em;}
.folio,.license-readout {font-size:12px;line-height:1.6;}
.name-sparkline {margin-left:10px;vertical-align:middle;}
.specimen-interior {padding:32px clamp(16px,2.5vw,36px) 40px;}
.record-description {max-width:38ch;}
.function-detail {margin:-4px 0 24px;max-width:66ch;}
.function-detail>p {font:400 15px/1.7 var(--mono);letter-spacing:-.015em;}
.function-detail .function-provenance {line-height:1.65;}
.deployment-group p {font-size:14px;line-height:1.65;}
.data-notes>summary {font-size:28px;line-height:1.25;}
.colophon h2 {font-size:26px;line-height:1.2;margin-bottom:16px;}
.colophon ul {font-size:14px;line-height:1.7;}
.footer-actions {font-size:14px;gap:24px;}
.footer-baseline {font-size:12px;line-height:1.6;gap:12px;}
@media(max-width:1200px) {
  .ledger-columns,.specimen-drawer>summary {grid-template-columns:32px minmax(150px,200px) minmax(140px,1fr) 100px 20px;column-gap:14px;}
}
@media(max-width:900px) {
  .brand {font-size:27px;}
  .header-links {gap:14px;}
}
@media(max-width:720px) {
  .brand {font-size:26px;}
  .site-header {gap:8px 16px;}
  .header-search {max-width:none;}
  .header-search input {font-size:16px;}
  .header-links {font-size:12px;}
  .specimen-drawer>summary {grid-template-columns:28px minmax(0,1fr) 24px;gap:8px 12px;}
  .specimen-name {font-size:16px;line-height:1.45;}
}

/* Specimen plate: the expanded record for every project (B22). Folded ledger rows are unchanged. */
.specimen-interior.specimen-plate {display:block;color:var(--rs-blueprint);border-top:3px double var(--rs-blueprint);isolation:isolate;}
.plate-heading {display:flex;gap:16px;}
.plate-aliases {list-style:none;margin:4px 0 0;padding:0;font:12px/1.75 var(--mono);color:var(--muted);overflow-wrap:anywhere;}
.plate-aliases li {margin:0;padding:0;}
.plate-aliases a {color:inherit;text-underline-offset:.18em;}
.plate-index {font:11px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--rs-scarlet);}
.plate-heading .plate-index:last-child {color:var(--muted);text-align:right;}
.specimen-plate .sheet-label {display:inline-block;background:var(--rs-scarlet);color:var(--rs-mist);padding:1px 8px;margin:0 0 16px;font:700 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;}

.plate-study {position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"field fn" "field notes";grid-template-rows:auto 1fr;column-gap:48px;align-items:start;margin-top:2px;}
.without-art .plate-study {grid-template-areas:"label fn" ". notes";grid-template-rows:auto 1fr;}
.plate-function {grid-area:fn;min-width:0;padding-top:16px;}
.plate-specimen {grid-area:field;min-width:0;}
.plate-notes {grid-area:notes;}
.specimen-plate .specimen-label {grid-area:label;}

.specimen-plate .record-description {font-size:clamp(34px,4.2vw,58px);line-height:1.06;letter-spacing:-.01em;margin:0 0 24px;text-wrap:pretty;}
/* Long statements step down so the study stays near one desktop screen (B-PR158-01). */
.specimen-plate .record-description.is-long {font-size:clamp(24px,2.1vw,30px);line-height:1.18;}
.specimen-plate .function-detail {border-left:1.5px solid var(--rs-scarlet);padding:2px 0 2px 16px;margin:0 0 32px;}
.specimen-plate .function-detail>p:first-child {font-size:15px;line-height:1.75;margin:0 0 12px;}
.specimen-plate .function-provenance {font-size:12px;color:var(--muted);margin:0;}
.tool-name {background:var(--rs-scarlet);color:white;padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}

/* The field: the specimen stands on its own decorative ground; no frame. */
.plate-field {position:relative;margin:0 calc(-1 * clamp(16px,2.5vw,32px));touch-action:manipulation;cursor:zoom-in;}
.plate-stage {position:relative;width:100%;max-width:627px;aspect-ratio:1 / var(--plate-height,1);margin-inline:auto;}
.plate-terrain {position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  -webkit-mask-image:linear-gradient(to bottom,transparent var(--plate-fade-start,42%),#000 var(--plate-fade-end,68%)),radial-gradient(ellipse 60% 50% at 50% var(--plate-ground,74%),#000 55%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,transparent var(--plate-fade-start,42%),#000 var(--plate-fade-end,68%)),radial-gradient(ellipse 60% 50% at 50% var(--plate-ground,74%),#000 55%,transparent 100%);mask-composite:intersect;}
.plate-terrain path {fill:none;stroke:#BDD7E6;stroke-width:.9;vector-effect:non-scaling-stroke;}
.plate-terrain path.is-index {stroke:#86AEC6;stroke-width:1.2;}
/* Retain the 627px canvas cap (half of 1254px sources); never enlarge a short subject.
   The entire image remains rendered, including faint shadows outside its stored bounds. */
.specimen-plate .plate-art {position:absolute;inset:auto 0 auto;top:var(--plate-offset,0%);margin:0;display:block;max-width:none;pointer-events:none;}
.specimen-plate .plate-art img {display:block;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;mix-blend-mode:normal;background:transparent;user-select:none;-webkit-user-drag:none;}
.plate-field[data-cutout="false"] .plate-art img {mix-blend-mode:multiply;}
.plate-lens {position:absolute;z-index:4;left:0;top:0;width:200px;height:200px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);
  background-color:white;background-repeat:no-repeat;opacity:0;transition:opacity .3s;
  -webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);}
.plate-lens.is-on {opacity:1;}

/* Feature notes with enlarged windows of the drawing, joined by leader lines (like the jar captions). */
.plate-notes {list-style:none;margin:0 0 32px;padding:0;display:grid;gap:24px;min-width:0;}
.plate-note {display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;}
.plate-crop {display:block;width:112px;height:112px;border:1px solid var(--rs-ink);background:white no-repeat;visibility:hidden;}
.plate-crop.is-tiny {width:64px;height:64px;}
.plate-crop.is-ready {visibility:visible;}
.plate-note strong {display:block;font:var(--rs-display-weight, 400) 22px/1.2 var(--rs-display);font-variation-settings:var(--rs-display-axes, normal);color:var(--rs-blueprint);margin:2px 0 4px;}
.plate-note p {margin:0;font:14px/1.65 var(--mono);color:var(--rs-ink);}
.feature-source {display:inline-block;margin-top:6px;font:12px/1.6 var(--mono);}
.plate-leaders {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2;}
.plate-leaders path {fill:none;stroke:var(--rs-scarlet);stroke-width:1;}
.plate-leaders circle {fill:white;stroke:var(--rs-scarlet);stroke-width:1;}

/* Specimen label: live text and a QR code of the permalink. */
.specimen-plate .specimen-label {display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-items:center;position:relative;z-index:3;width:65%;min-width:min(320px,100%);max-width:100%;padding:8px;border:1px solid var(--rule);border-radius:2px;background:white;opacity:.8;margin-top:8px;font:12px/1.45 var(--mono);color:var(--rs-ink);overflow-wrap:anywhere;}
/* Negative margin reclaims space; only illustrated records overlap their field. */
.specimen-plate .plate-specimen>.specimen-label {margin-top:-4em;}
.specimen-plate.without-art .specimen-label {margin-top:24px;}
.specimen-plate .specimen-label a {text-decoration:none;}
.label-qr {display:block;width:92px;height:92px;border:2px solid white;background:white;}
.label-qr img {display:block;width:100%;height:100%;}
.label-lines {display:grid;gap:1px;min-width:0;}
.label-lines .specimen-links {display:block;margin:0;padding:0;}
.label-lines :is(.registry,.sheet-folio) {display:inline;margin:0;padding:0;font:inherit;color:inherit;letter-spacing:0;}
.label-lines a {font:inherit;padding:0;margin:0;display:inline;min-height:0;}
.label-header {font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.label-status {font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--rs-scarlet);}
.label-name {font-weight:700;font-size:18px;line-height:1.2;}

.timeline {position:relative;height:92px;margin:0 6px;}
.timeline-axis {position:absolute;left:0;right:0;top:46px;border-top:1px solid var(--rs-blueprint);}
.timeline-span {position:absolute;top:44px;height:5px;background:var(--rs-trace);border:1px solid #a9c8da;}
.timeline-year {position:absolute;top:52px;font:10px/1.5 var(--mono);color:var(--muted);transform:translateX(-50%);}
.timeline-year::before {content:"";position:absolute;left:50%;top:-9px;height:5px;border-left:1px solid var(--rs-blueprint);}
.timeline-mark {position:absolute;top:40px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:white;border:1.5px solid var(--rs-blueprint);}
.timeline-mark.is-release {border-color:var(--rs-scarlet);background:var(--rs-scarlet);}
.timeline-label {position:absolute;font:11px/1.35 var(--mono);white-space:nowrap;color:var(--rs-ink);}
.timeline-label.up {bottom:58px;}
.timeline-label.down {top:70px;}

/* Evidence grid (B-PR158-01): fixed boxes on a mist panel. Every box keeps its
   place and size without evidence; only reviewed alternatives may be absent. */
.plate-grid {--pg-gap:12px;--pg-lane:30px;margin:24px 0;padding:2px 32px 32px;background:var(--rs-mist);border-radius:var(--rs-radius);}
.pg-row {display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--pg-gap);padding-top:var(--pg-lane);align-items:stretch;}
.pg-row.pg-tight {padding-top:0;margin-top:var(--pg-gap);}
.pg-box {position:relative;grid-column:span 2;display:flex;flex-direction:column;min-width:0;padding:10px 14px;background:var(--rs-paper);border:1px solid var(--rs-blueprint);border-radius:var(--rs-radius);}
.specimen-plate .pg-box>.sheet-label {position:absolute;left:-1px;top:calc(-1 * var(--pg-lane) + 6px);margin:0;white-space:nowrap;background:var(--rs-muted);color:var(--rs-mist);}
.pg-title {margin:0 0 4px;font:12px/1.4 var(--mono);color:var(--muted);}
.pg-value {margin:0;font:var(--rs-display-weight, 400) 33px/1.1 var(--rs-display);font-variation-settings:var(--rs-display-axes, normal);color:var(--rs-blueprint);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.pg-value.is-unknown {font-size:28px;color:var(--rule);}
.pg-value a {color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;}
.pg-sub {margin:6px 0 0;font:12px/1.5 var(--mono);color:var(--rs-ink);}
.pg-nowrap {white-space:nowrap;}
.pg-release .pg-value:not(.is-unknown) {margin:10px 0;text-align:center;}
.pg-repository .pg-box {min-height:84px;}
.pg-evidence>*,.pg-release-runs>* {min-height:132px;}
/* Sparklines share a baseline: each chart sits on its count and window line. */
.pg-spark-link {display:block;margin-top:auto;}
.pg-spark {display:block;width:100%;height:auto;aspect-ratio:5;}
.pg-spark-empty {aspect-ratio:5;margin-top:auto;border-bottom:1px solid var(--rule);background:repeating-linear-gradient(90deg,transparent 0 calc(100% / 24 - 1px),#e3e9ee calc(100% / 24 - 1px) calc(100% / 24));}
.pg-foot {margin:6px 0 0;font:12px/1.5 var(--mono);color:var(--rs-ink);}
.pg-foot.is-unknown {color:var(--muted);}
.pg-foot {padding-right:36px;}
.pg-reserved {grid-column:span 2;background:var(--rs-verdigris-art);border-radius:var(--rs-radius);opacity:.5}
.pg-reserved.pg-wide,.pg-runs {grid-column:span 3;}
/* Timeline: full height when there is something to draw, one line otherwise. */
.pg-timeline {grid-column:1 / -1;padding:16px 20px 24px;}
.pg-timeline.is-empty {padding:6px 14px;}
.pg-line {margin:0;font:12px/1.5 var(--mono);color:var(--muted);}
.pg-timeline .history-evidence {margin-top:8px;}
/* Where it runs: one line per kind; fills tell kinds apart, chip text names them. */
.pg-kit {display:grid;gap:5px;margin:0;padding-right:32px;}
.pg-kit dd {display:flex;flex-wrap:wrap;gap:4px 5px;margin:0;}
.pg-kit span,.pg-key span {padding:0 6px;font:12px/1.6 var(--mono);color:var(--rs-ink);border:1px solid transparent;border-radius:var(--rs-radius);}
.pg-run span,.pg-key .pg-run {background:var(--rs-amber);}
.pg-install span,.pg-key .pg-install {background:var(--rs-trace);border-color:#a9c8da;}
.pg-platform span,.pg-key .pg-platform {background:var(--rs-emerald-art);}
/* Reviewed alternatives fill the row in thirds. */
.pg-alts {grid-template-columns:repeat(3,minmax(0,1fr));}
.pg-alt {grid-column:span 1;}
.pg-alt .pg-value {align-self:flex-start;font-size:24px;}
.pg-scope {margin:6px 0 0;font:12px/1.55 var(--mono);color:var(--rs-ink);}
/* Box details: a bare "i" (control.info) opening a popup; native disclosure. */
.pg-info>summary {position:absolute;right:0;bottom:0;display:grid;place-items:center;width:44px;height:44px;list-style:none;cursor:pointer;font:700 16px/1 var(--rs-display);color:var(--rs-blueprint);}
.pg-info>summary::-webkit-details-marker {display:none;}
.pg-info>summary:focus-visible {outline:2px solid var(--rs-blueprint);outline-offset:-4px;}
.pg-info[open]>summary {background:#111820;color:var(--rs-paper);}
/* Popups open upward from the box edge nearest the plate's centre. */
.pg-pop {position:absolute;z-index:20;left:-1px;bottom:44px;width:min(420px,calc(100vw - 64px));max-height:min(420px,70vh);overflow:auto;padding:12px 14px;background:var(--rs-paper);border:1px solid var(--rs-blueprint);box-shadow:var(--rs-shadow);font:12px/1.55 var(--mono);color:var(--rs-ink);text-align:left;overflow-wrap:anywhere;}
.is-end .pg-pop {left:auto;right:-1px;}
.pg-runs .pg-pop {max-width:calc(100% + 2px);}
.pg-pop p {margin:0 0 8px;}
.pg-pop>:last-child {margin-bottom:0;}
.pg-pop ul {margin:0 0 8px;padding:0;list-style:none;}
.pg-pop li {margin-bottom:8px;}
.pg-pop li p,.pg-pop .deployment-group p {margin:0;}
.pg-pop :is(p,li,strong,h5,.fine-print) {font-size:12px;line-height:1.55;}
.pg-pop .deployment-group {margin:12px 0 0;}
.pg-pop .deployment-group h5 {margin:0 0 4px;font:700 12px/1.5 var(--mono);}
.pg-state {display:inline-block;margin-bottom:8px;padding:0 5px;border:1px dashed var(--rule);color:var(--muted);}
.pg-key {display:flex;flex-wrap:wrap;gap:4px;}

/* In the wild: the ground continues out into the departure band. */
.plate-departure {position:relative;overflow:hidden;margin:40px 0 0;border-radius:var(--rs-radius);padding:36px 32px 32px;background:var(--rs-blueprint);color:white;text-align:center;}
.plate-wild-terrain {position:absolute;inset:0;width:100%;height:100%;}
.plate-wild-terrain path {fill:none;stroke:rgba(217,238,248,.16);stroke-width:1;vector-effect:non-scaling-stroke;}
.plate-wild-terrain path.is-index {stroke:rgba(217,238,248,.3);}
.plate-departure>*:not(svg) {position:relative;}
.plate-departure .sheet-label {margin-bottom:12px;}
.plate-departure>a {display:flex;justify-content:center;align-items:baseline;gap:14px;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:6px;font:var(--rs-display-weight, 400) clamp(30px,4vw,52px)/1.15 var(--rs-display);font-variation-settings:var(--rs-display-axes, normal);color:white;}
.plate-departure>a:is(:hover,:focus-visible) {text-decoration-color:white;}
.departure-arrow {font:300 .8em/1 var(--mono);color:var(--rs-scarlet-art);}
.departure-address {display:block;margin-top:12px;font:12px/1.6 var(--mono);color:var(--rs-trace);overflow-wrap:anywhere;}

/* One-time opening: the ground is drawn, then the specimen settles. Static with reduced motion. */
.is-opening .plate-terrain path {stroke-dasharray:1;stroke-dashoffset:1;animation:plate-draw 1.1s cubic-bezier(.3,.6,.2,1) forwards;animation-delay:calc(var(--i) * 32ms);}
.is-opening .plate-art {animation:plate-emerge .9s cubic-bezier(.2,.7,.2,1) .22s both;}
.is-opening .plate-leaders {animation:plate-emerge .6s ease-out .9s both;}
@keyframes plate-draw {to {stroke-dashoffset:0;}}
@keyframes plate-emerge {from {opacity:0;transform:translateY(14px);} to {opacity:1;transform:none;}}

@media(max-width:1100px) {
 .plate-grid {padding:2px 24px 24px;}
 .pg-row {grid-template-columns:repeat(4,minmax(0,1fr));}
 .pg-reserved.pg-wide,.pg-runs {grid-column:span 2;}
 .pg-alts {grid-template-columns:repeat(2,minmax(0,1fr));}
 /* Where it runs wraps to its own line and needs room for its label. */
 .pg-runs {margin-top:calc(var(--pg-lane) - var(--pg-gap));}
}
@media(max-width:900px) {
 .plate-study,.without-art .plate-study {grid-template-columns:1fr;grid-template-areas:"fn" "field" "notes";grid-template-rows:none;row-gap:24px;}
 .without-art .plate-study {grid-template-areas:"fn" "label" "notes";}
 .plate-notes {margin-bottom:0;}
}
@media(max-width:720px) {
 .specimen-interior.specimen-plate {padding:24px 12px 0;}
 .plate-field {margin:0 -12px;}
 .plate-lens {width:140px;height:140px;}
 .specimen-plate .record-description {font-size:34px;}
 .timeline-label.repeats-vitals {display:none;}
 .plate-grid {margin-top:40px;padding:4px 16px 16px;}
 .pg-row,.pg-alts {grid-template-columns:minmax(0,1fr);padding-top:var(--pg-lane);}
 .pg-box,.pg-reserved.pg-wide,.pg-runs,.pg-alt {grid-column:1 / -1;}
 .pg-reserved {display:none;}
 .pg-pop,.is-end .pg-pop {left:-1px;right:-1px;width:auto;}
 .specimen-plate .pg-box>.sheet-label {max-width:calc(100% + 2px);letter-spacing:.04em;white-space:normal;}
 .pg-box:has(>.sheet-label):not(:first-child) {margin-top:calc(var(--pg-lane) - var(--pg-gap));}
 .pg-row>*,.pg-repository .pg-box {min-height:0;}
 .pg-spark-link,.pg-spark-empty {margin-top:4px;}
 .pg-value {font-size:28px;}
 .pg-value.is-unknown {font-size:24px;}
 .plate-crop {width:88px;height:88px;}
 .plate-crop.is-tiny {width:52px;height:52px;}
 .specimen-plate .specimen-label {gap:2px 12px;font-size:11px;}
 .label-qr {width:76px;height:76px;}
 .label-name {font-size:15px;}
 .plate-departure {margin:32px 0 0;padding:32px 16px;}
}
@media(prefers-reduced-motion:reduce) {
 .is-opening .plate-terrain path,.is-opening .plate-art,.is-opening .plate-leaders {animation:none;stroke-dashoffset:0;}
 .plate-lens {transition:none;}
}

/* Enlarge the native 104px icon within its fixed navigation row. */
.category-nav a {overflow:hidden;}
.category-nav a:hover .category-art,
.category-nav a:focus-visible .category-art {transform:scale(var(--category-scale,1));}
.category-label,.category-count {position:relative;}
.category-label {background:var(--paper);padding-left:2px}

/* Reviewed name changes join the repository timeline; "(i)" opens their evidence. */
.timeline-mark.is-rename {width:11px;height:11px;margin-left:-5.5px;top:41px;border-radius:0;transform:rotate(45deg);}
.timeline:has(.is-rename) {container-type:inline-size;}
.timeline-label.is-rename {width:max-content;white-space:normal;}
.timeline-rename-space {margin:0 6px;visibility:hidden;font:11px/1.35 var(--mono);}
.timeline-rename-space + .timeline {margin-top:-34px;}
.timeline-info {display:inline;}
.timeline-date {display:block;}
.timeline-info summary {display:inline;cursor:pointer;list-style:none;color:var(--rs-blueprint);}
.timeline-info summary::-webkit-details-marker {display:none;}
.timeline-info summary:focus-visible {outline:2px solid var(--rs-scarlet);outline-offset:2px;}
.timeline-info-panel {position:absolute;z-index:2;top:100%;left:min(0px,calc(var(--room) * 1cqw - min(26rem,100cqw)));width:min(26rem,100cqw);margin-top:6px;padding:4px 12px;box-sizing:border-box;background:white;border:1px solid var(--rs-blueprint);text-align:left;font:.6875rem/1.5 var(--mono);overflow-wrap:anywhere;}
.is-right .timeline-info-panel {left:auto;right:min(0px,calc(var(--room) * 1cqw - min(26rem,100cqw)));}
.timeline-info-panel p {margin:8px 0;}
.history-evidence {margin-top:24px;font-size:.75rem;overflow-wrap:anywhere;}
.history-evidence summary {cursor:pointer;}
.history-evidence ul {padding-left:1.25em;}
.history-evidence li {margin:16px 0;}
.history-evidence p {margin:8px 0;}

/* Frozen Scoreboard places use the same cup and numeral as their rank tables. */
.scoreboard-plate { margin-top: 8px; }
.scoreboard-edition { display: block; font-size: 10px; color: var(--rs-muted); }
.scoreboard-trophies { display: flex; flex-wrap: wrap; gap: 0 12px; }
.scoreboard-trophies a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-size: 10px; }
.score-trophy { display: inline-flex; align-items: center; gap: 4px; color: var(--rs-blueprint); font-variant-numeric: tabular-nums; }
.score-trophy svg { display: inline-block; flex: none; width: 16px; height: 16px; }
