@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/static/fonts/nunito-latin-variable.woff2") format("woff2");
}

:root {
  --bg: #eeeae2;
  --surface: #f8f5ee;
  --surface-alt: #e5dfd4;
  --media-bg: #f2eee6;
  --text: #302a24;
  --muted: #71685e;
  --border: #cfc6ba;
  --border-strong: #a99b8b;
  --accent: #963e29;
  --accent-hover: #7f321f;
  --selection: #e5cbbb;
  --lore-bg: #843d2b;
  --lore-text: #fff4e8;
  --lore-muted: #ecd0bc;
  --general: #245b91;
  --artist: #a52f2f;
  --copyright: #76520c;
  --character: #267039;
  --meta: #5c5b58;
  color-scheme: light;
  font-family: "Nunito", Tahoma, Verdana, Arial, sans-serif;
}

:root[data-theme="dark"] {
  --bg: #25231f;
  --surface: #2e2b26;
  --surface-alt: #3a352e;
  --media-bg: #302d27;
  --text: #f0e8dd;
  --muted: #b9afa2;
  --border: #4f473d;
  --border-strong: #847463;
  --accent: #e29371;
  --accent-hover: #f09273;
  --selection: #59443a;
  --general: #78a9d4;
  --artist: #e08080;
  --copyright: #d7ad58;
  --character: #80bc8a;
  --meta: #bbb7af;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #25231f;
    --surface: #2e2b26;
    --surface-alt: #3a352e;
    --media-bg: #302d27;
    --text: #f0e8dd;
    --muted: #b9afa2;
    --border: #4f473d;
    --border-strong: #847463;
    --accent: #e29371;
    --accent-hover: #f09273;
    --selection: #59443a;
    --general: #78a9d4;
    --artist: #e08080;
    --copyright: #d7ad58;
    --character: #80bc8a;
    --meta: #bbb7af;
    color-scheme: dark;
  }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--bg); color: var(--text); }
body { min-height: 100vh; margin: 0; display: flex; flex-direction: column; background: var(--bg); font-size: 14px; line-height: 1.5; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hover); text-decoration: underline; }
button, input { border-radius: 0; font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
input::placeholder { color: var(--muted); opacity: 1; }
code { padding: .05rem .2rem; border: 1px solid var(--border); background: var(--surface-alt); font-family: Consolas, "Liberation Mono", monospace; }

.site-header { min-height: 72px; display: flex; align-items: center; gap: 2rem; padding: 0 1.75rem; background: var(--surface); border-bottom: 1px solid var(--border); }
.brand { display: inline-flex; align-items: center; gap: .5rem; color: var(--text); font-size: 1.7rem; font-weight: 800; letter-spacing: -.045em; white-space: nowrap; }
.brand-mark { display: block; width: 30px; height: 30px; flex: 0 0 auto; }
.brand:hover { color: var(--text); text-decoration: none; }
.site-header nav { display: flex; min-width: 0; align-self: stretch; overflow-x: auto; }
.site-header nav a { display: grid; place-items: center; padding: 0 .85rem; border-bottom: 3px solid transparent; color: var(--muted); font-weight: 700; }
.site-header nav a:hover { color: var(--text); background: var(--media-bg); text-decoration: none; }
.site-header nav a.active { border-bottom-color: var(--accent); color: var(--accent); text-decoration: none; }
.theme-toggle { margin-left: auto; border: 1px solid var(--border); background: transparent; color: var(--muted); padding: .4rem .65rem; white-space: nowrap; }
.theme-toggle:hover { background: var(--surface-alt); }
main { flex: 1; }
footer { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .75rem 2rem; margin: 3rem 1.75rem 0; padding: 1.25rem 0; border-top: 1px solid var(--border); color: var(--muted); font-size: .78rem; }
footer p { max-width: 76ch; margin: 0; }
footer nav { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }

.listing-layout, .post-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 1.75rem; padding: 1.5rem 1.75rem; }
.sidebar { min-width: 0; }
.sidebar h1 { margin: .5rem 0 1.25rem; font-size: 1.55rem; font-weight: 800; letter-spacing: -.025em; }
.sidebar h2 { margin: 1.5rem 0 .55rem; padding-bottom: .35rem; border-bottom: 1px solid var(--border); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.search-form label { display: block; margin-bottom: .5rem; font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; }
.search-row { display: flex; }
.search-row input, .inline-search input { min-width: 0; flex: 1; min-height: 42px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); padding: .5rem .6rem; }
.search-row button, .inline-search button { min-height: 42px; border: 1px solid var(--accent); background: var(--accent); color: var(--surface); font-weight: 800; padding: .5rem .65rem; }
.search-row button:hover, .inline-search button:hover { border-color: var(--accent-hover); background: var(--accent-hover); }
.autocomplete { position: relative; flex: 1; min-width: 0; }
.autocomplete input { width: 100%; height: 100%; }
.autocomplete-list { position: absolute; z-index: 20; top: calc(100% - 1px); left: 0; right: 0; max-height: 19rem; margin: 0; padding: 0; overflow-y: auto; border: 1px solid var(--border-strong); background: var(--surface); list-style: none; }
.autocomplete-list[hidden] { display: none; }
.autocomplete-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; padding: .5rem .6rem; border-bottom: 1px solid var(--border); cursor: default; }
.autocomplete-option:last-child { border-bottom: 0; }
.autocomplete-option[aria-selected="true"], .autocomplete-option:hover { background: var(--selection); }
.autocomplete-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.autocomplete-detail { color: var(--muted); font-variant-numeric: tabular-nums; }
.autocomplete-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.tag-list, .post-tags ul { margin: 0; padding: 0; list-style: none; }
.tag-list li { display: flex; gap: .65rem; justify-content: space-between; padding: .1rem 0; line-height: 1.55; font-size: .84rem; }
.tag-list a { min-width: 0; overflow-wrap: anywhere; }
.tag-list span { color: var(--muted); font-variant-numeric: tabular-nums; }
.small { color: var(--muted); font-size: .8rem; line-height: 1.65; }
.error { color: #a52f2f; }
.muted { color: var(--muted); }
.tag-category-0 { color: var(--general); }
.tag-category-1 { color: var(--artist); }
.tag-category-3 { color: var(--copyright); }
.tag-category-4 { color: var(--character); }
.tag-category-5 { color: var(--meta); }

.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.section-heading h1 { margin: 0; color: var(--text); font-size: 2rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.2; }
.section-heading span { color: var(--muted); font-size: .8rem; white-space: nowrap; }
.gallery-description { margin: .3rem 0 0; color: var(--muted); font-size: .86rem; overflow-wrap: anywhere; }
.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); align-items: start; gap: .85rem; }
.post-preview { position: relative; min-width: 0; overflow: hidden; padding: .4rem; border: 1px solid var(--border); background: var(--media-bg); }
.post-preview a { display: block; }
.preview-frame { display: grid; min-height: 200px; place-items: center; }
.post-preview img { display: block; width: 100%; height: 200px; object-fit: contain; background: var(--media-bg); }
.media-unavailable { padding: 1rem; color: var(--muted); font-size: .78rem; text-align: center; }
.duration { position: absolute; right: .25rem; bottom: .25rem; padding: .1rem .25rem; border: 1px solid #282622; background: #3a3731; color: #f0ece3; font-size: .68rem; }
.empty-state { grid-column: 1 / -1; padding: 4rem 1rem; border: 1px solid var(--border); background: var(--surface); text-align: center; color: var(--muted); }
.empty-state h2 { color: var(--text); }
.pagination { display: flex; justify-content: center; align-items: center; gap: 1.5rem; margin: 1.75rem 0 .5rem; padding: .75rem 0; border-top: 1px solid var(--border); color: var(--muted); }
.pagination a { padding: .35rem .5rem; font-weight: 700; }

.post-sidebar { position: sticky; top: .5rem; align-self: start; }
.back-link { font-size: .82rem; font-weight: 700; }
.post-tags { margin-top: 1.1rem; }
.collection-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .4rem .5rem; margin: .75rem 0; padding: .7rem; border: 1px solid var(--border); background: var(--surface); font-size: .8rem; }
.collection-nav > a { font-weight: 800; overflow-wrap: anywhere; }
.collection-nav > span { color: var(--muted); font-variant-numeric: tabular-nums; }
.collection-nav div { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: .4rem; border-top: 1px solid var(--border); }
.post-relationships { margin: .75rem 0; padding: .7rem; border: 1px solid var(--border); background: var(--surface); font-size: .8rem; }
.post-relationships h2 { margin-top: 0; }
.post-relationships p { margin: .3rem 0; }
.post-relationships ul { margin: .25rem 0 0; padding-left: 1.2rem; }
.post-navigation { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; margin-bottom: 1rem; padding: .2rem 0 .8rem; border-bottom: 1px solid var(--border); text-align: center; font-size: .84rem; }
.post-navigation a { font-weight: 700; }
.post-navigation > :first-child { text-align: left; }
.post-navigation > :last-child { text-align: right; }
.post-navigation span[aria-disabled="true"] { color: var(--muted); }
.post-wiki-banner { display: flex; align-items: center; gap: 1.5rem; margin: 0 0 1rem; padding: .85rem 1rem; background: var(--lore-bg); color: var(--lore-text); text-align: left; }
.post-wiki-banner-heading { flex: 0 0 auto; }
.post-wiki-banner-heading strong { display: block; font-size: 1.1rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.3; }
.post-wiki-banner-heading > span { display: block; margin-top: .15rem; color: var(--lore-muted); font-size: .76rem; }
.post-wiki-banner-links { display: flex; flex-wrap: wrap; gap: .2rem 1rem; min-width: 0; }
.post-wiki-banner-links a { padding-block: .2rem; color: var(--lore-text); font-weight: 700; line-height: 1.4; text-decoration: underline; text-decoration-color: var(--lore-muted); text-underline-offset: .2em; overflow-wrap: anywhere; }
.post-wiki-banner-links a:hover { text-decoration-thickness: 2px; }
.post-wiki-banner-links a:focus-visible { outline-color: var(--lore-text); }
.nav-icon { display: inline-block; width: .95em; height: .95em; vertical-align: -.12em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.nav-icon-right { transform: rotate(180deg); }
.nav-icon-up { transform: rotate(90deg); }
.post-tags h2 { color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; }
.post-tags li { padding: .07rem 0; line-height: 1.55; font-size: .83rem; overflow-wrap: anywhere; }
.wiki-link { margin-left: .25rem; color: var(--muted); font-size: .72rem; }
.metadata { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .4rem .8rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border); font-size: .8rem; }
.metadata dt { color: var(--muted); }
.metadata dd { margin: 0; overflow-wrap: anywhere; }
.post-content { min-width: 0; text-align: center; }
.post-content img, .post-content video { display: block; max-width: 100%; max-height: calc(100vh - 105px); height: auto; margin-inline: auto; border: 1px solid var(--border); background: var(--surface); }
.post-image-frame { position: relative; display: inline-grid; width: fit-content; max-width: 100%; vertical-align: top; overflow: hidden; }
.post-image-spacer { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100vh - 105px); }
.post-image-frame > img { position: absolute; inset: 0; box-sizing: border-box; width: 100%; height: 100%; max-height: none; object-fit: contain; }
.post-image-placeholder { z-index: 1; pointer-events: none; }
.post-content img[data-media-size-image] { cursor: zoom-in; }
.post-image-frame.is-original { display: block; width: 100%; overflow: auto; }
.post-image-frame.is-original > .post-image-spacer { display: none; }
.post-image-frame.is-original > img { position: static; width: auto; height: auto; max-width: none; object-fit: fill; }
.post-content img[data-media-size-image].is-original { max-width: none; max-height: none; cursor: zoom-out; }
.post-media-toolbar { display: flex; justify-content: flex-end; margin-bottom: .65rem; }
.post-media-toolbar button { border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); padding: .4rem .75rem; font-weight: 700; }
.post-media-toolbar button:hover { background: var(--surface-alt); }
.caption { max-width: 80ch; margin: 1.25rem auto 0; padding-top: 1rem; border-top: 1px solid var(--border); color: var(--text); font-size: .94rem; line-height: 1.75; text-align: left; }

.page-shell { width: min(1240px, calc(100% - 3.5rem)); margin: 1.75rem auto; }
.inline-search { display: flex; align-items: center; max-width: 500px; margin-bottom: 1.25rem; }
.inline-search label { margin-right: .5rem; }
.table-wrap { overflow-x: auto; border: 1px solid var(--border); }
table { width: 100%; border-collapse: collapse; background: var(--surface); }
th, td { padding: .7rem .9rem; border-bottom: 1px solid var(--border); text-align: left; }
th { background: var(--surface-alt); color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
tbody tr:last-child td { border-bottom: 0; }
.table-wrap td:not(:first-child) { white-space: nowrap; }
.prose { max-width: 850px; font-size: .98rem; line-height: 1.8; }
.prose h1 { font-size: 2.25rem; letter-spacing: -.035em; }
.prose h1, .prose h2 { font-weight: 800; line-height: 1.2; }
.prose h2 { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--border); color: var(--text); font-size: 1.3rem; letter-spacing: -.02em; }
.wiki-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.75rem; padding: 1.5rem 1.75rem; }
.wiki-sidebar { min-width: 0; }
.wiki-sidebar section:first-of-type { margin-top: 1.15rem; }
.wiki-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .25rem .7rem; margin: 0; font-size: .82rem; }
.wiki-facts dt { color: var(--muted); }
.wiki-facts dd { margin: 0; overflow-wrap: anywhere; }
.wiki-link-list { margin: 0; padding: 0; list-style: none; font-size: .84rem; line-height: 1.65; }
.wiki-link-list li { padding: .12rem 0; overflow-wrap: anywhere; }
.wiki-article, .wiki-index { min-width: 0; }
.wiki-article { padding: 1.5rem 1.75rem; border: 1px solid var(--border); background: var(--surface); }
.wiki-breadcrumbs { margin-bottom: 1rem; color: var(--muted); font-size: .8rem; }
.wiki-header { margin-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.wiki-header h1 { margin: 0 0 .5rem; overflow-wrap: anywhere; color: var(--text); font-size: 2.15rem; letter-spacing: -.035em; line-height: 1.2; }
.wiki-actions { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; padding: .25rem 0 .85rem; color: var(--muted); font-size: .82rem; }
.wiki-actions a { font-weight: 700; }
.wiki-body { max-width: 82ch; font-size: .98rem; line-height: 1.8; }
.wiki-body p { margin: 0 0 1rem; white-space: pre-line; }
.wiki-section { margin-top: 2rem; }
.wiki-section > h2 { margin: 0 0 .45rem; border-bottom: 1px solid var(--border); color: var(--text); font-size: 1.08rem; }
.wiki-section .section-heading { align-items: center; }
.wiki-section .section-heading h2 { margin: 0 0 .28rem; font-size: 1.08rem; }
.wiki-section .section-heading a { font-size: .8rem; }
.reference-list { max-width: 92ch; margin: .6rem 0 0; padding-left: 1.7rem; line-height: 1.65; }
.wiki-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(135px, 175px)); gap: .65rem; }
.wiki-post-grid .preview-frame { min-height: 160px; }
.wiki-post-grid .post-preview img { height: 160px; }
.wiki-query-note { margin: .35rem 0 .8rem; color: var(--muted); }
.wiki-page-list { border-top: 1px solid var(--border); }
.wiki-page-row { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) auto; gap: .8rem 1.25rem; align-items: baseline; padding: 1rem .25rem; border-bottom: 1px solid var(--border); }
.wiki-page-row h2 { margin: 0; overflow-wrap: anywhere; font-size: .98rem; }
.wiki-page-row p { margin: 0; color: var(--muted); line-height: 1.45; }
.wiki-page-row > span { color: var(--muted); font-size: .78rem; white-space: nowrap; }
.collection-list { border-top: 1px solid var(--border); }
.collection-card { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem .25rem; border-bottom: 1px solid var(--border); }
.collection-card > div { min-width: 0; }
.collection-card h2 { margin: 0 0 .2rem; font-size: 1.15rem; line-height: 1.4; }
.collection-card small, .collection-heading small { color: var(--muted); font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.collection-card p { max-width: 90ch; margin: .4rem 0 0; color: var(--muted); line-height: 1.65; }
.collection-card > span { color: var(--muted); font-size: .8rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.collection-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 1rem 0 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.collection-heading > div { min-width: 0; flex: 1 1 500px; }
.collection-heading h1 { margin: 0 0 .3rem; font-size: 2rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.25; overflow-wrap: anywhere; }
.collection-heading p { color: var(--muted); }
.collection-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .85rem; padding: 0; list-style: none; }
.collection-grid li { position: relative; padding: .4rem; border: 1px solid var(--border); background: var(--media-bg); }
.collection-grid img { display: block; width: 100%; height: 195px; object-fit: contain; }
.collection-grid .preview-frame { min-height: 195px; }
.collection-grid li > span { position: absolute; left: .5rem; bottom: .5rem; padding: .08rem .25rem; border: 1px solid #282622; background: #3a3731; color: #f0ece3; font-size: .68rem; }

.links-page { max-width: 1000px; }
.link-group { margin-top: 2rem; }
.link-group > h2 { margin: 0 0 .65rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.site-links { margin: 0; border-top: 1px solid var(--border); }
.site-links > div { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid var(--border); }
.site-links dt > a { font-size: 1.05rem; font-weight: 800; }
.site-link-host { display: block; margin-top: .3rem; color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
.site-links dd { min-width: 0; margin: 0; line-height: 1.7; }
.site-links p { margin: 0; }
.site-links .site-link-related { margin-top: .5rem; font-size: .8rem; }
.links-page > .small { margin-top: 1.5rem; }

@media (min-width: 761px) and (max-width: 1100px) {
  .site-header { gap: 1rem; padding-inline: 1.25rem; }
  .site-header nav a { padding-inline: .55rem; }
  .brand { font-size: 1.5rem; }
  .brand-mark { width: 28px; height: 28px; }
  .wiki-page-row { grid-template-columns: minmax(0, 1fr) auto; }
  .wiki-page-row p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 760px) {
  .site-header { min-height: auto; flex-wrap: wrap; gap: .55rem .8rem; padding: .55rem .75rem 0; }
  .brand { gap: .4rem; font-size: 1.45rem; }
  .brand-mark { width: 28px; height: 28px; }
  .site-header nav { order: 3; width: calc(100% + 1.5rem); margin-inline: -.75rem; overflow-x: auto; border-top: 1px solid var(--border); background: var(--surface); }
  .site-header nav a { flex: 0 0 auto; padding: .65rem .75rem; border-left: 0; border-right: 1px solid var(--border); }
  .listing-layout, .post-layout, .wiki-layout { grid-template-columns: 1fr; gap: 1.25rem; padding: 1rem .75rem; }
  .listing-layout > .sidebar { display: contents; }
  .listing-layout > .sidebar .search-form, .listing-layout > .sidebar .error { order: -2; }
  .listing-layout > .gallery-area { order: -1; }
  .post-sidebar { position: static; display: flex; flex-direction: column; }
  .post-sidebar .metadata { order: 1; }
  .post-sidebar .post-tags { order: 2; }
  .section-heading { gap: .75rem; margin-bottom: .85rem; }
  .section-heading h1 { font-size: 1.7rem; }
  .gallery-description { font-size: .8rem; }
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .post-preview { padding: .25rem; }
  .post-preview img { height: 180px; }
  .preview-frame { min-height: 180px; }
  .post-content { order: -1; }
  .post-navigation { position: sticky; top: 0; z-index: 2; margin-bottom: .85rem; padding: .6rem 0; border-bottom: 1px solid var(--border); background: var(--bg); }
  .post-wiki-banner { flex-direction: column; align-items: stretch; gap: .5rem; padding: .75rem .85rem; }
  .post-wiki-banner-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .2rem .75rem; }
  .post-wiki-banner-heading strong { font-size: 1rem; }
  .post-wiki-banner-heading > span { margin: 0; }
  .post-wiki-banner-links { gap: .2rem .8rem; }
  .caption { font-size: .9rem; }
  .page-shell { width: calc(100% - 1.5rem); }
  .wiki-sidebar { display: contents; }
  .wiki-sidebar > .search-form { order: -2; }
  .wiki-article, .wiki-index { order: -1; }
  .wiki-sidebar > section { border-top: 1px solid var(--border); padding-top: .5rem; }
  .wiki-recent { display: none; }
  .wiki-article { padding: 1.1rem 1rem; }
  .wiki-header h1 { font-size: 1.7rem; }
  .wiki-body { font-size: .92rem; }
  .wiki-page-row { grid-template-columns: 1fr; gap: .4rem; }
  .wiki-page-row > span { white-space: normal; }
  .wiki-post-grid { grid-template-columns: repeat(auto-fill, minmax(115px, 1fr)); gap: .4rem; }
  .wiki-post-grid .preview-frame { min-height: 145px; }
  .wiki-post-grid .post-preview img { height: 145px; }
  .collection-card { align-items: flex-start; gap: .75rem; padding-block: 1rem; }
  .collection-card h2 { font-size: 1rem; }
  .collection-card > span { padding-top: .2rem; }
  .collection-heading h1 { font-size: 1.7rem; }
  .collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .collection-grid img { height: 180px; }
  .collection-grid .preview-frame { min-height: 180px; }
  .prose h1 { font-size: 1.8rem; }
  .site-links > div { grid-template-columns: 1fr; gap: .55rem; }
  .site-link-host { margin-top: .15rem; }
  footer { margin: 2rem .75rem 0; padding-block: 1rem; gap: 1rem; }
}
