:root {
  color-scheme: light;
  --paper: #dfeaf0;
  --paper-deep: #cfE1e8;
  --surface: #f8fbfc;
  --header: #c9e0e8;
  --bone: #f5f1e5;
  --ink: #17313e;
  --muted: #536f7b;
  --rule: #b1c9d2;
  --rule-strong: #87a9b6;
  --marine: #155674;
  --ocean: #287c99;
  --sky: #c4dfe8;
  --kelp: #56735e;
  --rust: #a95735;
  --white: #fff;
  --content: 1320px;
  --reading: 760px;
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { margin: 0; min-width: 320px; background: var(--paper); line-height: 1.55; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--marine); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: #0d4058; }
button, input, select { font: inherit; }
button, select { color: var(--ink); }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid #277a98; outline-offset: 3px; }
::selection { color: #082b3a; background: #a8d9e5; }

.skip-link { position: fixed; z-index: 20; left: 1rem; top: .5rem; padding: .55rem .8rem; color: var(--white); background: var(--marine); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.masthead { position: sticky; z-index: 10; top: 0; background: rgba(237, 245, 246, .97); border-bottom: 1px solid var(--rule); }
.masthead__inner { max-width: var(--content); min-height: 72px; margin: auto; padding: .65rem 1.5rem; display: grid; grid-template-columns: minmax(210px, 1fr) auto minmax(280px, 390px); align-items: center; gap: 2rem; }
.brand { min-width: 0; display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); text-decoration: none; }
.brand:hover { color: var(--ink); }
.brand__mark { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; color: #f2f8f8; background: var(--marine); border: 1px solid #0d4058; border-radius: 50% 50% 42% 42%; font: 800 .78rem/1 "Segoe UI", sans-serif; letter-spacing: -.04em; }
.brand__name { display: block; font-size: .98rem; font-weight: 760; line-height: 1.15; }
.brand__name small { display: block; margin-top: .22rem; color: var(--muted); font-size: .58rem; letter-spacing: .14em; font-weight: 700; }
.global-nav { display: flex; align-items: center; gap: 1.35rem; white-space: nowrap; }
.global-nav a { color: #294956; text-decoration: none; font-size: .77rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.global-nav a:hover { color: var(--ocean); }
.site-search { position: relative; display: flex; min-width: 0; }
.site-search input, .hero-search input { width: 100%; min-width: 0; min-height: 44px; padding: .65rem .85rem; color: var(--ink); background: var(--white); border: 1px solid var(--rule-strong); border-radius: 4px 0 0 4px; }
.site-search input::placeholder, .hero-search input::placeholder { color: #718a94; }
.site-search button, .hero-search button { min-width: 74px; padding: 0 .8rem; color: white; background: var(--marine); border: 1px solid var(--marine); border-radius: 0 4px 4px 0; font-weight: 700; cursor: pointer; }
.site-search button:hover, .hero-search button:hover { background: #104760; }
.search-results { position: absolute; z-index: 15; top: calc(100% + .35rem); left: 0; right: 0; max-height: min(72vh, 520px); overflow: auto; background: #fbfdfc; border: 1px solid var(--rule-strong); border-radius: 4px; }
.search-results[hidden] { display: none; }
.search-results__heading { padding: .65rem .8rem .4rem; color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.search-result { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: .65rem; padding: .55rem .75rem; color: var(--ink); text-decoration: none; border-top: 1px solid #dbe7ea; }
.search-result:hover, .search-result:focus-visible { color: var(--ink); background: var(--paper-deep); }
.search-result img { width: 42px; height: 42px; object-fit: contain; background: #dcebee; }
.search-result__copy { min-width: 0; }
.search-result strong, .search-result small, .search-result span { display: block; overflow-wrap: anywhere; }
.search-result strong { font-size: .88rem; line-height: 1.35; }
.search-result small { color: var(--ocean); font-size: .68rem; }
.search-result span { color: var(--muted); font-size: .75rem; line-height: 1.35; }
.search-empty { padding: .8rem; color: var(--muted); font-size: .85rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.breadcrumbs { max-width: var(--content); margin: 0 auto; padding: 1rem 1.5rem .25rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: .78rem; }
.breadcrumbs li + li::before { content: "/"; margin-right: .55rem; color: #77939c; }
.breadcrumbs a { color: var(--muted); }
.breadcrumbs [aria-current="page"] { color: var(--ink); font-weight: 650; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); line-height: 1.18; }
h1 { margin-bottom: .65rem; font-size: clamp(2.15rem, 4.3vw, 3.65rem); letter-spacing: -.045em; font-weight: 780; }
h2 { margin-bottom: .8rem; font-size: clamp(1.35rem, 2.3vw, 1.85rem); letter-spacing: -.025em; }
h3 { margin-bottom: .4rem; font-size: 1.06rem; }
p { max-width: 72ch; }
.eyebrow { margin-bottom: .55rem; color: var(--ocean); font-size: .68rem; line-height: 1.4; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.text-link { display: inline-block; color: var(--marine); font-size: .84rem; font-weight: 750; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .55rem .9rem; text-decoration: none; border: 1px solid var(--rule-strong); border-radius: 4px; font-size: .85rem; font-weight: 750; }
.button--primary { color: white; background: var(--marine); border-color: var(--marine); }
.button--primary:hover { color: white; background: #104760; }
.button--quiet { color: var(--marine); background: transparent; }

.home-page { max-width: 1200px; margin: 0 auto; padding: 1.2rem 1.5rem 4rem; }
.home-hero { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(2rem, 5vw, 4.5rem); padding: 2.5rem 0 2.7rem; border-bottom: 1px solid var(--rule-strong); }
.home-hero h1 { font-size: clamp(3rem, 6.4vw, 5.4rem); line-height: .99; }
.home-hero h1 span { color: var(--marine); }
.home-hero__lead { max-width: 39ch; margin: 1.15rem 0 1.4rem; color: #385a68; font-size: clamp(1.05rem, 1.4vw, 1.24rem); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.coverage-line { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1.2rem 0 0; color: var(--muted); font-size: .75rem; }
.coverage-line strong { color: var(--ink); }
.home-hero__image { margin: 0; padding: .4rem; background: #d4e7eb; border: 1px solid var(--rule-strong); }
.home-hero__image img { width: 100%; max-height: 360px; object-fit: cover; object-position: center; }
.home-hero__image figcaption, figure figcaption { padding: .45rem .3rem .12rem; color: var(--muted); font-size: .73rem; }
.home-search { display: grid; grid-template-columns: minmax(185px, .55fr) minmax(0, 1fr); align-items: center; gap: .2rem 2.4rem; padding: 1.5rem 0; border-bottom: 1px solid var(--rule); }
.home-search .eyebrow { grid-column: 1; margin-bottom: 0; }
.home-search h2 { grid-column: 1; grid-row: 2; margin: .18rem 0 .25rem; font-size: 1.25rem; }
.home-search > p:not(.eyebrow) { grid-column: 1; grid-row: 3; margin: 0; color: var(--muted); font-size: .82rem; }
.hero-search { position: relative; grid-column: 2; grid-row: 1 / span 3; display: flex; max-width: 620px; }
.hero-search input { min-height: 52px; font-size: 1rem; }
.hero-search button { min-width: 100px; }
.home-section { padding: 2.2rem 0; border-bottom: 1px solid var(--rule); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading .eyebrow { margin-bottom: .35rem; }
.period-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.period-row { border-bottom: 1px solid var(--rule); }
.period-row a { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(100px, .4fr) 1fr 24px; align-items: center; gap: 1rem; min-height: 68px; padding: .65rem .25rem; color: var(--ink); text-decoration: none; }
.period-row a:hover { background: rgba(205, 228, 235, .48); }
.period-row__name { font-weight: 760; font-size: 1.05rem; }
.period-row__count { color: var(--marine); font-variant-numeric: tabular-nums; font-size: .83rem; }
.period-row__state { color: var(--muted); font-size: .82rem; }
.period-row__arrow { color: var(--ocean); font-size: 1.1rem; }
.coverage-notes { margin-top: 1.4rem; padding-left: .9rem; border-left: 3px solid #7a9b81; }
.coverage-notes h3 { margin-bottom: .55rem; font-size: .88rem; }
.coverage-notes ul { display: flex; flex-wrap: wrap; gap: .4rem 1.3rem; margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: .78rem; }
.coverage-notes li { display: flex; flex-wrap: wrap; gap: .35rem; }
.coverage-notes li span:first-child { color: var(--ink); font-weight: 700; }
.collection-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.collection-grid--featured { grid-template-columns: repeat(4,minmax(0,1fr)); }
.collection-card { min-width: 0; border: 1px solid var(--rule); background: rgba(255,255,255,.38); }
.collection-card > a { display: block; height: 100%; color: inherit; text-decoration: none; }
.collection-card > a:hover h3 { color: var(--ocean); text-decoration: underline; text-underline-offset: .15em; }
.creature-art { display: grid; place-items: center; margin: 0; aspect-ratio: 1.12; background: #d9e9ec; border-bottom: 1px solid var(--rule); overflow: hidden; }
.creature-art img { width: 100%; height: 100%; object-fit: contain; }
.creature-art figcaption { display: none; }
.image-missing { padding: .8rem; color: var(--muted); text-align: center; font-size: .75rem; }
.collection-card__copy { padding: .75rem .85rem .85rem; }
.collection-card h3 { margin-bottom: .45rem; overflow-wrap: anywhere; font-size: 1rem; }
.collection-card__meta, .collection-card__facts { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.4; }
.collection-card__meta { color: var(--marine); font-weight: 750; }
.collection-card__facts { margin-top: .24rem; }
.evidence-mark { color: var(--rust); font-size: 1rem; }
.guide-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 1.7rem; margin: 0; padding: 0; list-style: none; }
.guide-link-grid li { border-top: 1px solid var(--rule); }
.guide-link-grid a { display: block; min-height: 96px; padding: .9rem .1rem; color: inherit; text-decoration: none; }
.guide-link-grid a:hover span { color: var(--ocean); text-decoration: underline; }
.guide-link-grid span { display: block; color: var(--marine); font-weight: 760; }
.guide-link-grid small { display: block; margin-top: .25rem; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.home-note { display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 1.3rem; align-items: center; padding: 1.6rem 0 0; }
.home-note .note-index { align-self: start; color: var(--ocean); font: 750 .74rem/1.5 Consolas, monospace; letter-spacing: .05em; }
.home-note h2 { margin-bottom: .35rem; font-size: 1.12rem; }
.home-note p { margin: 0; color: var(--muted); font-size: .86rem; }

.article-frame { max-width: 1440px; margin: 0 auto; padding: .8rem 1.5rem 4.5rem; }
.article-grid { display: grid; grid-template-columns: 174px minmax(0,1fr) 232px; gap: clamp(1.25rem,2.2vw,2.2rem); align-items: start; }
.toc { position: sticky; top: 92px; max-height: calc(100vh - 112px); overflow: auto; padding: .9rem .8rem; border-top: 2px solid var(--marine); border-bottom: 1px solid var(--rule); background: rgba(255,255,255,.27); }
.toc details > summary { color: var(--ink); font-size: .83rem; font-weight: 780; cursor: pointer; }
.toc ol { display: grid; gap: .4rem; margin: .7rem 0 0; padding-left: 1.2rem; color: var(--muted); font-size: .77rem; }
.toc a { color: #3c5c69; text-decoration: none; }
.toc a:hover { color: var(--marine); text-decoration: underline; }
.article-body { min-width: 0; padding: .45rem 0 0; }
.article-heading { padding: 0 0 1.25rem; border-bottom: 1px solid var(--rule-strong); }
.article-heading h1 { margin-bottom: .55rem; font-size: clamp(2.3rem,4vw,3.7rem); }
.article-lead { max-width: 70ch; margin: 0; color: #476672; font-size: 1.04rem; }
.article-body section { padding: 1.6rem 0 1.8rem; border-bottom: 1px solid var(--rule); scroll-margin-top: 6rem; }
.article-body section h2 { display: flex; align-items: baseline; gap: .65rem; padding-bottom: .55rem; border-bottom: 1px solid var(--rule); color: var(--marine); }
.article-body section h2::after { content: ""; display: block; width: 26px; height: 2px; background: #75a7b6; order: -1; }
.article-body section p { max-width: 72ch; }
.article-aside { min-width: 0; padding-top: 4.9rem; }
.infobox { border-top: 3px solid var(--marine); border-bottom: 1px solid var(--rule-strong); background: rgba(220, 235, 239, .58); }
.infobox h2 { margin: 0; padding: .75rem .8rem; color: #fff; background: var(--marine); font-size: .83rem; letter-spacing: .08em; text-transform: uppercase; }
.infobox-image { margin: 0; background: #d7e8eb; }
.infobox-image img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.infobox-image figcaption { display: none; }
.infobox dl { margin: 0; padding: .25rem .8rem .6rem; }
.fact-row { display: grid; grid-template-columns: minmax(78px,.75fr) minmax(0,1fr); gap: .4rem; padding: .48rem 0; border-bottom: 1px solid rgba(142,175,185,.45); font-size: .76rem; line-height: 1.4; }
.fact-row:last-child { border-bottom: 0; }
.fact-row dt { color: var(--muted); }
.fact-row dd { margin: 0; color: var(--ink); font-weight: 680; overflow-wrap: anywhere; }
.infobox-note { margin: 0; padding: .7rem .8rem 0; color: #594e37; font-size: .75rem; }
.side-note { padding: .8rem 0 .85rem .85rem; border-left: 2px solid #789681; color: var(--muted); font-size: .78rem; }
.side-note p { margin-bottom: .55rem; }
.side-note p:last-child { margin-bottom: 0; }
.side-note .eyebrow { color: var(--kelp); }
.overview-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1.4rem; margin: 0 0 1rem; }
.overview-facts .fact-row { grid-template-columns: minmax(92px,.75fr) minmax(0,1fr); }
.period-figure { margin: 1.2rem 0; padding: .4rem; max-width: 700px; background: #dbe9ec; border: 1px solid var(--rule); }
.period-figure img { max-height: 420px; margin: auto; object-fit: contain; }
.inline-evidence, .evidence-figure { margin: 1rem 0; }
.inline-evidence img, .evidence-figure img { max-height: 430px; object-fit: contain; object-position: left center; background: #dbe8eb; border: 1px solid var(--rule); }
.evidence-figure figcaption, .inline-evidence figcaption { max-width: 70ch; }
.note-block, .evidence-note { padding: .75rem .9rem; border-left: 3px solid #789681; color: #34515d; background: rgba(221,235,229,.55); }
.note-block p:last-child, .evidence-note p:last-child { margin-bottom: 0; }
.status-label { display: inline-block; padding: .15rem .4rem; color: #254855; background: var(--sky); font-size: .73rem; font-weight: 750; }
.status-partial { color: #674526; background: #eee0bf; }
.status-current { color: #315a40; background: #dbe9d8; }
.fact-list { padding-left: 1.2rem; }
.fact-list li { margin: .55rem 0; }
.link-list { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; padding: 0; list-style: none; }
.link-list li { margin: 0; }

.table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--rule); background: rgba(255,255,255,.38); scrollbar-color: #8aaeb8 #e4eff1; }
.table-scroll:focus-visible { outline-offset: 2px; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: .82rem; }
caption { padding: .65rem .75rem; color: var(--muted); text-align: left; font-size: .74rem; }
th, td { min-width: 100px; padding: .63rem .72rem; vertical-align: top; border-top: 1px solid var(--rule); }
th { position: sticky; top: 0; color: #f4fafb; background: var(--marine); font-size: .71rem; letter-spacing: .055em; }
tbody tr:nth-child(even) { background: rgba(214,231,235,.55); }
td { font-variant-numeric: tabular-nums; }
.shovel-table td:first-child, .boat-table td:first-child { min-width: 150px; font-variant-numeric: normal; font-weight: 760; }
.table-thumb { width: 86px; height: 86px; margin: 0 0 .45rem; object-fit: contain; background: #dae8eb; border: 1px solid var(--rule); }
.table-sub { display: block; color: var(--muted); font-size: .7rem; font-weight: 500; }
.collection-toolbar { display: flex; align-items: center; gap: .6rem; margin: 1rem 0; color: var(--muted); font-size: .82rem; }
.collection-toolbar select { min-height: 40px; padding: .4rem .65rem; border: 1px solid var(--rule-strong); border-radius: 3px; background: var(--white); }
.directory-list, .directory-periods { margin: .6rem 0 0; padding: 0; list-style: none; }
.directory-list li { display: grid; grid-template-columns: minmax(180px,.9fr) minmax(0,1fr); gap: 1rem; align-items: center; padding: .5rem .35rem; border-bottom: 1px solid var(--rule); font-size: .84rem; }
.directory-list li span { color: var(--muted); font-size: .76rem; }
.directory-pending { display: grid; grid-template-columns: minmax(180px,.9fr) minmax(0,1fr); gap: 1rem; padding: .5rem .35rem; color: var(--muted); border-bottom: 1px solid var(--rule); font-size: .8rem; }
.directory-periods li { border-bottom: 1px solid var(--rule); }
.directory-periods li a { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem .3rem; text-decoration: none; }
.directory-periods li span { color: var(--muted); font-size: .78rem; }
.directory-periods strong { color: var(--ink); }
.directory-page { max-width: 1080px; min-height: 55vh; margin: 0 auto; padding: 1.8rem 1.5rem 4.5rem; }
.page-title { padding: 0 0 1.2rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--rule-strong); }
.page-title p:last-child { margin-bottom: 0; color: var(--muted); }
.page-title h1 { font-size: clamp(2.5rem,5vw,4rem); }
.guide-index { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.guide-index li { border-bottom: 1px solid var(--rule); }
.guide-index a { display: grid; grid-template-columns: minmax(190px,.55fr) minmax(130px,.35fr) minmax(0,1fr) 22px; gap: 1rem; align-items: center; min-height: 68px; padding: .7rem .3rem; color: var(--ink); text-decoration: none; }
.guide-index a:hover { background: rgba(205,228,235,.42); }
.guide-index__title { color: var(--marine); font-weight: 750; }
.guide-index__type { color: var(--kelp); font-size: .75rem; font-weight: 700; }
.guide-index__description { color: var(--muted); font-size: .78rem; }
.faq-list { border-top: 1px solid var(--rule); }
.faq-item { border-bottom: 1px solid var(--rule); }
.faq-item summary { padding: .9rem .25rem; color: var(--marine); font-size: 1rem; font-weight: 740; cursor: pointer; }
.faq-answer { padding: 0 .3rem 1rem; }
.faq-answer p { margin-bottom: .55rem; }
.prose { max-width: 72ch; }
.prose p { margin: 0 0 1rem; }
.code-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.5rem; padding: .85rem; border: 1px solid var(--rule); background: var(--bone); }
.code-row code { color: var(--marine); font: 750 1rem/1.4 Consolas, monospace; }
.code-row span { color: var(--muted); font-size: .78rem; }

.site-footer { display: flex; max-width: var(--content); justify-content: space-between; gap: 2rem; margin: 0 auto; padding: 1.7rem 1.5rem 2rem; border-top: 1px solid var(--rule-strong); }
.site-footer__main { max-width: 520px; }
.brand--footer .brand__mark { width: 34px; height: 34px; }
.brand--footer .brand__name { font-size: .88rem; }
.site-footer__main p { margin: .75rem 0 0; color: var(--muted); font-size: .77rem; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: end; align-content: start; gap: .6rem 1.1rem; }
.footer-links a { color: #45626d; font-size: .77rem; }

@media (max-width: 1120px) {
  .masthead__inner { grid-template-columns: minmax(190px,1fr) auto minmax(240px,330px); gap: 1.2rem; }
  .article-grid { grid-template-columns: 154px minmax(0,1fr); }
  .article-aside { grid-column: 2; padding-top: 0; }
  .article-aside:has(.infobox) { max-width: 360px; }
  .collection-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .masthead { position: relative; }
  .masthead__inner { grid-template-columns: minmax(0,1fr) auto; gap: .6rem .8rem; padding: .6rem 1rem .75rem; }
  .brand__mark { width: 36px; height: 36px; }
  .global-nav { justify-self: end; gap: .8rem; }
  .global-nav a { font-size: .69rem; }
  .site-search { grid-column: 1 / -1; grid-row: 2; }
  .site-search input { min-height: 44px; }
  .breadcrumbs { padding: .75rem 1rem .2rem; }
  .home-page { padding: .35rem 1rem 3rem; }
  .home-hero { grid-template-columns: 1fr; gap: 1.1rem; padding: 1.7rem 0 1.5rem; }
  .home-hero h1 { font-size: clamp(2.7rem,13vw,4.2rem); }
  .home-hero__lead { margin: .7rem 0 1rem; }
  .home-hero__image img { max-height: 280px; }
  .home-search { grid-template-columns: 1fr; gap: .25rem; padding: 1.15rem 0; }
  .home-search .eyebrow, .home-search h2, .home-search > p:not(.eyebrow), .hero-search { grid-column: 1; grid-row: auto; }
  .home-search h2 { margin: .1rem 0; }
  .hero-search { margin-top: .45rem; }
  .home-section { padding: 1.6rem 0; }
  .period-row a { grid-template-columns: minmax(0,1fr) auto 20px; gap: .2rem .6rem; min-height: 64px; }
  .period-row__name { grid-column: 1; }
  .period-row__count { grid-column: 2; grid-row: 1; }
  .period-row__state { grid-column: 1 / 3; grid-row: 2; font-size: .72rem; }
  .period-row__arrow { grid-column: 3; grid-row: 1 / span 2; }
  .coverage-notes ul { display: grid; gap: .35rem; }
  .collection-grid, .collection-grid--featured { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
  .collection-card__copy { padding: .6rem; }
  .collection-card h3 { font-size: .93rem; }
  .guide-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 .9rem; }
  .guide-link-grid a { min-height: 112px; }
  .home-note { grid-template-columns: 54px minmax(0,1fr); gap: .8rem; }
  .home-note > .text-link { grid-column: 2; }
  .article-frame { padding: .5rem 1rem 3rem; }
  .article-grid { display: flex; flex-direction: column; gap: .75rem; }
  .toc { position: static; width: 100%; max-height: none; padding: .65rem .7rem; order: 0; }
  .toc details:not([open]) nav { display: none; }
  .toc ol { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem 1rem; }
  .article-body { width: 100%; padding: .2rem 0 0; order: 1; }
  .article-heading h1 { font-size: clamp(2.2rem,10vw,3rem); }
  .article-lead { font-size: .98rem; }
  .article-body section { padding: 1.2rem 0 1.35rem; }
  .article-aside { width: 100%; max-width: 100%; order: 2; }
  .article-aside:has(.infobox) { max-width: 100%; }
  .infobox { max-width: 480px; }
  .infobox-image img { max-height: 340px; }
  .overview-facts { grid-template-columns: 1fr; }
  .table-scroll { margin-right: -.25rem; }
  table { font-size: .77rem; }
  th, td { min-width: 108px; padding: .55rem .6rem; }
  .directory-page { padding: 1.2rem 1rem 3rem; }
  .guide-index a { grid-template-columns: minmax(0,1fr) 22px; gap: .2rem .6rem; padding: .75rem .25rem; }
  .guide-index__title { grid-column: 1; }
  .guide-index__type { grid-column: 1; grid-row: 2; }
  .guide-index__description { grid-column: 1; grid-row: 3; }
  .guide-index a > span:last-child { grid-column: 2; grid-row: 1 / span 3; }
  .directory-list li, .directory-pending { grid-template-columns: 1fr; gap: .12rem; }
  .site-footer { flex-direction: column; gap: 1.2rem; padding: 1.35rem 1rem 1.8rem; }
  .footer-links { justify-content: start; }
}
@media (max-width: 390px) {
  .brand__name { font-size: .88rem; }
  .global-nav { gap: .55rem; }
  .global-nav a { font-size: .62rem; letter-spacing: .035em; }
  .collection-grid, .collection-grid--featured { gap: .45rem; }
  .collection-card__meta, .collection-card__facts { font-size: .69rem; }
  .hero-actions .button { padding-inline: .65rem; font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Wiki-density correction pass: clearer surfaces, direct browsing, tighter rhythm. */
.masthead { background: var(--header); }
.masthead__inner { max-width: 1540px; min-height: 64px; grid-template-columns: minmax(195px,.9fr) minmax(300px,1.5fr) auto; gap: 1.15rem; padding-block: .45rem; }
.brand__mark { width: 36px; height: 36px; }
.global-nav { gap: .8rem; }
.global-nav a { padding: .4rem .45rem; border-bottom: 2px solid transparent; font-size: .73rem; }
.global-nav a:hover, .global-nav a[aria-current="page"] { border-bottom-color: var(--ocean); }
.site-search { max-width: 680px; justify-self: center; width: 100%; }
.site-search input { background: #f8fcfd; }
.search-result__image { position: relative; width: 42px; height: 42px; display: block; overflow: hidden; flex: 0 0 auto; background: #d5e6eb; }
.search-result__image img { width: 100%; height: 100%; object-fit: contain; }
.search-result__image--collection img { position: absolute; top: -2.4%; left: -8.8%; width: 210%; max-width: none; height: auto; }
.search-result { grid-template-columns: 42px minmax(0,1fr); }

.home-page { max-width: 1500px; padding: .85rem 1.35rem 2.5rem; background: var(--surface); border-inline: 1px solid #ccdde3; }
.home-intro { display: flex; align-items: end; justify-content: space-between; gap: 1.4rem; padding: .45rem 0 .8rem; border-bottom: 1px solid var(--rule); }
.home-intro .eyebrow { margin-bottom: .25rem; }
.home-intro h1 { margin: 0; font-size: clamp(1.8rem,3vw,2.55rem); letter-spacing: -.035em; }
.home-intro p:not(.eyebrow) { max-width: 62ch; margin: .35rem 0 0; color: #385764; font-size: .9rem; }
.capture-date { padding-bottom: .15rem; color: var(--muted); font-size: .76rem; white-space: nowrap; }
.home-search { display: block; padding: .8rem 0; border-bottom: 1px solid var(--rule); }
.home-search .hero-search { max-width: none; }
.home-search .hero-search input { min-height: 48px; background: #fff; }
.home-search .hero-search button { min-width: 96px; }
.home-facts { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem 1.5rem; padding: .55rem .7rem; background: #e8f2f5; border-bottom: 1px solid var(--rule); }
.home-metric { display: flex; align-items: baseline; gap: .35rem; padding: .1rem 0; }
.home-metric strong { color: var(--marine); font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.home-metric span, .home-facts__date { color: var(--muted); font-size: .75rem; }
.home-facts__date { margin-left: auto; }
.home-section { padding: 1rem 0 1.15rem; border-bottom: 0; }
.home-section + .home-section { border-top: 1px solid var(--rule); }
.section-heading { align-items: center; margin-bottom: .55rem; }
.section-heading h2 { margin: 0; font-size: 1.22rem; }
.section-heading .eyebrow { display: none; }
.section-kicker { color: var(--muted); font-size: .7rem; }
.home-latest { padding-top: .75rem; }
.coverage-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.coverage-strip li { min-width: 0; border: 1px solid var(--rule); background: #edf5f7; }
.coverage-strip a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .05rem .55rem; min-height: 56px; padding: .45rem .6rem; color: var(--ink); text-decoration: none; }
.coverage-strip a:hover { background: #dbeaf0; }
.coverage-strip strong { color: var(--marine); font-size: .85rem; }
.coverage-strip span { color: #315c6d; font-size: .72rem; text-align: right; }
.coverage-strip small { grid-column: 1 / -1; color: var(--muted); font-size: .68rem; }
.pending-periods { display: flex; align-items: baseline; flex-wrap: wrap; gap: .3rem .65rem; margin-top: .4rem; color: var(--muted); font-size: .69rem; }
.pending-periods > strong { color: #516773; font-size: .68rem; }
.pending-periods ul { display: flex; flex-wrap: wrap; gap: .2rem .7rem; margin: 0; padding: 0; list-style: none; }
.pending-periods li { display: flex; gap: .25rem; }
.pending-periods li span { color: var(--ink); }
.pending-periods li small { font-size: inherit; }
.wiki-nav-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .55rem; }
.wiki-nav-group { min-width: 0; padding: .45rem .65rem .5rem; background: #e9f2f5; border: 1px solid var(--rule); }
.wiki-nav-group h3 { margin: 0 0 .28rem; padding-bottom: .2rem; color: var(--marine); border-bottom: 1px solid #bfd2da; font-size: .79rem; }
.wiki-nav-group ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: .55rem; row-gap: .13rem; margin: 0; padding: 0; list-style: none; }
.wiki-nav-group li { min-width: 0; }
.wiki-nav-group a { color: #244c5d; font-size: .73rem; line-height: 1.4; text-decoration: none; }
.wiki-nav-group a:hover { color: var(--ocean); text-decoration: underline; }
.period-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.period-card { min-width: 0; background: #eef6f8; border: 1px solid var(--rule); }
.period-card > a { display: grid; grid-template-columns: 118px minmax(0,1fr); gap: .75rem; min-height: 112px; color: inherit; text-decoration: none; }
.period-card > a:hover { background: #e1eef2; }
.period-card__image, .period-card__models, .period-card__empty { width: 118px; height: 100%; min-height: 112px; margin: 0; background: #d3e6eb; border-right: 1px solid var(--rule); }
.period-card__image img { width: 100%; height: 100%; max-height: 112px; object-fit: cover; }
.period-card__image figcaption { display: none; }
.period-card__models { display: grid; grid-template-columns: 1fr 1fr; align-items: center; overflow: hidden; }
.period-card__models img { width: 100%; height: 100%; max-height: 112px; object-fit: contain; }
.period-card__empty { display: grid; place-items: center; padding: .3rem; color: var(--muted); font-size: .67rem; text-align: center; }
.period-card__body { min-width: 0; align-self: center; padding: .4rem .45rem .4rem 0; }
.period-card__title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem .55rem; }
.period-card__title h3 { margin: 0; font-size: .92rem; }
.period-card__title span { color: var(--kelp); font-size: .68rem; font-weight: 700; }
.period-card__body p { margin: .23rem 0 0; color: var(--muted); font-size: .71rem; }
.collection-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; }
.collection-grid--featured { grid-template-columns: repeat(6,minmax(0,1fr)); }
.collection-grid--related { grid-template-columns: repeat(4,minmax(0,1fr)); }
.collection-card { background: #f2f8f9; }
.creature-art { aspect-ratio: 1; background: #d4e6eb; }
.creature-art img { object-fit: contain; }
.creature-art--reference { position: relative; display: block; aspect-ratio: 2.38; }
.creature-art--reference img, .creature-render--reference img { position: absolute; top: -2.4%; left: -8.8%; width: 210%; max-width: none; height: auto; object-fit: initial; }
.creature-art--reference figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: .12rem .25rem; background: rgba(248,251,252,.93); font-size: .55rem; }
.collection-card__copy { padding: .45rem .55rem .5rem; }
.collection-card h3 { margin-bottom: .18rem; font-size: .86rem; line-height: 1.2; }
.collection-card__meta, .collection-card__facts { font-size: .67rem; line-height: 1.28; }
.collection-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .1rem .3rem; }
.collection-card__period { color: var(--muted); font-weight: 600; }
.rarity-common { color: #4f6b55; }
.rarity-uncommon { color: #35745e; }
.rarity-rare { color: #46679c; }
.rarity-epic { color: #79509b; }
.rarity-legendary { color: #95651e; }
.rarity-mythic { color: #a94c57; }
.guide-link-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem .55rem; }
.guide-link-grid li { border: 1px solid var(--rule); background: #eef5f7; }
.guide-link-grid a { min-height: 0; padding: .45rem .6rem; }
.guide-link-grid span { font-size: .8rem; }
.guide-link-grid small { margin-top: .08rem; font-size: .68rem; line-height: 1.3; }

.article-frame { max-width: 1540px; padding: .55rem 1.35rem 2.6rem; background: var(--surface); border-inline: 1px solid #ccdde3; }
.article-grid { grid-template-columns: 172px minmax(0,1fr) 280px; gap: 1.1rem; }
.toc { top: 78px; max-height: calc(100vh - 92px); padding: .65rem .6rem; background: #edf5f7; }
.article-body { padding-top: .2rem; }
.article-heading { padding-bottom: .7rem; }
.article-heading h1 { font-size: clamp(2.1rem,3.2vw,3rem); }
.article-lead { font-size: .94rem; }
.article-body section { padding: 1rem 0 1.15rem; }
.article-body section h2 { margin-bottom: .5rem; padding-bottom: .35rem; font-size: 1.32rem; }
.article-body section h2::after { width: 18px; }
.article-aside { padding-top: 4rem; }
.infobox { background: #e7f1f4; }
.infobox h2 { padding: .55rem .65rem; background: #39758f; text-transform: none; letter-spacing: 0; font-size: .9rem; }
.infobox dl { padding: .15rem .65rem .4rem; }
.fact-row { padding: .36rem 0; font-size: .74rem; }
.table-scroll { background: #f7fbfc; }
th { background: #39758f; }
th, td { padding: .48rem .62rem; }
.directory-page { max-width: 1540px; padding: 1rem 1.35rem 2.7rem; background: var(--surface); border-inline: 1px solid #ccdde3; }
.page-title { padding-bottom: .7rem; margin-bottom: .8rem; }
.page-title h1 { font-size: clamp(2.1rem,3.2vw,3rem); }
.page-title p:last-child { font-size: .88rem; }
.directory-list li, .directory-pending { padding: .32rem .35rem; font-size: .79rem; }
.directory-list li span, .directory-periods li span { font-size: .71rem; }
.directory-periods li a { padding: .38rem .3rem; }
.directory-controls { display: grid; grid-template-columns: auto minmax(210px,1fr) auto minmax(150px,.5fr) auto; align-items: center; gap: .45rem .65rem; margin: .65rem 0 1rem; padding: .55rem .65rem; background: #e9f2f5; border: 1px solid var(--rule); }
.directory-controls label { color: #375b69; font-size: .74rem; font-weight: 700; }
.directory-controls input, .directory-controls select { min-width: 0; min-height: 38px; padding: .4rem .55rem; color: var(--ink); background: #fbfdfe; border: 1px solid var(--rule-strong); border-radius: 3px; }
.directory-count { color: var(--muted); font-size: .7rem; }
.guide-index { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; border: 0; }
.guide-index li { min-width: 0; border: 1px solid var(--rule); background: #edf5f7; }
.guide-index a { grid-template-columns: 68px minmax(0,1fr) 18px; min-height: 94px; gap: .55rem; padding: .45rem; }
.guide-index a:hover { background: #e0edf1; }
.guide-card__image { width: 68px; height: 68px; overflow: hidden; background: #d4e6eb; border: 1px solid var(--rule); }
.guide-card__image img { width: 100%; height: 100%; object-fit: cover; }
.guide-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--marine); font-size: .75rem; font-weight: 800; }
.guide-card__copy { display: grid; align-content: center; gap: .18rem; min-width: 0; }
.guide-card__copy strong { color: var(--marine); font-size: .82rem; line-height: 1.25; }
.guide-card__copy small { color: var(--muted); font-size: .66rem; line-height: 1.28; }
.guide-card__arrow { color: var(--ocean); font-size: .85rem; }

.creature-page { max-width: 1540px; margin: 0 auto; padding: .45rem 1.35rem 2.5rem; background: var(--surface); border-inline: 1px solid #ccdde3; }
.creature-page .article-heading { padding: .15rem 0 .55rem; border-bottom: 0; }
.creature-page .article-heading h1 { margin-bottom: .25rem; font-size: clamp(2.25rem,3.3vw,3.3rem); }
.entity-tags { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.entity-tag { display: inline-block; padding: .12rem .42rem; color: #294f60; background: #dcebf0; border: 1px solid #bed3dc; font-size: .7rem; line-height: 1.35; text-decoration: none; }
.entity-tag:hover { background: #cfe3e9; }
.entity-tags .rarity-text { font-weight: 750; }
.article-meta { margin: .28rem 0 0; color: var(--muted); font-size: .69rem; }
.creature-feature { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(320px,.9fr); align-items: stretch; gap: .8rem; margin: .5rem 0 .8rem; }
.creature-render { position: relative; display: grid; place-items: center; width: 100%; min-width: 0; aspect-ratio: 1.1; margin: 0; overflow: hidden; background: #d5e7ec; border: 1px solid var(--rule-strong); }
.creature-render img { width: 100%; height: 100%; object-fit: contain; }
.creature-render figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: .35rem .5rem; color: #385866; background: rgba(248,251,252,.94); border-top: 1px solid var(--rule); font-size: .69rem; }
.creature-render--reference { aspect-ratio: 2.38; align-self: start; }
.creature-render--reference img { position: absolute; top: -2.4%; left: -8.8%; width: 210%; max-width: none; height: auto; object-fit: initial; }
.creature-reading { display: grid; grid-template-columns: 172px minmax(0,1fr); gap: 1.1rem; align-items: start; }
.creature-contents { position: sticky; top: 78px; padding: .55rem .65rem; background: #edf5f7; border-top: 2px solid var(--marine); border-bottom: 1px solid var(--rule); }
.creature-contents summary { color: var(--ink); font-size: .78rem; font-weight: 750; cursor: pointer; }
.creature-contents ol { margin: .35rem 0 0; padding-left: 1.05rem; font-size: .72rem; }
.creature-contents a { color: #385d6b; text-decoration: none; }
.creature-sections { min-width: 0; }
.creature-sections section { padding: .75rem 0 .9rem; border-bottom: 1px solid var(--rule); scroll-margin-top: 5rem; }
.creature-sections section h2 { margin-bottom: .35rem; color: var(--marine); font-size: 1.1rem; }
.creature-sections section h2::after { display: none; }
.creature-sections p { margin-bottom: .45rem; font-size: .86rem; }

@media (min-width: 1600px) {
  .collection-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .collection-grid--featured { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
@media (max-width: 1120px) {
  .masthead__inner { grid-template-columns: minmax(175px,.8fr) minmax(240px,1.3fr) auto; gap: .7rem; }
  .global-nav { gap: .35rem; }
  .global-nav a { padding-inline: .3rem; font-size: .68rem; }
  .article-grid { grid-template-columns: 150px minmax(0,1fr) 250px; gap: .75rem; }
  .article-aside { grid-column: auto; padding-top: 4rem; }
  .collection-grid, .collection-grid--related { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .collection-grid--featured { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .creature-feature { grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); }
  .creature-reading { grid-template-columns: 150px minmax(0,1fr); gap: .75rem; }
}
@media (max-width: 760px) {
  .masthead__inner { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "brand nav" "search search"; gap: .35rem .6rem; padding: .5rem .8rem .6rem; }
  .brand { grid-area: brand; }
  .site-search { grid-area: search; max-width: none; }
  .global-nav { grid-area: nav; gap: .2rem; }
  .global-nav a { padding: .25rem .28rem; font-size: .63rem; letter-spacing: .02em; }
  .global-nav a[href="/"] { display: none; }
  .home-page, .article-frame, .directory-page, .creature-page { padding-inline: .8rem; border-inline: 0; }
  .home-page { padding-top: .45rem; }
  .home-intro { align-items: start; gap: .3rem; padding: .2rem 0 .6rem; }
  .home-intro h1 { font-size: 1.8rem; }
  .home-intro p:not(.eyebrow) { font-size: .8rem; }
  .capture-date { font-size: .62rem; }
  .home-search { padding: .55rem 0; }
  .home-facts { gap: .05rem .8rem; padding: .35rem .5rem; }
  .home-metric { gap: .2rem; }
  .home-metric strong { font-size: .88rem; }
  .home-metric span, .home-facts__date { font-size: .64rem; }
  .home-facts__date { margin-left: 0; }
  .home-section { padding: .7rem 0 .8rem; }
  .section-heading { margin-bottom: .4rem; }
  .section-heading h2 { font-size: 1.05rem; }
  .coverage-strip { gap: .3rem; }
  .coverage-strip a { min-height: 56px; padding: .35rem .4rem; }
  .coverage-strip strong { font-size: .77rem; }
  .coverage-strip span, .coverage-strip small { font-size: .61rem; }
  .pending-periods { gap: .2rem .4rem; font-size: .62rem; }
  .wiki-nav-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; }
  .wiki-nav-group { padding: .35rem .45rem; }
  .wiki-nav-group h3 { font-size: .72rem; }
  .wiki-nav-group ul { grid-template-columns: 1fr; }
  .wiki-nav-group a { font-size: .69rem; }
  .period-card-grid { grid-template-columns: 1fr; gap: .35rem; }
  .period-card > a { grid-template-columns: 88px minmax(0,1fr); min-height: 80px; gap: .55rem; }
  .period-card__image, .period-card__models, .period-card__empty { width: 88px; min-height: 80px; }
  .period-card__image img, .period-card__models img { max-height: 80px; }
  .period-card__title h3 { font-size: .82rem; }
  .period-card__title span, .period-card__body p { font-size: .63rem; }
  .collection-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; }
  .collection-grid--featured { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .collection-grid--related { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .creature-art { aspect-ratio: .96; }
  .creature-art--reference { aspect-ratio: 2.38; }
  .collection-card__copy { padding: .32rem .38rem .38rem; }
  .collection-card h3 { font-size: .76rem; }
  .collection-card__meta, .collection-card__facts { font-size: .6rem; }
  .guide-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .3rem; }
  .guide-link-grid a { padding: .4rem; }
  .guide-link-grid span { font-size: .72rem; }
  .guide-link-grid small { font-size: .62rem; }
  .article-frame { padding-top: .4rem; }
  .article-grid { display: flex; flex-direction: column; gap: .55rem; }
  .toc { position: static; order: 0; padding: .45rem .55rem; }
  .toc ol { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: .35rem; font-size: .68rem; }
  .article-body { order: 1; }
  .article-aside { order: 2; padding-top: 0; }
  .directory-page { padding-top: .8rem; }
  .directory-controls { grid-template-columns: 1fr 1fr; gap: .3rem .45rem; padding: .4rem; }
  .directory-controls label { font-size: .67rem; }
  .directory-controls input { grid-column: 1 / -1; }
  .directory-controls select { grid-column: 1 / -1; }
  .directory-count { grid-column: 1 / -1; }
  .guide-index { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; }
  .guide-index a { grid-template-columns: 52px minmax(0,1fr); min-height: 78px; gap: .4rem; padding: .35rem; }
  .guide-card__image { width: 52px; height: 52px; }
  .guide-card__copy strong { font-size: .72rem; }
  .guide-card__copy small { display: none; }
  .guide-card__arrow { display: none; }
  .creature-page { padding-top: .25rem; }
  .creature-page .article-heading h1 { font-size: 2rem; }
  .creature-feature { grid-template-columns: 1fr; gap: .45rem; margin: .4rem 0 .65rem; }
  .creature-render { width: 100%; max-height: none; aspect-ratio: 1.05; }
  .creature-render--reference { aspect-ratio: 2.38; }
  .infobox h2 { padding: .4rem .55rem; }
  .fact-row { grid-template-columns: minmax(84px,.55fr) minmax(0,1fr); padding: .3rem 0; font-size: .7rem; }
  .infobox dl { display: grid; grid-template-columns: 1fr 1fr; column-gap: .7rem; padding: .15rem .55rem .35rem; }
  .creature-reading { display: flex; flex-direction: column; gap: .45rem; }
  .creature-sections { order: 1; width: 100%; }
  .creature-contents { order: 2; position: static; width: 100%; padding: .45rem .55rem; }
  .creature-contents:not([open]) nav { display: none; }
  .creature-contents ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .2rem .6rem; margin: .3rem 0 0; font-size: .68rem; }
  .creature-sections section { padding: .65rem 0 .75rem; }
  .creature-sections section h2 { font-size: 1rem; }
  .creature-sections p { font-size: .8rem; }
}
@media (max-width: 430px) {
  .home-intro { display: block; }
  .capture-date { display: block; margin-top: .22rem; }
  .home-metric { flex-direction: column; align-items: start; gap: 0; }
  .home-facts { justify-content: space-between; }
  .collection-grid, .collection-grid--featured { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .guide-link-grid, .guide-index { grid-template-columns: 1fr 1fr; }
}

/* Dark Tide Wiki: full game-wiki presentation pass. */
:root {
  color-scheme: dark;
  --paper: #091625;
  --paper-deep: #0d2032;
  --surface: #0c1b2a;
  --header: #071321;
  --bone: #13283a;
  --ink: #e8f3f7;
  --muted: #a6bfcc;
  --rule: #254457;
  --rule-strong: #3a7089;
  --marine: #72c6e5;
  --ocean: #8cd4e6;
  --sky: #b9e5f1;
  --kelp: #81c6ae;
  --rust: #f0a17e;
  --white: #f4fbfd;
  --content: 1180px;
  --wiki-background-image: url("/assets/captures/prehistoric-farm-game-media.webp");
}
html { background: var(--paper); }
body { position: relative; z-index: 0; color: var(--ink); background: var(--paper); line-height: 1.55; }
body::before { position: fixed; z-index: -2; inset: 0; content: ""; background-image: var(--wiki-background-image); background-position: center; background-size: cover; background-repeat: no-repeat; filter: brightness(.62) saturate(.8); }
body::after { position: fixed; z-index: -1; inset: 0; content: ""; pointer-events: none; background: rgba(3, 15, 27, .72); }
a { color: #8ed5ec; }
a:hover { color: #c5f1fb; }
::selection { color: #071321; background: #83cee5; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible { outline-color: #9adff2; }
.masthead { width: 100%; background: #06111e; border-bottom: 1px solid #2b526b; }
.masthead__inner { width: min(100%, 1180px); max-width: 1180px; min-height: 66px; grid-template-columns: minmax(200px, 1fr) minmax(260px, 450px) auto; gap: 1.2rem; padding: .55rem 1rem; }
.brand { color: #f0f8fa; }
.brand:hover { color: #fff; }
.brand__mark { color: #effaff; background: #16415b; border-color: #3a7898; border-radius: 3px; }
.brand__name { font-size: 1.02rem; }
.brand__name small { color: #b2c9d4; font-size: .58rem; letter-spacing: .14em; }
.global-nav { justify-content: end; gap: .8rem; }
.global-nav a { color: #c1d5df; font-size: .73rem; letter-spacing: .045em; }
.global-nav a:hover, .global-nav a[aria-current="page"] { color: #a7e5f4; border-bottom-color: #64bddb; }
.site-search input, .hero-search input { color: #eff7fa; background: #0c1b29; border-color: #31546b; border-radius: 3px 0 0 3px; }
.site-search input::placeholder, .hero-search input::placeholder { color: #9bb3c1; }
.site-search button, .hero-search button { color: #082033; background: #7cc8e2; border-color: #7cc8e2; }
.site-search button:hover, .hero-search button:hover { color: #061521; background: #b5e8f2; }
.search-results { color: var(--ink); background: #0d1e2e; border-color: #38627b; border-radius: 3px; }
.search-result { color: var(--ink); border-color: #213e53; }
.search-result:hover, .search-result:focus-visible { color: var(--ink); background: #173249; }
.search-result__image, .search-result img { color: var(--muted); background: #132b3d; }
.search-result strong { color: #eef8fb; }
.search-result small { color: #93d9ec; }
.search-result span { color: #b8cbd5; }
.search-result__copy { display: grid; min-width: 0; gap: .12rem; }
.search-result__copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-result__copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-result__copy > span { display: -webkit-box; overflow: hidden; max-width: 100%; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
.search-empty { color: #c1d1d9; }
.breadcrumbs { width: min(100%, 1180px); padding: .75rem 1rem .25rem; }
.breadcrumbs ol { color: #b1c5d0; font-size: .77rem; }
.breadcrumbs a { color: #a7ccdc; }
.breadcrumbs [aria-current="page"] { color: #e1edf1; }
h1, h2, h3 { color: #f1f8fb; }
h1 { letter-spacing: -.025em; }
.eyebrow { color: #94d7e9; letter-spacing: .11em; }
.button { color: var(--ink); border-color: #44738b; border-radius: 3px; }
.button--primary { color: #061a28; background: #72c6e5; border-color: #72c6e5; }
.button--primary:hover { color: #061a28; background: #b5e8f2; }
.button--quiet { color: #9cdaeb; }
.home-page, .article-frame, .directory-page, .creature-page { width: min(100%, 1180px); max-width: 1180px; margin: 0 auto; padding: 1.05rem 1.35rem 2.75rem; color: var(--ink); background: #0b1b2a; border-inline: 1px solid #203e53; }
.home-page { padding-top: 1.1rem; }
.welcome-panel { display: flex; align-items: end; justify-content: space-between; gap: 1.2rem; padding: .9rem 1rem .85rem; background: #112c40; border: 1px solid #2d5b74; border-left: 4px solid #62bddc; }
.welcome-panel .eyebrow { margin-bottom: .22rem; }
.welcome-panel h1 { max-width: 28ch; margin: 0; font-size: clamp(1.55rem, 2.7vw, 2.2rem); line-height: 1.14; }
.welcome-panel p:not(.eyebrow) { margin: .35rem 0 0; color: #c2d8e1; font-size: .9rem; }
.capture-date { color: #b3c8d2; font-size: .75rem; }
.home-search { padding: .75rem 0; border-color: var(--rule); }
.home-search .hero-search { max-width: 700px; margin: 0 auto; }
.home-search .hero-search input { min-height: 48px; }
.home-search .hero-search input { color: #eff7fa; background: #0c1b29; }
.home-facts { gap: .25rem 1.35rem; padding: .55rem .7rem; color: #c4d8e1; background: #10273a; border: 1px solid #294960; }
.home-metric strong { color: #a8e1ef; font-size: 1rem; }
.home-metric span, .home-facts__date { color: #b2c8d2; font-size: .74rem; }
.home-facts__date { margin-left: auto; }
.home-section { padding: 1rem 0 1.15rem; border-color: #27475c; }
.section-heading { align-items: center; margin-bottom: .6rem; }
.section-heading h2 { margin: 0; color: #e8f5f9; font-size: 1.2rem; }
.section-kicker { color: #a6c3cf; font-size: .72rem; }
.update-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .6rem; }
.update-card { display: grid; grid-template-rows: 118px minmax(56px,auto); min-width: 0; color: var(--ink); background: #13293a; border: 1px solid #2b4c62; text-decoration: none; }
.update-card:hover { color: #fff; border-color: #72c6e5; background: #193448; }
.update-card img { width: 100%; height: 118px; object-fit: cover; background: #0b1927; border-bottom: 1px solid #2a4b60; }
.update-card > span { display: grid; align-content: center; gap: .15rem; padding: .38rem .55rem; }
.update-card strong { color: #e7f4f8; font-size: .87rem; }
.update-card small { color: #adc4cf; font-size: .7rem; line-height: 1.35; }
.coverage-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.coverage-strip li { min-width: 0; background: #12293a; border: 1px solid #2b4b61; }
.coverage-strip a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .2rem .5rem; min-height: 56px; padding: .45rem .55rem; color: var(--ink); text-decoration: none; }
.coverage-strip a:hover { background: #19374c; }
.coverage-strip strong { color: #a9e2f0; font-size: .86rem; }
.coverage-strip span { color: #c0d4dc; font-size: .7rem; text-align: right; }
.coverage-strip small { grid-column: 1/-1; color: #a8c0cb; font-size: .66rem; }
.pending-periods { color: #b2c7d1; font-size: .7rem; }
.pending-periods > strong { color: #d8e6eb; font-size: .7rem; }
.pending-periods li span { color: #e4eff2; }
.wiki-nav-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .55rem; }
.wiki-nav-tile { display: grid; grid-template-rows: 96px auto 1fr; min-width: 0; color: var(--ink); background: #12283a; border: 1px solid #294a61; text-decoration: none; }
.wiki-nav-tile:hover { color: #fff; background: #19364c; border-color: #64b6d3; }
.wiki-nav-tile img { width: 100%; height: 96px; object-fit: cover; background: #0a1724; border-bottom: 1px solid #294a61; }
.wiki-nav-tile span { padding: .38rem .5rem .08rem; color: #e3f0f4; font-size: .82rem; font-weight: 760; }
.wiki-nav-tile small { padding: 0 .5rem .38rem; color: #abc1cd; font-size: .67rem; line-height: 1.3; }
.period-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.period-card { background: #12283a; border-color: #29495e; }
.period-card > a:hover { background: #19374b; }
.period-card__image, .period-card__models, .period-card__empty { background: #10283a; border-color: #294a60; }
.period-card__title h3 { color: #eaf5f8; }
.period-card__title span { color: #a9d9c6; }
.period-card__body p { color: #adc3ce; }
.collection-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: .55rem; }
.collection-grid--featured { grid-template-columns: repeat(6,minmax(0,1fr)); }
.collection-grid--related { grid-template-columns: repeat(5,minmax(0,1fr)); }
.collection-card { min-width: 0; background: #102438; border: 1px solid #294a62; border-top: 2px solid #36586c; }
.collection-card:hover { border-color: #5ba8c5; border-top-color: #7fcfe4; }
.collection-card.rarity-common { border-top-color: #a8bac4; }
.collection-card.rarity-uncommon { border-top-color: #75c99a; }
.collection-card.rarity-rare { border-top-color: #78b7ff; }
.collection-card.rarity-epic { border-top-color: #bf91ed; }
.collection-card.rarity-legendary { border-top-color: #eec66d; }
.creature-art { aspect-ratio: 1; background: #0b1c2b; border-color: #29485c; }
.creature-art img { max-height: 190px; object-fit: contain; }
.creature-art--reference { aspect-ratio: 2.38; }
.creature-art--reference figcaption { color: #e3edf1; background: rgba(10,25,39,.95); font-size: .58rem; }
.collection-card__copy { padding: .42rem .5rem .48rem; }
.collection-card h3 { margin-bottom: .2rem; color: #edf7fa; font-size: .87rem; line-height: 1.24; }
.collection-card__meta, .collection-card__facts { color: #b2c5cf; font-size: .68rem; line-height: 1.34; }
.collection-card__meta { gap: .1rem .3rem; }
.collection-card__period { color: #a9c0cc; }
.rarity-common { color: #c2d0d7; }
.rarity-uncommon { color: #86d4a1; }
.rarity-rare { color: #88beff; }
.rarity-epic { color: #cc9efa; }
.rarity-legendary { color: #ffd475; }
.rarity-mythic { color: #f28b99; }
.evidence-mark { color: #f2ac82; }
.guide-link-grid { gap: .35rem .5rem; }
.guide-link-grid li { background: #12293b; border-color: #2a4c62; }
.guide-link-grid a:hover { background: #19374c; }
.guide-link-grid span { color: #a5dced; font-size: .82rem; }
.guide-link-grid small { color: #b4c8d2; font-size: .7rem; }
.home-note p { color: #b3c8d1; }
.article-frame { padding-top: .6rem; }
.article-grid { grid-template-columns: 162px minmax(0,1fr) 230px; gap: 1rem; }
.toc { top: 78px; padding: .65rem .6rem; color: var(--ink); background: #102438; border: 1px solid #294960; border-top: 2px solid #64b9d8; }
.toc details > summary { color: #e5f1f5; }
.toc ol { color: #b3c6d0; font-size: .74rem; }
.toc a { color: #a9d7e6; }
.article-body { padding-top: .25rem; }
.article-heading { padding-bottom: .75rem; border-color: #2b4b60; }
.article-heading h1 { color: #f0f7fa; font-size: clamp(2rem,3.2vw,2.7rem); }
.article-lead { color: #c0d2da; font-size: .97rem; }
.article-body section { padding: 1rem 0 1.15rem; border-color: #28475b; }
.article-body section h2 { color: #9ed9e9; border-color: #31556a; font-size: 1.3rem; }
.article-body section h2::after { background: #5da9c6; }

.article-body section p { color: #d0dfe5; font-size: .96rem; }
.article-aside { padding-top: 4rem; }
.infobox { color: #e3eef2; background: #10263a; border-top-color: #68bfdc; border-bottom-color: #355c73; }
.infobox h2 { color: #082034; background: #84cde2; }
.infobox dl { padding: .25rem .7rem .5rem; }
.fact-row { padding: .43rem 0; border-color: #2d4b60; color: #dce8ed; font-size: .82rem; }
.fact-row dt { color: #a9c2ce; }
.fact-row dd { color: #f0f6f8; }
.infobox-note { color: #f1d7ab; }
.side-note { color: #bdcfd7; border-color: #62ab93; }
.side-note .eyebrow { color: #8dd2b7; }
.table-scroll { color: #e2edf1; background: #0e1e2d; border-color: #31536a; }
table { color: #dbe7ec; }
caption { color: #b2c7d0; }
th { color: #e8f4f7; background: #1a435a; border-color: #345b70; }
td { border-color: #244256; }
tbody tr:nth-child(even) { background: #142a3b; }
tbody tr:nth-child(odd) { background: #0f2030; }
.directory-page { padding-top: .85rem; }
.page-title { border-color: #2a4a60; }
.page-title h1 { color: #f2f8fa; font-size: clamp(2rem,3.2vw,2.8rem); }
.page-title p:last-child { color: #bfd1d9; }
.directory-controls { color: var(--ink); background: #11283a; border-color: #305167; }
.directory-controls label { color: #bfdae4; }
.directory-controls input, .directory-controls select { color: #edf6f9; background: #0a1927; border-color: #3a6278; border-radius: 3px; }
.directory-count { color: #b7cbd4; }
.directory-list li, .directory-pending, .directory-periods li { color: #d5e3e8; border-color: #29485c; }
.directory-list li:nth-child(even) { background: #112638; }
.directory-periods li a { color: #b3e2ef; }
.guide-index li { background: #11283b; border-color: #29495e; }
.guide-index a:hover { background: #1a364a; }
.guide-card__image { background: #0b1a28; border-color: #365369; }
.guide-card__copy strong { color: #a6dfed; }
.guide-card__copy small { color: #b1c5cf; }
.guide-card__arrow { color: #9bdbea; }
.faq-item { border-color: #2c4c62; }
.faq-item summary { color: #b2e4f0; }
.faq-answer p, .prose p { color: #d0e0e6; }
.code-row { color: var(--ink); background: #112638; border-color: #29485c; }
.code-row span { color: #b0c4cd; }
.link-list a, .text-link { color: #9cd9eb; }
.link-list a:hover, .text-link:hover { color: #d5f5fb; }
.status-label { color: #d5e5eb; background: #16364b; border-color: #31596e; }
.evidence-note { color: #f4d8ae !important; }
.site-footer { width: 100%; max-width: none; min-height: 100px; margin: 0; padding: 1.2rem max(1rem, calc((100% - 1180px)/2)); color: #c4d5dd; background: #050e18; border-top: 1px solid #28485d; }
.site-footer__main { max-width: 520px; }
.brand--footer .brand__mark { background: #11334a; }
.brand--footer .brand__name { color: #e9f3f6; font-size: .92rem; }
.site-footer__main p { color: #a9bdc7; font-size: .75rem; }
.footer-links { gap: .55rem 1.15rem; }
.footer-links a { color: #c2d3db; font-size: .75rem; }
.footer-links a:hover { color: #9ddff0; }

/* Creature records use the captured game facts as the page's lead. */
.creature-page { padding-top: .45rem; }
.creature-feature { display: grid; grid-template-columns: minmax(330px,.78fr) minmax(0,1.22fr); gap: 1rem; align-items: stretch; margin: .25rem 0 .8rem; }
.creature-media { position: relative; display: grid; align-content: center; justify-items: center; min-width: 0; min-height: 360px; padding: .6rem; background: #0b1c2a; border: 1px solid #2c4c62; }
.creature-render { display: grid; place-items: center; width: 100%; max-width: 430px; height: min(46vw, 420px); max-height: 420px; min-height: 290px; margin: 0; overflow: hidden; background: #0d2030; border: 1px solid #294b60; }
.creature-render img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.creature-render figcaption { color: #c6d9e0; background: rgba(6,18,30,.95); border-color: #29485b; font-size: .68rem; }
.creature-render--reference { width: 100%; max-width: 430px; height: auto; min-height: 0; aspect-ratio: 2.38; }
.media-state { position: absolute; top: .35rem; left: .4rem; padding: .16rem .35rem; color: #b8d7e3; background: #102b3e; border: 1px solid #31566b; font-size: .63rem; text-transform: uppercase; letter-spacing: .05em; }
.creature-info { min-width: 0; padding: .75rem .9rem; background: #102336; border: 1px solid #2b4d62; border-top: 3px solid #538ca8; }
.creature-info__heading { padding: 0 0 .7rem; border-bottom: 1px solid #2b4c61; }
.creature-info__heading .article-meta { margin: 0 0 .35rem; color: #a8c3cf; font-size: .72rem; }
.entity-tags { gap: .3rem; margin-bottom: .35rem; }
.entity-tag { padding: .18rem .42rem; color: #dcecf1; background: #173247; border: 1px solid #31566b; border-radius: 2px; font-size: .68rem; }
.entity-tag.rarity-common { color: #d2dde2; border-color: #778b95; }
.entity-tag.rarity-uncommon { color: #a1e1b2; border-color: #397c5d; }
.entity-tag.rarity-rare { color: #9ccaff; border-color: #3d6fa7; }
.entity-tag.rarity-epic { color: #d8afff; border-color: #774e97; }
.entity-tag.rarity-legendary { color: #ffdc89; border-color: #927233; }
.rarity-heading { margin: 0 0 .25rem; font-size: clamp(2rem,3vw,2.65rem); line-height: 1.1; }
.rarity-heading.rarity-common { color: #d0dbe0; }
.rarity-heading.rarity-uncommon { color: #96dbaa; }
.rarity-heading.rarity-rare { color: #94c4ff; }
.rarity-heading.rarity-epic { color: #d1a4f4; }
.rarity-heading.rarity-legendary { color: #ffd36b; }
.creature-description { max-width: 58ch; margin: .25rem 0 0; color: #d1e0e6; font-size: 1.02rem; line-height: 1.5; }
.infobox { margin-top: .6rem; border-top: 1px solid #325a70; }
.infobox dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 .95rem; padding: .18rem .1rem .25rem; }
.fact-row { display: grid; grid-template-columns: 1fr; align-content: start; gap: .08rem; min-width: 0; padding: .45rem .15rem; border-bottom: 1px solid #29475b; }
.fact-row dt { color: #a4c0cd; font-size: .67rem; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.fact-row dd { color: #eff6f8; font-size: .9rem; font-weight: 650; line-height: 1.34; }
.infobox-note { padding: .5rem 0 0; color: #f0d5a4; font-size: .75rem; }
.creature-reading { display: grid; grid-template-columns: 162px minmax(0,1fr); gap: 1rem; align-items: start; }
.creature-contents { position: sticky; top: 78px; padding: .6rem .65rem; color: var(--ink); background: #102438; border: 1px solid #294960; border-top: 2px solid #64b9d8; }
.creature-contents summary { color: #e8f4f7; font-size: .78rem; }
.creature-contents ol { display: grid; gap: .28rem; margin: .45rem 0 0; padding-left: 1.05rem; font-size: .73rem; }
.creature-contents a { color: #a9d8e7; text-decoration: none; }
.creature-contents a:hover { color: #daf7fb; text-decoration: underline; }
.creature-sections section { padding: .85rem 0 .95rem; border-color: #28475c; }
.creature-sections section h2 { margin-bottom: .45rem; color: #a0dceb; font-size: 1.32rem; }
.creature-sections section h2::after { display: none; }
.creature-sections p { margin-bottom: .55rem; color: #d1e0e6; font-size: .96rem; }
.growth-note { color: #b6cbd4 !important; font-size: .83rem !important; }
.growth-timeline { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .35rem; margin: .75rem 0 .8rem; padding: 0; list-style: none; }
.growth-timeline::before { position: absolute; top: 15px; right: 8%; left: 8%; height: 2px; content: ""; background: #376780; }
.growth-step { position: relative; display: grid; justify-items: center; gap: .42rem; min-width: 0; text-align: center; }
.growth-step::before { z-index: 1; width: 11px; height: 11px; content: ""; background: #7dcde1; border: 3px solid #132b3e; outline: 1px solid #48819b; border-radius: 50%; }
.growth-step__stage { color: #ebf5f8; font-size: .82rem; font-weight: 750; }
.growth-step small { color: #b2c7d0; font-size: .7rem; line-height: 1.28; }
.growth-stage-table { font-size: .83rem; }
.feeding-threshold { display: grid; grid-template-columns: 1fr 1.3fr; gap: .45rem .8rem; max-width: 620px; margin: .5rem 0 .75rem; padding: .7rem .8rem; background: #122a3d; border-left: 3px solid #6ac39e; }
.feeding-threshold strong { color: #a6dfc3; font-size: .84rem; }
.feeding-threshold span { color: #d0e2e8; font-size: .84rem; }
.food-reference { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin: .55rem 0; padding: 0; list-style: none; }
.food-reference li { display: grid; align-content: start; gap: .12rem; min-width: 0; padding: .6rem; background: #12283a; border: 1px solid #294b61; }
.food-reference strong { color: #a8dff0; font-size: .9rem; }
.food-reference span { color: #f4d984; font-size: .8rem; font-weight: 700; }
.food-reference small { color: #b5c9d2; font-size: .7rem; }
.feeding-caveat { color: #aebfc8 !important; font-size: .78rem !important; }
.table-scroll { margin: .5rem 0; }
.creature-page .collection-grid--related { grid-template-columns: repeat(5,minmax(0,1fr)); }
.creature-page .collection-card { background: #102438; }
.period-page { width: min(100%,1180px); max-width: 1180px; margin: 0 auto; padding: .7rem 1.25rem 2.5rem; color: var(--ink); background: #0b1b2a; border-inline: 1px solid #203e53; }
.period-header { padding: .25rem 0 .7rem; border-bottom: 1px solid #315269; }
.period-header .eyebrow { margin-bottom: .2rem; }
.period-header h1 { margin-bottom: .25rem; font-size: clamp(2.1rem,3.5vw,2.8rem); }
.period-header .article-lead { color: #c3d6de; font-size: .95rem; }
.period-header .article-meta { margin: 0; color: #a9c2ce; font-size: .7rem; }
.period-summary { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.65fr); gap: .8rem; align-items: center; margin: .65rem 0 .5rem; padding: .55rem .7rem; background: #10263a; border: 1px solid #294960; }
.period-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .15rem .8rem; margin: 0; }
.period-facts .fact-row { display: grid; grid-template-columns: 1fr; gap: .08rem; padding: .15rem .1rem; border: 0; }
.period-facts .fact-row dt { font-size: .63rem; }
.period-facts .fact-row dd { color: #eff7f9; font-size: .88rem; }
.period-summary__note { margin: 0; padding-left: .75rem; color: #b6cbd4; border-left: 2px solid #5eb392; font-size: .76rem; }
.period-sections section { padding: .75rem 0 .95rem; border-bottom: 1px solid #28475c; }
.period-sections section h2 { margin: 0 0 .5rem; padding-bottom: .28rem; color: #a0dceb; border-bottom: 1px solid #31556a; font-size: 1.3rem; }
.period-sections section h2::after { display: none; }
.period-sections section p { color: #d1e0e6; font-size: .93rem; }
.period-sections .collection-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
.period-neighbors { display: flex; justify-content: space-between; gap: 1rem; padding-top: .9rem; border-top: 1px solid #315269; }
.period-neighbors a { color: #a8dfed; font-size: .88rem; font-weight: 750; text-decoration: none; }
.period-neighbors a:hover { color: #e0f7fb; text-decoration: underline; }
.dino-directory .collection-toolbar { display: flex; align-items: center; gap: .6rem; margin: .5rem 0 .65rem; color: #bfd5de; font-size: .8rem; }
.dino-directory .collection-toolbar select { min-height: 36px; padding: .3rem .5rem; color: #edf6f9; background: #0a1927; border: 1px solid #3a6278; border-radius: 3px; }
.dino-directory > .collection-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
.coverage-note { margin-top: 1.1rem; padding-top: .75rem; border-top: 1px solid #315269; }
.coverage-note h2 { color: #9ed9e9; font-size: 1.15rem; }
.coverage-note p { color: #c5d6de; font-size: .88rem; }

@media (min-width: 1600px) {
  .home-page, .article-frame, .directory-page, .creature-page { width: min(100%, 1180px); }
  .collection-grid, .collection-grid--featured { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
@media (max-width: 1120px) {
  .masthead__inner { grid-template-columns: minmax(190px,1fr) minmax(220px,360px) auto; gap: .65rem; padding-inline: 1rem; }
  .global-nav { gap: .2rem; }
  .global-nav a { padding-inline: .28rem; font-size: .67rem; }
  .home-page, .article-frame, .directory-page, .creature-page { padding-inline: 1rem; }
  .article-grid { grid-template-columns: 145px minmax(0,1fr) 210px; gap: .65rem; }
  .creature-feature { grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr); gap: .65rem; }
  .creature-info { padding: .65rem .7rem; }
  .creature-media { min-height: 320px; }
  .creature-render { min-height: 280px; height: min(44vw,380px); }
  .collection-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .collection-grid--featured { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .collection-grid--related, .creature-page .collection-grid--related { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .wiki-nav-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .period-page { padding-inline: 1rem; }
  .period-sections .collection-grid, .dino-directory > .collection-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .masthead__inner { grid-template-columns: minmax(180px,1fr) auto; grid-template-areas: "brand nav" "search search"; gap: .35rem .5rem; padding: .45rem .8rem .55rem; }
  .brand { grid-area: brand; }
  .site-search { grid-area: search; max-width: none; }
  .global-nav { grid-area: nav; gap: .12rem; }
  .global-nav a { padding: .25rem .28rem; font-size: .64rem; }
  .breadcrumbs { padding-inline: .8rem; }
  .home-page, .article-frame, .directory-page, .creature-page { padding-inline: .8rem; border-inline: 0; }
  .article-grid { display: flex; flex-direction: column; gap: .55rem; }
  .article-grid > .toc { position: static; order: 0; width: 100%; }
  .article-body { order: 1; width: 100%; }
  .article-aside { order: 2; width: 100%; padding-top: 0; }
  .toc ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .creature-feature { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
  .creature-media { min-height: 300px; }
  .creature-render { min-height: 260px; height: min(52vw,350px); }
  .creature-reading { grid-template-columns: 1fr; gap: .4rem; }
  .creature-contents { position: static; width: 100%; }
  .creature-contents ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .collection-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .collection-grid--featured { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .collection-grid--related, .creature-page .collection-grid--related { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .wiki-nav-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .period-summary { grid-template-columns: 1fr; }
  .period-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .period-sections .collection-grid, .dino-directory > .collection-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dino-directory { padding-inline: .8rem; }
  .directory-controls { grid-template-columns: auto minmax(0,1fr); }
  .site-footer { flex-direction: column; gap: .8rem; padding: 1rem .9rem 1.35rem; }
  .footer-links { justify-content: start; }
}
@media (max-width: 560px) {
  body::before { background-position: 52% center; }
  body::after { background: rgba(3,15,27,.82); }
  .masthead__inner { grid-template-columns: 1fr; grid-template-areas: "brand" "nav" "search"; gap: .35rem; }
  .brand__mark { width: 32px; height: 32px; }
  .brand__name { font-size: .96rem; }
  .global-nav { width: 100%; min-width: 0; justify-content: flex-start; flex-wrap: wrap; gap: .16rem .22rem; white-space: normal; }
  .global-nav a[href="/"] { display: inline-flex; }
  .global-nav a { padding: .28rem .38rem; font-size: .69rem; }
  .site-search input { min-height: 42px; }
  .home-page, .article-frame, .directory-page, .creature-page { padding: .65rem .7rem 1.8rem; }
  .welcome-panel { display: block; padding: .7rem .72rem; }
  .welcome-panel h1 { font-size: 1.48rem; }
  .welcome-panel p:not(.eyebrow) { font-size: .87rem; }
  .capture-date { display: block; margin-top: .35rem; font-size: .69rem; }
  .home-facts { justify-content: space-between; gap: .25rem .4rem; padding: .45rem; }
  .home-metric { display: grid; gap: 0; }
  .home-metric strong { font-size: .9rem; }
  .home-metric span, .home-facts__date { font-size: .62rem; }
  .home-facts__date { width: 100%; margin: .1rem 0 0; }
  .home-section { padding: .8rem 0 .9rem; }
  .section-heading h2 { font-size: 1.06rem; }
  .section-kicker { font-size: .65rem; }
  .update-grid { grid-template-columns: 1fr; gap: .35rem; }
  .update-card { grid-template-columns: 104px minmax(0,1fr); grid-template-rows: 74px; }
  .update-card img { height: 74px; border-right: 1px solid #294b60; border-bottom: 0; }
  .update-card > span { padding: .3rem .45rem; }
  .update-card strong { font-size: .81rem; }
  .update-card small { font-size: .66rem; }
  .coverage-strip { grid-template-columns: 1fr; gap: .3rem; }
  .coverage-strip a { min-height: 48px; }
  .wiki-nav-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; }
  .wiki-nav-tile { grid-template-rows: 82px auto 1fr; }
  .wiki-nav-tile img { height: 82px; }
  .wiki-nav-tile span { font-size: .75rem; }
  .wiki-nav-tile small { font-size: .62rem; }
  .period-card-grid { grid-template-columns: 1fr; }
  .period-page { padding: .55rem .7rem 1.8rem; border-inline: 0; }
  .period-summary { gap: .4rem; padding: .45rem .5rem; }
  .period-facts { gap: .25rem .4rem; }
  .period-facts .fact-row dt { font-size: .59rem; }
  .period-facts .fact-row dd { font-size: .75rem; }
  .period-summary__note { font-size: .71rem; }
  .period-header h1 { font-size: 1.9rem; }
  .period-sections .collection-grid, .dino-directory > .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .period-neighbors a { font-size: .77rem; }
  .collection-grid, .collection-grid--featured { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; }
  .collection-grid--related, .creature-page .collection-grid--related { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .creature-art img { max-height: 165px; }
  .collection-card__copy { padding: .34rem .4rem .4rem; }
  .collection-card h3 { font-size: .79rem; }
  .collection-card__meta, .collection-card__facts { font-size: .63rem; }
  .article-heading h1, .page-title h1 { font-size: 1.9rem; }
  .article-lead { font-size: .9rem; }
  .directory-controls { grid-template-columns: 1fr; }
  .directory-controls input, .directory-controls select, .directory-count { grid-column: 1; }
  .guide-index { grid-template-columns: 1fr; }
  .guide-link-grid { grid-template-columns: 1fr 1fr; }
  .creature-feature { grid-template-columns: 1fr; gap: .4rem; }
  .creature-media { min-height: 0; padding: .5rem; }
  .creature-render { width: 100%; max-width: 370px; height: min(86vw,360px); min-height: 230px; }
  .creature-render--reference { height: auto; min-height: 0; aspect-ratio: 2.38; }
  .creature-info { padding: .65rem .68rem; }
  .rarity-heading { font-size: 2rem; }
  .creature-description { font-size: .96rem; }
  .infobox dl { gap: 0 .55rem; }
  .fact-row { padding: .36rem .08rem; }
  .fact-row dd { font-size: .83rem; }
  .creature-contents ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .growth-timeline { grid-template-columns: 1fr; gap: .55rem; margin-left: .25rem; }
  .growth-timeline::before { top: 7px; bottom: 8px; left: 5px; width: 2px; height: auto; }
  .growth-step { grid-template-columns: 14px minmax(85px,.55fr) minmax(0,1fr); justify-items: start; align-items: center; gap: .3rem .55rem; text-align: left; }
  .growth-step::before { grid-column: 1; grid-row: 1 / span 2; }
  .growth-step__stage { grid-column: 2; grid-row: 1 / span 2; }
  .growth-step small { grid-column: 3; grid-row: 1 / span 2; }
  .feeding-threshold { grid-template-columns: 1fr 1fr; gap: .3rem .5rem; padding: .55rem; }
  .feeding-threshold strong, .feeding-threshold span { font-size: .73rem; }
  .food-reference { grid-template-columns: 1fr; gap: .3rem; }
  .food-reference li { grid-template-columns: 1fr auto; padding: .42rem .5rem; }
  .food-reference small { grid-column: 1 / -1; }
  .site-footer { padding: .9rem .75rem 1.25rem; }
  .footer-links { gap: .5rem .8rem; }
  .footer-links a { font-size: .7rem; }
}
@media (min-width: 1600px) and (max-width: 2199px) {
  .masthead__inner, .breadcrumbs, .home-page, .article-frame, .directory-page, .creature-page, .period-page { width: min(100%,1280px); max-width: 1280px; }
  .site-footer { padding-inline: max(1rem, calc((100% - 1280px)/2)); }
}

/* Homepage-only copy, image-ratio, and crop-family corrections. */
.welcome-panel { display: block; padding: .35rem 0 .7rem; background: transparent; border: 0; border-bottom: 1px solid #315269; }
.welcome-panel h1 { max-width: none; margin: 0; font-size: clamp(1.55rem,2.7vw,2.1rem); }
.welcome-panel p:not(.eyebrow) { max-width: none; margin: .25rem 0 0; color: #c2d8e1; font-size: .92rem; }
.home-facts { justify-content: flex-start; gap: .2rem 1.45rem; }
.home-metric { flex-direction: row; gap: .25rem; align-items: baseline; }
.home-metric strong { font-size: 1rem; }
.home-metric span { color: #c1d5de; font-size: .76rem; }
.home-facts__date { margin-left: auto; color: #9fb8c4; font-size: .68rem; }
.update-card { grid-template-rows: auto minmax(56px,auto); }
.update-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.wiki-nav-tile { grid-template-rows: auto auto 1fr; }
.wiki-nav-tile img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.period-card > a { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; gap: 0; min-height: 0; }
.period-card__image, .period-card__models, .period-card__empty { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; border-right: 0; border-bottom: 1px solid #294a60; }
.period-card__image img, .period-card__models img { width: 100%; height: 100%; max-height: none; aspect-ratio: 16 / 9; object-fit: cover; }
.period-card__body { align-self: start; padding: .42rem .55rem .48rem; }
.home-periods .pending-periods { margin-top: .5rem; padding-top: .35rem; border-top: 1px solid #27475c; }
@media (max-width: 560px) {
  .home-metric { display: flex; flex-direction: row; align-items: baseline; gap: .25rem; }
  .home-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem .55rem; }
  .home-facts__date { grid-column: 1 / -1; width: auto; margin: .1rem 0 0; }
  .update-card { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; }
  .update-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; border-right: 0; border-bottom: 1px solid #294b60; }
  .period-card > a { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; }
  .period-card__image, .period-card__models, .period-card__empty { width: 100%; min-height: 0; aspect-ratio: 16 / 9; }
  .period-card__image img, .period-card__models img { height: 100%; max-height: none; }
}
@media (max-width: 820px) {
  .masthead .site-search { width: 100%; min-width: 0; }
  .masthead .site-search input { width: 0; min-width: 0; flex: 1 1 0; }
  .masthead .site-search button { display: inline-flex; flex: 0 0 74px; min-width: 74px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Responsive article rails: the content frame grows while sidebars stay outside it. */
.article-body section h2::after { content: none; }
.article-grid--rails { grid-template-columns: 162px minmax(0,1fr); }
@media (max-width: 1120px) {
  .article-grid--rails { grid-template-columns: 145px minmax(0,1fr); }
}
@media (max-width: 820px) {
  .article-grid--rails { display: flex; }
}
@media (min-width: 1700px) and (max-width: 2199px) {
  .article-frame { position: relative; }
  .article-grid--rails { display: block; position: relative; }
  .article-grid--rails > .toc,
  .creature-reading > .creature-contents {
    position: fixed; top: 96px; left: max(20px,calc((100vw - 1280px)/2 - 184px));
    width: 160px; max-height: calc(100vh - 116px); z-index: 5;
  }
  .article-grid--rails > .article-body,
  .creature-reading > .creature-sections { width: 100%; }
  .article-grid--rails > .article-aside {
    position: fixed; top: 96px; right: max(20px,calc((100vw - 1280px)/2 - 210px));
    width: 180px; padding-top: 0; z-index: 5;
  }
  .creature-reading { display: block; position: relative; }
}
@media (min-width: 2200px) {
  .article-frame { position: relative; }
  .article-grid--rails { display: block; position: relative; }
  .article-grid--rails > .toc,
  .creature-reading > .creature-contents {
    position: fixed; top: 96px; left: max(20px,calc((100vw - 1180px)/2 - 184px));
    width: 160px; max-height: calc(100vh - 116px); z-index: 5;
  }
  .article-grid--rails > .article-body,
  .creature-reading > .creature-sections { width: 100%; }
  .article-grid--rails > .article-aside {
    position: fixed; top: 96px; right: max(20px,calc((100vw - 1180px)/2 - 210px));
    width: 180px; padding-top: 0; z-index: 5;
  }
  .creature-reading { display: block; position: relative; }
}

.analytics-consent[hidden] { display: none; }
.analytics-consent {
  position: fixed; z-index: 30; right: 1rem; bottom: 1rem; display: grid;
  grid-template-columns: minmax(0,1fr) auto; gap: 1rem; align-items: center;
  width: min(760px,calc(100vw - 2rem)); padding: 1rem;
  color: #e6f1f5; background: #0b1b2a; border: 1px solid #4a7890;
}
.analytics-consent h2 { margin: 0 0 .25rem; color: #b7e5f1; font-size: 1rem; }
.analytics-consent .eyebrow { margin-bottom: .2rem; font-size: .65rem; }
.analytics-consent p:not(.eyebrow) { margin: 0 0 .45rem; color: #c4d6de; font-size: .78rem; }
.analytics-consent a { color: #8ed5ec; font-size: .78rem; }
.analytics-consent__actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.analytics-consent__actions .button { min-height: 42px; white-space: nowrap; }
@media (max-width: 560px) {
  .analytics-consent { right: .6rem; bottom: .6rem; grid-template-columns: 1fr; gap: .7rem; width: calc(100vw - 1.2rem); padding: .8rem; }
  .analytics-consent__actions { justify-content: stretch; }
  .analytics-consent__actions .button { flex: 1 1 8rem; }
}

/* Full-width masthead: identity and search left, primary navigation right. */
.masthead__inner {
  width: 100%; max-width: none; min-height: 66px; margin: 0;
  grid-template-columns: auto minmax(260px,450px) minmax(0,1fr);
  gap: 1rem; padding: .55rem 1.25rem;
}
.masthead__inner > .brand { justify-self: start; }
.masthead__inner > .site-search { width: 100%; max-width: 450px; justify-self: start; }
.masthead__inner > .global-nav { width: 100%; justify-self: stretch; justify-content: flex-end; gap: .8rem; }
@media (max-width: 1120px) and (min-width: 821px) {
  .masthead__inner { grid-template-columns: auto minmax(220px,360px) minmax(0,1fr); gap: .7rem; padding-inline: 1rem; }
  .masthead__inner > .site-search { max-width: 360px; }
  .masthead__inner > .global-nav { gap: .35rem; }
  .masthead__inner > .global-nav a { padding-inline: .28rem; font-size: .67rem; }
}
@media (max-width: 820px) {
  .masthead__inner {
    grid-template-columns: auto minmax(0,1fr); grid-template-areas: "brand search" "nav nav";
    gap: .4rem .7rem; padding: .5rem .8rem .6rem;
  }
  .masthead__inner > .brand { grid-area: brand; }
  .masthead__inner > .site-search { grid-area: search; max-width: none; min-width: 0; }
  .masthead__inner > .global-nav { grid-area: nav; justify-content: flex-end; gap: .55rem; }
}
@media (max-width: 560px) {
  .masthead__inner { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "brand nav" "search search"; gap: .35rem .5rem; }
  .masthead__inner > .brand { min-width: 0; gap: .4rem; }
  .masthead__inner > .brand .brand__name { font-size: .82rem; }
  .masthead__inner > .brand .brand__name small { font-size: .5rem; }
  .masthead__inner > .brand .brand__mark { width: 30px; height: 30px; }
  .masthead__inner > .global-nav { width: auto; justify-self: end; justify-content: flex-end; flex-wrap: wrap; gap: .18rem .3rem; }
  .masthead__inner > .global-nav a { padding: .2rem .28rem; font-size: .62rem; }
}
