@font-face {
  font-family: "IBM Plex Mono";
  src: url("/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --color-background: #050505;
  --color-surface: #0b0c0b;
  --color-surface-elevated: #11120f;
  --color-text: #d8d9d0;
  --color-text-strong: #f1f2e9;
  --color-text-muted: #77796f;
  --color-text-inverse: #050505;
  --color-border: rgba(216, 217, 208, 0.16);
  --color-border-strong: rgba(216, 217, 208, 0.34);
  --color-focus: #f1f2e9;
  --color-warning: #e4c934;
  --color-error: #d33428;
  --color-success: #d8d9d0;
  --font-ui: "IBM Plex Mono", "Lucida Console", "Courier New", monospace;
  --text-xs: 10px;
  --text-sm: 11px;
  --text-base: 12px;
  --text-lg: clamp(15px, 1.35vw, 20px);
  --text-xl: clamp(22px, 2.45vw, 38px);
  --space-1: 4px;
  --space-2: 7px;
  --space-3: 10px;
  --space-4: 14px;
  --space-5: 18px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 48px;
  --page-width: 1480px;
  --menu-gap: clamp(8px, 1.1vw, 17px);
  --motion-fast: 90ms;
  --motion-medium: 360ms;

  /* Compatibility aliases for the pre-migration component scripts. */
  --bg: var(--color-background);
  --text: var(--color-text);
  --muted: var(--color-text-muted);
  --line: var(--color-border);
  --accent: var(--color-text-strong);
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  min-width: 280px;
  background: var(--color-background);
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body {
  margin: 0;
  min-width: 280px;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 50% 26%, rgba(255, 255, 255, 0.032), transparent 54%),
    var(--color-background);
  color: var(--color-text);
  font-family: var(--font-ui);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -0.025em;
}

body::after {
  content: "";
  position: fixed;
  z-index: 1000;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0 2px, rgba(255, 255, 255, 0.02) 3px, transparent 4px);
  mix-blend-mode: screen;
  opacity: 0.42;
}

body.is-loading { cursor: progress; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button { border-radius: 0; }
img, video { display: block; max-width: 100%; }
figure { margin: 0; }
[hidden] { display: none !important; }

a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 1px solid var(--color-focus);
  outline-offset: 3px;
}

::selection { background: var(--color-text); color: var(--color-text-inverse); }

.skip-link {
  position: fixed;
  z-index: 1100;
  top: 4px;
  left: 4px;
  padding: 6px 8px;
  translate: 0 -160%;
  background: var(--color-text-strong);
  color: var(--color-text-inverse);
}
.skip-link:focus { translate: 0; }

.page-shell {
  width: min(94vw, var(--page-width));
  min-height: 100svh;
  margin: 0 auto;
  padding: 12px 0 10px;
  display: flex;
  flex-direction: column;
}

.site-header {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: var(--space-5);
  min-height: 28px;
  color: var(--color-text-muted);
  white-space: nowrap;
}

.status-brand-wrap,
.status-meta,
.header-center,
.primary-nav {
  display: flex;
  align-items: center;
}

.status-brand-wrap { gap: 14px; }
.signal {
  flex: 0 0 auto;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-text-strong);
  box-shadow: 0 0 5px var(--color-text-strong);
  animation: signal-color-cycle 16s linear infinite;
  animation-delay: var(--signal-animation-delay, 0ms);
}
.brand { color: var(--color-text-strong); font-weight: 700; }
.brand:hover { text-shadow: 0 0 5px rgba(255, 255, 255, 0.45); }
.header-center { justify-self: center; gap: var(--space-6); }
.header-index { margin: 0; font: inherit; color: var(--color-text-muted); }
.primary-nav { gap: clamp(8px, 1vw, 16px); }
.primary-nav .nav-info { display: none; }
.primary-nav a,
.status-meta a { transition: color var(--motion-fast), text-shadow var(--motion-fast); }
.primary-nav a:hover,
.primary-nav a[aria-current="page"],
.status-meta a:hover { color: var(--color-text-strong); text-shadow: 0 0 5px rgba(255, 255, 255, 0.38); }
.status-meta { justify-self: end; gap: 18px; }
.session-readout { display: flex; gap: 10px; }

.site-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  margin-top: auto;
  padding-top: 7px;
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
  min-height: 24px;
}
.site-footer > :last-child { justify-self: end; }
.version-trigger {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-transform: uppercase;
}
.version-trigger:hover { color: var(--color-text-strong); }

.home-main { display: flex; flex-direction: column; }
.home-hero { width: 100%; }
.hero-stack {
  position: relative;
  width: 100%;
  height: min(58vh, 610px);
  min-height: 370px;
  overflow: hidden;
  background: var(--color-surface-elevated);
}
.hero-stack::before,
.hero-stack::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
}
.hero-stack::before {
  background: repeating-linear-gradient(0deg, transparent 0 2px, rgba(255, 255, 255, 0.034) 3px, rgba(0, 0, 0, 0.056) 4px, transparent 5px);
  opacity: 0.47;
}
.hero-stack::after {
  background: linear-gradient(180deg, transparent 0 39%, rgba(235, 241, 232, 0.15) 48%, rgba(0, 0, 0, 0.12) 52%, transparent 61%);
  background-size: 100% 180%;
  background-position: 0 50%;
  mix-blend-mode: overlay;
  opacity: 0.22;
}
.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity var(--motion-medium) ease-in-out;
  will-change: opacity;
}
.hero-slide.is-active { z-index: 1; opacity: 1; }
.hero-slide.is-incoming { z-index: 2; }
.hero-slide source,
.hero-slide img { width: 100%; height: 100%; }
.hero-slide img { object-fit: cover; object-position: center; filter: none; }
.hero-overlay {
  position: absolute;
  z-index: 4;
  inset: 10px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  color: rgba(230, 232, 220, 0.7);
  text-shadow: 0 0 4px #000;
  pointer-events: none;
}
.hero-caption {
  min-height: 25px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  color: var(--color-text-muted);
}
.hero-caption button {
  border: 0;
  padding: 4px 0 4px 12px;
  background: transparent;
  cursor: pointer;
}
.hero-caption button:hover { color: var(--color-text-strong); text-shadow: 0 0 5px var(--color-text); }

.home-index-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(198px, 16%);
  gap: clamp(14px, 1.6vw, 24px);
  align-items: start;
  padding-top: 5px;
  margin-bottom: 20px;
}
.section-menu {
  display: grid;
  grid-template-columns: 1fr 0.98fr 0.95fr 0.85fr 1.35fr 1.4fr;
  column-gap: var(--menu-gap);
  row-gap: 24px;
  align-items: start;
}
.data-placeholder { margin: 0; color: var(--color-text-muted); }
.menu-column { min-width: 0; display: flex; flex-direction: column; align-items: stretch; }
.menu-column h2 {
  width: calc(100% + var(--menu-gap));
  display: flex;
  justify-content: space-between;
  gap: 6px;
  margin: 0 0 4px;
  color: var(--color-text-strong);
  font: inherit;
  font-weight: 700;
}
.menu-column h2 > a { width: 100%; min-width: 0; display: flex; justify-content: space-between; gap: 6px; padding: 1px var(--menu-gap) 1px 0; overflow: hidden; white-space: nowrap; }
.menu-column h2 .menu-heading-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.menu-column h2 .menu-heading-count { flex: 0 0 auto; color: var(--color-text-muted); font-weight: 400; }
.menu-column h2.subhead { margin-top: 12px; }
.menu-column h2 > a:hover,
.menu-column h2 > a:focus-visible {
  padding-left: 2px;
  background: var(--color-text);
  color: var(--color-text-inverse);
}
.menu-column h2 > a:hover .menu-heading-count,
.menu-column h2 > a:focus-visible .menu-heading-count { color: var(--color-text-inverse); }
.menu-column h2 a:focus-visible { outline: 0; }
.menu-column > a,
.menu-column > .menu-empty {
  position: relative;
  z-index: 1;
  width: calc(100% + var(--menu-gap));
  min-width: 0;
  padding: 1px var(--menu-gap) 1px 0;
  overflow: hidden;
  color: var(--color-text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu-column > a {
  transition: color var(--motion-fast), background-color var(--motion-fast), padding var(--motion-fast);
}
.menu-column > a i { float: right; color: inherit; font-style: normal; }
.menu-column > a:hover,
.menu-column > a:focus-visible,
.menu-column > a.is-active:hover {
  z-index: 2;
  padding-left: 2px;
  outline: 0;
  background: var(--color-text);
  color: var(--color-text-inverse);
}
.menu-column > a.is-active { color: #bfc1b7; text-shadow: 0 0 4px rgba(255, 255, 255, 0.24); }
.menu-column > .menu-empty { white-space: normal; line-height: 1.18; }
.updates-column { grid-column: span 3; }
.info-column > a { width: calc(100% + var(--menu-gap)); padding-right: var(--menu-gap); }

.system-panel { min-width: 0; }
.system-log h2,
.system-panel h2 { margin: 0 0 4px; padding-left: 1px; color: var(--color-text-strong); font: inherit; font-weight: 700; }
.system-panel dl { margin: 0; }
.system-panel dl > div,
.system-log dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  min-height: 14px;
  color: var(--color-text-muted);
}
.system-panel dt,
.system-panel dd,
.system-log dt,
.system-log dd { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.system-panel dd,
.system-log dd { color: var(--color-text); text-align: right; }
.system-log dd.is-system-signal,
.system-log dd[data-system-status].has-system-signal {
  color: var(--color-warning);
  text-shadow: 0 0 6px rgba(228, 201, 52, 0.42);
}
.system-log dd[data-system-status].has-system-signal {
  max-width: 145px;
  overflow: visible;
  white-space: normal;
}
.system-log dd { visibility: hidden; }
.system-ready .system-log dd { visibility: visible; }
.system-panel .study-row,
.system-log .study-row { margin-top: 10px; padding-top: 4px; border-top: 1px solid var(--color-border); }
.system-panel .study-row dd,
.system-log .study-row dd { max-width: 116px; }
.system-panel .location-row,
.system-log .location-row { padding-top: 2px; }
.lore-block { margin-top: 24px; }
.lore-block p { margin: 0; color: var(--color-text-muted); line-height: 1.3; }
.lore-block a:hover { text-shadow: 0 0 5px rgba(255, 255, 255, 0.5); }

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 var(--space-6);
  color: var(--color-text-muted);
}
.breadcrumbs a:hover { color: var(--color-text-strong); }
.content-link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.content-link:hover { color: var(--color-text-strong); }

.info-layout {
  display: grid;
  grid-template-columns: minmax(190px, 0.28fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 88px);
  padding: var(--space-7) 0 var(--space-8);
}
.info-sidebar,
.info-index { min-width: 0; }
.info-main,
.info-article { max-width: 920px; }
.info-header-image { display: block; width: 100%; height: auto; margin: 0 0 var(--space-5); }
.info-main h1,
.info-main h2,
.info-main h3,
.info-article h1,
.info-article h2,
.info-article h3 { color: var(--color-text-strong); font-weight: 700; }
.info-main h1,
.info-article h1 { margin: 0 0 var(--space-7); font-size: var(--text-xl); line-height: 0.96; }
.info-main h2,
.info-article h2 { margin: var(--space-8) 0 var(--space-4); font-size: var(--text-lg); }
.info-main h3,
.info-article h3 { margin: var(--space-5) 0 var(--space-2); font-size: inherit; }
.info-main p,
.info-article p { max-width: 76ch; line-height: 1.55; }
.info-main blockquote,
.info-article blockquote { margin: var(--space-7) 0; padding-left: var(--space-4); border-left: 1px solid var(--color-border-strong); color: var(--color-text-strong); }
.info-main ul,
.info-main ol,
.info-article ul,
.info-article ol { max-width: 72ch; padding-left: 1.3em; line-height: 1.5; }
.info-contents a,
.contents-nav a,
.info-index a { display: block; padding: 2px 0; color: var(--color-text-muted); }
.info-contents a:hover,
.contents-nav a:hover,
.info-index a:hover { color: var(--color-text-strong); }

.not-found-layout { padding: clamp(60px, 12vh, 150px) 0 var(--space-8); }
.not-found-code { margin: 0; color: var(--color-text-strong); font-size: clamp(72px, 18vw, 260px); font-weight: 700; line-height: 0.76; letter-spacing: -0.08em; }
.not-found-copy { max-width: 62ch; margin-top: var(--space-7); }
.not-found-random { margin-top: var(--space-8); }
.not-found-random h2 { font: inherit; font-weight: 700; }

.version-manifest {
  width: min(250px, calc(100vw - 24px));
  padding: 0;
  border: 1px solid var(--color-border-strong);
  background: var(--color-background);
  color: var(--color-text);
}
.version-manifest::backdrop { background: rgba(0, 0, 0, 0.76); }
.version-manifest-panel { padding: var(--space-4); }
.version-manifest-header { display: flex; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border); font-weight: 700; }
.version-manifest-close { border: 0; padding: 0; background: transparent; cursor: pointer; }
.version-manifest-copy dl { margin: var(--space-4) 0; }
.version-manifest-copy dl > div { display: grid; grid-template-columns: 1fr auto; gap: var(--space-4); padding: 2px 0; }
.version-manifest-copy dt { color: var(--color-text-muted); }
.version-manifest-copy dd { margin: 0; }
.version-signature { margin: var(--space-6) 0 0; color: var(--color-text-muted); }

@keyframes signal-color-cycle {
  0%, 100% { background: #f1f2e9; box-shadow: 0 0 5px rgba(241, 242, 233, 0.9); }
  36% { background: #d33428; box-shadow: 0 0 6px rgba(211, 52, 40, 0.82); }
  70% { background: #e4c934; box-shadow: 0 0 6px rgba(228, 201, 52, 0.78); }
}

@media (min-width: 1051px) {
  .section-menu { grid-template-rows: 164px auto; }
  .menu-column:nth-child(6) h2 { width: 100%; }
  .menu-column:nth-child(6) h2 > a { padding-right: 0; }
  .latest-archive-column > a { width: calc(100% + clamp(14px, 1.6vw, 24px)); padding-right: clamp(14px, 1.6vw, 24px); }
  .home-system-panel { display: grid; grid-template-rows: 164px auto; row-gap: 24px; align-content: start; }
  .home-system-panel .lore-block { margin-top: 0; }
}

@media (max-width: 1180px) {
  .site-header { grid-template-columns: auto 1fr auto; }
  .header-index { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .home-index-layout { grid-template-columns: minmax(0, 1fr) 190px; }
  .section-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 22px; }
  .updates-column { grid-column: span 2; }
  .menu-column:nth-child(3n) > a { width: 100%; padding-right: 3px; }
  .menu-column:nth-child(3n) h2 { width: 100%; }
  .menu-column:nth-child(3n) h2 > a { padding-right: 0; }
  .hero-stack { height: min(54vh, 540px); }
}

@media (max-width: 820px) {
  body { font-size: var(--text-sm); }
  .page-shell { width: calc(100% - 20px); padding-top: 7px; }
  .site-header { grid-template-columns: 1fr auto; align-items: start; row-gap: 6px; padding-bottom: 5px; }
  .header-center { grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0; justify-self: stretch; overflow: visible; padding: 3px 0 2px; border-top: 1px solid var(--color-border); }
  .primary-nav { display: grid; grid-template-columns: repeat(5, max-content); grid-template-rows: auto; width: 100%; min-width: 0; justify-content: space-between; gap: 4px; font-size: 10px; letter-spacing: -0.05em; }
  .primary-nav .nav-info { display: block; }
  .primary-nav .nav-updates { display: none; }
  .status-meta .info-link { display: none; }
  body:not(.home-page) .site-header { grid-template-rows: 28px auto; }
  body:not(.home-page) .status-brand-wrap,
  body:not(.home-page) .status-meta { align-self: center; }
  .home-page .header-center { display: none; }
  .home-page .site-header { align-items: center; padding-bottom: 0; }
  .hero-stack { height: auto; min-height: 0; aspect-ratio: 1.45 / 1; }
  .home-index-layout { grid-template-columns: 1fr; gap: 22px; padding-top: 12px; }
  .home-page .page-shell,
  .home-main,
  .home-hero,
  .home-index-layout,
  .section-menu { width: 100%; max-width: 100%; min-width: 0; }
  .home-page .page-shell { width: calc(100% - 20px); overflow-x: clip; }
  .section-menu { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 12px; --menu-gap: 12px; }
  .updates-column { grid-column: 1 / -1; }
  .latest-events-column,
  .latest-archive-column { grid-column: span 2; }
  .menu-column:nth-child(odd) > a,
  .menu-column:nth-child(even) > a { width: 100%; max-width: 100%; padding-right: 3px; }
  .menu-column:nth-child(odd) h2,
  .menu-column:nth-child(even) h2 { width: 100%; }
  .menu-column:nth-child(odd) h2 > a,
  .menu-column:nth-child(even) h2 > a { padding-right: 3px; }
  .menu-column.updates-column > a,
  .menu-column.updates-column > .menu-empty,
  .menu-column.latest-events-column > a,
  .menu-column.latest-archive-column > a { width: 100%; padding-right: 3px; }
  .home-system-panel { padding-top: 8px; border-top: 1px solid var(--color-border); }
  .system-panel .study-row dd { max-width: none; }
  .hero-overlay { font-size: 9px; }
  .info-layout { grid-template-columns: 1fr; gap: var(--space-6); padding-top: var(--space-5); }
  .info-sidebar,
  .info-index { border-bottom: 1px solid var(--color-border); padding-bottom: var(--space-4); }
}

@media (max-width: 600px) {
  .section-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .latest-events-column,
  .latest-archive-column { grid-column: auto; }
  .updates-column { grid-column: 1 / -1; }
}

@media (max-width: 466px) {
  .section-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .latest-events-column,
  .latest-archive-column,
  .updates-column { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
  .session-readout > span:first-child { display: none; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer > :last-child { display: none; }
  .hero-overlay { inset: 6px; }
  .section-menu { gap: 20px 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
.listing-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: clamp(24px, 3.6vw, 62px);
  padding: var(--space-7) 0 var(--space-8);
  align-items: start;
}

.listing-sidebar {
  min-width: 0;
  display: grid;
  gap: var(--space-6);
  position: sticky;
  top: var(--space-4);
}

.listing-sidebar .system-panel {
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.filter-disclosure { min-width: 0; }
.filter-disclosure > summary {
  cursor: pointer;
  color: var(--color-text-strong);
  font-weight: 700;
  list-style: none;
  text-transform: uppercase;
}
.filter-disclosure > summary::-webkit-details-marker { display: none; }
.filter-disclosure > summary::before { content: "[+] "; color: var(--color-text-muted); font-weight: 400; }
.filter-disclosure[open] > summary::before { content: "[−] "; }
.filter-body { padding-top: var(--space-4); }
.filter-groups { display: grid; gap: var(--space-5); }
body[data-listing-kind="events"] .filter-group:has([data-filter-key="status"]) { order: 99; }
.filter-group h2 { margin: 0 0 var(--space-2); color: var(--color-text-strong); font: inherit; font-weight: 700; }
.filter-group ul { margin: 0; padding: 0; list-style: none; }
.filter-option,
.filter-reset,
.filter-chip,
.listing-view-toggle,
.sort-button,
.load-more,
.empty-reset {
  border: 0;
  background: transparent;
  cursor: pointer;
}
.filter-option {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 2px 0;
  color: var(--color-text-muted);
  text-align: left;
}
.filter-option:hover,
.filter-option.is-active {
  padding-left: 4px;
  background: var(--color-text);
  color: var(--color-text-inverse);
}
.filter-reset { margin-top: var(--space-4); padding: 0; color: var(--color-text-muted); text-decoration: underline; text-underline-offset: 3px; }

.listing-content { min-width: 0; }
.listing-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--space-5);
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}
.listing-heading h1 {
  margin: 0;
  color: var(--color-text-strong);
  font-size: var(--text-lg);
  line-height: 1;
}
.listing-heading h1 span { color: var(--color-text-muted); font-size: var(--text-base); font-weight: 400; }
.listing-heading p { max-width: 72ch; margin: var(--space-2) 0 0; color: var(--color-text-muted); }
body[data-listing-kind="events"] .listing-heading { margin-bottom: 0; border-bottom: 0; }
body[data-listing-kind="events"] .listing-heading p { max-width: 82ch; }
.listing-heading-actions { display: flex; align-items: center; justify-self: end; gap: var(--space-5); }
.listing-view-toggle { padding: 5px 0; color: var(--color-text-muted); }
.listing-view-toggle [data-view-option] { font-weight: 400; }
.listing-view-toggle [data-view-option].is-active { color: var(--color-text-strong); font-weight: 700; }
.listing-view-toggle:hover { color: var(--color-text); }
.sort-button { padding: 5px 0 5px 12px; color: var(--color-text-muted); text-transform: uppercase; }
.listing-heading-actions .sort-button { padding-left: 0; }
.sort-button:hover { color: var(--color-text-strong); }

.active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
  margin: 0 0 var(--space-5);
  color: var(--color-text-muted);
}
.filter-chip { padding: 3px 5px; border: 1px solid var(--color-border); color: var(--color-text); }
.filter-chip:hover { background: var(--color-text); color: var(--color-text-inverse); }

.card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 34px) clamp(10px, 1.3vw, 20px);
  align-items: start;
}
.listing-page .card-grid[aria-busy="true"] {
  min-height: 220px;
  visibility: hidden;
}
.listing-index-view {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-7) clamp(12px, 1.5vw, 22px);
  align-items: start;
}
.listing-index-group { min-width: 0; }
.listing-index-group h2 {
  display: flex;
  justify-content: space-between;
  gap: var(--space-2);
  margin: 0 0 4px;
  color: var(--color-text-strong);
  font: inherit;
  font-weight: 700;
}
.listing-index-group h2 > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listing-index-group h2 i,
.listing-index-row i { flex: 0 0 auto; color: var(--color-text-muted); font-style: normal; font-weight: 400; }
.listing-index-row {
  width: 100%;
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: var(--space-2);
  padding: 1px 0;
  overflow: hidden;
  color: var(--color-text-muted);
  white-space: nowrap;
  transition: color var(--motion-fast), background-color var(--motion-fast), padding var(--motion-fast);
}
.listing-index-row > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.listing-index-row:hover,
.listing-index-row:focus-visible { padding-left: 2px; outline: 0; background: var(--color-text); color: var(--color-text-inverse); }
.listing-index-row:hover i,
.listing-index-row:focus-visible i { color: var(--color-text-inverse); }
body[data-listing-kind="archive"] .card-grid,
body[data-listing-kind="releases"] .card-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.listing-loading { min-height: 180px; }
.listing-card {
  min-width: 0;
  display: block;
  color: var(--color-text-muted);
}
.card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  margin: 0 0 var(--space-2);
  overflow: hidden;
  background: var(--color-surface);
}
.card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.28) saturate(0.82);
  opacity: 0.9;
  transition: filter 180ms linear, opacity 180ms linear;
}
.listing-card:hover .card-media img,
.listing-card:focus-within .card-media img,
.listing-card:focus-visible .card-media img {
  filter: none;
  opacity: 1;
}
.card-caption {
  display: block;
  min-width: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.card-kind,
.release-card-meta { color: var(--color-text-muted); }
.listing-card:hover .card-caption,
.listing-card:focus-within .card-caption { color: var(--color-text-strong); }
.card-placeholder {
  display: grid;
  place-items: center;
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
  text-align: center;
  line-height: 1.2;
}
.seen-badge {
  position: absolute;
  z-index: 2;
  top: 5px;
  right: 5px;
  padding: 2px 4px;
  background: var(--color-background);
  color: var(--color-text);
  font-size: var(--text-xs);
}
.listing-card.is-seen .card-media img { opacity: 0.72; }
.listing-card.is-seen:hover .card-media img { opacity: 1; }

.release-detail-link { display: block; }
.release-caption { display: grid; gap: 2px; }
.release-card-name { color: var(--color-text); }
.release-artist-link,
.release-title-link { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.release-artist-link:hover,
.release-title-link:hover { text-decoration-color: currentColor; }

.event-grid,
body[data-listing-kind="events"] .card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
.event-card {
  min-height: 220px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 190px);
  grid-template-areas: "copy poster";
  gap: var(--space-3);
  padding: var(--space-3);
  border-top: 1px solid var(--color-border);
  transition: background-color var(--motion-fast), color var(--motion-fast);
}
.event-card:hover,
.event-card:focus-visible { outline: 0; background: var(--color-text); color: var(--color-text-inverse); }
.event-card-copy { grid-area: copy; min-width: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.event-card-type { color: var(--color-text-muted); }
.event-card-title { color: var(--color-text-strong); font-weight: 700; line-height: 1.08; }
.event-card-facts { display: flex; flex-wrap: wrap; gap: 4px 8px; }
.event-card-location { margin-top: auto; }
.event-card-performers {
  overflow: hidden;
  color: var(--color-text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.event-card-description { display: none; grid-area: description; line-height: 1.35; }
.event-card-poster { grid-area: poster; width: 100%; max-height: 216px; align-self: start; object-fit: contain; object-position: left top; filter: grayscale(0.28) saturate(0.82); opacity: 0.9; }
.event-card:hover .event-card-poster,
.event-card:focus-visible .event-card-poster { filter: none; opacity: 1; }
.event-card:hover .event-card-title,
.event-card:focus-visible .event-card-title,
.event-card:hover .event-card-type,
.event-card:focus-visible .event-card-type { color: var(--color-text-inverse); }
.event-media-unavailable { display: grid; place-items: center; min-height: 150px; border: 1px solid currentColor; text-align: center; }

.empty-state {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
}
.empty-state p { max-width: 62ch; margin: 0 0 var(--space-3); }
.empty-reset { padding: 0; color: var(--color-text); text-decoration: underline; text-underline-offset: 3px; }
.load-more {
  width: 100%;
  margin-top: var(--space-7);
  padding: var(--space-3);
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
  text-align: left;
}
.load-more:hover { background: var(--color-text); color: var(--color-text-inverse); }

@media (max-width: 1240px) {
  .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-listing-kind="archive"] .card-grid,
  body[data-listing-kind="releases"] .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body[data-listing-kind="events"] .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-card { grid-template-columns: minmax(0, 1fr) minmax(110px, 150px); }
  .listing-index-view { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 940px) {
  .listing-layout { grid-template-columns: 1fr; gap: var(--space-6); padding-top: var(--space-5); }
  .listing-sidebar { position: static; grid-template-columns: minmax(180px, 0.4fr) minmax(0, 1fr); align-items: start; }
  .listing-sidebar .system-panel { border-bottom: 0; padding-bottom: 0; }
  .filter-body { padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
  .filter-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
  body[data-listing-kind="archive"] .card-grid,
  body[data-listing-kind="releases"] .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .listing-sidebar { grid-template-columns: 1fr; }
  .filter-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .listing-heading { grid-template-columns: 1fr; align-items: start; }
  .listing-heading-actions { justify-self: start; }
  .sort-button { justify-self: start; padding-left: 0; }
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-listing-kind="archive"] .card-grid,
  body[data-listing-kind="releases"] .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-grid,
  body[data-listing-kind="events"] .card-grid { grid-template-columns: 1fr; }
  .event-card { grid-template-columns: minmax(100px, 0.72fr) minmax(0, 1fr) minmax(90px, 28vw); grid-template-areas: "copy description poster"; min-height: 175px; gap: var(--space-3); }
  .event-card-performers { display: none; }
  .event-card-description { display: block; }
  .listing-index-view { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .card-grid { gap: 18px 10px; }
  .event-card {
    grid-template-columns: minmax(0, 1fr) minmax(90px, 34vw);
    grid-template-areas: "copy poster" "description description";
  }
  .listing-index-view { grid-template-columns: 1fr; }
}
.entity-main {
  min-width: 0;
  padding: var(--space-7) 0 var(--space-8);
}

.entity-kicker {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-text-muted);
  text-transform: uppercase;
}
.entity-heading {
  max-width: 22ch;
  margin: 0;
  color: var(--color-text-strong);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.05em;
  overflow-wrap: anywhere;
}
.entity-summary {
  max-width: 68ch;
  margin: var(--space-4) 0 0;
  color: var(--color-text-muted);
  font-size: clamp(13px, 1.15vw, 17px);
  line-height: 1.4;
}
.entity-subheading {
  margin: 0 0 var(--space-3);
  color: var(--color-text-strong);
  font: inherit;
  font-weight: 700;
}
.entity-prose { max-width: 72ch; color: var(--color-text); line-height: 1.55; }
.entity-prose p { margin: 0 0 1em; }
.entity-prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entity-prose a:hover { color: var(--color-text-strong); }
.entity-prose h2,
.entity-prose h3 { margin: var(--space-7) 0 var(--space-3); color: var(--color-text-strong); font-size: inherit; }

.fact-list { margin: var(--space-6) 0; border-top: 1px solid var(--color-border); }
.fact-list > div {
  display: grid;
  grid-template-columns: minmax(100px, 0.32fr) minmax(0, 1fr);
  gap: var(--space-4);
  padding: 4px 0;
  border-bottom: 1px solid var(--color-border);
}
.fact-list dt { color: var(--color-text-muted); text-transform: uppercase; }
.fact-list dd { margin: 0; overflow-wrap: anywhere; }

.entity-media { min-width: 0; background: var(--color-surface); }
.entity-media img { width: 100%; height: auto; }
.zoomable-image { cursor: zoom-in; }

.artist-profile-intro { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(320px, 0.86fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.artist-profile-photo { width: 100%; overflow: hidden; background: transparent; }
.artist-profile-photo img { width: 100%; height: auto; object-fit: contain; object-position: left top; }
.artist-profile-panel { min-width: 0; display: grid; align-content: start; }
.artist-profile-heading { display: grid; grid-template-columns: clamp(88px, 9vw, 128px) minmax(0, 1fr); gap: var(--space-5); align-items: end; }
.artist-logo {
  width: 100%;
  aspect-ratio: 1;
  background: transparent var(--logo-url) center / contain no-repeat;
}
.artist-identity { min-width: 0; align-self: end; }
.artist-identity .entity-summary { margin-top: var(--space-2); }
.artist-socials { margin-top: var(--space-6); }
.artist-links-label { margin: 0 0 var(--space-3); font: inherit; font-weight: 700; }
.artist-description { max-width: 58ch; margin: var(--space-5) 0 0; color: var(--color-text-muted); line-height: 1.45; }
.artist-members-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.artist-members-grid p { margin: 0; color: var(--color-text-muted); line-height: 1.4; }
.tag-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.tag-links a { padding: 3px 5px; border: 1px solid var(--color-border); color: var(--color-text-muted); }
.tag-links a:hover { background: var(--color-text); color: var(--color-text-inverse); }
.artist-catalog-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: clamp(24px, 4vw, 64px); margin-top: var(--space-8); }
.artist-archive-relations { grid-column: 1 / -1; }
.artist-release-list,
.artist-event-grid,
.relation-list { margin: 0; padding: 0; list-style: none; }
.artist-release-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.artist-release-list a { display: block; }
.artist-release-list img,
.artist-release-media-unavailable { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: var(--color-surface); }
.artist-release-media-unavailable { display: grid; place-items: center; padding: 8px; text-align: center; }
.artist-release-copy { display: grid; gap: 2px; margin-top: var(--space-2); }
.artist-release-title { color: var(--color-text-strong); }
.artist-release-meta { color: var(--color-text-muted); }
.artist-event-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--space-2); }
.artist-event-grid .relation-card { grid-template-columns: 42px minmax(0, 1fr); gap: var(--space-2); padding: 5px; border: 1px solid var(--color-border); }
.artist-event-grid .relation-thumbnail { width: 42px; height: 42px; }
.artist-event-grid .relation-copy > span:last-child { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.release-detail-layout,
.event-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(280px, 0.7fr);
  gap: clamp(28px, 6vw, 96px);
  align-items: start;
}
.release-detail-copy,
.event-detail-copy { min-width: 0; }
.release-artist { margin-bottom: var(--space-2); color: var(--color-text-muted); font-size: var(--text-lg); }
.release-cover,
.release-detail-cover,
.event-detail-poster { grid-column: 2; grid-row: 1; width: fit-content; max-width: 100%; justify-self: end; background: transparent; }
.release-cover img,
.release-detail-cover img { aspect-ratio: 1; object-fit: cover; }
.event-detail-poster img { width: auto; max-width: 100%; max-height: 72vh; object-fit: contain; object-position: left top; }
.streaming-block,
.release-socials { margin-top: var(--space-6); }
.streaming-links { display: grid; gap: 3px; }
.streaming-links a { width: fit-content; color: var(--color-text-muted); }
.streaming-links a:hover { padding-left: 4px; background: var(--color-text); color: var(--color-text-inverse); }

.event-priority { margin-bottom: var(--space-6); }
.event-main-facts { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: var(--space-5); color: var(--color-text-strong); }
.event-main-facts span:not(:last-child)::after,
.event-main-facts time:not(:last-child)::after { content: " /"; color: var(--color-text-muted); }
.ticket-action { display: inline-block; margin-top: var(--space-5); padding: 8px 10px; border: 1px solid var(--color-border-strong); text-transform: uppercase; }
a.ticket-action:hover { background: var(--color-text); color: var(--color-text-inverse); }
.ticket-action-static { color: var(--color-text-muted); }
.event-schedule { margin-top: var(--space-6); border-top: 1px solid var(--color-border); }
.event-schedule > div { display: grid; grid-template-columns: 64px 1fr; gap: var(--space-4); padding: 4px 0; border-bottom: 1px solid var(--color-border); }
.event-schedule time { color: var(--color-text-muted); }

.archive-object-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: clamp(28px, 5vw, 84px);
  align-items: start;
}
.archive-object-layout-no-media { grid-template-columns: minmax(0, 760px); }
.archive-media-stack { min-width: 0; display: grid; grid-column: 1; grid-row: 1; gap: var(--space-7); }
.archive-object-copy { min-width: 0; position: sticky; grid-column: 2; grid-row: 1; top: var(--space-4); }
.archive-object-layout-no-media .archive-object-copy { grid-column: 1; }
.archive-object-copy .fact-list { border-bottom: 1px solid var(--color-border); }
.archive-object-copy .fact-list > div { border-bottom: 0; }
.archive-object-copy .entity-heading { max-width: none; }
.archive-media-group { min-width: 0; }
.archive-gallery:not(.archive-gallery-short),
.archive-gallery-grid:not(.archive-gallery-short) { column-count: 3; column-gap: var(--space-3); }
.archive-gallery-short { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); align-items: start; }
.archive-gallery-1 { grid-template-columns: minmax(0, 420px); }
.archive-gallery-3,
.archive-gallery-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.archive-gallery-item { break-inside: avoid; margin: 0 0 var(--space-3); }
.archive-gallery-short .archive-gallery-item { margin: 0; }
.archive-video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 250px)); gap: var(--space-4); align-items: start; }
.archive-video-item video { width: 100%; height: auto; background: var(--color-surface); }
.archive-video-item figcaption { margin-top: var(--space-2); color: var(--color-text-muted); overflow-wrap: anywhere; }
.archive-audio-grid,
.archive-audio-list { display: grid; gap: var(--space-3); }
.archive-audio-item { display: grid; gap: var(--space-2); padding: var(--space-3) 0; border-top: 1px solid var(--color-border); }
.archive-audio-item audio { width: 100%; }
.archive-document-grid,
.archive-document-list { display: grid; gap: 3px; }
.archive-document-link { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); padding: 4px 0; border-top: 1px solid var(--color-border); }
.archive-document-link:hover { background: var(--color-text); color: var(--color-text-inverse); }
.reference-list { margin-top: var(--space-7); }
.reference-list ol { padding-left: 1.4em; }
.reference-list li { margin-bottom: var(--space-2); overflow-wrap: anywhere; }

.entity-related { margin-top: var(--space-8); padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.relation-groups,
.artist-archive-category-list { display: grid; gap: var(--space-6); }
.relation-group h3,
.artist-archive-category h3 { margin: 0 0 var(--space-3); color: var(--color-text-muted); font: inherit; font-weight: 400; text-transform: uppercase; }
.relation-list,
.artist-event-grid { display: grid; gap: 3px; }
.relation-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  padding: 4px 0;
  border-top: 1px solid var(--color-border);
}
.relation-card:hover { background: var(--color-text); color: var(--color-text-inverse); }
.relation-thumbnail { width: 52px; height: 52px; display: grid; place-items: center; overflow: hidden; background: var(--color-surface); }
.relation-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.relation-copy { min-width: 0; display: grid; gap: 2px; }
.relation-copy strong { color: var(--color-text-strong); font-weight: 700; overflow-wrap: anywhere; }
.relation-card:hover .relation-copy strong { color: var(--color-text-inverse); }
.relation-meta,
.relation-copy > span:last-child,
.relations-empty { color: var(--color-text-muted); }
.relation-card--artist { grid-template-columns: 44px minmax(0, 1fr); }
.relation-card--artist .relation-thumbnail { width: 42px; height: 42px; padding: 4px; background: transparent; }
.relation-card--artist .relation-thumbnail img { object-fit: contain; }
body[data-entity-type="event"] .relation-list:has(.relation-card--artist) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
body[data-entity-type="event"] .relation-list:has(.relation-card--artist) .relation-card { height: 100%; padding: 6px; border: 1px solid var(--color-border); }
.artist-archive-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); }
.artist-archive-list .relation-card { min-height: 68px; padding: 6px; border: 1px solid var(--color-border); }
.artist-archive-mobile,
.artist-mobile-all { display: none; }
.artist-archive-mobile-card { container-type: inline-size; }
.artist-archive-meta-short { display: none; }
.artist-mobile-all {
  margin-top: var(--space-3);
  padding: 7px 9px;
  border: 1px solid var(--color-border);
  text-align: center;
}

.entity-missing { display: grid; gap: var(--space-8); padding-top: clamp(30px, 8vh, 100px); }
.entity-missing-random { padding-top: var(--space-5); border-top: 1px solid var(--color-border); }

.media-viewer {
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  margin: 0;
  padding: 52px 10px;
  border: 0;
  background: rgba(5, 5, 5, 0.97);
  color: var(--color-text);
  place-items: center;
  overflow: hidden;
}
.media-viewer[open] { display: grid; }
.media-viewer::backdrop { background: #050505; }
.media-viewer-stage { position: relative; width: fit-content; max-width: calc(100vw - 20px); max-height: calc(100vh - 112px); }
.media-viewer-stage > img { width: auto; max-width: calc(100vw - 20px); height: auto; max-height: calc(100vh - 112px); object-fit: contain; }
.media-viewer-close { position: absolute; right: 0; bottom: calc(100% + 8px); border: 0; background: transparent; cursor: pointer; }
.media-viewer-controls { position: absolute; top: calc(100% + 8px); left: 50%; width: min(460px, calc(100vw - 20px)); translate: -50% 0; display: flex; justify-content: space-between; gap: var(--space-4); align-items: center; white-space: nowrap; }
.media-viewer-controls button { flex: 0 0 auto; border: 0; background: transparent; cursor: pointer; }
.media-viewer-controls output { flex: 0 0 auto; min-width: 54px; text-align: center; }

@media (max-width: 900px) {
  .entity-main { padding-top: var(--space-5); }
  .artist-profile-intro { grid-template-columns: minmax(0, 1fr) minmax(290px, 0.82fr); gap: var(--space-6); }
  .release-detail-layout,
  .event-detail-layout { grid-template-columns: minmax(0, 1fr) minmax(220px, 0.65fr); gap: var(--space-6); }
  .archive-object-layout { grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); gap: var(--space-6); }
}

@media (max-width: 700px) {
  .artist-profile-intro,
  .release-detail-layout,
  .event-detail-layout,
  .archive-object-layout { grid-template-columns: 1fr; }
  .archive-media-stack,
  .archive-object-copy { grid-column: auto; grid-row: auto; }
  .artist-profile-photo { height: auto; aspect-ratio: auto; }
  .artist-profile-heading { grid-template-columns: 108px minmax(0, 1fr); gap: var(--space-4); }
  .artist-identity { padding-bottom: 0; }
  .artist-identity .entity-kicker { margin-bottom: 6px; font-size: 9px; letter-spacing: -0.06em; white-space: nowrap; }
  .artist-members-grid { grid-template-columns: 1fr; }
  .artist-catalog-grid { grid-template-columns: 1fr; }
  .artist-archive-relations { grid-column: 1; }
  .artist-release-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .artist-event-grid { grid-template-columns: 1fr; }
  .artist-event-grid > li:nth-child(n + 9) { display: none; }
  .artist-events .artist-mobile-all,
  .artist-archive-block .artist-mobile-all { display: block; }
  .artist-archive-category-list { display: none; }
  .artist-archive-mobile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
  .artist-archive-mobile.relations-empty { display: block; }
  .artist-archive-mobile-card {
    height: 100%;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas: "thumbnail copy" "summary summary";
    gap: 6px 8px;
    padding: 6px;
    border: 1px solid var(--color-border);
  }
  .artist-archive-mobile-card .relation-thumbnail { grid-area: thumbnail; width: 44px; height: 44px; }
  .artist-archive-mobile-card .relation-copy { grid-area: copy; align-content: start; overflow: hidden; }
  .artist-archive-meta { overflow: hidden; font-size: 9px; letter-spacing: -0.06em; text-overflow: ellipsis; white-space: nowrap; }
  .artist-archive-mobile-card .relation-copy strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  .artist-archive-summary { grid-area: summary; display: -webkit-box; overflow: hidden; color: var(--color-text-muted); font-size: 10px; line-height: 1.25; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  body[data-entity-type="event"] .relation-list:has(.relation-card--artist) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .release-cover,
  .release-detail-cover,
  .event-detail-poster { grid-column: 1; grid-row: auto; order: -1; }
  .archive-object-copy { position: static; display: contents; }
  .archive-object-description { min-width: 0; order: 0; }
  .archive-media-stack { order: 1; }
  .archive-object-layout .entity-related { order: 2; margin-top: 0; }
  .archive-gallery:not(.archive-gallery-short),
  .archive-gallery-grid:not(.archive-gallery-short) { column-count: 2; }
  .archive-gallery-3,
  .archive-gallery-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .archive-video-item { min-width: 0; }
}

@media (max-width: 420px) {
  .artist-archive-mobile { grid-template-columns: 1fr; }
}

@container (max-width: 220px) {
  .artist-archive-mobile-card .artist-archive-meta-full { display: none; }
  .artist-archive-mobile-card .artist-archive-meta-short { display: inline; }
}

@media (max-width: 380px) {
  .artist-profile-heading { grid-template-columns: 82px minmax(0, 1fr); }
  .artist-archive-list { grid-template-columns: 1fr; }
  .fact-list > div { grid-template-columns: 90px minmax(0, 1fr); }
}

@media (max-width: 310px) {
  body[data-entity-type="event"] .relation-card--artist .relation-copy > strong + span { display: none; }
  body[data-entity-type="event"] .relation-card--artist .relation-copy { overflow: hidden; font-size: 9px; }
}