@font-face {
  font-family: "D-DIN-PRO";
  src: url("./assets/fonts/D-DIN-PRO-package/WOFF2/Normal/D-DIN-PRO-300-Light.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "D-DIN-PRO";
  src: url("./assets/fonts/D-DIN-PRO-package/WOFF2/Normal/D-DIN-PRO-400-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "D-DIN-PRO";
  src: url("./assets/fonts/D-DIN-PRO-package/WOFF2/Normal/D-DIN-PRO-500-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "D-DIN-PRO";
  src: url("./assets/fonts/D-DIN-PRO-package/WOFF2/Normal/D-DIN-PRO-600-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "D-DIN-PRO";
  src: url("./assets/fonts/D-DIN-PRO-package/WOFF2/Normal/D-DIN-PRO-700-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "D-DIN-PRO";
  src: url("./assets/fonts/D-DIN-PRO-package/WOFF2/Normal/D-DIN-PRO-800-ExtraBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "D-DIN-PRO";
  src: url("./assets/fonts/D-DIN-PRO-package/WOFF2/Normal/D-DIN-PRO-900-Heavy.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

@property --home-about-stroke-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

/* About page: cinematic archive note inspired by the homepage language. */
.home-about-float {
  align-items: center;
  background: var(--bg-primary);
  border: 0;
  border-radius: var(--radius-pill);
  bottom: var(--home-about-float-bottom, clamp(1rem, 2.4vw, 1.55rem));
  box-shadow: 0 16px 42px rgba(var(--shadow-rgb), 0.34);
  color: var(--text-primary);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.65rem;
  letter-spacing: 0;
  line-height: 1;
  overflow: hidden;
  padding: 0.9rem 1.2rem;
  position: fixed;
  right: clamp(1rem, 2.4vw, 1.55rem);
  text-transform: uppercase;
  transition:
    background var(--motion-fast),
    border-color var(--motion-fast),
    color var(--motion-fast),
    transform var(--motion-fast);
  z-index: 480;
}

.home-about-float::before {
  animation: home-about-stroke-sweep 3.8s linear infinite;
  background:
    conic-gradient(
      from var(--home-about-stroke-angle),
      var(--accent-red-dark) 0deg,
      var(--accent-red-strong) 52deg,
      var(--accent-red) 92deg,
      var(--accent-red-strong) 138deg,
      var(--accent-red-dark) 186deg,
      var(--accent-red) 244deg,
      var(--accent-red-strong) 304deg,
      var(--accent-red-dark) 360deg
    );
  border-radius: inherit;
  content: "";
  filter: none;
  inset: 0;
  opacity: 1;
  padding: 2px;
  pointer-events: none;
  position: absolute;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.home-about-float .material-symbols-outlined {
  color: var(--accent-red-strong);
  font-size: 1.18rem;
  height: 1em;
  overflow: hidden;
  width: 1em;
}

.home-about-float:hover,
.home-about-float:focus-visible {
  background: var(--accent-red);
  box-shadow: 0 16px 42px rgba(var(--shadow-rgb), 0.34);
  color: #ffffff;
  outline: none;
  transform: translateY(-2px);
}

.home-about-float:hover .material-symbols-outlined,
.home-about-float:focus-visible .material-symbols-outlined {
  color: #ffffff;
}

.home-about-float:hover::before,
.home-about-float:focus-visible::before {
  animation-duration: 2.4s;
  opacity: 1;
  padding: 2px;
}

.home-about-float.is-pulsing:not(:hover):not(:focus-visible) {
  animation: home-about-pulse 2.8s ease-in-out infinite;
}

@keyframes home-about-stroke-sweep {
  to {
    --home-about-stroke-angle: 360deg;
  }
}

@keyframes home-about-pulse {
  0%,
  100% {
    box-shadow: 0 16px 42px rgba(var(--shadow-rgb), 0.34);
  }

  48% {
    box-shadow: 0 16px 42px rgba(var(--shadow-rgb), 0.34);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-about-float.is-pulsing {
    animation: none;
  }

  .home-about-float::before {
    animation: none;
    background: rgba(var(--accent-red-rgb), 0.72);
  }
}

.about-page {
  background: #050505;
  color: var(--text-primary);
}

.about-main {
  --archive-hero-height: clamp(29rem, 51vw, 45rem);
  --archive-hero-collapsed-height: clamp(6.25rem, 7.4vw, 8.125rem);
  min-height: calc(100vh - var(--site-header-height));
}

.about-hero {
  --archive-hero-overlay:
    linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.78) 38%, rgba(0, 0, 0, 0.28) 68%, rgba(0, 0, 0, 0.86) 100%);
  --archive-hero-accent-glow: radial-gradient(circle at 82% 38%, rgba(var(--accent-red-rgb), 0.18), transparent 20rem);
  --archive-hero-image: url("./assets/hero-images/hero/hero-about-optimized.webp");
  --archive-hero-image-position: calc(58% + clamp(70px, 12vw, 210px)) calc(42% + 80px);
  --archive-hero-image-position-collapsed: calc(56% + 140px) calc(40% + 70px);
  --archive-hero-image-size: min(70rem, 68vw) auto;
  --archive-hero-image-size-collapsed: min(46rem, 42vw) auto;
  --archive-hero-image-filter: grayscale(100%) sepia(0.1) contrast(1.2) brightness(0.5);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.08) contrast(1.22) brightness(0.42);
  --archive-hero-image-opacity: 0.88;
  --archive-hero-image-opacity-collapsed: 0.82;
  position: sticky;
}

.about-hero::after {
  background:
    linear-gradient(180deg, transparent 0 78%, #050505 100%),
    radial-gradient(circle, rgba(255, 255, 255, 0.14) 0 1px, transparent 1px);
  background-size: auto, 9px 9px;
  opacity: 0.22;
}

.about-hero__inner {
  max-width: min(1500px, calc(100vw - clamp(2rem, 7vw, 8rem)));
}

.about-hero__copy {
  max-width: min(58rem, 64vw);
}

.about-hero h1 {
  font-size: clamp(4.2rem, 8.5vw, 8.8rem);
  max-width: 13ch;
  text-shadow: 0 10px 38px rgba(0, 0, 0, 0.62);
}

.about-hero h1 span {
  display: block;
}

.about-hero h1::after {
  content: none;
}

.about-hero.styles-hero--collapsed h1 {
  font-size: clamp(2rem, 3vw, 3.4rem);
  max-width: none;
  white-space: nowrap;
}

.about-hero.styles-hero--collapsed h1 span {
  display: inline;
}

.about-hero.styles-hero--collapsed h1::after {
  display: none;
}

.about-hero__subtitle {
  color: var(--accent-red-strong);
  font-size: clamp(1rem, 1.45vw, 1.25rem);
  line-height: 1.56;
  max-height: none;
  max-width: 44rem;
}

.about-hero__vertical {
  color: #f5f5f0;
  top: calc(var(--styles-hero-expanded-height) / 2);
  transform: translateY(-50%);
}

.about-editorial {
  background:
    radial-gradient(circle at 82% 4%, rgba(var(--accent-red-rgb), 0.12), transparent 30rem),
    linear-gradient(180deg, #050505 0%, #0a0a09 46%, #050505 100%);
  overflow: hidden;
  padding: clamp(1.8rem, 4vw, 3rem) 0 clamp(4.5rem, 8vw, 7rem);
  position: relative;
}

.about-editorial::before {
  content: none;
}

.about-editorial::after {
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035), transparent 26%, transparent 74%, rgba(255, 255, 255, 0.035));
  background-size: 10px 10px, auto;
  content: "";
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.45;
  pointer-events: none;
  position: absolute;
}

.about-editorial__inner {
  margin-inline: auto;
  max-width: min(1280px, calc(100vw - clamp(2rem, 8vw, 8rem)));
  position: relative;
  z-index: 3;
}

.about-editorial__sr {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.about-row {
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.16);
  display: grid;
  gap: clamp(1.25rem, 4vw, 4rem);
  grid-template-columns: minmax(18rem, 0.88fr) minmax(0, 1.12fr);
  padding: clamp(1.25rem, 3vw, 2.1rem) 0;
}

.about-row:first-of-type {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.1);
}

.about-row__visual {
  align-items: center;
  display: grid;
  gap: clamp(0.75rem, 1.6vw, 1.2rem);
  grid-template-columns: minmax(4.7rem, auto) minmax(2.8rem, auto) minmax(0, 1fr);
  min-width: 0;
}

.about-row__number {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 800;
  line-height: 0.88;
  margin: 0;
}

.about-row__kanji {
  color: rgba(var(--text-primary-rgb), 0.18);
  font-size: clamp(3rem, 4.8vw, 4.6rem);
  line-height: 0.94;
  margin: 0;
  text-orientation: upright;
  writing-mode: vertical-rl;
}

.about-row__visual img {
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
  filter: grayscale(100%) sepia(0.13) contrast(1.28) brightness(0.7);
  height: auto;
  min-width: 0;
  object-fit: cover;
  width: 100%;
}

.about-row__content {
  align-items: start;
  display: grid;
  gap: clamp(0.9rem, 2vw, 1.5rem);
  grid-template-columns: clamp(2.8rem, 4.8vw, 4.25rem) minmax(0, 1fr);
  min-width: 0;
}

.about-row__icon {
  color: rgba(var(--text-primary-rgb), 0.66);
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  height: 1em;
  line-height: 1;
  overflow: hidden;
  width: 1em;
}

.about-row h3 {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: clamp(1.5rem, 2.25vw, 2.15rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.95;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.about-row h3::first-letter {
  color: var(--accent-red-strong);
}

.about-row p {
  color: rgba(var(--text-primary-rgb), 0.78);
  font-size: clamp(0.98rem, 1.15vw, 1.06rem);
  line-height: 1.55;
  margin: 0;
  max-width: 44rem;
}

.about-contact-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(1.25rem, 2vw, 1.7rem);
}

.about-contact-card {
  border: 1px solid rgba(var(--text-primary-rgb), 0.2);
  min-height: 9rem;
  padding: 1rem 0.8rem;
  text-align: center;
}

.about-contact-card .material-symbols-outlined {
  color: var(--accent-red-strong);
  font-size: 2rem;
  height: 1em;
  margin-bottom: 0.7rem;
  overflow: hidden;
  width: 1em;
}

.about-contact-card h4 {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 0.45rem;
  text-transform: uppercase;
}

.about-contact-card p {
  color: rgba(var(--text-primary-rgb), 0.68);
  font-size: 0.82rem;
  line-height: 1.35;
  margin: 0 auto;
}

.about-contact-line {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: clamp(1rem, 2vw, 1.4rem) !important;
}

.about-contact-line .material-symbols-outlined {
  color: var(--accent-red-strong);
  height: 1em;
  overflow: hidden;
  width: 1em;
}

.about-contact-line a {
  color: var(--accent-red-strong);
  font-weight: 800;
}

.about-contact-line a:hover,
.about-contact-line a:focus-visible {
  color: var(--text-primary);
  outline: none;
}

[data-theme="modern-showa"] .home-about-float,
[data-theme="showa-light"] .home-about-float {
  box-shadow: var(--shadow-card);
}

[data-theme="modern-showa"] .home-about-float:hover,
[data-theme="modern-showa"] .home-about-float:focus-visible,
[data-theme="showa-light"] .home-about-float:hover,
[data-theme="showa-light"] .home-about-float:focus-visible {
  background: var(--accent-red);
  border-color: rgba(var(--accent-red-rgb), 0.86);
  color: #ffffff;
  box-shadow: var(--shadow-card);
}

[data-theme="modern-showa"] .home-about-float:hover .material-symbols-outlined,
[data-theme="modern-showa"] .home-about-float:focus-visible .material-symbols-outlined,
[data-theme="showa-light"] .home-about-float:hover .material-symbols-outlined,
[data-theme="showa-light"] .home-about-float:focus-visible .material-symbols-outlined {
  color: #ffffff;
}

[data-theme="modern-showa"] .about-page,
[data-theme="showa-light"] .about-page {
  background: var(--bg-primary);
}

[data-theme="modern-showa"] .about-main,
[data-theme="showa-light"] .about-main,
[data-theme="modern-showa"] .about-editorial,
[data-theme="showa-light"] .about-editorial {
  background:
    radial-gradient(circle at 82% 4%, rgba(var(--accent-red-rgb), 0.1), transparent 28rem),
    var(--bg-primary);
}

[data-theme="modern-showa"] .about-row__visual img,
[data-theme="showa-light"] .about-row__visual img {
  filter: grayscale(100%) sepia(0.12) contrast(1.08) brightness(0.92);
}

[data-theme="modern-showa"] .about-row__kanji,
[data-theme="showa-light"] .about-row__kanji {
  color: rgba(21, 20, 18, 0.78);
}

@media (max-width: 1120px) {
  .about-hero__copy {
    max-width: min(44rem, 74vw);
  }

  .about-row {
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }

  .about-row__visual {
    grid-template-columns: minmax(4.6rem, auto) minmax(2.5rem, auto) minmax(13rem, 24rem);
  }

  .about-row__content {
    max-width: 48rem;
  }

  .about-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .home-about-float {
    border-radius: var(--radius-xs);
    bottom: auto;
    box-shadow: 0 16px 42px rgba(var(--shadow-rgb), 0.34);
    display: flex;
    font-size: 0.9rem;
    gap: 0.7rem;
    justify-content: center;
    margin: clamp(2.25rem, 8vw, 3.4rem) auto 1.5rem;
    min-height: 3.25rem;
    padding: 0.82rem 1.12rem;
    position: relative;
    width: min(21rem, calc(100vw - 2rem));
  }

  .home-about-float .material-symbols-outlined {
    font-size: 1.22rem;
  }

  .about-main {
    --archive-hero-height: clamp(28rem, 96vw, 34rem);
  }

  .about-hero {
    --archive-hero-image-filter: grayscale(100%) sepia(0.08) contrast(1.14) brightness(0.68);
    --archive-hero-image-opacity: 0.94;
    position: relative;
    top: auto;
  }

  .about-hero__inner {
    max-width: calc(100vw - 2rem);
  }

  .about-hero__copy {
    max-width: 100%;
  }

  .about-hero h1 {
    font-size: clamp(3.15rem, 16vw, 5.1rem);
    max-width: 9ch;
  }

  .about-hero__subtitle {
    font-size: 1rem;
    max-width: 22rem;
  }

  .about-hero__vertical {
    display: none;
  }

  .about-editorial {
    padding-top: 2.5rem;
  }

  .about-editorial__inner {
    max-width: calc(100vw - 2rem);
  }

  .about-row {
    padding: 1.35rem 0 1.55rem;
  }

  .about-row__visual {
    align-items: end;
    grid-template-columns: minmax(3.75rem, auto) minmax(2.2rem, auto) minmax(0, 1fr);
  }

  .about-row__number {
    font-size: clamp(2.75rem, 16vw, 4.2rem);
  }

  .about-row__kanji {
    font-size: clamp(2.4rem, 12vw, 3.3rem);
  }

  .about-row__content {
    grid-template-columns: 1fr;
  }

  .about-row__icon {
    font-size: 2.25rem;
  }

  .about-contact-grid {
    grid-template-columns: 1fr;
  }
}

:root,
[data-theme="showa-light"] {
  color-scheme: light;
  --site-logo-image-height: 46px;
  --bg-primary: #f7f3ea;
  --bg-primary-rgb: 247, 243, 234;
  --bg-secondary: #ede4d3;
  --bg-secondary-rgb: 237, 228, 211;
  --bg-card: #f8f6f2;
  --bg-card-rgb: 248, 246, 242;
  --bg-tertiary: #e4d9c8;
  --bg-panel: #f3ead8;
  --bg-panel-rgb: 243, 234, 216;
  --text-primary: #17130f;
  --text-primary-rgb: 23, 19, 15;
  --text-secondary: #3f382f;
  --text-secondary-rgb: 63, 56, 47;
  --text-muted: #6f665a;
  --text-muted-rgb: 111, 102, 90;
  --accent-red: #b3121d;
  --accent-red-rgb: 179, 18, 29;
  --accent-red-dark: #7d0c15;
  --accent-red-dark-rgb: 125, 12, 21;
  --accent-red-strong: #c1121f;
  --accent-gold: #b8923a;
  --vault-star-gold: #f1c76b;
  --border-subtle: rgba(23, 19, 15, 0.14);
  --border-strong: rgba(var(--text-primary-rgb), 0.28);
  --shadow-rgb: 0, 0, 0;
  --shadow-soft: 0 10px 24px rgba(23, 19, 15, 0.08);
  --shadow-card: 0 1px 0 rgba(23, 19, 15, 0.06), 0 8px 18px rgba(23, 19, 15, 0.07);
  --shadow-panel: 0 12px 28px rgba(23, 19, 15, 0.09);
  --highlight-rgb: 255, 255, 255;
  --sepia-rgb: 83, 34, 22;
  --flag-white: #f7f5ef;
  --flag-blue: #21468b;
  --flag-red: #bc002d;
  --flag-spain-red: #aa151b;
  --flag-spain-gold: #f1bf00;
  --detail-paper-start: #f1ead9;
  --detail-paper-end: #e2d4bd;
  --paper: var(--text-primary);
  --paper-deep: var(--bg-tertiary);
  --paper-solid: var(--bg-primary);
  --paper-solid-dark: var(--bg-secondary);
  --black: var(--bg-primary);
  --black-soft: var(--bg-secondary);
  --charcoal: var(--bg-panel);
  --ink: #111111;
  --ink-soft: #2d2a25;
  --red: var(--accent-red);
  --red-dark: var(--accent-red-dark);
  --yellow: var(--accent-gold);
  --bg: var(--bg-primary);
  --surface: var(--bg-card);
  --surface-muted: var(--bg-panel);
  --text-inverse: var(--bg-primary);
  --text-kicker: var(--accent-red-strong);
  --accent: var(--accent-red);
  --on-accent: #ffffff;
  --on-accent-rgb: 255, 255, 255;
  --status-active: #20d477;
  --status-legacy: #e7a642;
  --rivalry-heat-1: #4a0b10;
  --rivalry-heat-2: #6f0d15;
  --rivalry-heat-3: #95111b;
  --rivalry-heat-4: #b91625;
  --rivalry-heat-5: #ef233c;
  --focus-ring: 0 0 0 3px rgba(var(--accent-red-rgb), 0.2);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --radius-none: 0;
  --radius-xs: 0.25rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.85rem;
  --radius-pill: 999px;
  --control-height-sm: 2.35rem;
  --control-height-md: 2.75rem;
  --control-height-lg: 3rem;
  --control-padding-x-sm: 0.62rem;
  --control-padding-x-md: 0.85rem;
  --control-padding-x-lg: 1.15rem;
  --control-gap-sm: 0.42rem;
  --control-gap-md: 0.5rem;
  --control-gap-lg: 0.75rem;
  --control-bg: rgba(var(--bg-panel-rgb), 0.72);
  --control-bg-hover: rgba(var(--text-primary-rgb), 0.055);
  --control-bg-active: var(--accent-red-strong);
  --control-bg-disabled: rgba(var(--text-primary-rgb), 0.035);
  --control-border-color: rgba(var(--text-primary-rgb), 0.18);
  --control-border-color-hover: rgba(var(--accent-red-rgb), 0.52);
  --control-border-color-active: rgba(var(--accent-red-rgb), 0.92);
  --control-border-color-disabled: rgba(var(--text-primary-rgb), 0.1);
  --control-text: var(--text-primary);
  --control-text-muted: rgba(var(--text-primary-rgb), 0.62);
  --control-text-active: #111111;
  --control-radius: var(--radius-none);
  --control-select-arrow-size: 0.4rem;
  --control-select-arrow-offset: 1.1rem;
  --button-padding-x-sm: var(--control-padding-x-md);
  --button-padding-x-md: var(--control-padding-x-lg);
  --button-padding-x-lg: 1.35rem;
  --button-bg-primary: var(--accent-red);
  --button-bg-primary-hover: var(--accent-red-strong);
  --button-bg-secondary: rgba(var(--text-primary-rgb), 0.06);
  --button-bg-secondary-hover: var(--accent-red-strong);
  --button-bg-ghost: transparent;
  --button-bg-ghost-hover: rgba(var(--text-primary-rgb), 0.07);
  --button-bg-danger: rgba(var(--accent-red-rgb), 0.12);
  --button-bg-danger-hover: rgba(var(--accent-red-rgb), 0.2);
  --button-border-primary: var(--accent-red);
  --button-border-secondary: rgba(var(--text-primary-rgb), 0.7);
  --button-border-ghost: rgba(var(--text-primary-rgb), 0.22);
  --button-border-danger: rgba(var(--accent-red-rgb), 0.54);
  --button-text-primary: var(--on-accent);
  --button-text-secondary: var(--paper);
  --button-text-secondary-hover: #111111;
  --button-text-ghost: var(--text-primary);
  --button-text-danger: var(--accent-red-strong);
  --icon-size-sm: 1rem;
  --icon-size-md: 1.25rem;
  --icon-size-lg: 1.5rem;
  --icon-size-xs: 0.875rem;
  --icon-size-xl: 2rem;
  --icon-size-control: var(--icon-size-md);
  --icon-size-card: var(--icon-size-lg);
  --icon-size-marker: 2rem;
  --icon-size-modal-close: var(--icon-size-md);
  --motion-fast: 160ms ease;
  --motion-standard: 220ms ease;
  --motion-sheet: 320ms cubic-bezier(0.32, 0.72, 0, 1);
  --motion-hover: var(--motion-fast);
  --motion-focus: var(--motion-fast);
  --motion-card: var(--motion-standard);
  --hover-lift-sm: -0.12rem;
  --hover-lift-md: -2px;
  --hover-lift-lg: -3px;
  --focus-ring-strong: 0 0 0 3px rgba(var(--accent-red-rgb), 0.28);
  --focus-ring-inset: inset 0 0 0 2px rgba(var(--text-primary-rgb), 0.82);
  --focus-border-color: rgba(var(--accent-red-rgb), 0.62);
  --z-header: 500;
  --z-dropdown: 1000;
  --z-overlay: 1150;
  --z-drawer: 1160;
  --z-modal: 2000;
  --component-surface:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.075), transparent 42%),
    rgba(var(--bg-primary-rgb), 0.96);
  --component-surface-paper:
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(23, 19, 15, 0.035)),
    var(--bg-card);
  --component-border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  --component-border-strong: 1px solid rgba(var(--accent-red-rgb), 0.62);
  --component-shadow: var(--shadow-card);
  --component-shadow-raised: var(--shadow-panel);
  --modal-shadowbox-surface: rgba(255, 255, 255, 0.9);
  --modal-shadowbox-surface-strong: rgba(255, 255, 255, 0.94);
  --modal-shadowbox-stroke: rgba(23, 19, 15, 0.22);
  --modal-shadowbox-shadow:
    0 34px 100px rgba(0, 0, 0, 0.28),
    0 14px 34px rgba(0, 0, 0, 0.16),
    0 0 0 1px var(--modal-shadowbox-stroke);
  --modal-shadowbox-backdrop:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-red-rgb), 0.16), transparent 20rem),
    rgba(0, 0, 0, 0.72);
  --chip-height: 2.15rem;
  --chip-padding-x: 0.58rem;
  --chip-gap: 0.45rem;
  --chip-bg: rgba(var(--text-primary-rgb), 0.055);
  --chip-bg-hover: rgba(var(--accent-red-rgb), 0.12);
  --chip-bg-active: var(--accent-red-strong);
  --chip-border-color: rgba(var(--text-primary-rgb), 0.2);
  --chip-border-color-hover: rgba(var(--accent-red-rgb), 0.36);
  --chip-border-color-active: rgba(var(--accent-red-rgb), 0.92);
  --chip-text: rgba(var(--text-primary-rgb), 0.82);
  --chip-text-active: #111111;
  --chip-radius: var(--radius-none);
  --chip-icon-size: var(--icon-size-xs);
  --card-bg: var(--component-surface);
  --card-border-color: rgba(var(--text-primary-rgb), 0.18);
  --card-border-color-hover: rgba(var(--accent-red-rgb), 0.72);
  --card-border-color-selected: rgba(var(--accent-red-rgb), 0.78);
  --card-shadow: var(--component-shadow);
  --card-shadow-hover: var(--component-shadow-raised);
  --card-radius: var(--radius-none);
  --card-hover-transform: translateY(var(--hover-lift-md));
  --card-active-transform: translateY(0);
  --card-focus-ring: var(--focus-ring-strong);
  --card-transition: var(--motion-card);
  --card-selected-ring: 0 0 0 1px rgba(var(--accent-red-rgb), 0.32);
  --empty-state-padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3rem);
  --empty-state-gap: var(--space-3);
  --empty-state-border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  --empty-state-border-dashed: 1px dashed rgba(var(--text-primary-rgb), 0.22);
  --empty-state-title-size: clamp(1.6rem, 3vw, 2.4rem);
  --empty-state-copy-size: 0.95rem;
  --empty-state-action-margin: 1.1rem;
  --empty-state-min-height: clamp(14rem, 30vh, 24rem);
  --empty-state-surface:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), rgba(var(--text-primary-rgb), 0.015)),
    rgba(var(--bg-panel-rgb), 0.72);
  --modal-backdrop: rgba(var(--shadow-rgb), 0.72);
  --modal-panel-radius: var(--radius-lg);
  --modal-panel-border-color: rgba(var(--text-primary-rgb), 0.28);
  --modal-panel-bg: var(--component-surface);
  --modal-panel-shadow: 0 24px 70px rgba(var(--shadow-rgb), 0.44);
  --modal-close-size: 2.65rem;
  --modal-close-bg: rgba(var(--shadow-rgb), 0.72);
  --modal-close-border-color: rgba(var(--text-primary-rgb), 0.22);
  --drawer-width: min(25rem, 92vw);
  --drawer-radius: var(--radius-lg) var(--radius-lg) 0 0;
  --drawer-backdrop: var(--modal-backdrop);
  --archive-hero-height: var(--styles-hero-expanded-height, var(--route-hero-height));
  --archive-hero-collapsed-height: var(--styles-hero-collapsed-height, 9rem);
  --archive-hero-transition: var(--styles-hero-transition, 460ms);
  --archive-hero-ease: var(--styles-hero-ease, cubic-bezier(0.22, 1, 0.36, 1));
  --archive-hero-bg: #070706;
  --archive-hero-border-color: rgba(232, 227, 217, 0.22);
  --archive-hero-overlay:
    linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.72) 34%, rgba(0, 0, 0, 0.42) 62%, rgba(0, 0, 0, 0.78) 100%);
  --archive-hero-accent-glow: radial-gradient(circle at 72% 42%, rgba(var(--accent-red-rgb), 0.2), transparent 22rem);
  --archive-hero-image: url("./assets/hero-images/hero/misawa-hero.webp");
  --archive-hero-image-position: calc(58% + clamp(0px, 9.8vw, 200px)) calc(14% - 50px);
  --archive-hero-image-position-collapsed: 56% calc(18% - 30px);
  --archive-hero-image-size: min(92rem, 72vw) auto;
  --archive-hero-image-size-collapsed: min(73.6rem, 57.6vw) auto;
  --archive-hero-image-filter: grayscale(100%) sepia(0.16) contrast(1.28) brightness(0.62);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.12) contrast(1.34) brightness(0.46);
  --archive-hero-image-opacity: 0.82;
  --archive-hero-image-opacity-collapsed: 0.82;
  --archive-hero-title-size: clamp(4.15rem, 9.7vw, 8.5rem);
  --archive-hero-title-collapsed-size: clamp(2.1rem, 3vw, 3.6rem);
  --archive-hero-subtitle-size: clamp(1.1rem, 2vw, 1.45rem);
  --archive-hero-vertical-size: clamp(3.3rem, 4.7vw, 5.25rem);
  --archive-hero-vertical-collapsed-size: clamp(1.55rem, 2.35vw, 2.85rem);
  --type-kicker: 0.78rem;
  --type-title-xl: clamp(3.6rem, 9vw, 8.5rem);
  --type-title-lg: clamp(2.15rem, 4vw, 3.4rem);
  --type-title-md: clamp(1.45rem, 2.2vw, 2.1rem);
  --type-body-lg: clamp(1.02rem, 1.4vw, 1.18rem);
  --type-body: 0.96rem;
  --type-body-sm: 0.84rem;
  --type-meta: 0.78rem;
  --type-label: 0.78rem;
  --leading-tight: 0.9;
  --leading-title: 1;
  --leading-body: 1.55;
  --tracking-label: 0.06em;
  --rhythm-kicker-title: 0.45rem;
  --rhythm-title-copy: 0.75rem;
  --rhythm-section: clamp(2.5rem, 5vw, 4rem);
  --org-default: rgba(var(--text-primary-rgb), 0.62);
  --org-njpw: #d4af37;
  --org-ajpw: #c1121f;
  --org-noah: #2f8f5b;
  --org-fmw: #3a6ea5;
  --org-ajw: #d16ba5;
  --org-dragon-gate: #2a9d8f;
  --org-michinoku-pro: #7a6fa8;
  --org-jwa: #bfa27a;
  --org-jwp: #9a6a8a;
  --org-stardom: #ff5aa7;
  --org-ice-ribbon: #5aa9e6;
  --org-marigold: #d8a31a;
  --org-gaea: #8b5fbf;
  --org-sendai-girls: #1f9f8f;
  --org-ddt: #8b5cf6;
  --org-wwe: #2f6fed;
  --org-nxt: #d8a31a;
  --org-wwf-wwe: #2f6fed;
  --org-ecw: #7c3aed;
  --org-wcw: #2f80c0;
  --org-aew: #c49a2f;
  --org-nwa: #9b1c31;
  --org-awa: #b84545;
  --org-uwf-shoot-style-influence: #60707d;
  --org-pancrase: #6f8f3a;
  --org-toryumon: #19a8c7;
  --org-la-dojo: #b9252a;
  --org-bjw: #5d6370;
  --org-njpw-adjacent: var(--org-njpw);
  --org-freelance: #8a8a8a;
  --watch-youtube-accent: #b32025;
  --watch-youtube-accent-rgb: 179, 32, 37;
  --watch-youtube-hover: #d12c32;
  --watch-dailymotion-accent: #2f6dbe;
  --watch-dailymotion-accent-rgb: 47, 109, 190;
  --watch-dailymotion-hover: #4382d6;
  --watch-njpw-accent: #caa248;
  --watch-njpw-accent-rgb: 202, 162, 72;
  --watch-njpw-hover: #d9b65b;
  --watch-ajpw-accent: #3d5ea8;
  --watch-ajpw-accent-rgb: 61, 94, 168;
  --watch-ajpw-hover: #5272bd;
  --line: var(--border-subtle);
  --shadow: var(--shadow-soft);
  --font-heading: "D-DIN-PRO", "DIN Next LT W01", "DIN Next LT Pro",
    "DIN Next", "D-DIN", "Barlow Condensed", "Bahnschrift", "DIN Alternate",
    "Arial Narrow", sans-serif;
  --font-body: "D-DIN-PRO", "DIN Next LT W01", "DIN Next LT Pro",
    "DIN Next", "D-DIN", "Barlow", "Bahnschrift", "Aptos", "Arial",
    sans-serif;
  --display: var(--font-heading);
  --body: var(--font-body);
  --max-width: 1180px;
  --site-header-height: 84px;
  --archive-workspace-height: calc(100vh - var(--site-header-height));
  --archive-column-max-height: calc(var(--archive-workspace-height) - 2rem);
  --route-hero-height: 363px;
  --body-atmosphere:
    radial-gradient(circle at 14% 0%, rgba(var(--accent-red-rgb), 0.035), transparent 30rem),
    linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  --route-hero-atmosphere:
    radial-gradient(circle at 76% 18%, rgba(var(--accent-red-rgb), 0.08), transparent 23rem),
    radial-gradient(circle at 52% 58%, rgba(var(--sepia-rgb), 0.12), transparent 36rem),
    linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
  --route-atmosphere:
    radial-gradient(circle at 76% 18%, rgba(var(--accent-red-rgb), 0.07), transparent 23rem),
    radial-gradient(circle at 52% 58%, rgba(var(--sepia-rgb), 0.1), transparent 36rem),
    linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 42%, var(--bg-secondary) 100%);
  --route-section-atmosphere:
    radial-gradient(circle at 76% 18%, rgba(var(--accent-red-rgb), 0.05), transparent 20rem),
    radial-gradient(circle at 52% 58%, rgba(var(--sepia-rgb), 0.09), transparent 34rem),
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), transparent 18rem),
    var(--black);
}

@media (max-width: 1120px) {
:root {
    --type-title-xl: clamp(3.4rem, 7.2vw, 4.5rem);
    --type-title-lg: clamp(2rem, 4.8vw, 3.25rem);
    --type-title-md: clamp(1.35rem, 2.8vw, 1.8rem);
    --type-body-lg: 1rem;
    --type-body: 0.96rem;
    --type-body-sm: 0.84rem;
    --type-meta: 0.76rem;
    --type-label: 0.76rem;
  }
}

@media (max-width: 1120px) {
  .hero__media {
    height: calc(100% + 56px);
    inset: -56px 0 0;
    object-position: center top;
  }
}

@media (max-width: 600px) {
  .hero__media {
    height: calc(100% + 64px);
    inset: -64px 0 0;
    object-position: center top;
  }
}

@media (max-width: 700px) {
  :root {
    --type-title-xl: clamp(2.75rem, 12vw, 3.5rem);
    --type-title-lg: clamp(2.1rem, 9vw, 2.65rem);
    --type-title-md: clamp(1.25rem, 6vw, 1.6rem);
    --type-body-lg: 0.98rem;
    --type-body: 0.94rem;
    --type-body-sm: 0.82rem;
    --type-meta: 0.72rem;
    --type-label: 0.72rem;
  }
}

[data-theme="modern-showa"] {
  color-scheme: light;
  --bg-primary: #ffffff;
  --bg-primary-rgb: 255, 255, 255;
  --bg-secondary: #f6f6f6;
  --bg-secondary-rgb: 246, 246, 246;
  --bg-card: #ffffff;
  --bg-card-rgb: 255, 255, 255;
  --bg-tertiary: #eeeeee;
  --bg-panel: #fafafa;
  --bg-panel-rgb: 250, 250, 250;
  --text-primary: #000000;
  --text-primary-rgb: 0, 0, 0;
  --text-secondary: #333333;
  --text-secondary-rgb: 51, 51, 51;
  --text-muted: #777777;
  --text-muted-rgb: 119, 119, 119;
  --accent-red: #d62828;
  --accent-red-rgb: 214, 40, 40;
  --accent-red-dark: #9f1111;
  --accent-red-dark-rgb: 159, 17, 17;
  --accent-red-strong: #e33131;
  --accent-gold: var(--accent-red);
  --accent-black: #000000;
  --accent-black-rgb: 0, 0, 0;
  --border-subtle: rgba(0, 0, 0, 0.08);
  --border-strong: rgba(0, 0, 0, 0.18);
  --detail-paper-start: #ffffff;
  --detail-paper-end: #fafafa;
  --shadow-rgb: 0, 0, 0;
  --shadow-soft: none;
  --shadow-card: none;
  --shadow-panel: none;
  --highlight-rgb: 255, 255, 255;
  --sepia-rgb: 0, 0, 0;
  --paper: #000000;
  --paper-deep: #eeeeee;
  --paper-solid: #ffffff;
  --paper-solid-dark: #f6f6f6;
  --black: #ffffff;
  --black-soft: #f6f6f6;
  --charcoal: #fafafa;
  --ink: #000000;
  --ink-soft: #333333;
  --red: var(--accent-red);
  --red-dark: var(--accent-red-dark);
  --yellow: var(--accent-red);
  --bg: var(--bg-primary);
  --surface: var(--bg-card);
  --surface-muted: var(--bg-panel);
  --text-inverse: var(--bg-primary);
  --text-kicker: var(--accent-red);
  --accent: var(--accent-red);
  --on-accent: #ffffff;
  --on-accent-rgb: 255, 255, 255;
  --status-active: #20d477;
  --status-legacy: #e7a642;
  --focus-ring: 0 0 0 3px rgba(var(--accent-red-rgb), 0.18);
  --org-default: rgba(var(--text-primary-rgb), 0.66);
  --line: var(--border-subtle);
  --shadow: none;
  --body-atmosphere: var(--bg-primary);
  --route-hero-atmosphere: var(--bg-primary);
  --route-atmosphere: var(--bg-primary);
  --route-section-atmosphere: var(--bg-secondary);
}

[data-theme="archival-dark"],
[data-theme="dark"] {
  color-scheme: dark;
  --bg-primary: #12110f;
  --bg-primary-rgb: 18, 17, 15;
  --bg-secondary: #1a1916;
  --bg-secondary-rgb: 26, 25, 22;
  --bg-card: #17130f;
  --bg-card-rgb: 23, 19, 15;
  --bg-tertiary: #24211d;
  --bg-panel: var(--bg-card);
  --bg-panel-rgb: var(--bg-card-rgb);
  --text-primary: #e8e3d9;
  --text-primary-rgb: 232, 227, 217;
  --text-secondary: #b8b2a8;
  --text-secondary-rgb: 184, 178, 168;
  --text-muted: #928b80;
  --text-muted-rgb: 146, 139, 128;
  --accent-red: #d62828;
  --accent-red-rgb: 214, 40, 40;
  --accent-red-dark: #9f1111;
  --accent-red-dark-rgb: 159, 17, 17;
  --accent-red-strong: #e33131;
  --accent-gold: #d6a83b;
  --border-subtle: rgba(var(--highlight-rgb), 0.08);
  --border-strong: rgba(var(--text-primary-rgb), 0.28);
  --detail-paper-start: var(--bg-secondary);
  --detail-paper-end: var(--bg-panel);
  --shadow-soft: 0 24px 70px rgba(var(--shadow-rgb), 0.44);
  --shadow: var(--shadow-soft);
  --modal-shadowbox-surface: rgba(8, 8, 8, 0.88);
  --modal-shadowbox-surface-strong: rgba(8, 8, 8, 0.92);
  --modal-shadowbox-stroke: rgba(245, 245, 240, 0.28);
  --modal-shadowbox-shadow:
    0 34px 100px rgba(0, 0, 0, 0.58),
    0 14px 34px rgba(0, 0, 0, 0.42),
    0 0 0 1px var(--modal-shadowbox-stroke);
  --modal-shadowbox-backdrop:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-red-rgb), 0.16), transparent 20rem),
    rgba(0, 0, 0, 0.72);
  --body-atmosphere:
    radial-gradient(circle at 14% 0%, rgba(var(--text-primary-rgb), 0.045), transparent 30rem),
    linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 38%, var(--bg-tertiary) 100%);
  --route-hero-atmosphere:
    radial-gradient(circle at 76% 18%, rgba(var(--accent-red-rgb), 0.12), transparent 23rem),
    radial-gradient(circle at 52% 58%, rgba(var(--sepia-rgb), 0.18), transparent 36rem),
    linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
  --route-atmosphere:
    radial-gradient(circle at 76% 18%, rgba(var(--accent-red-rgb), 0.1), transparent 23rem),
    radial-gradient(circle at 52% 58%, rgba(var(--sepia-rgb), 0.18), transparent 36rem),
    linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 42%, var(--bg-tertiary) 100%);
  --route-section-atmosphere:
    radial-gradient(circle at 76% 18%, rgba(var(--accent-red-rgb), 0.09), transparent 20rem),
    radial-gradient(circle at 52% 58%, rgba(var(--sepia-rgb), 0.16), transparent 34rem),
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.03), transparent 18rem),
    var(--bg-primary);
}

.theme-light {
  color-scheme: light;
  --bg: var(--paper);
  --text-primary: var(--ink);
  --text-primary-rgb: 17, 17, 17;
  --text-secondary: rgba(17, 17, 17, 0.7);
  --text-secondary-rgb: 17, 17, 17;
  --text-muted: rgba(17, 17, 17, 0.5);
  --text-muted-rgb: 17, 17, 17;
  --text-inverse: var(--paper);
  --surface: var(--bg-card);
  --surface-muted: var(--bg-panel);
  --accent: var(--accent-red);
  --on-accent: #ffffff;
  --on-accent-rgb: 255, 255, 255;
  --status-active: #20d477;
  --status-legacy: #e7a642;
}

* {
  box-sizing: border-box;
}

/* ── Suppress all transitions/animations during initial JS init ── */
html.js-no-transition *,
html.js-no-transition *::before,
html.js-no-transition *::after {
  transition: none !important;
  animation: none !important;
}

html {
  background: var(--bg-primary);
  overflow-x: clip;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body {
  margin: 0;
  background: var(--body-atmosphere);
  color: var(--text-primary);
  font-family: var(--body);
  font-synthesis: none;
  font-synthesis-weight: none;
  font-size: var(--type-body);
  line-height: var(--leading-body);
  min-width: 320px;
  overflow-x: clip;
}

a {
  color: inherit;
  text-decoration: none;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.text-kicker,
.text-label,
.text-meta,
.text-title-xl,
.text-title-lg,
.text-title-md,
.text-body-lg,
.text-body,
.text-body-sm {
  color: inherit;
  font-family: var(--body);
  letter-spacing: 0;
  margin: 0;
}

.text-kicker {
  color: var(--text-kicker);
  font-family: var(--display);
  font-size: var(--type-kicker);
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-title);
  text-transform: uppercase;
}

.text-title-xl,
.text-title-lg,
.text-title-md {
  color: var(--text-primary);
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.text-title-xl {
  font-size: var(--type-title-xl);
  line-height: var(--leading-tight);
}

.text-title-lg {
  font-size: var(--type-title-lg);
  line-height: var(--leading-tight);
}

.text-title-md {
  font-size: var(--type-title-md);
  line-height: var(--leading-title);
}

.text-body-lg {
  color: var(--text-secondary);
  font-size: var(--type-body-lg);
  font-weight: 700;
  line-height: var(--leading-body);
}

.text-body {
  color: var(--text-secondary);
  font-size: var(--type-body);
  font-weight: 700;
  line-height: var(--leading-body);
}

.text-body-sm {
  color: var(--text-secondary);
  font-size: var(--type-body-sm);
  font-weight: 700;
  line-height: 1.45;
}

.text-meta {
  color: var(--text-muted);
  font-size: var(--type-meta);
  font-weight: 800;
  line-height: 1.25;
}

.text-label {
  color: var(--text-muted);
  font-family: var(--display);
  font-size: var(--type-label);
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-title);
  text-transform: uppercase;
}

img {
  transition: filter 180ms ease;
  max-width: 100%;
}

[data-theme="archival-dark"] img,
[data-theme="dark"] img {
  filter: brightness(0.92) contrast(1.05);
}

main {
  overflow: hidden;
}

::selection {
  background: var(--red);
  color: var(--paper);
}

[id] {
  scroll-margin-top: 120px;
}

.site-header {
  align-items: center;
  background: var(--bg-primary);
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
  box-sizing: border-box;
  display: flex;
  gap: clamp(1rem, 2vw, 2rem);
  justify-content: space-between;
  min-height: var(--site-header-height);
  overflow: visible;
  padding: 1.05rem clamp(1rem, 2.8vw, 2.35rem) 1rem;
  position: sticky;
  left: 0;
  right: 0;
  top: 0;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
  width: 100%;
  z-index: 500;
}

.site-header--home {
  background: var(--bg-primary);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.showa-paper-nav {
  background: var(--bg-primary);
}

.site-header--home.showa-paper-nav {
  background: var(--bg-primary);
}

.site-header--home.site-header--scrolled {
  border-bottom-color: rgba(var(--text-primary-rgb), 0.14);
}

.site-header--home.site-header--scrolled.showa-paper-nav {
  background: var(--bg-primary);
}

.site-header--home.showa-paper-nav::before {
  content: "";
  display: none;
  inset: 0;
  opacity: 0.62;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.showa-paper-nav > * {
  position: relative;
  z-index: 1;
}

.site-logo {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: max-content;
}

.site-header .site-logo {
  flex: 0 0 calc(var(--site-logo-image-height) * 4.948);
  min-width: calc(var(--site-logo-image-height) * 4.948);
  width: calc(var(--site-logo-image-height) * 4.948);
}

.site-header .site-logo__image {
  aspect-ratio: 969.8 / 196;
  display: block;
  filter: drop-shadow(0 2px 12px rgba(var(--shadow-rgb), 0.45));
  height: var(--site-logo-image-height);
  max-width: none;
  width: calc(var(--site-logo-image-height) * 4.948);
}

.site-logo__mark {
  color: var(--paper);
  display: grid;
  filter: drop-shadow(0 2px 12px rgba(var(--shadow-rgb), 0.45));
  gap: 0.18rem;
  line-height: 1;
}

.site-header .site-logo__mark {
  gap: 0.08rem;
  padding-bottom: 0.35rem;
  position: relative;
  width: max-content;
}

.site-header .site-logo__mark::after {
  background: var(--accent-red);
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0.72);
  transform-origin: left center;
  width: 100%;
}

.site-logo__jp,
.site-logo__en {
  display: block;
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-logo__jp {
  font-size: 1rem;
}

.site-logo__en {
  font-size: 1.17rem;
}

.site-header .site-logo__jp {
  font-size: 0.93rem;
  font-weight: 800;
}

.site-header .site-logo__en {
  font-family: "D-DIN-PRO", "Arial Narrow", "Roboto Condensed", "Barlow Condensed", "DIN Condensed", Impact, sans-serif;
  font-size: 1.95rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.84;
  transform: scaleX(0.72);
  transform-origin: left center;
  width: 72%;
}

.site-header__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem clamp(0.75rem, 1.2vw, 1.15rem);
  justify-content: flex-end;
}

.site-nav,
.footer-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  gap: 0.25rem clamp(0.68rem, 0.9vw, 1.1rem);
  justify-content: flex-end;
}

.site-nav a,
.footer-nav a {
  color: rgba(var(--text-primary-rgb), 0.82);
  font-size: 0.82rem;
  font-weight: 800;
  padding-block: 0.4rem;
  position: relative;
  text-transform: uppercase;
}

.site-nav a::after,
.footer-nav a::after {
  background: var(--red);
  bottom: 0.15rem;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
  width: 100%;
}

.site-nav a[aria-current="page"],
.footer-nav a[aria-current="page"] {
  color: var(--accent-red-readable);
}

.site-nav a[aria-current="page"]::after,
.footer-nav a[aria-current="page"]::after {
  background: var(--accent-red);
  transform: scaleX(1);
}

.site-nav a:hover,
.footer-nav a:hover,
.site-nav a:focus-visible,
.footer-nav a:focus-visible {
  color: var(--accent-red-readable);
  outline: none;
}

.site-nav a[aria-current="page"]:hover,
.footer-nav a[aria-current="page"]:hover,
.site-nav a[aria-current="page"]:focus-visible,
.footer-nav a[aria-current="page"]:focus-visible {
  color: var(--accent-red-readable);
}

.site-nav a:hover::after,
.footer-nav a:hover::after,
.site-nav a:focus-visible::after,
.footer-nav a:focus-visible::after {
  transform: scaleX(1);
}

@media (min-width: 1121px) {
  .site-header__actions {
    flex: 0 1 auto;
    flex-wrap: nowrap;
    gap: clamp(1rem, 1.45vw, 1.75rem);
    min-width: 0;
  }

  .site-nav {
    display: grid;
    flex: 0 1 auto;
    gap: 0.25rem clamp(0.9rem, 1.15vw, 1.45rem);
    grid-template-columns: 3.95rem 3.4rem 4.35rem 3.3rem 2.9rem 3.7rem 3.2rem 6.35rem 3rem;
    min-width: 0;
    white-space: nowrap;
  }

  .site-nav a {
    flex: 0 0 auto;
    justify-self: start;
  }
}

.preferences-menu {
  display: inline-flex;
  position: relative;
  z-index: 200;
}

.preferences-menu__button,
.preferences-menu__option,
.preferences-menu__title {
  font-family: var(--display);
  font-weight: 800;
  text-transform: uppercase;
}

.preferences-menu__button {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.07);
  border: 1px solid rgba(var(--text-primary-rgb), 0.28);
  color: rgba(var(--text-primary-rgb), 0.9);
  cursor: pointer;
  display: inline-grid;
  height: 2.35rem;
  justify-content: center;
  padding: 0;
  width: 2.35rem;
}

.preferences-menu__button .material-symbols-outlined {
  font-size: 1.25rem;
  line-height: 1;
}

.preferences-menu__button:hover,
.preferences-menu__button:focus-visible {
  border-color: rgba(var(--text-primary-rgb), 0.52);
  outline: none;
}

.theme-toggle {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.07);
  aspect-ratio: 1;
  border: 1px solid rgba(var(--text-primary-rgb), 0.28);
  border-radius: 999px;
  color: rgba(var(--text-primary-rgb), 0.9);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  gap: 0;
  height: 44px;
  justify-content: center;
  line-height: 1;
  min-height: 44px;
  min-width: 44px;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-transform: uppercase;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

/* Launch keeps the alternate theme code parked while hiding the public switch. */
.theme-toggle,
[data-theme-option] {
  display: none !important;
}

.theme-toggle::before {
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px rgba(var(--accent-red-rgb), 0.86),
    0 0 0 1px rgba(var(--accent-red-rgb), 0.16),
    0 0 14px rgba(var(--accent-red-rgb), 0.2);
  content: "";
  inset: -1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: scale(0.97);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  background:
    linear-gradient(rgba(120, 8, 14, 0.16), rgba(120, 8, 14, 0.16)),
    rgba(var(--text-primary-rgb), 0.07);
  border-color: rgba(var(--accent-red-rgb), 0.92);
  outline: none;
}

.theme-toggle:hover::before,
.theme-toggle:focus-visible::before {
  opacity: 1;
  transform: scale(1);
}

.theme-toggle.is-switching {
  animation: themeToggleSelect 360ms cubic-bezier(0.2, 0.8, 0.25, 1);
}

.theme-toggle__icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  position: relative;
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.25, 1);
  z-index: 1;
}

.theme-toggle__svg {
  display: block;
  height: 1.35rem;
  width: 1.35rem;
}

.theme-toggle__icon--light {
  display: none;
}

[data-theme="modern-showa"] .theme-toggle__icon--light {
  display: inline-flex;
}

[data-theme="modern-showa"] .theme-toggle__icon--dark {
  display: none;
}

.theme-toggle__label {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.theme-toggle:hover .theme-toggle__icon,
.theme-toggle:focus-visible .theme-toggle__icon {
  transform: rotate(22deg) scale(1.06);
}

@keyframes themeToggleSelect {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  45% {
    transform: translateY(-1px) scale(1.018);
  }

  72% {
    transform: translateY(0) scale(0.995);
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle:hover .theme-toggle__icon,
  .theme-toggle:focus-visible .theme-toggle__icon {
    transform: none;
  }
}

/* ── Mobile nav toggle (hamburger) ──────────────────────────────────── */
.site-nav-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(var(--text-primary-rgb), 0.9);
  cursor: pointer;
  display: none;
  flex-shrink: 0;
  font-family: inherit;
  height: 2.35rem;
  justify-content: center;
  padding: 0;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
  width: 2.35rem;
}

.site-nav-toggle .material-symbols-outlined {
  font-size: 1.25rem;
  line-height: 1;
}

.site-nav-toggle .material-symbols-outlined,
.site-nav-toggle .material-symbols-svg,
.theme-toggle__icon,
.theme-toggle__svg {
  pointer-events: none;
}

.site-nav-toggle:hover,
.site-nav-toggle:focus-visible {
  background: rgba(var(--text-primary-rgb), 0.08);
  border-color: transparent;
  outline: none;
}

.preferences-menu__panel {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    rgba(var(--bg-primary-rgb), 0.97);
  border: 1px solid rgba(var(--text-primary-rgb), 0.28);
  box-shadow: 0 18px 38px rgba(var(--shadow-rgb), 0.38);
  opacity: 0;
  padding: 0.75rem;
  pointer-events: none;
  position: fixed;
  right: clamp(1rem, 4vw, 3rem);
  top: 4.15rem;
  transform: translateY(-0.35rem);
  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 180ms ease;
  visibility: hidden;
  width: min(14.75rem, calc(100vw - 2rem));
  z-index: 1000;
}

.preferences-menu__panel[hidden] {
  display: none;
}

.preferences-menu.is-open .preferences-menu__panel,
.preferences-menu__button[aria-expanded="true"] + .preferences-menu__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.preferences-menu__section + .preferences-menu__section {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.14);
  margin-top: 0.72rem;
  padding-top: 0.72rem;
}

.preferences-menu__title {
  color: rgba(var(--text-primary-rgb), 0.58);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  margin: 0 0 0.42rem;
}

.preferences-menu__options {
  display: grid;
  gap: 0.25rem;
}

.preferences-menu__option {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  color: rgba(var(--text-primary-rgb), 0.76);
  cursor: pointer;
  display: flex;
  font-size: 0.76rem;
  gap: 0.55rem;
  min-height: 2.2rem;
  padding: 0.5rem 0.58rem;
  text-align: left;
  width: 100%;
}

.preferences-menu__option[data-theme-option="archival-dark"] {
  order: -1;
}

.preferences-menu__option::after {
  background-color: currentColor;
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  height: 1.08rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'M382-240%20154-468l57-57%20171%20171%20367-367%2057%2057-424%20424Z'%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'M382-240%20154-468l57-57%20171%20171%20367-367%2057%2057-424%20424Z'%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  margin-left: auto;
  opacity: 0;
  transform: scale(0.9);
  width: 1.08rem;
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

.preferences-menu__option[aria-selected="true"]::after,
.preferences-menu__option[aria-pressed="true"]::after {
  opacity: 1;
  transform: scale(1);
}

.preferences-menu__theme-icon {
  flex: 0 0 auto;
  font-size: 1.08rem;
  line-height: 1;
}

.preferences-menu__option:hover,
.preferences-menu__option:focus-visible {
  background: rgba(var(--accent-red-dark-rgb), 0.86);
  border-color: rgba(var(--accent-red-rgb), 0.55);
  color: var(--paper);
  outline: none;
}

.preferences-menu__option[aria-selected="true"],
.preferences-menu__option[aria-pressed="true"] {
  background: rgba(var(--accent-red-rgb), 0.78);
  border-color: rgba(var(--accent-red-rgb), 0.88);
  color: var(--paper);
}

.preferences-menu__flag {
  border-radius: 999px;
  box-shadow:
    0 0 0 1px rgba(var(--text-primary-rgb), 0.24),
    inset 0 0 0 1px rgba(var(--shadow-rgb), 0.1);
  display: inline-block;
  flex: 0 0 auto;
  height: 1.25rem;
  overflow: hidden;
  position: relative;
  width: 1.25rem;
}

.preferences-menu__flag--us {
  background: repeating-linear-gradient(
    to bottom,
    var(--accent-red) 0 2px,
    var(--flag-white) 2px 4px
  );
}

.preferences-menu__flag--us::before {
  background: var(--flag-blue);
  content: "";
  height: 54%;
  left: 0;
  position: absolute;
  top: 0;
  width: 56%;
}

.preferences-menu__flag--jp {
  background: var(--flag-white);
}

.preferences-menu__flag--jp::before {
  background: var(--flag-red);
  border-radius: 999px;
  content: "";
  height: 48%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 48%;
}

.preferences-menu__flag--es {
  background: linear-gradient(
    to bottom,
    var(--flag-spain-red) 0 26%,
    var(--flag-spain-gold) 26% 74%,
    var(--flag-spain-red) 74% 100%
  );
}

.preferences-menu__option .preferences-menu__flag {
  height: 1.45rem;
  width: 1.45rem;
}

.hero {
  align-items: flex-end;
  background: var(--bg-panel);
  color: var(--text-primary);
  display: grid;
  isolation: isolate;
  min-height: clamp(600px, 82vh, 860px);
  overflow: hidden;
  position: relative;
  width: 100%;
}

.hero__media {
  filter: none;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center calc(42% + 50px);
  position: absolute;
  transform: translateZ(0);
  will-change: transform;
  width: 100%;
  z-index: 0;
}

.hero__shade {
  background:
    linear-gradient(90deg, rgba(var(--shadow-rgb), 0.78), rgba(var(--shadow-rgb), 0.46) 46%, rgba(var(--shadow-rgb), 0.3)),
    linear-gradient(0deg, rgba(var(--shadow-rgb), 0.56), transparent 48%);
  inset: 0;
  opacity: 0.82;
  position: absolute;
  z-index: 1;
}

.hero__vhs-overlay {
  display: none;
  filter: saturate(0.9) contrast(1.12) brightness(1.05);
  height: calc(100% - 18px);
  left: 50%;
  top: 18px;
  mix-blend-mode: screen;
  object-fit: fill;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 180ms ease;
  transform: translateX(-50%);
  transform-origin: center;
  width: 140vw;
  z-index: 2;
}

.hero__vhs-overlay--flipped {
  transform: translateX(-50%) scaleY(-1);
}

.hero.is-transitioning .hero__vhs-overlay {
  opacity: 0;
}

.hero__grain,
.hero__tracking {
  background-image:
    linear-gradient(rgba(var(--highlight-rgb), 0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--highlight-rgb), 0.38) 0 0.45px, transparent 0.75px);
  background-size:
    100% 5px,
    12px 12px;
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.25;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.hero__grain,
.hero__tracking {
  display: none;
}

.hero__tracking {
  background:
    repeating-linear-gradient(
      0deg,
      rgba(var(--highlight-rgb), 0.58) 0 1px,
      rgba(var(--shadow-rgb), 0.32) 1px 3px,
      transparent 3px 6px
    ),
    linear-gradient(
      180deg,
      rgba(var(--highlight-rgb), 0.48) 0 3%,
      rgba(var(--highlight-rgb), 0.14) 4%,
      rgba(var(--shadow-rgb), 0.9) 11%,
      transparent 34%
    ),
    linear-gradient(90deg, transparent 0 10%, rgba(var(--highlight-rgb), 0.34) 12% 33%, transparent 35%),
    linear-gradient(90deg, transparent 0 54%, rgba(var(--highlight-rgb), 0.36) 56% 82%, transparent 84%),
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.86), rgba(var(--shadow-rgb), 0.6));
  background-position:
    0 -18px,
    0 0,
    0 34%,
    0 57%,
    0 0;
  background-repeat:
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat;
  background-size:
    100% 86px,
    100% 100%,
    100% 2px,
    100% 2px,
    100% 100%;
  mix-blend-mode: normal;
  opacity: 0;
  z-index: 3;
}

.hero.is-tracking .hero__tracking {
  animation: trackingBurst 760ms steps(16, end) forwards;
}

.hero.is-tracking .hero__media {
  animation: none;
  filter: none;
}

.hero.is-tracking--tear-low .hero__tracking {
  animation: trackingBurstLow 760ms steps(16, end) forwards;
  background-position:
    0 42px,
    0 0,
    0 46%,
    0 78%,
    0 0;
  background-size:
    100% 112px,
    100% 100%,
    100% 2px,
    100% 2px,
    100% 100%;
}

.hero.is-tracking--tear-low .hero__media {
  animation: none;
  filter: none;
}

.hero.is-tracking--roll .hero__tracking {
  animation: heroHeadRoll 760ms cubic-bezier(0.2, 0.8, 0.25, 1) forwards;
  background:
    linear-gradient(
      180deg,
      transparent 0 19%,
      rgba(var(--highlight-rgb), 0.5) 22%,
      rgba(var(--shadow-rgb), 0.92) 28%,
      rgba(var(--highlight-rgb), 0.28) 34%,
      transparent 43% 100%
    ),
    repeating-linear-gradient(
      0deg,
      rgba(var(--highlight-rgb), 0.28) 0 1px,
      transparent 1px 5px
    );
  background-size:
    100% 150%,
    100% 8px;
  mix-blend-mode: normal;
}

.hero.is-tracking--roll .hero__media {
  animation: none;
  filter: none;
}

.hero__content {
  --hero-title-gap: 1.2rem;

  margin-inline: clamp(1rem, 7vw, 7rem);
  max-width: none;
  padding-block: clamp(4rem, 9vw, 7rem);
  position: relative;
  transform: translateX(clamp(0px, 3vw, 34px));
  z-index: 4;
}

@media (min-width: 1121px) {
  .home-page .hero__content {
    transform: none;
  }

  .home-page .hero h1 {
    margin-left: 0;
    margin-right: 0;
  }
}

.hero__kicker,
.kicker {
  color: var(--red);
  font-size: 0.78rem;
  font-weight: 800;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.hero__kicker {
  align-items: center;
  background: rgba(var(--shadow-rgb), 0.2);
  border: 1px solid rgba(var(--highlight-rgb), 0.72);
  color: var(--text-primary);
  display: inline-flex;
  padding: 0.38rem 0.58rem;
}

.hero h1 {
  color: rgba(245, 245, 240, 0.8);
  font-family: var(--display);
  font-size: clamp(4.2rem, 9.6vw, 9.1rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.82;
  margin: 0 0 0 -6px;
  max-width: 9.6ch;
  text-transform: uppercase;
  text-shadow:
    0 0.04em 0 rgba(var(--shadow-rgb), 0.58),
    0 0 2.2rem rgba(var(--shadow-rgb), 0.48);
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: 0 currentColor;
}

.hero-title-line {
  display: block;
  white-space: nowrap;
}

.hero-title-of {
  display: inline;
}

.hero-title-solid {
  color: inherit;
  text-shadow: inherit;
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: 0 currentColor;
}

.hero__tagline {
  border-left: 6px solid var(--red);
  color: var(--text-primary);
  font-family: var(--display);
  font-size: clamp(1.45rem, 3vw, 2.45rem);
  font-weight: 800;
  line-height: 1;
  margin: var(--hero-title-gap) 0 0;
  max-width: 720px;
  padding-left: 1rem;
}

.hero__intro {
  color: var(--text-primary);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  font-weight: 700;
  line-height: 1.7;
  margin: 1.15rem 0 0;
  max-width: 650px;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 2rem;
}

.hero-kpi-strip {
  background:
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.5), rgba(var(--shadow-rgb), 0.42)),
    rgba(var(--shadow-rgb), 0.44);
  border: 0;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(245, 245, 240, 0.08);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: calc(clamp(1rem, 1.6vw, 1.45rem) + 80px) 0 0;
  max-width: none;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.hero-kpi-strip div {
  border-left: 1px solid rgba(244, 239, 229, 0.18);
  display: grid;
  align-content: center;
  grid-template-rows:
    clamp(1.85rem, 2.35vw, 2.2rem)
    clamp(1.65rem, 2vw, 1.95rem)
    clamp(0.72rem, 0.9vw, 0.86rem)
    clamp(3.1rem, 3.45vw, 3.35rem);
  justify-items: center;
  min-height: clamp(6.05rem, 7.2vw, 7.6rem);
  padding: clamp(0.68rem, 0.95vw, 0.9rem) clamp(0.85rem, 1.35vw, 1.2rem);
  position: relative;
  row-gap: clamp(0.14rem, 0.28vw, 0.28rem);
  text-align: center;
}

.hero-kpi-strip div::after {
  content: none;
}

.hero-kpi-strip div:nth-child(1) {
  --hero-kpi-index: 0;
}

.hero-kpi-strip div:nth-child(2) {
  --hero-kpi-index: 1;
}

.hero-kpi-strip div:nth-child(3) {
  --hero-kpi-index: 2;
}

.hero-kpi-strip div:nth-child(4) {
  --hero-kpi-index: 3;
}

@keyframes heroKpiTrace {
  0%, 2% {
    opacity: 0;
    --hero-kpi-trace-angle: 0turn;
  }

  4% {
    opacity: 0.72;
    --hero-kpi-trace-angle: 0turn;
  }

  22% {
    opacity: 0.82;
    --hero-kpi-trace-angle: 1turn;
  }

  25% {
    opacity: 0;
    --hero-kpi-trace-angle: 1turn;
  }

  100% {
    opacity: 0;
    --hero-kpi-trace-angle: 1turn;
  }
}

@property --hero-kpi-trace-angle {
  inherits: false;
  initial-value: 0turn;
  syntax: "<angle>";
}

@media (prefers-reduced-motion: reduce) {
  .hero-kpi-strip div::after {
    animation: none;
  }
}

.hero-kpi-strip div:first-child {
  border-left: 0;
  border-radius: 12px 0 0 12px;
}

.hero-kpi-strip div:last-child {
  border-radius: 0 12px 12px 0;
}

.hero-kpi-strip__icon {
  align-self: end;
  color: #f4efe5;
  display: block;
  font-size: clamp(1.78rem, 2.25vw, 2.15rem);
  grid-row: 1;
  line-height: 1;
  margin: 0 auto;
}

.hero-kpi-strip dt {
  color: #f4efe5;
  display: contents;
  font-family: var(--display);
  max-width: 100%;
  text-transform: uppercase;
}

.hero-kpi-strip__value {
  align-self: center;
  color: var(--accent-red-strong);
  display: block;
  font-family: var(--display);
  font-size: clamp(1.15rem, 1.55vw, 1.55rem);
  font-weight: 800;
  grid-row: 2;
  letter-spacing: 0;
  line-height: 0.9;
  max-width: 100%;
  text-transform: uppercase;
  white-space: nowrap;
}

.hero-kpi-strip dd {
  display: contents;
  margin: 0;
}

.hero-kpi-strip__label {
  align-self: center;
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(0.6rem, 0.68vw, 0.68rem);
  font-weight: 800;
  grid-row: 3;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

[data-theme="archival-dark"] .hero-kpi-strip__label,
[data-theme="dark"] .hero-kpi-strip__label {
  color: var(--accent-red-strong);
}

.home-page .hero-kpi-strip__label,
[data-theme="archival-dark"] .home-page .hero-kpi-strip__label,
[data-theme="dark"] .home-page .hero-kpi-strip__label {
  color: var(--accent-red-strong);
  letter-spacing: 0.07em;
}

.hero-kpi-strip__description {
  align-self: start;
  color: rgba(244, 239, 229, 0.78);
  font-size: clamp(0.6rem, 0.68vw, 0.68rem);
  font-weight: 600;
  grid-row: 4;
  line-height: 1.28;
  margin-inline: auto;
  max-width: 34ch;
}

@media (max-width: 1120px) {
  .hero__media {
    height: calc(100% + 56px);
    inset: -56px 0 0;
    object-position: center top;
  }

  .hero-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: min(44rem, calc(100vw - 2rem));
    width: min(44rem, calc(100vw - 2rem));
  }

  .hero-kpi-strip__value {
    white-space: normal;
  }

  .hero-kpi-strip div:nth-child(odd) {
    border-left: 0;
  }

  .hero-kpi-strip div:first-child {
    border-radius: 12px 0 0 0;
  }

  .hero-kpi-strip div:nth-child(2) {
    border-radius: 0 12px 0 0;
  }

  .hero-kpi-strip div:nth-child(3) {
    border-radius: 0 0 0 12px;
  }

  .hero-kpi-strip div:last-child {
    border-radius: 0 0 12px 0;
  }

  .hero-kpi-strip div:nth-child(n + 3) {
    border-top: 1px solid rgba(244, 239, 229, 0.16);
  }
}

@media (min-width: 881px) and (max-width: 1120px) {
  .hero-kpi-strip {
    --hero-kpi-tablet-edge: calc(clamp(1rem, 7vw, 7rem) + clamp(0px, 3vw, 34px));

    margin-inline: 0;
    max-width: calc(100vw - (2 * var(--hero-kpi-tablet-edge)));
    transform: none;
    width: calc(100vw - (2 * var(--hero-kpi-tablet-edge)));
  }
}

@media (min-width: 761px) and (max-width: 880px) {
  .hero-kpi-strip {
    margin-inline: auto;
    max-width: min(44rem, 100%);
    transform: none;
    width: min(44rem, 100%);
  }
}

.button {
  align-items: center;
  border: 1px solid transparent;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  justify-content: center;
  min-height: 48px;
  padding: 0.9rem 1.15rem;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.button:hover,
.button:focus-visible {
  outline: none;
  transform: translateY(-2px);
}

.button--primary {
  background: var(--red);
  color: var(--paper);
}

.button--primary:hover,
.button--primary:focus-visible {
  background: var(--accent-red-strong);
}

.button--secondary {
  background: rgba(var(--text-primary-rgb), 0.06);
  border-color: rgba(var(--text-primary-rgb), 0.7);
  color: var(--paper);
}

.button--secondary:hover,
.button--secondary:focus-visible {
  background: var(--paper);
  color: var(--bg-primary);
}

.section {
  background-color: var(--bg-secondary);
  padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 3rem);
}

.card {
  background-color: var(--bg-secondary);
  border: 1px solid var(--border-subtle);
}

/* Design-system component foundations.
   Page-specific selectors remain in place to preserve each experience, while
   these shared aliases give future pages a canonical starting point. */
.ds-button,
.button,
.watch-button,
.match-btn,
.filter-sheet__btn,
.filter-sheet-trigger,
.wrestler-detail-panel__button,
.venue-cta,
.venues-clear,
.venues-view-all,
.lens-preview-search__clear,
.detail-modal-close,
.preferences-menu__button,
.theme-toggle,
.site-nav-toggle,
.filter-sheet__close,
.timeline-photo-lightbox__close,
.mask-lightbox__close,
.voice-mobile-modal__close,
.lineage-filter-trigger,
.lineage-filter-panel__header button,
.lineage-detail__close,
.lineage-graph-nav button,
.lineage-node-info-button {
  font-family: var(--body);
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover),
    opacity var(--motion-hover),
    transform var(--motion-hover);
}

.ds-button,
.button,
.filter-sheet__btn,
.filter-sheet-trigger,
.wrestler-detail-panel__button,
.venue-cta,
.venues-clear,
.venues-view-all {
  align-items: center;
  border-radius: var(--control-radius);
  cursor: pointer;
  display: inline-flex;
  gap: var(--control-gap-md);
  justify-content: center;
  min-height: var(--control-height-md);
  text-decoration: none;
  touch-action: manipulation;
}

.ds-button {
  background: var(--button-bg-ghost);
  border: 1px solid var(--button-border-ghost);
  color: var(--button-text-ghost);
  font-family: var(--display);
  font-size: var(--type-label);
  font-weight: 800;
  line-height: var(--leading-title);
  padding-inline: var(--button-padding-x-md);
  text-transform: uppercase;
}

.ds-button--primary,
.button--primary {
  background: var(--button-bg-primary);
  border-color: var(--button-border-primary);
  color: var(--button-text-primary);
}

.ds-button--primary:hover,
.ds-button--primary:focus-visible,
.button--primary:hover,
.button--primary:focus-visible {
  background: var(--button-bg-primary-hover);
  color: var(--button-text-primary);
}

.ds-button--secondary,
.button--secondary {
  background: var(--button-bg-secondary);
  border-color: var(--button-border-secondary);
  color: var(--button-text-secondary);
}

.ds-button--secondary:hover,
.ds-button--secondary:focus-visible,
.button--secondary:hover,
.button--secondary:focus-visible {
  background: var(--button-bg-secondary-hover);
  color: var(--button-text-secondary-hover);
}

.ds-button--ghost {
  background: var(--button-bg-ghost);
  border-color: var(--button-border-ghost);
  color: var(--button-text-ghost);
}

.ds-button--ghost:hover,
.ds-button--ghost:focus-visible {
  background: var(--button-bg-ghost-hover);
  border-color: var(--control-border-color-hover);
}

.ds-button--danger {
  background: var(--button-bg-danger);
  border-color: var(--button-border-danger);
  color: var(--button-text-danger);
}

.ds-button--danger:hover,
.ds-button--danger:focus-visible {
  background: var(--button-bg-danger-hover);
  border-color: var(--control-border-color-active);
}

.ds-button--icon {
  aspect-ratio: 1;
  min-height: var(--control-height-sm);
  padding: 0;
  width: var(--control-height-sm);
}

.ds-button > .material-symbols-outlined,
.ds-button > .google-material-icon,
.button > .material-symbols-outlined,
.button > .google-material-icon,
.filter-sheet__btn > .material-symbols-outlined,
.filter-sheet-trigger > .material-symbols-outlined,
.wrestler-detail-panel__button > .material-symbols-outlined,
.venue-cta > .material-symbols-outlined,
.venues-clear > .material-symbols-outlined,
.venues-view-all > .material-symbols-outlined {
  font-size: var(--icon-size-control);
  height: 1em;
  width: 1em;
}

.ds-button:disabled,
.button:disabled,
.filter-sheet__btn:disabled,
.filter-sheet-trigger:disabled,
.wrestler-detail-panel__button:disabled,
.venue-cta:disabled,
.venues-clear:disabled,
.venues-view-all:disabled,
.ds-button[aria-disabled="true"],
.button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.54;
  pointer-events: none;
  transform: none;
}

.ds-button:focus-visible,
.button:focus-visible,
.watch-button:focus-visible,
.match-btn:focus-visible,
.filter-sheet__btn:focus-visible,
.filter-sheet-trigger:focus-visible,
.wrestler-detail-panel__button:focus-visible,
.venue-cta:focus-visible,
.venues-clear:focus-visible,
.venues-view-all:focus-visible,
.lens-preview-search__clear:focus-visible,
.detail-modal-close:focus-visible,
.preferences-menu__button:focus-visible,
.site-nav-toggle:focus-visible,
.filter-sheet__close:focus-visible,
.timeline-photo-lightbox__close:focus-visible,
.mask-lightbox__close:focus-visible,
.voice-mobile-modal__close:focus-visible,
.lineage-filter-trigger:focus-visible,
.lineage-filter:focus-visible,
.lineage-filter-panel__header button:focus-visible,
.lineage-detail__close:focus-visible,
.lineage-graph-nav button:focus-visible,
.lineage-node-info-button:focus-visible,
.venues-view-toggle__btn:focus-visible,
.archive-filter-dropdown__trigger:focus-visible,
.vault-filter-chip:focus-visible,
.vault-rating-info:focus-visible {
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.ds-icon,
.material-symbols-outlined,
.google-material-icon {
  flex: 0 0 auto;
}

.material-symbols-outlined:not([data-icon-rendered="inline"]) {
  color: transparent;
}

.material-symbols-outlined[data-icon] {
  display: inline-flex;
  height: 1em;
  justify-content: center;
  line-height: 1;
  overflow: hidden;
  vertical-align: -0.14em;
  width: 1em;
}

.material-symbols-outlined[data-icon] .material-symbols-svg {
  display: block;
  fill: currentColor;
  height: 1em;
  width: 1em;
}

.material-symbols-outlined .material-symbols-svg {
  display: block;
  fill: currentColor;
  height: 1em;
  width: 1em;
}

.ds-card {
  border: var(--component-border);
  box-sizing: border-box;
  color: var(--text-primary);
  overflow: hidden;
  position: relative;
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    color var(--motion-hover),
    opacity var(--motion-hover),
    transform var(--card-transition);
}

.ds-card--interactive {
  cursor: pointer;
  touch-action: manipulation;
}

.ds-card--interactive:hover,
.ds-card--interactive:focus-visible,
.ds-card--interactive:focus-within {
  border-color: var(--card-border-color-hover);
}

.ds-card--selected,
.ds-card--interactive.is-active,
.ds-card--interactive[aria-selected="true"],
.ds-card--interactive[aria-pressed="true"] {
  border-color: var(--card-border-color-selected);
  box-shadow: var(--card-selected-ring);
}

.ds-panel,
.archive-rail,
.archive-toolbar,
.archive-detail,
.wrestlers-rail,
.lens-preview-strip,
.wrestler-detail-panel,
.timeline-era-filter,
.timeline-rail-shell,
.timeline-detail,
.venues-sidebar,
.venues-main__sticky,
.venue-detail,
.masks-rail,
.masks-preview-strip,
.mask-detail-panel {
  border-radius: var(--radius-none);
}

.archive-shell,
.archive-stage,
.archive-rail,
.archive-toolbar,
.archive-tools,
.archive-detail {
  box-sizing: border-box;
  min-width: 0;
}

.archive-toolbar {
  isolation: isolate;
}

.archive-tools {
  align-items: center;
}

.ds-hero-overlay {
  box-sizing: border-box;
}

.ds-hero-overlay[hidden] {
  display: none !important;
}

.ds-modal-card-host {
  --ds-modal-card-radius: 0.85rem;
  --ds-modal-card-stroke: var(--modal-shadowbox-stroke);
  --ds-modal-card-surface:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), rgba(var(--text-primary-rgb), 0.015)),
    var(--modal-shadowbox-surface);
  --ds-modal-card-shadow: var(--modal-shadowbox-shadow);
  --detail-modal-inline-pad: clamp(0.85rem, 3vw, 1.25rem);
  --detail-modal-block-start: calc(0.85rem + env(safe-area-inset-top, 0px));
  --detail-modal-block-end: calc(1.1rem + env(safe-area-inset-bottom, 0px));
  --detail-modal-shell-width: 44rem;
  --detail-modal-max-width: min(var(--detail-modal-shell-width), 100%);
  --detail-modal-panel-min-height: calc(100dvh - var(--detail-modal-block-start) - var(--detail-modal-block-end));
  --detail-modal-backdrop:
    var(--modal-shadowbox-backdrop);
  --detail-modal-stroke: var(--ds-modal-card-stroke);
  --detail-modal-shadow: var(--ds-modal-card-shadow);
}

.ds-modal-card {
  background: var(--ds-modal-card-surface);
  border: 1px solid var(--ds-modal-card-stroke);
  border-radius: var(--ds-modal-card-radius);
}

.ds-empty-state,
.wrestler-empty-state,
.venues-empty,
.mask-empty-state,
.vault-archive__empty,
.match-explorer__empty,
.lineage-loading {
  align-items: center;
  background: var(--empty-state-surface);
  border: var(--empty-state-border);
  box-sizing: border-box;
  color: var(--text-secondary);
  display: grid;
  gap: var(--empty-state-gap);
  justify-items: center;
  margin: 0;
  min-height: var(--empty-state-min-height);
  padding: var(--empty-state-padding);
  text-align: center;
}

.ds-empty-state--compact,
.match-explorer__empty,
.lineage-loading {
  --empty-state-min-height: auto;
  --empty-state-padding: 1rem;
}

.ds-empty-state--panel,
.wrestler-empty-state,
.venues-empty {
  --empty-state-border: 1px solid rgba(var(--text-primary-rgb), 0.16);
}

.ds-empty-state--inline,
.mask-empty-state,
.vault-archive__empty,
.match-explorer__empty,
.lineage-loading {
  --empty-state-min-height: auto;
}

.ds-empty-state__eyebrow {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: var(--type-label);
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.ds-empty-state__title,
.wrestler-empty-state__title,
.venues-empty__title,
.venue-detail__empty h2 {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: var(--empty-state-title-size);
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--leading-title);
  margin: 0;
  text-transform: uppercase;
}

.ds-empty-state__copy,
.wrestler-empty-state__copy,
.venues-empty__copy,
.venue-detail__empty p {
  color: var(--text-secondary);
  font-size: var(--empty-state-copy-size);
  font-weight: 700;
  line-height: var(--leading-body);
  margin: 0;
  max-width: 28rem;
}

.ds-empty-state__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--control-gap-md);
  justify-content: center;
  margin-top: var(--empty-state-action-margin);
}

.ds-empty-state button,
.wrestler-empty-state__clear,
.venues-empty__clear {
  min-height: var(--control-height-sm);
  touch-action: manipulation;
}

.ds-empty-state button:focus-visible,
.wrestler-empty-state__clear:focus-visible,
.venues-empty__clear:focus-visible {
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.ds-control {
  align-items: center;
  background: var(--control-bg);
  border: 1px solid var(--control-border-color);
  border-radius: var(--control-radius);
  box-sizing: border-box;
  color: var(--control-text);
  display: inline-flex;
  gap: var(--control-gap-md);
  min-height: var(--control-height-sm);
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover),
    opacity var(--motion-hover);
}

.ds-control:hover {
  background: var(--control-bg-hover);
  border-color: var(--control-border-color-hover);
}

.ds-control:focus-within,
.ds-control:focus-visible {
  border-color: var(--focus-border-color);
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.ds-control:disabled,
.ds-control[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.54;
  pointer-events: none;
}

.ds-search,
.search-wrap,
.venues-toolbar-search,
.masks-search {
  border-radius: var(--control-radius);
  min-height: var(--control-height-sm);
}

.ds-control--search,
.ds-search,
.search-wrap,
.venues-toolbar-search,
.masks-search {
  align-items: center;
  box-sizing: border-box;
  gap: var(--control-gap-md);
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover);
}

.ds-control--search:focus-within,
.ds-search:focus-within,
.search-wrap:focus-within,
.venues-toolbar-search:focus-within,
.masks-search:focus-within {
  border-color: var(--focus-border-color);
  box-shadow: var(--focus-ring-strong);
}

.ds-control--search input,
.ds-search input,
.search-wrap input,
.venues-toolbar-search input,
.masks-search input {
  min-width: 0;
}

.ds-control--search input::placeholder,
.ds-search input::placeholder,
.search-wrap input::placeholder,
.venues-toolbar-search input::placeholder,
.masks-search input::placeholder {
  color: var(--control-placeholder);
  opacity: 1;
}

.ds-control--search input:disabled,
.ds-search input:disabled,
.search-wrap input:disabled,
.venues-toolbar-search input:disabled,
.masks-search input:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

.ds-control--search .material-symbols-outlined,
.ds-search .material-symbols-outlined,
.search-wrap .material-symbols-outlined,
.venues-toolbar-search .material-symbols-outlined,
.masks-search .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: var(--icon-size-control);
  line-height: 1;
}

.ds-filter-control,
.lens-button,
.era-filter-button,
.match-filter-button,
.archive-filter-dropdown__trigger,
.venue-filter-option {
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover),
    opacity var(--motion-hover),
    transform var(--motion-hover);
}

.ds-control--dropdown,
.archive-filter-dropdown__trigger,
.venues-sort select {
  min-height: var(--control-height-sm);
}

.ds-control--dropdown:focus-visible,
.archive-filter-dropdown__trigger:focus-visible,
.venues-sort select:focus-visible {
  border-color: var(--focus-border-color);
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.ds-control--filter,
.filter-sheet-trigger,
.filter-sheet__close {
  gap: var(--control-gap-md);
}

.ds-chip,
.ds-chip--active,
.era-filter-button,
.archive-filter-option,
.archive-filter-dropdown__panel .venue-filter-option,
.vault-filter-chip {
  align-items: center;
  border-radius: var(--chip-radius);
  box-sizing: border-box;
  min-height: var(--chip-height);
}

.ds-chip,
.ds-chip--active {
  background: var(--chip-bg);
  border: 1px solid var(--chip-border-color);
  color: var(--chip-text);
  display: inline-flex;
  gap: var(--chip-gap);
  padding-inline: var(--chip-padding-x);
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover);
}

.ds-chip:hover,
.ds-chip:focus-visible {
  background: var(--chip-bg-hover);
  border-color: var(--chip-border-color-hover);
  box-shadow: var(--focus-ring-strong);
  color: var(--text-primary);
  outline: none;
}

.ds-chip--active,
.ds-chip[aria-pressed="true"],
.era-filter-button[aria-pressed="true"],
.archive-filter-option:has(input:checked),
.archive-filter-dropdown__panel .venue-filter-option:has(input:checked),
.vault-filter-chip.is-active {
  background: var(--chip-bg-active);
  border-color: var(--chip-border-color-active);
  color: var(--chip-text-active);
}

.ds-chip .material-symbols-outlined,
.era-filter-button .material-symbols-outlined,
.archive-filter-option .material-symbols-outlined,
.archive-filter-dropdown__panel .venue-filter-option .material-symbols-outlined,
.vault-filter-chip .material-symbols-outlined {
  font-size: var(--chip-icon-size);
  line-height: 1;
}

.ds-segmented-control,
.venues-view-toggle,
.wrestlers-view-toggle {
  align-items: stretch;
  border-radius: var(--control-radius);
  box-sizing: border-box;
}

.ds-segmented-control__button,
.venues-view-toggle__btn {
  min-height: var(--control-height-sm);
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover);
}

.ds-segmented-control__button:focus-visible,
.venues-view-toggle__btn:focus-visible {
  box-shadow: var(--focus-ring-strong);
  outline: none;
  z-index: 1;
}

.ds-segmented-control__button[aria-pressed="true"],
.venues-view-toggle__btn[aria-pressed="true"],
.venues-view-toggle__btn--active {
  background: var(--control-bg-active);
  border-color: var(--control-border-color-active);
  color: var(--control-text-active);
}

.ds-filter-sheet {
  --filter-sheet-control-gap: var(--control-gap-md);
  --filter-sheet-footer-gap: var(--space-3);
}

.filter-sheet-trigger__badge,
.archive-filter-dropdown__count {
  line-height: 1;
}

.ds-tag,
.timeline-detail__tag,
.style-chip,
.mask-detail-chip,
.venue-tag,
.match-guide-card__label,
.masks-result-count {
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.showa-paper-section {
  --showa-paper-padding: clamp(2.5rem, 7vw, 5rem);

  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.04), transparent 18rem),
    var(--black);
  color: var(--paper);
  padding: var(--showa-paper-padding) clamp(1rem, 4vw, 3rem);
}

.showa-paper-section--dark {
  background: var(--black-soft);
}

.section--entry,
.section--matches {
  border-top: 2px solid rgba(232, 227, 217, 0.22);
  position: relative;
}

.section--entry::before,
.section--matches::before {
  background: var(--paper-solid);
  content: "";
  height: 2px;
  left: 0;
  opacity: 0.5;
  position: absolute;
  right: 0;
  top: 2px;
}

.home-lobby-section--start {
  border-top: 0;
}

.home-lobby-section--start::before {
  content: none;
}

.section__inner {
  margin-inline: auto;
  max-width: var(--max-width);
  position: relative;
  z-index: 1;
}

.section__header {
  align-items: end;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  margin-bottom: 2rem;
  padding-top: 1.4rem;
}

.section__header h2 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(2.5rem, 6vw, 5.4rem);
  line-height: 0.88;
  margin: 0;
  max-width: 720px;
  text-transform: uppercase;
}

.section__header > p {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: clamp(1rem, 1.6vw, 1.14rem);
  font-weight: 700;
  line-height: 1.75;
  margin: 0;
  max-width: 640px;
}

main > .section .section__header {
  align-items: start;
  display: block;
}

main > .section .section__header h2 {
  max-width: none;
  white-space: nowrap;
}

main > .section .section__header > p {
  margin-top: 1.15rem;
}

.feature-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-card {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.28), rgba(var(--shadow-rgb), 0.04)),
    var(--flag-white);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  color: var(--ink);
  display: block;
  min-height: 260px;
  overflow: hidden;
  padding: clamp(1.25rem, 2vw, 1.7rem);
  position: relative;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.feature-card::before {
  background: rgba(var(--accent-red-rgb), 0.82);
  content: "";
  height: 4px;
  left: 1.25rem;
  position: absolute;
  top: 1px;
  width: 44px;
  z-index: 2;
}

.feature-card > * {
  position: relative;
  z-index: 1;
}

.entry-card--start::after {
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.24), rgba(var(--text-primary-rgb), 0.54)),
    url("./assets/hero-images/home-cards/timeline-card-bg.webp") center / cover;
  content: "";
  filter: grayscale(1) contrast(1.28) brightness(0.86) sepia(0.08);
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.44;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.feature-card:hover,
.feature-card:focus-visible {
  border-color: rgba(var(--text-primary-rgb), 0.28);
  box-shadow: 0 18px 52px rgba(var(--shadow-rgb), 0.28);
  outline: none;
  transform: translateY(-4px);
}

.feature-card__eyebrow {
  color: var(--red);
  font-size: 0.9rem;
  font-weight: 800;
  margin: 1.45rem 0 2.5rem;
  text-transform: uppercase;
}

.feature-card h3 {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 0.92;
  margin: 0;
  text-transform: uppercase;
}

.feature-card p:last-child {
  color: var(--text-primary);
  font-weight: 600;
  line-height: 1.65;
  margin: 1.15rem 0 0;
}

.paper-section {
  background:
    radial-gradient(circle at 12% 24%, rgba(var(--accent-red-dark-rgb), 0.11), transparent 18rem),
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.28), rgba(var(--shadow-rgb), 0.04)),
    var(--paper-solid);
  color: var(--ink);
  overflow: hidden;
  position: relative;
}

.paper-section::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.18) 0 0.45px, transparent 0.75px);
  background-size:
    100% 7px,
    13px 13px;
  content: "";
  inset: 0;
  opacity: 0.28;
  pointer-events: none;
  position: absolute;
}

.paper-section__inner {
  max-width: 940px;
}

.paper-section .kicker {
  color: var(--red);
}

.paper-section h2 {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: 0.84;
  margin: 0;
}

.paper-section p:last-child {
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: clamp(1.08rem, 1.8vw, 1.32rem);
  font-weight: 700;
  line-height: 1.75;
  margin: 1.35rem 0 0;
  max-width: 850px;
}

.match-grid {
  --match-card-height: 26rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.section--matches .match-grid {
  --match-card-height: 25rem;
  gap: 0.85rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.match-card {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    var(--bg-primary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: var(--match-card-height);
  overflow: hidden;
  padding: 0;
  position: relative;
}

.match-card::before {
  background: var(--red);
  content: "";
  height: 3px;
  right: 1rem;
  position: absolute;
  top: 0;
  width: 38px;
}

.match-card__thumb {
  align-items: center;
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(circle at 72% 20%, rgba(var(--accent-red-rgb), 0.36), transparent 9rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 32%),
    #151515;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.match-card__thumb::after {
  background:
    linear-gradient(180deg, transparent 28%, rgba(0, 0, 0, 0.64) 100%),
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 100% 100%, 100% 7px;
  content: "";
  inset: 0;
  position: absolute;
}

.match-card__thumb img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.match-card__thumb-label {
  color: rgba(var(--on-accent-rgb), 0.12);
  font-family: var(--display);
  font-size: clamp(3.5rem, 9vw, 7rem);
  font-weight: 800;
  line-height: 0.8;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.match-card__body {
  display: grid;
  gap: 0.62rem;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  min-height: 0;
  padding: 1rem;
}

.section--matches .match-card__body {
  gap: 0.55rem;
  padding: 0.95rem;
}

.match-card__label {
  color: var(--yellow);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.15;
  margin: 0;
  text-transform: uppercase;
}

.match-card h3 {
  color: var(--paper);
  display: -webkit-box;
  font-family: var(--display);
  font-size: clamp(1.75rem, 2.65vw, 2.4rem);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 0.9;
  margin: 0;
  min-height: 1.8em;
  overflow: hidden;
  text-transform: uppercase;
}

.section--matches .match-card h3 {
  font-size: clamp(1.35rem, 1.7vw, 1.95rem);
  -webkit-line-clamp: 3;
  min-height: 2.7em;
}

.match-card__meta {
  color: rgba(var(--text-primary-rgb), 0.82);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.5;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
}

.match-card .watch-button,
.match-card .match-btn {
  align-self: end;
}

.section-cta {
  margin-top: 1.5rem;
}

.home-lobby-section {
  position: relative;
}

.home-lobby-section::after {
  background:
    linear-gradient(rgba(var(--text-primary-rgb), 0.035) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.16) 0 0.45px, transparent 0.78px);
  background-size:
    100% 8px,
    14px 14px;
  content: "";
  inset: 0;
  opacity: 0.22;
  pointer-events: none;
  position: absolute;
}

.home-entry-grid {
  display: grid;
  gap: clamp(0.85rem, 1.5vw, 1.2rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-entry-item {
  display: grid;
  gap: 0.8rem;
}

.home-entry-item > p {
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: clamp(0.98rem, 1.2vw, 1.06rem);
  font-weight: 750;
  line-height: 1.5;
  margin: 0;
}

.home-entry-card {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.26), rgba(var(--shadow-rgb), 0.05)),
    var(--flag-white);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  color: var(--ink);
  align-content: end;
  display: grid;
  gap: 0.95rem;
  min-height: clamp(14rem, 22vw, 18rem);
  overflow: hidden;
  padding: clamp(1.25rem, 2vw, 1.8rem);
  position: relative;
  text-decoration: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.home-entry-card::before {
  content: none;
}

.home-entry-card--start::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.24), rgba(0, 0, 0, 0.42)),
    url("./assets/hero-images/home-cards/timeline-card-bg.webp") center / cover;
  content: "";
  filter: contrast(1.08) brightness(0.84);
  inset: 0;
  opacity: 0.9;
  pointer-events: none;
  position: absolute;
}

.home-entry-card--history::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.32)),
    url("./assets/hero-images/home-cards/history-card-bg.webp") center / cover;
  content: "";
  filter: contrast(1.2) brightness(0.9);
  inset: 0;
  opacity: 0.9;
  pointer-events: none;
  position: absolute;
}

.home-entry-card--match::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.34)),
    url("./assets/hero-images/home-cards/match-guide-card-bg.webp") center / cover;
  content: "";
  filter: contrast(1.08) brightness(0.9);
  inset: 0;
  opacity: 0.9;
  pointer-events: none;
  position: absolute;
}

.home-entry-card > * {
  position: relative;
  z-index: 1;
}

.home-entry-card__number {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(3.25rem, 6.2vw, 5.8rem);
  font-weight: 800;
  left: clamp(1.1rem, 1.8vw, 1.6rem);
  line-height: 0.78;
  opacity: 0.94;
  position: absolute;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.72),
    1px 2px 3px rgba(0, 0, 0, 0.62),
    0 0 6px rgba(0, 0, 0, 0.34);
  top: clamp(1rem, 1.7vw, 1.45rem);
  z-index: 2;
}

.home-entry-card:hover,
.home-entry-card:focus-visible,
.home-browse-grid a:hover,
.home-browse-grid a:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.9);
  outline: none;
  transform: translateY(-3px);
}

.home-browse-grid a:hover,
.home-browse-grid a:focus-visible {
  box-shadow: inset 0 0 0 1px var(--accent-red);
  position: relative;
  z-index: 2;
}

.home-entry-card:hover,
.home-entry-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: 0 0 0 2px var(--accent-red);
}

.home-entry-card:hover::after,
.home-entry-card:focus-visible::after {
  opacity: 0.9;
}

.home-entry-card__eyebrow {
  color: var(--red);
  font-family: var(--display);
  font-size: var(--type-kicker);
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.home-entry-card .home-entry-card__eyebrow {
  display: none;
}

.home-entry-card h3 {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(2.4rem, 4.6vw, 4.25rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.86;
  margin: 0;
  justify-self: start;
  width: fit-content;
  text-transform: uppercase;
}

.home-entry-card p:last-child {
  color: rgba(17, 17, 17, 0.82);
  font-size: clamp(0.98rem, 1.25vw, 1.08rem);
  font-weight: 750;
  line-height: 1.55;
  margin: 0;
  justify-self: start;
  max-width: 28rem;
  width: fit-content;
}

.home-entry-card h3 {
  background: rgba(191, 38, 31, 0.78);
  box-shadow:
    0.18em 0 0 rgba(191, 38, 31, 0.78),
    -0.18em 0 0 rgba(191, 38, 31, 0.78);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.story-begins {
  background:
    linear-gradient(180deg, #090909 0%, #030303 100%);
  border-bottom: 1px solid rgba(244, 241, 234, 0.12);
  border-top: 1px solid rgba(244, 241, 234, 0.12);
  overflow: hidden;
  padding: 0;
  position: relative;
}

.story-begins::after {
  background-image:
    linear-gradient(
      90deg,
      rgba(2, 2, 2, 1) 0%,
      rgba(2, 2, 2, 0.99) 28%,
      rgba(2, 2, 2, 0.88) 42%,
      rgba(2, 2, 2, 0.46) 56%,
      rgba(2, 2, 2, 0.1) 76%,
      rgba(2, 2, 2, 0.02) 100%
    ),
    radial-gradient(circle at 74% 42%, rgba(244, 241, 234, 0.22), rgba(244, 241, 234, 0.08) 18%, transparent 36%),
    radial-gradient(circle at 86% 52%, rgba(191, 38, 31, 0.08), rgba(191, 38, 31, 0.022) 35%, transparent 70%),
    url("./assets/hero-images/backgrounds/hero-home.webp");
  background-position:
    center,
    center,
    center,
    right center;
  background-repeat: no-repeat;
  background-size:
    cover,
    cover,
    cover,
    auto 155%;
  content: "";
  filter: grayscale(1) contrast(1.16) brightness(1.07);
  inset: 0;
  opacity: 1;
  position: absolute;
  z-index: 0;
}

.story-begins__inner {
  align-items: center;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1280px;
  min-height: 800px;
  padding: clamp(5.25rem, 7vw, 7rem) clamp(1.5rem, 4vw, 3rem);
  position: relative;
  z-index: 2;
}

.story-begins__content {
  max-width: 580px;
  position: relative;
  z-index: 1;
}

.story-begins__eyebrow {
  color: var(--red);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.story-begins__title {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(3.1rem, 5.2vw, 6.2rem);
  font-weight: 800;
  line-height: 0.9;
  margin: 0;
  max-width: 580px;
  text-transform: uppercase;
}

.story-begins__title span {
  display: block;
}

.story-begins__body {
  color: rgba(244, 241, 234, 0.78);
  font-size: clamp(1rem, 1.1vw, 1.08rem);
  font-weight: 700;
  line-height: 1.75;
  margin: 1.5rem 0 2rem;
  max-width: 500px;
}

.story-begins__cta {
  gap: 0.35rem;
  justify-self: start;
}

.story-begins__cta:hover,
.story-begins__cta:focus-visible {
  transform: translateX(4px);
}

[data-theme="modern-showa"] .section.story-begins {
  background:
    linear-gradient(180deg, #080808 0%, #050505 100%);
  color: #f5f5f0;
}

[data-theme="modern-showa"] .story-begins__title {
  color: #f5f5f0;
}

[data-theme="modern-showa"] .story-begins__body {
  color: rgba(244, 241, 234, 0.72);
}

.home-match-spotlight {
  background:
    linear-gradient(110deg, rgba(var(--shadow-rgb), 0.94), rgba(var(--shadow-rgb), 0.9)),
    radial-gradient(circle at 18% 24%, rgba(var(--paper-rgb), 0.16), transparent 18rem),
    var(--black);
  border: 1px solid rgba(var(--paper-rgb), 0.18);
  box-shadow: 0 22px 70px rgba(var(--shadow-rgb), 0.32);
  color: var(--paper);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: clamp(24rem, 40vw, 34rem);
  overflow: hidden;
  position: relative;
}

.home-match-spotlight::before {
  background-image:
    linear-gradient(rgba(var(--paper-rgb), 0.055) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--paper-rgb), 0.18) 0 0.5px, transparent 0.8px);
  background-size:
    100% 7px,
    12px 12px;
  content: "";
  inset: 0;
  opacity: 0.4;
  pointer-events: none;
  position: absolute;
}

.home-match-spotlight__content {
  align-content: center;
  display: grid;
  gap: clamp(1rem, 1.7vw, 1.35rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  position: relative;
  z-index: 1;
}

.home-match-spotlight h2 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(3rem, 7vw, 6.5rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.84;
  margin: 0;
  max-width: 11ch;
  text-transform: uppercase;
}

.home-match-spotlight__meta {
  border-block: 1px solid rgba(var(--paper-rgb), 0.2);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.home-match-spotlight__meta div {
  padding: 0.85rem 1rem 0.85rem 0;
}

.home-match-spotlight__meta dt {
  color: var(--red-light);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  margin: 0 0 0.45rem;
  text-transform: uppercase;
}

.home-match-spotlight__meta dd {
  color: rgba(var(--paper-rgb), 0.88);
  font-weight: 850;
  margin: 0;
}

.home-match-spotlight__content > p:not(.kicker) {
  color: rgba(var(--paper-rgb), 0.86);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  font-weight: 800;
  line-height: 1.5;
  margin: 0;
  max-width: 48rem;
}

.home-match-spotlight .button {
  justify-self: start;
}

.home-browse-head {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-content: flex-start;
  margin-bottom: 1.2rem;
}

.home-browse-head h2 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(2.5rem, 5.5vw, 5rem);
  line-height: 0.86;
  margin: 0;
  text-transform: uppercase;
}

.home-browse-grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.home-browse-grid a {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.025)),
    var(--bg-primary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  color: var(--paper);
  display: grid;
  gap: 0.5rem;
  min-height: 8rem;
  padding: clamp(1rem, 1.55vw, 1.35rem);
  text-decoration: none;
  transition:
    border-color 180ms ease,
    transform 180ms ease;
}

.home-browse-grid a:not(:first-child) {
  border-left: 0;
}

.home-browse-grid span {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(1.5rem, 2vw, 2.05rem);
  font-weight: 800;
  line-height: 0.95;
  text-transform: uppercase;
}

.home-browse-grid small {
  align-self: end;
  color: rgba(var(--text-primary-rgb), 0.62);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.25;
}

[data-theme="modern-showa"] .home-lobby-section,
[data-theme="modern-showa"] .home-lobby-section--browse {
  background: var(--bg-primary);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .home-entry-card,
[data-theme="modern-showa"] .home-browse-grid a {
  background: #ffffff;
  border-color: var(--border-subtle);
  box-shadow: none;
}

[data-theme="modern-showa"] .home-entry-card:hover,
[data-theme="modern-showa"] .home-entry-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: 0 0 0 2px var(--accent-red);
}

[data-theme="modern-showa"] .home-entry-card,
[data-theme="modern-showa"] .home-entry-card h3 {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .home-entry-card p:last-child,
[data-theme="modern-showa"] .home-entry-item > p,
[data-theme="modern-showa"] .home-browse-grid small {
  color: var(--text-secondary);
}

[data-theme="modern-showa"] .home-entry-card__number {
  color: var(--accent-red);
  text-shadow: 0 1px 0 rgba(var(--highlight-rgb), 0.2);
}

[data-theme="modern-showa"] .home-browse-head h2,
[data-theme="modern-showa"] .home-browse-grid span {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .home-match-spotlight {
  background: #ffffff;
  border-color: var(--border-strong);
  box-shadow: none;
}

[data-theme="modern-showa"] .home-match-spotlight h2 {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .home-match-spotlight__content > p:not(.kicker),
[data-theme="modern-showa"] .home-match-spotlight__meta dd {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .home-match-spotlight__meta {
  border-color: rgba(0, 0, 0, 0.14);
}

@media (min-width: 1025px) {
  .home-lobby-section--start {
    padding-bottom: clamp(6.25rem, 7.4vw, 8.75rem);
  }
}

@media (max-width: 1024px) {
  .home-lobby-section--start {
    padding-bottom: clamp(5.5rem, 8vw, 7rem);
  }

  .home-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-browse-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-browse-grid a {
    border-left: 1px solid rgba(var(--text-primary-rgb), 0.16);
  }

  .home-browse-grid a:not(:nth-child(3n + 1)) {
    border-left: 0;
  }

  .home-browse-grid a:nth-child(n + 4) {
    border-top: 0;
  }
}

@media (max-width: 900px) {
  .home-lobby-section--start {
    padding-bottom: clamp(6.5rem, 15vw, 8.5rem);
  }

  .story-begins::after {
    background-image:
      linear-gradient(
        90deg,
        rgba(2, 2, 2, 1) 0%,
        rgba(2, 2, 2, 0.98) 38%,
        rgba(2, 2, 2, 0.76) 62%,
        rgba(2, 2, 2, 0.38) 100%
      ),
      radial-gradient(circle at 74% 38%, rgba(244, 241, 234, 0.16), rgba(244, 241, 234, 0.055) 24%, transparent 46%),
      radial-gradient(circle at 78% 50%, rgba(191, 38, 31, 0.13), rgba(191, 38, 31, 0.035) 36%, transparent 70%),
      url("./assets/hero-images/backgrounds/hero-home.webp");
    background-position:
      center,
      center,
      center,
      right center;
    background-size:
      cover,
      cover,
      cover,
      auto 104%;
  }

  .story-begins__inner {
    min-height: 520px;
  }

  .story-begins__content {
    max-width: 520px;
  }
}

@media (max-width: 760px) {
  .story-begins::after {
    background-image:
      linear-gradient(
        90deg,
        rgba(2, 2, 2, 1) 0%,
        rgba(2, 2, 2, 0.98) 52%,
        rgba(2, 2, 2, 0.74) 100%
      ),
      radial-gradient(circle at 80% 28%, rgba(244, 241, 234, 0.12), rgba(244, 241, 234, 0.04) 24%, transparent 46%),
      url("./assets/hero-images/backgrounds/hero-home.webp");
    background-position:
      center,
      center,
      right center;
    background-size:
      cover,
      cover,
      auto 100%;
    opacity: 0.92;
  }

  .story-begins__inner {
    min-height: 470px;
    padding-bottom: clamp(3.5rem, 12vw, 5rem);
    padding-top: clamp(3.5rem, 12vw, 5rem);
  }

  .story-begins__title {
    font-size: clamp(2.35rem, 11vw, 3.55rem);
    white-space: normal;
  }

  .home-entry-grid,
  .home-browse-grid,
  .home-match-spotlight,
  .home-match-spotlight__meta {
    grid-template-columns: 1fr;
  }

  .home-browse-grid a {
    border-left: 1px solid rgba(var(--text-primary-rgb), 0.16);
  }

  .home-browse-grid a:not(:first-child) {
    border-top: 0;
  }

  .home-entry-card {
    align-content: center;
    gap: 0.08rem;
    justify-items: start;
    min-height: clamp(5.75rem, 24vw, 7.25rem);
    padding: clamp(0.72rem, 3.2vw, 1rem);
  }

  .home-entry-card__number {
    font-size: clamp(2.05rem, 10vw, 2.65rem);
    left: auto;
    line-height: 0.76;
    position: relative;
    top: auto;
  }

  .home-entry-card h3 {
    font-size: clamp(1.95rem, 8.8vw, 2.45rem);
    line-height: 0.84;
    margin-left: 0.05rem;
  }

  .home-entry-card--start::after {
    background:
      url("./assets/hero-images/home-cards/timeline-card-bg.webp") center calc(50% + 22px) / cover;
  }

  .home-entry-card--history::after {
    background:
      url("./assets/hero-images/home-cards/history-card-bg.webp") center calc(62% + 52px) / cover;
  }

  .home-entry-card--match::after {
    background:
      url("./assets/hero-images/home-cards/match-guide-card-bg.webp") center calc(64% + 66px) / cover;
  }

  .home-match-spotlight {
    background:
      linear-gradient(180deg, rgba(var(--shadow-rgb), 0.94), rgba(var(--shadow-rgb), 0.9)),
      var(--black);
  }

  [data-theme="modern-showa"] .home-match-spotlight {
    background: #ffffff;
  }

  .home-match-spotlight h2 {
    max-width: 100%;
  }

  .home-browse-head {
    align-items: start;
    display: grid;
  }
}

.preview-list {
  display: grid;
  gap: 1px;
  background: rgba(var(--text-primary-rgb), 0.18);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
}

.preview-block {
  align-items: start;
  background:
    linear-gradient(100deg, rgba(var(--text-primary-rgb), 0.08), transparent 46%),
    var(--bg-primary);
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: minmax(4.4rem, 0.18fr) minmax(0, 1fr);
  min-height: 190px;
  padding: clamp(1.25rem, 3vw, 2rem);
  position: relative;
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.preview-block::after {
  background: rgba(var(--accent-red-rgb), 0.84);
  bottom: 0;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 4px;
}

.preview-block__number {
  color: transparent;
  font-family: var(--display);
  font-size: clamp(3rem, 8vw, 7rem);
  font-weight: 800;
  line-height: 0.8;
  margin: 0;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px rgba(var(--text-primary-rgb), 0.48);
}

.preview-block__eyebrow {
  color: var(--yellow);
  font-size: 0.82rem;
  font-weight: 800;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.preview-block h3 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: 0.86;
  margin: 0;
  text-transform: uppercase;
}

.preview-block p:last-child {
  color: rgba(var(--text-primary-rgb), 0.7);
  font-weight: 700;
  line-height: 1.7;
  margin: 1rem 0 0;
  max-width: 700px;
}

.preview-block:hover,
.preview-block:focus-visible {
  background:
    linear-gradient(100deg, rgba(var(--text-primary-rgb), 0.12), transparent 46%),
    var(--bg-secondary);
  outline: none;
  transform: translateX(4px);
}

.site-footer {
  align-items: start;
  background:
    linear-gradient(180deg, rgba(162, 35, 29, 0.1), transparent 28%),
    linear-gradient(135deg, rgba(0, 0, 0, 0.98), rgba(10, 10, 9, 0.98)),
    var(--ink);
  border-top: 1px solid rgba(232, 227, 217, 0.22);
  color: var(--paper);
  display: flex;
  gap: clamp(1.8rem, 4vw, 4rem);
  justify-content: space-between;
  padding: clamp(2.25rem, 4vw, 3.75rem) clamp(1.25rem, 5vw, 5rem) clamp(2.65rem, 4.6vw, 4.35rem);
  position: relative;
}

.site-footer--institutional {
  display: grid;
  column-gap: clamp(3rem, 7vw, 8rem);
  grid-template-columns: minmax(16rem, 0.62fr) minmax(0, 1.75fr);
  grid-template-rows: auto auto auto;
  padding-bottom: clamp(1.35rem, 2vw, 2.15rem);
  padding-top: clamp(1.4rem, 2vw, 2.1rem);
  row-gap: clamp(0.45rem, 0.8vw, 0.75rem);
}

.footer-brand {
  align-self: start;
  display: grid;
  gap: 0.45rem;
  grid-column: 1;
  grid-row: 3;
  min-width: 0;
}

.footer-brand-note {
  color: rgba(232, 227, 217, 0.66);
  font-size: clamp(0.82rem, 0.9vw, 0.96rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  max-width: 20rem;
}

.footer-top {
  align-items: center;
  display: flex;
  gap: clamp(1.2rem, 2.4vw, 2.5rem);
  grid-column: 2;
  grid-row: 1;
  justify-content: flex-end;
  min-height: 1.7rem;
}

.footer-socials {
  align-items: center;
  display: flex;
  gap: 0.55rem;
}

.footer-socials::before {
  color: var(--accent-red-dark);
  content: "Follow";
  font-family: var(--display);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0;
  margin-right: 0.15rem;
  text-transform: uppercase;
}

.footer-social-link {
  align-items: center;
  border: 1px solid rgba(232, 227, 217, 0.22);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.88);
  display: inline-flex;
  height: 2.2rem;
  justify-content: center;
  text-decoration: none;
  transition: border-color 180ms ease, color 180ms ease, transform 180ms ease;
  width: 2.2rem;
}

.footer-social-link svg {
  display: block;
  fill: currentColor;
  height: 1rem;
  width: 1rem;
}

.footer-rule {
  align-self: start;
  background: linear-gradient(90deg, rgba(var(--accent-red-dark-rgb), 0.92), rgba(var(--accent-red-rgb), 0.58), rgba(var(--accent-red-dark-rgb), 0.2));
  grid-column: 2;
  grid-row: 2;
  height: 2px;
  width: 100%;
}

.footer-nav--columns {
  align-items: start;
  display: grid;
  gap: clamp(1.25rem, 3vw, 3rem);
  grid-column: 2;
  grid-row: 3;
  grid-template-columns: repeat(3, minmax(8rem, 1fr));
  justify-content: stretch;
}

.footer-nav-group {
  display: grid;
  gap: 0.34rem;
}

.footer-nav-heading {
  color: var(--accent-red-dark);
  font-family: var(--display);
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 0.2rem;
  opacity: 0.74;
  text-transform: uppercase;
}

.footer-nav--columns a {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.82rem;
  justify-self: start;
  padding-block: 0.14rem;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
  color: var(--accent-red-readable);
  outline: none;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
  border-color: rgba(162, 35, 29, 0.72);
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-legal {
    align-self: flex-start;
  }

  .site-footer--institutional .footer-legal {
    grid-column: 1;
    grid-row: 5;
    justify-self: start;
    text-align: left;
  }

  .footer-nav {
    justify-content: flex-start;
  }

  .site-footer--institutional {
    grid-template-columns: 1fr;
  }

  .footer-brand,
  .footer-top,
  .footer-rule,
  .footer-nav--columns {
    grid-column: 1;
  }

  .footer-brand {
    align-self: start;
    grid-row: 1;
  }

  .footer-top {
    align-items: center;
    flex-direction: row;
    gap: 0.9rem;
    grid-row: 2;
    justify-content: space-between;
    width: 100%;
  }

  .footer-rule {
    grid-row: 3;
    margin-top: 0.25rem;
  }

  .footer-nav--columns {
    grid-row: 4;
    grid-template-columns: repeat(2, minmax(8rem, 1fr));
  }
}

@media (max-width: 560px) {
  .site-footer--institutional {
    gap: 0.95rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1.25rem clamp(1.15rem, 8vw, 1.8rem) 1.45rem;
  }

  .site-footer--institutional .footer-brand {
    gap: 0;
    grid-column: 1;
    grid-row: 1;
  }

  .site-footer.site-footer--institutional .footer-logo__image {
    height: calc(var(--site-logo-image-height) * 0.6);
    max-width: min(13.5rem, 60vw);
  }

  .site-footer--institutional .footer-brand-note {
    display: none;
  }

  .site-footer--institutional .footer-social-link {
    height: 1.95rem;
    width: 1.95rem;
  }

  .site-footer--institutional .footer-top {
    align-self: center;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    min-height: 0;
    width: auto;
  }

  .site-footer--institutional .footer-socials {
    gap: 0.45rem;
  }

  .site-footer--institutional .footer-socials::before {
    font-size: 0.68rem;
    margin-right: 0.1rem;
  }

  .site-footer--institutional .footer-rule {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0.2rem;
  }

  .footer-nav--columns {
    gap: 0.65rem 1rem;
    grid-column: 1 / -1;
    grid-row: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-nav--columns a {
    padding-block: 0.05rem;
  }

  .site-footer--institutional .footer-nav-group {
    gap: 0.18rem;
  }

  .site-footer--institutional .footer-nav-heading {
    font-size: 0.68rem;
    margin-bottom: 0.1rem;
  }

  .site-footer.site-footer--institutional .footer-legal {
    border-top: 1px solid rgba(232, 227, 217, 0.12);
    color: rgba(232, 227, 217, 0.58);
    font-size: 0.68rem;
    font-weight: 700;
    grid-column: 1 / -1;
    grid-row: 4;
    line-height: 1.42;
    margin-top: 0.05rem;
    max-width: none;
    padding-top: 0.9rem;
  }
}

@media (min-width: 561px) and (max-width: 900px) and (orientation: portrait) {
  .site-footer--institutional {
    gap: 1.05rem;
    padding: 1.45rem clamp(1.4rem, 6vw, 2.5rem) 1.65rem;
  }

  .site-footer.site-footer--institutional .footer-logo__image {
    height: calc(var(--site-logo-image-height) * 0.6);
    max-width: min(15rem, 45vw);
  }

  .site-footer--institutional .footer-brand-note {
    max-width: 18rem;
  }

  .site-footer--institutional .footer-social-link {
    height: 2rem;
    width: 2rem;
  }

  .footer-nav--columns {
    gap: 0.85rem 1.35rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .site-footer--institutional .footer-nav-group {
    gap: 0.22rem;
  }

  .site-footer.site-footer--institutional .footer-legal {
    font-size: 0.72rem;
    margin-top: 0.05rem;
    padding-top: 0.95rem;
  }
}

@media (min-width: 480px) and (max-width: 560px) {
  .footer-nav--columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.footer-logo {
  color: inherit;
  font-family: var(--display);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-footer .footer-logo {
  align-items: flex-start;
}

.site-footer .footer-logo__image {
  display: block;
  height: calc(var(--site-logo-image-height) * 0.6);
  width: auto;
}

.site-footer .footer-logo .site-logo__mark {
  color: inherit;
}

.site-footer p {
  color: rgba(var(--text-primary-rgb), 0.6);
  font-size: 0.82rem;
  font-weight: 700;
  margin: 0.35rem 0 0;
}

.footer-legal {
  align-self: end;
  line-height: 1.35;
  max-width: 28rem;
}

.site-footer--institutional .footer-legal {
  border-top: 1px solid rgba(232, 227, 217, 0.12);
  color: rgba(232, 227, 217, 0.58);
  font-size: 0.72rem;
  font-weight: 700;
  grid-column: 1 / -1;
  grid-row: 4;
  justify-self: stretch;
  line-height: 1.42;
  margin-top: 0.65rem;
  max-width: none;
  padding-top: 0.95rem;
  text-align: left;
}

@media (max-width: 900px) {
  .footer-legal {
    align-self: flex-start;
  }

  .site-footer--institutional .footer-legal {
    grid-column: 1;
    grid-row: 5;
    justify-self: start;
    text-align: left;
  }
}

.route-main {
  background: var(--route-atmosphere);
  min-height: 72vh;
}

.shop-page {
  background: #050403;
  color: #f1ece1;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
}

.shop-page main {
  height: 100dvh;
  overflow: hidden;
}

.shop-header {
  background:
    linear-gradient(105deg, rgba(255, 255, 255, 0.05), transparent 34%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.16));
  border-bottom-color: rgba(255, 255, 255, 0.12);
  color: #f1ece1;
  position: fixed;
}

.shop-header.showa-paper-nav {
  background:
    linear-gradient(105deg, rgba(255, 255, 255, 0.05), transparent 34%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.16));
}

.shop-header.site-header--home.showa-paper-nav::before {
  opacity: 0.26;
}

.shop-main {
  background: #050403;
}

.shop-hero {
  box-sizing: border-box;
  height: 100dvh;
  min-height: 480px;
  overflow: hidden;
  position: relative;
}

.shop-hero__image {
  background-image: url("./assets/shop/shop-back.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: brightness(0.86) contrast(1.08) saturate(0.95);
  inset: 0;
  position: absolute;
  transform: scale(1.012);
}

.shop-hero::before,
.shop-hero::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.shop-hero::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.64) 18%, rgba(0, 0, 0, 0.18) 50%, rgba(0, 0, 0, 0.38) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.06) 34%, rgba(0, 0, 0, 0.48) 100%);
}

.shop-hero::after {
  background: radial-gradient(circle at 72% 44%, transparent 0, transparent 24%, rgba(0, 0, 0, 0.52) 100%);
}

.shop-hero__grain {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
  background-size: 3px 3px, 5px 5px;
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.2;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.shop-hero__copy {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: calc(var(--site-header-height) + 1.25rem) clamp(1.25rem, 4vw, 4rem) clamp(2rem, 5vw, 4.5rem);
  position: relative;
  width: min(42rem, 48vw);
  z-index: 3;
}

.shop-hero__eyebrow {
  color: #c43c35;
  font-family: var(--display);
  font-size: clamp(0.78rem, 1.4vw, 1.02rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 clamp(1.35rem, 2vw, 2rem);
  text-transform: uppercase;
}

.shop-hero h1 {
  color: rgba(246, 242, 233, 0.92);
  font-family: var(--display);
  font-size: clamp(2.55rem, 5.4vw, 5.4rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.14;
  margin: 0;
  text-shadow:
    0 0.04em 0 rgba(0, 0, 0, 0.46),
    0 0 2rem rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
}

.shop-hero__intro {
  color: rgba(255, 252, 244, 0.9);
  font-size: clamp(1rem, 1.25vw, 1.22rem);
  font-weight: 600;
  line-height: 1.58;
  margin: clamp(1.65rem, 3vw, 2.35rem) 0 0;
  max-width: 21rem;
}

.shop-hero__button {
  align-items: center;
  align-self: flex-start;
  background: rgba(5, 5, 5, 0.28);
  border: 1px solid rgba(241, 236, 225, 0.22);
  border-radius: 0;
  box-shadow: none;
  color: rgba(241, 236, 225, 0.78);
  cursor: default;
  display: inline-flex;
  font-family: var(--display);
  font-size: clamp(0.88rem, 1.2vw, 1.02rem);
  font-weight: 800;
  gap: 1.45rem;
  justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1;
  margin-top: clamp(1.65rem, 3vw, 2.35rem);
  min-height: 4.1rem;
  min-width: 15.35rem;
  padding: 0 1.55rem;
  text-transform: uppercase;
}

.shop-hero__button span {
  font-family: Arial, sans-serif;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 0.8;
}

@media (max-width: 900px) {
  .shop-hero__image {
    background-position: 58% center;
  }

  .shop-hero__copy {
    justify-content: flex-start;
    padding-bottom: clamp(2rem, 6vw, 3rem);
    padding-top: calc(var(--site-header-height) + clamp(1.35rem, 5vw, 2.5rem));
    width: min(30rem, 78vw);
  }

}

@media (max-width: 640px) {
  .shop-hero {
    min-height: 420px;
  }

  .shop-hero__image {
    background-position: 66% center;
  }

  .shop-hero::before {
    background:
      linear-gradient(90deg, rgba(0, 0, 0, 0.84) 0%, rgba(0, 0, 0, 0.52) 48%, rgba(0, 0, 0, 0.24) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.18) 30%, rgba(0, 0, 0, 0.72) 100%);
  }

  .shop-hero__copy {
    padding-inline: 1.15rem;
    padding-top: calc(var(--site-header-height) + clamp(1.1rem, 6vw, 2rem));
    width: 100%;
  }

  .shop-hero__eyebrow {
    margin-bottom: 0.85rem;
  }

  .shop-hero h1 {
    font-size: clamp(2.25rem, 10vw, 4rem);
    line-height: 1.02;
  }

  .shop-hero__intro {
    margin-top: 1.25rem;
    max-width: 18rem;
  }

  .shop-hero__button {
    margin-top: 1.35rem;
    min-height: 3.5rem;
    min-width: 12.5rem;
  }
}

.route-hero {
  align-items: center;
  background: var(--route-hero-atmosphere);
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
  box-sizing: border-box;
  display: flex;
  height: var(--route-hero-height);
  min-height: var(--route-hero-height);
  padding: clamp(3.75rem, 7.5vw, 6rem) clamp(1rem, 4vw, 3rem) clamp(2.65rem, 5.25vw, 3.75rem);
  position: relative;
}

.route-hero--timeline,
.route-hero--wrestlers,
.route-hero--beyond-ring {
  overflow: hidden;
}

.route-hero--timeline::before,
.route-hero--wrestlers::before,
.route-hero--beyond-ring::before {
  background-position: var(--route-hero-image-position, center center);
  background-repeat: no-repeat;
  background-size: var(--route-hero-image-size, cover);
  bottom: 0;
  content: "";
  filter: var(--route-hero-image-filter, grayscale(1) contrast(1.08));
  opacity: 0.2;
  pointer-events: none;
  position: absolute;
  right: max(0rem, calc((100vw - var(--max-width)) / 2));
  top: 0;
  transform: translateX(var(--route-hero-image-offset, 0rem));
  width: var(--route-hero-image-width, min(44vw, 620px));
  z-index: 0;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(var(--shadow-rgb), 0.72) 20%, rgb(var(--shadow-rgb)) 45%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgb(var(--shadow-rgb)) 16%, rgb(var(--shadow-rgb)) 76%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(var(--shadow-rgb), 0.72) 20%, rgb(var(--shadow-rgb)) 45%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgb(var(--shadow-rgb)) 16%, rgb(var(--shadow-rgb)) 76%, transparent 100%);
  mask-composite: intersect;
}

.route-hero--timeline::before {
  background-image: url("./assets/hero-images/hero/rikidozan-timeline-bg.webp");
  --route-hero-image-position: center 34%;
}

.route-hero--beyond-ring::before {
  background-image: url("./assets/hero-images/hero/stan-hansen-hero.webp");
  --route-hero-image-filter: grayscale(100%) sepia(0.08) contrast(1.1) brightness(1);
  --route-hero-image-offset: 2rem;
  --route-hero-image-position: center calc(18% - 30px);
  --route-hero-image-size: cover;
  opacity: 0.34;
}

.route-hero::after {
  background: var(--paper-solid);
  bottom: -4px;
  content: "";
  height: 2px;
  left: 0;
  opacity: 0.5;
  position: absolute;
  right: 0;
  z-index: 2;
}

.route-hero__content {
  display: block;
  margin-inline: auto;
  max-width: var(--max-width);
  position: relative;
  width: 100%;
  z-index: 1;
}

.route-hero .kicker {
  color: var(--red);
  margin-bottom: 0.65rem;
}

.route-hero h1 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(3.2rem, 8vw, 7.4rem);
  line-height: 0.82;
  margin: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.route-hero__content > p {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.75;
  margin: 1.2rem 0 0;
  max-width: 660px;
}

.route-mini-hero {
  background: var(--route-hero-atmosphere);
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
  padding: clamp(1.7rem, 3.4vw, 2.6rem) clamp(1rem, 4vw, 3rem);
  position: relative;
}

.route-mini-hero::after {
  background: var(--paper-solid);
  bottom: -4px;
  content: "";
  height: 2px;
  left: 0;
  opacity: 0.5;
  position: absolute;
  right: 0;
}

.route-mini-hero__inner {
  align-items: end;
  column-gap: clamp(1rem, 2.5vw, 2.6rem);
  display: grid;
  grid-template-columns: fit-content(28rem) minmax(18rem, 34rem);
  justify-content: start;
  margin-inline: auto;
  max-width: var(--max-width);
}

.route-mini-hero .kicker {
  color: var(--red);
  grid-column: 1;
  margin: 0 0 0.55rem;
}

.route-mini-hero h1 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(2.8rem, 7vw, 5.8rem);
  line-height: 0.84;
  grid-column: 1;
  margin: 0;
  text-transform: uppercase;
}

.route-mini-hero p:last-child {
  align-self: end;
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: clamp(0.96rem, 1.4vw, 1.12rem);
  font-weight: 750;
  grid-column: 2;
  grid-row: 1 / span 2;
  line-height: 1.65;
  margin: 0;
  max-width: 520px;
}

.route-main .section__header {
  display: block;
}

.route-main .section__header h2 {
  max-width: none;
  white-space: nowrap;
}

.route-main .section__header > p {
  margin-top: 1.15rem;
}

.route-card-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.route-card-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-card-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.editorial-columns {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.paper-card {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.28), rgba(var(--shadow-rgb), 0.04)),
    var(--flag-white);
  border: 1px solid rgba(var(--text-primary-rgb), 0.12);
  color: var(--ink);
  padding: clamp(1.25rem, 2vw, 1.75rem);
  position: relative;
}

.paper-card::before {
  background: rgba(var(--accent-red-rgb), 0.82);
  content: "";
  height: 4px;
  left: 1.25rem;
  position: absolute;
  top: 1px;
  width: 44px;
}

.paper-card h3,
.timeline-era h3,
.timeline-event h4 {
  font-family: var(--display);
  text-transform: uppercase;
}

.paper-card h3 {
  color: var(--ink);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 0.92;
  margin: 1.45rem 0 1rem;
}

.paper-card p {
  color: rgba(var(--text-primary-rgb), 0.74);
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
}

.start-story {
  background:
    radial-gradient(circle at 78% 10%, rgba(var(--accent-red-rgb), 0.14), transparent 28rem),
    linear-gradient(180deg, #070706 0%, #11100e 42%, #050505 100%);
}

.start-story-hero {
  min-height: clamp(34rem, 58vw, 48rem);
  overflow: hidden;
}

.start-story-hero::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.86), rgba(0, 0, 0, 0.42) 48%, rgba(0, 0, 0, 0.78)),
    url("./assets/hero-images/hero/rikidozan-timeline-bg.webp") right 30% / min(54rem, 62vw) auto no-repeat;
  content: "";
  filter: grayscale(1) contrast(1.08) sepia(0.12);
  inset: 0;
  opacity: 0.9;
  pointer-events: none;
  position: absolute;
}

.start-story-hero__content {
  max-width: min(1180px, calc(100vw - 2rem));
}

.start-story-hero h1 {
  color: var(--paper);
  font-size: clamp(4rem, 10vw, 9rem);
  max-width: 8.5ch;
  white-space: normal;
}

.start-story-hero .kicker,
.start-story-hero p {
  position: relative;
  z-index: 1;
}

.start-story-hero__content > p {
  border-left: 5px solid var(--red);
  color: rgba(var(--text-primary-rgb), 0.82);
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  max-width: 760px;
  padding-left: 1rem;
}

.start-story-opening,
.start-story-chapter,
.start-story-roads,
.start-story-global {
  background:
    radial-gradient(circle at 18% 16%, rgba(var(--accent-red-rgb), 0.08), transparent 22rem),
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.2), rgba(var(--shadow-rgb), 0.035)),
    var(--paper-solid);
  color: var(--ink);
  position: relative;
}

.start-story-opening::before,
.start-story-chapter::before,
.start-story-roads::before,
.start-story-global::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.045) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.18) 0 0.4px, transparent 0.75px);
  background-size: 100% 7px, 13px 13px;
  content: "";
  inset: 0;
  opacity: 0.24;
  pointer-events: none;
  position: absolute;
}

.start-story-opening__inner,
.start-story-chapter__inner,
.start-story-global__inner {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.72fr);
}

.start-story-opening__copy,
.start-story-chapter__body,
.start-story-section-head,
.start-story-global__inner > div {
  max-width: 760px;
  position: relative;
  z-index: 1;
}

.start-story-opening h2,
.start-story-chapter h2,
.start-story-roads h2,
.start-story-global h2 {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(2.65rem, 5.5vw, 5.75rem);
  line-height: 0.86;
  margin: 0;
  text-transform: uppercase;
}

.start-story-opening p:not(.kicker),
.start-story-chapter p:not(.kicker):not(.start-story-date),
.start-story-roads p,
.start-story-global p {
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: clamp(1rem, 1.32vw, 1.16rem);
  font-weight: 700;
}

.start-story-pullquote,
.start-story-inset {
  align-self: center;
  border: 1px solid rgba(var(--accent-red-rgb), 0.5);
  color: var(--ink);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  position: relative;
  z-index: 1;
}

.start-story-pullquote::before,
.start-story-inset::before {
  background: var(--red);
  content: "";
  height: 4px;
  right: 1rem;
  position: absolute;
  top: -2px;
  width: 52px;
}

.start-story-pullquote p,
.start-story-inset p:not(.start-story-inset__label) {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(1.8rem, 3.2vw, 3rem);
  font-weight: 800;
  line-height: 0.92;
  margin: 0;
  text-transform: uppercase;
}

.start-story-date,
.start-story-inset__label {
  color: var(--red);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.start-story-image-panel,
.start-story-wide-image {
  background: #090909;
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  margin: 0;
  min-height: 26rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.start-story-image-panel img,
.start-story-wide-image img,
.start-story-road img {
  filter: grayscale(1) contrast(1.12) brightness(0.86) sepia(0.12);
}

.start-story-image-panel img,
.start-story-wide-image img {
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.start-story-image-panel::after,
.start-story-wide-image::after {
  background:
    linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.68)),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 100% 100%, 100% 7px;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.start-story-image-panel figcaption,
.start-story-wide-image figcaption {
  bottom: 1rem;
  color: rgba(var(--on-accent-rgb), 0.78);
  font-size: 0.72rem;
  font-weight: 800;
  left: 1rem;
  letter-spacing: 0.08em;
  margin: 0;
  position: absolute;
  right: 1rem;
  text-transform: uppercase;
  z-index: 1;
}

.start-story-chapter--image-left .start-story-image-panel {
  order: -1;
}

.start-story-roads {
  border-block: 2px solid rgba(var(--accent-red-rgb), 0.86);
}

.start-story-section-head {
  margin-bottom: clamp(1.5rem, 3.5vw, 2.5rem);
}

.start-story-section-head > p:last-child {
  max-width: 700px;
}

.start-story-road-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  position: relative;
  z-index: 1;
}

.start-story-road {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.055), transparent 58%),
    var(--flag-white);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  display: grid;
  grid-template-columns: minmax(8rem, 0.45fr) minmax(0, 1fr);
  min-height: 24rem;
  overflow: hidden;
}

.start-story-road img {
  align-self: end;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.start-story-road div {
  align-self: end;
  padding: clamp(1.15rem, 2vw, 1.8rem);
}

.start-story-road h3,
.start-story-mosaic h3 {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(1.7rem, 3vw, 3rem);
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.start-story-inset {
  align-self: stretch;
  display: grid;
}

.start-story-inset span {
  align-self: end;
  color: rgba(var(--text-primary-rgb), 0.34);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-align: right;
  writing-mode: vertical-rl;
}

.start-story-mosaic {
  background: #050505;
  border-block: 2px solid var(--red);
  color: var(--paper);
}

.start-story-mosaic .start-story-section-head h2,
.start-story-mosaic .start-story-section-head p {
  color: var(--paper);
}

.start-story-mosaic__grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
  z-index: 1;
}

.start-story-mosaic__grid article {
  background:
    radial-gradient(circle at 80% 12%, rgba(var(--accent-red-rgb), 0.18), transparent 12rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.015));
  border: 1px solid rgba(var(--on-accent-rgb), 0.16);
  min-height: 18rem;
  padding: clamp(1.1rem, 2vw, 1.6rem);
}

.start-story-mosaic__grid span {
  color: var(--red);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.start-story-mosaic__grid h3 {
  color: var(--paper);
}

.start-story-mosaic__grid p {
  color: rgba(var(--text-primary-rgb), 0.7);
  font-weight: 700;
  line-height: 1.55;
}

.start-story-global__inner {
  align-items: center;
}

.start-story-wide-image {
  min-height: 30rem;
}

.route-card-grid--start-next {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.route-card-grid--start-next .feature-card {
  min-height: 23rem;
}

.route-card-grid--start-next .feature-card h3 {
  font-size: clamp(1.45rem, 1.9vw, 2.15rem);
}

[data-theme="modern-showa"] .start-story {
  background: #ffffff;
}

[data-theme="modern-showa"] .start-story-hero {
  background: #ffffff;
}

[data-theme="modern-showa"] .start-story-hero::before {
  opacity: 0.16;
}

[data-theme="modern-showa"] .start-story-hero h1,
[data-theme="modern-showa"] .start-story-mosaic .start-story-section-head h2,
[data-theme="modern-showa"] .start-story-mosaic .start-story-section-head p,
[data-theme="modern-showa"] .start-story-mosaic__grid h3 {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .start-story-hero__content > p {
  color: var(--text-secondary);
}

[data-theme="modern-showa"] .start-story-mosaic {
  background: #ffffff;
  color: var(--text-primary);
}

[data-theme="modern-showa"] .start-story-mosaic__grid article {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.14);
}

[data-theme="modern-showa"] .start-story-mosaic__grid p {
  color: var(--text-secondary);
}

@media (max-width: 1120px) {
  .start-story-opening__inner,
  .start-story-chapter__inner,
  .start-story-global__inner,
  .start-story-road-grid {
    grid-template-columns: 1fr;
  }

  .start-story-mosaic__grid,
  .route-card-grid--start-next {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .start-story-hero {
    min-height: 34rem;
  }

  .start-story-hero::before {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.6)),
      url("./assets/hero-images/hero/rikidozan-timeline-bg.webp") center bottom / cover no-repeat;
  }

  .start-story-road {
    grid-template-columns: 1fr;
  }

  .start-story-road img {
    max-height: 18rem;
  }

  .start-story-mosaic__grid,
  .route-card-grid--start-next {
    grid-template-columns: 1fr;
  }
}

.styles-archive-main {
  --styles-hero-collapsed-height: clamp(6.25rem, 7.4vw, 8.125rem);
  --styles-hero-expanded-height: clamp(25rem, 42vw, 37.5rem);
  --styles-hero-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --styles-hero-transition: 460ms;
  --archive-hero-height: var(--styles-hero-expanded-height);
  --archive-hero-collapsed-height: var(--styles-hero-collapsed-height);
  --archive-hero-transition: var(--styles-hero-transition);
  --archive-hero-ease: var(--styles-hero-ease);
  background:
    radial-gradient(circle at 78% 8%, rgba(var(--accent-red-rgb), 0.13), transparent 28rem),
    linear-gradient(180deg, #070706 0%, #10100f 54%, #080807 100%);
  color: var(--text-primary);
}

.styles-page,
.timeline-page,
.beyond-ring-page {
  overflow: visible;
  overflow-anchor: none;
}

/* Shared archive hero shell. Page classes set image, collapse, and title variables. */
.styles-archive-hero {
  background: var(--archive-hero-bg);
  border-bottom: 1px solid var(--archive-hero-border-color);
  height: var(--archive-hero-height);
  min-height: var(--archive-hero-height);
  overflow: hidden;
  position: sticky;
  top: var(--site-header-height);
  transition:
    border-color var(--archive-hero-transition) var(--archive-hero-ease),
    box-shadow var(--archive-hero-transition) var(--archive-hero-ease),
    height var(--archive-hero-transition) var(--archive-hero-ease),
    min-height var(--archive-hero-transition) var(--archive-hero-ease);
  will-change: height;
  z-index: 220;
}

.styles-archive-hero.styles-hero--collapsed {
  border-bottom-color: rgba(232, 227, 217, 0.18);
  box-shadow: none;
  height: var(--archive-hero-collapsed-height);
  min-height: var(--archive-hero-collapsed-height);
}

body.timeline-app-shell-active > .site-header,
body.styles-app-shell-active > .site-header {
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}

.timeline-page.timeline-page--collapsed > .timeline-archive-hero.styles-hero--collapsed,
.beyond-hub-page.styles-page--collapsed > .beyond-hub-hero.styles-hero--collapsed,
.support-main.styles-page--collapsed > .support-hero.styles-hero--collapsed {
  left: 0;
  position: fixed;
  right: 0;
  top: var(--site-header-height);
  width: 100%;
}

.styles-archive-hero::before {
  background:
    var(--archive-hero-overlay),
    var(--archive-hero-accent-glow),
    var(--archive-hero-image);
  background-position: center, center, var(--archive-hero-image-position);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: auto, auto, var(--archive-hero-image-size);
  content: "";
  filter: var(--archive-hero-image-filter);
  inset: 0;
  opacity: var(--archive-hero-image-opacity);
  position: absolute;
  transition:
    background-position var(--archive-hero-transition) var(--archive-hero-ease),
    background-size var(--archive-hero-transition) var(--archive-hero-ease),
    filter var(--archive-hero-transition) var(--archive-hero-ease),
    opacity var(--archive-hero-transition) var(--archive-hero-ease);
}

.styles-archive-hero.styles-hero--collapsed::before {
  background-position: center, center, var(--archive-hero-image-position-collapsed);
  background-size: auto, auto, var(--archive-hero-image-size-collapsed);
  filter: var(--archive-hero-image-filter-collapsed);
  opacity: var(--archive-hero-image-opacity-collapsed);
}

.styles-page:not(.start-here-page) > .styles-archive-hero::before {
  filter: grayscale(100%) sepia(0.14) contrast(1.22) brightness(0.7);
}

.styles-page:not(.start-here-page) > .styles-archive-hero.styles-hero--collapsed::before {
  background-position: center, center, var(--archive-hero-image-position-collapsed);
  filter: grayscale(100%) sepia(0.1) contrast(1.24) brightness(0.62);
}

.styles-archive-hero::after,
.style-image-panel::after,
.style-statement-strip::after,
.style-detail-panel::after {
  background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px);
  background-size: 9px 9px;
  content: "";
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.24;
  pointer-events: none;
  position: absolute;
}

.styles-archive-hero__inner {
  align-content: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-inline: auto;
  max-width: min(1500px, calc(100vw - 4rem));
  min-height: inherit;
  padding: clamp(3rem, 7vw, 6.4rem) 0 clamp(3.5rem, 5vw, 5rem);
  position: relative;
  transition:
    gap var(--archive-hero-transition) var(--archive-hero-ease),
    padding var(--archive-hero-transition) var(--archive-hero-ease);
  z-index: 1;
}

.styles-archive-hero.styles-hero--collapsed .styles-archive-hero__inner {
  align-items: center;
  gap: clamp(1.25rem, 3vw, 3rem);
  grid-template-columns: minmax(24rem, 0.95fr) minmax(20rem, 1fr);
  padding-block: clamp(1rem, 1.4vw, 1.4rem);
}

.styles-archive-hero__copy {
  min-width: 0;
  max-width: 58rem;
  transition:
    max-width var(--archive-hero-transition) var(--archive-hero-ease),
    transform var(--archive-hero-transition) var(--archive-hero-ease);
}

.styles-archive-hero.styles-hero--collapsed .styles-archive-hero__copy {
  max-width: none;
  transform: translateY(0);
}

.styles-archive-hero.styles-hero--collapsed .styles-archive-hero__subtitle {
  max-height: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-0.35rem);
}

.styles-archive-hero h1 {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: var(--archive-hero-title-size);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.82;
  margin: 0;
  max-width: 11ch;
  text-transform: uppercase;
  transition:
    font-size var(--archive-hero-transition) var(--archive-hero-ease),
    line-height var(--archive-hero-transition) var(--archive-hero-ease),
    max-width var(--archive-hero-transition) var(--archive-hero-ease),
    transform var(--archive-hero-transition) var(--archive-hero-ease);
}

.styles-archive-hero.styles-hero--collapsed h1 {
  font-size: var(--archive-hero-title-collapsed-size);
  line-height: 0.95;
  max-width: none;
  transform: translateY(0.02em);
  white-space: nowrap;
}

.styles-archive-hero__subtitle {
  color: var(--accent-red);
  font-size: var(--archive-hero-subtitle-size);
  font-weight: 500;
  line-height: 1.35;
  margin: clamp(1rem, 2vw, 1.4rem) 0 0;
  max-height: 3.5rem;
  transition:
    margin var(--archive-hero-transition) var(--archive-hero-ease),
    max-height var(--archive-hero-transition) var(--archive-hero-ease),
    opacity 360ms var(--archive-hero-ease),
    transform var(--archive-hero-transition) var(--archive-hero-ease);
}

.styles-archive-hero__vertical {
  align-self: center;
  border-right: 4px solid var(--accent-red-strong);
  color: var(--text-secondary);
  font-size: var(--archive-hero-vertical-size);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
  min-width: 0;
  padding-right: clamp(1.7rem, 2.5vw, 2.5rem);
  position: absolute;
  right: 0;
  text-orientation: upright;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  writing-mode: vertical-rl;
  transition:
    border-color var(--archive-hero-transition) var(--archive-hero-ease),
    color var(--archive-hero-transition) var(--archive-hero-ease),
    font-size var(--archive-hero-transition) var(--archive-hero-ease),
    letter-spacing var(--archive-hero-transition) var(--archive-hero-ease),
    line-height var(--archive-hero-transition) var(--archive-hero-ease),
    margin var(--archive-hero-transition) var(--archive-hero-ease),
    padding var(--archive-hero-transition) var(--archive-hero-ease),
    right var(--archive-hero-transition) var(--archive-hero-ease),
    transform var(--archive-hero-transition) var(--archive-hero-ease);
}

.styles-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical {
  border-left: 3px solid var(--accent-red-strong);
  border-right: 0;
  color: var(--text-primary);
  display: block;
  font-size: var(--archive-hero-vertical-collapsed-size);
  font-weight: 800;
  justify-self: end;
  letter-spacing: 0.03em;
  line-height: 1.05;
  margin: 0;
  padding-left: 1.4rem;
  padding-right: 0;
  position: static;
  right: auto;
  text-align: right;
  text-orientation: mixed;
  top: auto;
  transform: translateY(0.03em);
  white-space: nowrap;
  writing-mode: horizontal-tb;
}

.styles-explorer-section {
  --styles-tab-bar-height: clamp(4.35rem, 5vw, 4.65rem);
  --styles-workspace-padding: clamp(1.5rem, 3vw, 3rem);
  --styles-workspace-height: calc(
    100vh -
    var(--site-header-height) -
    var(--styles-hero-collapsed-height) -
    var(--styles-tab-bar-height)
  );
  background:
    radial-gradient(circle at 15% 18%, rgba(var(--accent-red-rgb), 0.1), transparent 26rem),
    linear-gradient(180deg, #080807 0%, #11100e 48%, #080807 100%);
  color: var(--text-primary);
  padding: 0 clamp(1rem, 3vw, 2.75rem) clamp(4rem, 7vw, 6rem);
}

body.styles-app-shell-active {
  overflow: hidden;
}

.styles-tab-bar {
  background: rgba(8, 8, 7, 0.96);
  border-bottom: 1px solid rgba(232, 227, 217, 0.2);
  border-top: 1px solid rgba(232, 227, 217, 0.2);
  margin-inline: calc(clamp(1rem, 3vw, 2.75rem) * -1);
  overflow-x: auto;
  position: sticky;
  scrollbar-width: none;
  top: calc(var(--site-header-height) + var(--styles-hero-expanded-height));
  transition: top var(--styles-hero-transition) var(--styles-hero-ease);
  z-index: 210;
}

.styles-archive-hero.styles-hero--collapsed + .styles-explorer-section .styles-tab-bar {
  top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height));
}

@media (prefers-reduced-motion: reduce) {
  .styles-archive-hero,
  .styles-archive-hero::before,
  .styles-archive-hero__inner,
  .styles-archive-hero__copy,
  .styles-archive-hero h1,
  .styles-archive-hero__subtitle,
  .styles-archive-hero__vertical,
  .styles-tab-bar,
  .timeline-era-nav,
  .timeline-page .timeline-explorer__inner {
    transition-duration: 0ms;
  }
}

.styles-tab-bar::-webkit-scrollbar {
  display: none;
}

.styles-explorer__nav-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  margin-inline: auto;
  max-width: 1500px;
  min-width: 0;
  width: 100%;
}

.style-nav-button {
  background: transparent;
  border: 0;
  border-left: 1px solid rgba(232, 227, 217, 0.16);
  color: var(--text-muted);
  cursor: pointer;
  font-family: var(--display);
  min-height: 4.35rem;
  padding: 0.95rem 1.35rem 1rem;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  transition:
    background 160ms ease,
    color 160ms ease;
}

.style-nav-button:last-child {
  border-right: 1px solid rgba(232, 227, 217, 0.16);
}

.style-nav-button::after {
  background: var(--accent-red-strong);
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  transform: scaleX(0.38);
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

.style-nav-button:hover,
.style-nav-button:focus-visible {
  background: rgba(255, 255, 255, 0.035);
  color: var(--text-primary);
  outline: none;
}

.style-nav-button[aria-selected="true"] {
  color: var(--accent-red-strong);
}

.style-nav-button[aria-selected="true"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.style-nav-button__name {
  display: block;
  font-size: clamp(0.95rem, 1.4vw, 1.22rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.1;
}

.styles-archive-content {
  max-width: min(1500px, 100%);
  min-width: 0;
  padding-top: clamp(1rem, 2vw, 1.45rem);
  transition: padding-top var(--styles-hero-transition) var(--styles-hero-ease);
}

.styles-archive-hero.styles-hero--collapsed + .styles-explorer-section .styles-archive-content {
  padding-top: clamp(9.75rem, 11vw, 10.75rem);
}

.styles-workspace {
  box-sizing: border-box;
}

.styles-page.styles-page--collapsed {
  overflow: visible;
}

.styles-page.styles-page--collapsed .styles-explorer-section {
  background:
    radial-gradient(circle at 15% 18%, rgba(var(--accent-red-rgb), 0.1), transparent 26rem),
    linear-gradient(180deg, #080807 0%, #11100e 48%, #080807 100%);
  bottom: 0;
  left: 0;
  overflow: hidden;
  padding: 0;
  position: fixed;
  right: 0;
  top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height));
  z-index: 210;
}

.styles-page.styles-page--collapsed .styles-explorer-section .styles-tab-bar {
  margin-inline: 0;
  position: relative;
  top: 0;
  transition: none;
}

.styles-page.styles-page--collapsed .styles-explorer-section .styles-workspace {
  height: var(--styles-workspace-height);
  margin-inline: auto;
  max-width: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--styles-workspace-padding);
  scrollbar-gutter: stable;
}

.styles-page.styles-page--collapsed .styles-explorer__canvas {
  margin-inline: auto;
  max-width: 1500px;
}

.styles-explorer__canvas {
  color: var(--text-primary);
  display: grid;
  gap: clamp(0.9rem, 1.8vw, 1.35rem);
  min-height: 36rem;
  min-width: 0;
}

.styles-explorer__canvas:focus-visible,
.style-nav-button:focus-visible {
  outline: 2px solid var(--accent-red-strong);
  outline-offset: 2px;
}

.styles-explorer__loading,
.style-muted-copy {
  color: var(--text-secondary);
  font-weight: 800;
  margin: 0;
}

.style-feature-grid {
  align-items: stretch;
  --style-feature-panel-height: 45rem;
  display: grid;
  gap: clamp(1rem, 2vw, 1.6rem);
  grid-auto-rows: minmax(var(--style-feature-panel-height), auto);
  grid-template-columns: minmax(0, 1.16fr) minmax(24rem, 0.84fr);
  min-width: 0;
}

.style-image-panel {
  align-self: stretch;
  aspect-ratio: 12 / 9;
  background:
    radial-gradient(circle at 35% 20%, rgba(255, 255, 255, 0.08), transparent 22rem),
    linear-gradient(135deg, rgba(var(--accent-red-rgb), 0.12), transparent 34%),
    #11110f;
  border: 1px solid rgba(232, 227, 217, 0.24);
  display: flex;
  height: 100%;
  margin: 0;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.style-detail-panel::before {
  border: 1px solid rgba(255, 255, 255, 0.06);
  content: "";
  inset: 0.65rem;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.style-image-panel img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center top;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.style-image-panel__initials {
  align-self: center;
  color: rgba(var(--text-primary-rgb), 0.12);
  font-family: var(--display);
  font-size: clamp(6rem, 18vw, 15rem);
  font-weight: 800;
  line-height: 0.8;
  margin: auto;
  position: relative;
  z-index: 0;
}

.style-image-panel__watch {
  align-items: center;
  background: rgba(0, 0, 0, 0.62);
  border: 1px solid rgba(232, 227, 217, 0.18);
  bottom: clamp(1.4rem, 3vw, 2.2rem);
  color: var(--text-primary);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.35rem;
  left: clamp(1.4rem, 3vw, 2.2rem);
  letter-spacing: 0.04em;
  min-height: 2.5rem;
  padding: 0.55rem 0.82rem;
  position: absolute;
  text-transform: uppercase;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
  z-index: 3;
}

.style-image-panel__watch .material-symbols-outlined {
  color: var(--accent-red-strong);
  font-size: 1.02rem;
}

.style-image-panel__watch:hover,
.style-image-panel__watch:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.82);
  border-color: rgba(var(--accent-red-rgb), 0.92);
  color: var(--on-accent);
  outline: none;
}

.style-image-panel__watch:hover .material-symbols-outlined,
.style-image-panel__watch:focus-visible .material-symbols-outlined {
  color: var(--on-accent);
}

.style-detail-panel {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.055), transparent 19rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),
    #141311;
  border: 1px solid rgba(232, 227, 217, 0.18);
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
  overflow: hidden;
  padding: clamp(1.7rem, 4vw, 3.8rem) clamp(2.25rem, 5vw, 4.75rem);
  position: relative;
  min-width: 0;
}

.style-section-label {
  color: var(--accent-red-strong);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.style-detail-title {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: clamp(3rem, 6.5vw, 5.1rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.86;
  margin: 0;
  text-transform: uppercase;
}

.style-detail-meta {
  color: var(--accent-red-strong);
  font-size: clamp(0.95rem, 1.4vw, 1.14rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.2;
  margin: -0.45rem 0 0;
  text-transform: uppercase;
}

.style-detail-definition {
  color: var(--text-secondary);
  font-size: clamp(1.02rem, 1.55vw, 1.28rem);
  font-weight: 500;
  line-height: 1.35;
  margin: 0;
  max-width: 34rem;
  overflow-wrap: break-word;
}

.style-detail-panel__divider {
  background: rgba(232, 227, 217, 0.18);
  height: 1px;
  width: 100%;
}

.style-detail-panel__section {
  display: grid;
  gap: 0.9rem;
}

.style-feature-wrestlers {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 1rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.style-feature-wrestler {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.style-feature-wrestler__portrait {
  align-items: center;
  aspect-ratio: 12 / 9;
  background:
    radial-gradient(circle at 72% 14%, rgba(var(--accent-red-rgb), 0.18), transparent 6rem),
    #1a1916;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.style-feature-wrestler__portrait img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center top;
  position: absolute;
  width: 100%;
}

.style-feature-wrestler__initials {
  color: rgba(var(--text-primary-rgb), 0.22);
  font-family: var(--display);
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
  line-height: 1;
}

.style-feature-wrestler__name {
  color: var(--text-primary);
  display: -webkit-box;
  font-size: clamp(0.78rem, 1.2vw, 0.92rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  min-height: 2em;
  overflow: hidden;
  text-align: center;
  text-transform: uppercase;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.style-key-match {
  align-items: center;
  color: inherit;
  display: grid;
  gap: clamp(0.8rem, 1.5vw, 1.2rem);
  grid-template-columns:
    minmax(0, calc((100% - (clamp(0.7rem, 1.4vw, 1rem) * 2)) / 3))
    minmax(0, 1fr)
    auto;
  min-width: 0;
  text-decoration: none;
}

.style-key-match__thumb {
  align-items: center;
  aspect-ratio: 12 / 9;
  background:
    radial-gradient(circle at 68% 12%, rgba(var(--accent-red-rgb), 0.18), transparent 5rem),
    #191816;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.style-key-match__thumb img {
  filter: grayscale(100%) sepia(0.16) contrast(1.2) brightness(0.74);
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center top;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.style-key-match__initials {
  color: rgba(var(--text-primary-rgb), 0.2);
  font-family: var(--display);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  position: relative;
  text-transform: uppercase;
  z-index: 0;
}

.style-key-match__body {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.style-key-match__title {
  color: var(--text-primary);
  display: -webkit-box;
  font-size: clamp(0.92rem, 1.45vw, 1.14rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.1;
  overflow: hidden;
  text-transform: uppercase;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.style-key-match__meta,
.style-key-match__note {
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.2;
}

.style-key-match__note {
  color: var(--text-secondary);
}

.style-key-match__arrow {
  color: var(--accent-red-strong);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 400;
  line-height: 1;
  transition: transform 160ms ease;
}

.style-key-match:hover .style-key-match__arrow,
.style-key-match:focus-visible .style-key-match__arrow {
  transform: translateX(0.25rem);
}

.style-statement-strip {
  background:
    linear-gradient(90deg, rgba(var(--accent-red-rgb), 0.76), rgba(96, 0, 0, 0.9)),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    #6d0d10;
  border: 1px solid rgba(var(--accent-red-rgb), 0.7);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: clamp(4.5rem, 7vw, 6.1rem);
  overflow: hidden;
  position: relative;
}

.style-statement-strip span {
  align-items: center;
  color: var(--on-accent);
  display: flex;
  font-family: var(--display);
  font-size: clamp(1.15rem, 2.15vw, 2rem);
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  padding: 1rem;
  text-align: center;
  text-transform: uppercase;
}

.style-statement-strip span + span {
  border-left: 1px solid rgba(242, 234, 220, 0.32);
}

.style-archive-notes__title {
  color: var(--accent-red-strong);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 1.2rem;
  text-align: center;
  text-transform: uppercase;
}

.style-archive-notes {
  border-top: 1px solid rgba(232, 227, 217, 0.16);
  padding-top: clamp(0.9rem, 2vw, 1.4rem);
}

.style-archive-notes__grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.style-archive-note {
  border-top: 1px solid rgba(232, 227, 217, 0.18);
  display: grid;
  gap: 0.75rem;
  padding-top: 1rem;
}

.style-archive-note__copy,
.style-archive-note__list li {
  color: var(--text-secondary);
  font-size: 0.94rem;
  font-weight: 650;
  line-height: 1.45;
  margin: 0;
}

.style-archive-note__list {
  display: grid;
  gap: 0.48rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.style-archive-note__list li {
  padding-left: 0.95rem;
  position: relative;
}

.style-archive-note__list li::before {
  background: var(--accent-red-strong);
  content: "";
  height: 0.34rem;
  left: 0;
  position: absolute;
  top: 0.53rem;
  width: 0.34rem;
}

.style-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.style-chip {
  align-items: center;
  border: 1px solid rgba(232, 227, 217, 0.18);
  color: var(--text-secondary);
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.03em;
  line-height: 1.15;
  min-height: 1.75rem;
  padding: 0.34rem 0.52rem;
  text-align: center;
  text-transform: uppercase;
}

.timeline-list {
  display: grid;
  gap: 1px;
  background: rgba(var(--text-primary-rgb), 0.18);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
}

.timeline-era {
  background:
    linear-gradient(100deg, rgba(var(--text-primary-rgb), 0.08), transparent 48%),
    var(--bg-primary);
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: minmax(7rem, 0.24fr) minmax(0, 1fr);
  padding: clamp(1.25rem, 3vw, 2rem);
  position: relative;
}

.timeline-era::after {
  background: rgba(var(--accent-red-rgb), 0.84);
  bottom: 0;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 4px;
}

.timeline-era__year {
  color: transparent;
  font-family: var(--display);
  font-size: clamp(2.7rem, 6vw, 5.8rem);
  font-weight: 800;
  line-height: 0.8;
  margin: 0;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px rgba(var(--text-primary-rgb), 0.5);
}

.timeline-era h3 {
  color: var(--paper);
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 0.9;
  margin: 0;
}

.timeline-era p,
.timeline-event p {
  color: rgba(var(--text-primary-rgb), 0.7);
  font-weight: 700;
  line-height: 1.7;
  margin: 1rem 0 0;
}

.timeline-event-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.timeline-event {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    var(--bg-primary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  padding: clamp(1.1rem, 2vw, 1.45rem);
}

.timeline-event__date {
  color: var(--yellow);
  font-size: 0.76rem;
  font-weight: 800;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.timeline-event h4 {
  color: var(--paper);
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  line-height: 0.92;
  margin: 0;
}

.route-match-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-match-grid .match-card {
  min-height: 0;
}

.route-main > .showa-paper-section--dark,
.timeline-explorer-section {
  background: var(--route-section-atmosphere);
  overflow: hidden;
  position: relative;
}

.timeline-explorer-section {
  padding-top: clamp(2.75rem, 5vw, 4rem);
  padding-bottom: clamp(4.5rem, 8vw, 7rem);
}

.timeline-explorer__inner {
  max-width: 1720px;
  position: relative;
  z-index: 1;
}

.timeline-explorer {
  align-items: start;
  display: grid;
  gap: clamp(1.4rem, 3vw, 3.25rem);
  grid-template-columns: minmax(310px, 0.92fr) minmax(420px, 1.12fr) minmax(380px, 1fr);
  position: relative;
}

.timeline-era-filter,
.timeline-detail {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.08), transparent 38%),
    var(--bg-primary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.08);
  box-shadow:
    inset 0 1px 0 rgba(var(--text-primary-rgb), 0.04),
    0 22px 58px rgba(var(--shadow-rgb), 0.34);
}

.timeline-era-filter {
  overflow: hidden;
}

.timeline-rail-shell {
  min-width: 0;
  padding-inline: clamp(0.25rem, 1vw, 0.8rem);
}

.timeline-rail-scroll {
  min-height: 0;
}

.timeline-column-heading {
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.08);
  padding: 1.1rem 1rem 1rem;
}

.timeline-rail-shell .timeline-column-heading {
  border-bottom: 0;
  padding-inline: 0;
}

.timeline-detail .timeline-column-heading {
  padding-right: 3.4rem;
  position: relative;
}

.timeline-column-heading .kicker {
  margin-bottom: 0.35rem;
}

.timeline-column-heading h3 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.timeline-era-filter__list {
  display: grid;
}

.timeline-era-button {
  background:
    linear-gradient(100deg, rgba(var(--text-primary-rgb), 0.06), transparent 46%),
    transparent;
  border: 0;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.07);
  color: var(--paper);
  cursor: pointer;
  display: block;
  font-family: var(--body);
  padding: 1.2rem 1rem 1.25rem;
  position: relative;
  text-align: left;
  transition:
    background 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
  width: 100%;
}

.timeline-era-button:first-child {
  border-top: 0;
}

.timeline-era-button::before {
  background: var(--red);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 180ms ease;
  width: 4px;
}

.timeline-era-button:hover,
.timeline-era-button:focus-visible,
.timeline-era-button[aria-pressed="true"] {
  background:
    linear-gradient(100deg, rgba(var(--accent-red-rgb), 0.24), transparent 58%),
    rgba(var(--text-primary-rgb), 0.055);
  outline: none;
}

.timeline-era-button:focus-visible,
.timeline-rail__button:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(var(--text-primary-rgb), 0.84);
}

.timeline-era-button[aria-pressed="true"]::before {
  opacity: 1;
}

.timeline-era-button__range {
  color: var(--paper);
  display: block;
  font-family: var(--display);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 0.9;
  margin: 0 0 0.6rem;
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: 0 currentColor;
}

.timeline-era-button__title {
  color: var(--paper);
  display: block;
  font-family: var(--display);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: 0.95;
}

.timeline-era-button__description {
  color: rgba(var(--text-primary-rgb), 0.66);
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 0.75rem;
}

.timeline-rail {
  list-style: none;
  margin: 0;
  padding: 0.25rem 0 0.75rem;
  position: relative;
}

.timeline-rail::before {
  background:
    linear-gradient(180deg, transparent, rgba(var(--text-primary-rgb), 0.72) 6%, rgba(var(--text-primary-rgb), 0.72) 94%, transparent);
  bottom: 0;
  content: "";
  left: calc(1.175rem - 1px);
  position: absolute;
  top: 0;
  width: 2px;
}

.timeline-rail__item {
  margin: 0 0 0.6rem;
  opacity: 1;
  position: relative;
  transition:
    filter 180ms ease,
    opacity 180ms ease;
}

.timeline-rail__item.is-muted:not(.is-active) {
  filter: none;
  opacity: 1;
}

.timeline-rail__item.is-muted:not(.is-active) .timeline-rail__event {
  opacity: 1;
}

.timeline-rail__button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--paper);
  cursor: pointer;
  display: grid;
  font-family: var(--body);
  gap: 0.75rem;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  min-height: 54px;
  padding: 0.18rem 0;
  position: relative;
  text-align: left;
  width: 100%;
}

.timeline-rail__button::after {
  background: linear-gradient(90deg, rgba(var(--accent-red-rgb), 0.88), transparent);
  content: "";
  height: 1px;
  left: 1.2rem;
  opacity: 0;
  position: absolute;
  right: -1.1rem;
  top: 50%;
  transform: scaleX(0);
  transform-origin: left;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
  z-index: 0;
}

.timeline-rail__item.is-active .timeline-rail__button::after {
  opacity: 1;
  transform: scaleX(1);
}

.timeline-rail__dot {
  background: var(--paper);
  border-radius: 999px;
  box-shadow: 0 0 0 4px var(--bg-primary);
  display: block;
  height: 0.95rem;
  justify-self: start;
  margin-left: calc(1.175rem - 0.475rem);
  position: relative;
  transition:
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
  width: 0.95rem;
  z-index: 3;
}

.timeline-rail__dot::before,
.timeline-rail__dot::after {
  border: 2px solid rgba(var(--accent-red-rgb), 0.54);
  border-radius: 999px;
  content: "";
  inset: -2px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: scale(0.85);
}

.timeline-rail__event {
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    var(--bg-secondary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  display: block;
  isolation: isolate;
  overflow: hidden;
  padding: 0.72rem 0.82rem;
  position: relative;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
  z-index: 2;
}

.timeline-rail__event--image-backed::before {
  background: var(
    --timeline-rail-image-wash,
    linear-gradient(90deg, rgba(var(--bg-secondary-rgb), 0.86), rgba(var(--bg-secondary-rgb), 0.66)),
    linear-gradient(180deg, rgba(var(--bg-primary-rgb), 0.12), rgba(var(--bg-primary-rgb), 0.22))
  );
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.timeline-rail__event-image {
  background-image: var(--timeline-rail-image);
  background-position: var(--timeline-rail-image-position, center);
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  display: block;
  filter: var(--timeline-rail-image-filter, grayscale(100%) contrast(1.12) brightness(0.9));
  height: 100%;
  left: 0;
  opacity: var(--timeline-rail-image-opacity, 0.9);
  pointer-events: none;
  position: absolute;
  right: auto;
  top: 0;
  transform: none;
  width: 100%;
  z-index: 1;
}

.timeline-rail__event--image-backed > * {
  position: relative;
  z-index: 3;
}

.timeline-rail__event--image-backed .timeline-rail__event-image {
  position: absolute;
  z-index: 1;
}

.timeline-rail__button:hover .timeline-rail__dot,
.timeline-rail__button:focus-visible .timeline-rail__dot {
  background: var(--yellow);
  transform: scale(1.12);
}

.timeline-rail__button:hover .timeline-rail__event,
.timeline-rail__button:focus-visible .timeline-rail__event {
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.12), rgba(var(--text-primary-rgb), 0.03)),
    var(--bg-secondary);
  border-color: rgba(var(--text-primary-rgb), 0.32);
}

.timeline-rail__item.is-active .timeline-rail__dot {
  background: var(--red);
  box-shadow: 0 0 0 4px var(--bg-primary);
}

.timeline-rail__item.is-active .timeline-rail__dot::before {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;
  opacity: 0;
}

.timeline-rail__item.is-active .timeline-rail__dot::after {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) 1.3s infinite;
  opacity: 0;
}

.timeline-rail__item.is-active .timeline-rail__event {
  border-color: rgba(var(--accent-red-rgb), 0.86);
  transform: translateX(3px);
}

.timeline-rail__item:not(.is-muted):not(.is-active) .timeline-rail__event {
  border-color: rgba(var(--text-primary-rgb), 0.58);
}

.timeline-rail__date {
  color: var(--accent-red-strong);
  display: block;
  font-family: var(--display);
  font-size: clamp(2.65rem, 4.45vw, 4.45rem);
  font-weight: 800;
  left: clamp(0.7rem, 1.1vw, 1rem);
  line-height: 0.78;
  opacity: 0.94;
  position: absolute;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.72),
    1px 2px 3px rgba(0, 0, 0, 0.62),
    0 0 6px rgba(0, 0, 0, 0.34);
  top: clamp(0.7rem, 1.1vw, 1rem);
  text-transform: uppercase;
  white-space: pre-line;
  z-index: 4;
}

.timeline-rail__title {
  background: rgba(191, 38, 31, 0.78);
  box-shadow:
    0.18em 0 0 rgba(191, 38, 31, 0.78),
    -0.18em 0 0 rgba(191, 38, 31, 0.78);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: var(--ink);
  display: block;
  font-family: var(--display);
  font-size: clamp(1.42rem, 2.1vw, 2.05rem);
  font-weight: 800;
  justify-self: start;
  line-height: 0.86;
  margin-top: 0;
  max-width: calc(100% - 0.7rem);
  position: absolute;
  right: 0.88rem;
  bottom: clamp(0.78rem, 1.1vw, 1rem);
  text-transform: uppercase;
  width: fit-content;
  z-index: 4;
}

.timeline-detail {
  --timeline-detail-y: 0px;

  align-self: start;
  max-height: calc(100vh - 132px);
  min-width: 0;
  overflow-y: auto;
  padding: 0 0 1.15rem;
  position: relative;
  transform: translateY(var(--timeline-detail-y));
  transition:
    opacity 220ms ease,
    transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.timeline-detail.is-changing {
  opacity: 0.46;
}

.timeline-detail__photo {
  align-items: flex-end;
  background:
    radial-gradient(circle at 52% 28%, rgba(var(--text-primary-rgb), 0.2), transparent 9rem),
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.15), transparent 35%),
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.08), rgba(var(--shadow-rgb), 0.78)),
    var(--bg-tertiary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.24);
  display: flex;
  min-height: clamp(190px, calc(25vw - 30px), 280px);
  margin: 1rem;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.timeline-detail__photo::before {
  background-image:
    linear-gradient(rgba(var(--highlight-rgb), 0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--highlight-rgb), 0.26) 0 0.45px, transparent 0.75px);
  background-size:
    100% 5px,
    12px 12px;
  content: "";
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.32;
  pointer-events: none;
  position: absolute;
}

.timeline-detail__photo::after {
  display: none;
}

.timeline-detail__image {
  display: block;
  filter: grayscale(70%) contrast(1.14) brightness(0.92);
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
}

.timeline-detail__preview-button {
  display: none;
}

.timeline-detail__image--sequence {
  animation: timelineDetailImageFadePrimary 14s ease-in-out infinite;
}

.timeline-detail__image--sequence-2 {
  animation-name: timelineDetailImageFadeSecondary;
  opacity: 0;
}

@keyframes timelineDetailImageFadePrimary {
  0%,
  42.86% {
    opacity: 1;
  }

  50%,
  92.86% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes timelineDetailImageFadeSecondary {
  0%,
  42.86% {
    opacity: 0;
  }

  50%,
  92.86% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.timeline-detail__photo.has-image::before {
  z-index: 1;
}

.timeline-detail__photo.has-image {
  border: 0;
}

.timeline-detail__photo.has-image-sequence {
  margin-bottom: calc(1rem + 6px);
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

.timeline-detail__photo.has-image::after {
  z-index: 2;
}

.timeline-detail__photo.has-image-sequence::after {
  animation: timelineDetailSequenceProgress 7s linear infinite;
  background: var(--accent);
  bottom: -6px;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  opacity: 0.86;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
  width: 100%;
  z-index: 3;
}

@keyframes timelineDetailSequenceProgress {
  0% {
    transform: scaleX(0);
  }

  85.72%,
  100% {
    transform: scaleX(1);
  }
}

.timeline-detail__photo span {
  display: none;
}

.timeline-photo-lightbox {
  align-items: center;
  background: rgba(0, 0, 0, 0.78);
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  pointer-events: none;
  position: fixed;
  transition: opacity 180ms ease;
  z-index: 2000;
}

.timeline-photo-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

.timeline-photo-lightbox__frame {
  background: #050505;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.62);
  max-height: calc(100vh - clamp(2.5rem, 6vw, 5rem));
  max-width: min(936px, calc(100vw - clamp(2.5rem, 6vw, 5rem)));
  position: relative;
  z-index: 2001;
}

.timeline-photo-lightbox__image {
  display: block;
  height: auto;
  max-height: calc(100vh - clamp(2.5rem, 6vw, 5rem));
  max-width: min(936px, calc(100vw - clamp(2.5rem, 6vw, 5rem)));
  object-fit: contain;
  width: 936px;
}

.timeline-photo-lightbox__close {
  align-items: center;
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  backdrop-filter: blur(18px) saturate(1.6);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.12)),
    rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.36);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 10px 28px rgba(0, 0, 0, 0.24);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  width: 2.5rem;
}

.timeline-photo-lightbox__close:hover,
.timeline-photo-lightbox__close:focus-visible {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.16)),
    rgba(0, 0, 0, 0.22);
  border-color: rgba(255, 255, 255, 0.56);
  outline: none;
  transform: translateY(-1px);
}

@media (min-width: 701px) {
  .timeline-detail__photo.has-image {
    cursor: zoom-in;
  }

  .timeline-detail__photo.has-image .timeline-detail__preview-button {
    align-items: center;
    -webkit-backdrop-filter: blur(18px) saturate(1.6);
    backdrop-filter: blur(18px) saturate(1.6);
    background:
      linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.12)),
      rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.36);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.32),
      0 10px 28px rgba(0, 0, 0, 0.24);
    color: #ffffff;
    cursor: zoom-in;
    display: flex;
    font: inherit;
    height: 2.35rem;
    justify-content: center;
    opacity: 0.92;
    padding: 0;
    right: 0.75rem;
    position: absolute;
    top: 0.75rem;
    text-transform: none;
    transition:
      background 160ms ease,
      border-color 160ms ease,
      opacity 160ms ease,
      transform 160ms ease;
    width: 2.35rem;
    z-index: 4;
  }

  .timeline-detail__photo.has-image:hover .timeline-detail__preview-button,
  .timeline-detail__photo.has-image .timeline-detail__preview-button:focus-visible {
    background:
      linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.16)),
      rgba(0, 0, 0, 0.22);
    border-color: rgba(255, 255, 255, 0.56);
    opacity: 1;
    transform: translateY(-1px);
  }

  .timeline-detail__preview-button span:not(.material-symbols-outlined) {
    display: none;
  }

  .timeline-detail__preview-button .material-symbols-outlined {
    display: inline-flex;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1;
  }
}

@media (max-width: 700px) {
  .timeline-photo-lightbox {
    display: none;
  }
}

.timeline-detail__body {
  padding: 0 1rem clamp(2.5rem, 5vh, 4rem);
}

.timeline-detail__meta-row {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 0 0.75rem;
}

.timeline-detail__date {
  color: var(--yellow);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

.timeline-detail__photo-credit {
  color: rgba(var(--text-primary-rgb), 0.62);
  flex: 1 1 auto;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.3;
  margin: 0;
  text-align: right;
  text-transform: uppercase;
}

.timeline-detail__body h3 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 0.92;
  margin: 0;
}

.timeline-detail__copy {
  display: grid;
  gap: 1rem;
  margin-top: 1.35rem;
}

.timeline-detail__label {
  color: var(--red);
  font-size: 0.72rem;
  font-weight: 800;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.timeline-detail__copy p:not(.timeline-detail__label) {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
}

.timeline-detail__anchor {
  border-left: 3px solid var(--red);
  padding-left: 0.85rem;
}

.timeline-detail__anchor p:not(.timeline-detail__label) {
  color: var(--paper);
  font-size: 0.92rem;
  line-height: 1.5;
}

.timeline-detail__anchor .timeline-detail__profile {
  color: var(--yellow);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  margin-top: 0.45rem;
  text-transform: uppercase;
}

.timeline-detail__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1.35rem;
}

.timeline-detail__tag {
  background: rgba(var(--text-primary-rgb), 0.08);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  color: rgba(var(--text-primary-rgb), 0.8);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 0.42rem 0.52rem;
  text-transform: uppercase;
}

@media (min-width: 1121px) {
  .timeline-explorer {
    align-items: stretch;
    gap: clamp(2.25rem, 4vw, 4rem);
    grid-template-columns: minmax(300px, 0.82fr) minmax(470px, 1.16fr) minmax(360px, 1fr);
    height: clamp(740px, calc(100vh - 120px), 820px);
    min-height: 740px;
  }

  .timeline-era-filter,
  .timeline-rail-shell,
  .timeline-detail {
    max-height: 100%;
    min-height: 0;
  }

  .timeline-era-filter,
  .timeline-rail-shell {
    display: flex;
    flex-direction: column;
  }

  .timeline-era-filter__list {
    flex: 1;
    grid-template-rows: repeat(5, minmax(0, 1fr));
    min-height: 0;
  }

  .timeline-era-button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
    padding-block: clamp(0.48rem, 0.85vh, 0.68rem);
  }

  .timeline-era-filter .timeline-column-heading {
    padding-block: 0.9rem 0.85rem;
  }

  .timeline-era-filter .timeline-column-heading h3 {
    font-size: clamp(1.45rem, 1.75vw, 1.8rem);
  }

  .timeline-era-button__range {
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    line-height: 0.86;
    margin-bottom: 0.45rem;
  }

  .timeline-era-button__title {
    font-size: clamp(1.06rem, 1.52vw, 1.35rem);
    line-height: 1;
  }

  .timeline-era-button__description {
    font-size: 0.74rem;
    line-height: 1.35;
    margin-top: 0.42rem;
  }

  .timeline-rail-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-right: 0.5rem;
    scrollbar-color: rgba(var(--text-primary-rgb), 0.28) transparent;
    scrollbar-width: thin;
  }

  .timeline-rail-scroll::-webkit-scrollbar {
    width: 8px;
  }

  .timeline-rail-scroll::-webkit-scrollbar-track {
    background: transparent;
  }

  .timeline-rail-scroll::-webkit-scrollbar-thumb {
    background: rgba(var(--text-primary-rgb), 0.22);
  }

  .timeline-detail,
  .timeline-detail.is-changing {
    max-height: 100%;
    transform: translateY(-50%);
  }

}

@media (max-width: 1120px) {
  .styles-archive-main {
    --styles-hero-collapsed-height: clamp(8rem, 16vw, 10.5rem);
  }

  .site-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.9rem;
  }

  .site-header__actions {
    justify-content: flex-start;
    position: static;
    width: 100%;
  }

  .site-nav {
    justify-content: flex-start;
  }

  .preferences-menu {
    position: absolute;
    right: clamp(1rem, 4vw, 3rem);
    top: 1rem;
    z-index: 2;
  }

  .match-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .section--matches .match-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .route-card-grid,
  .route-card-grid--four,
  .timeline-event-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .timeline-explorer {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }

  .style-feature-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .style-image-panel {
    min-height: 0;
  }

  .styles-explorer__nav-list {
    grid-auto-columns: minmax(13rem, 1fr);
    grid-auto-flow: column;
    grid-template-columns: none;
    min-width: max-content;
    overflow-x: auto;
  }

  .styles-explorer__nav-list::-webkit-scrollbar {
    display: none;
  }

  .styles-archive-hero.styles-hero--collapsed .styles-archive-hero__inner {
    gap: 0.55rem;
    grid-template-columns: 1fr;
  }

  .styles-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical {
    border-left: 0;
    border-right: 0;
    border-top: 2px solid var(--accent-red-strong);
    display: block;
    font-size: clamp(0.9rem, 2.35vw, 1.35rem);
    justify-self: start;
    max-width: 100%;
    overflow: hidden;
    padding: 0.45rem 0 0;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: min(100%, 28rem);
  }

  .style-nav-button:hover,
  .style-nav-button:focus-visible {
    transform: translateY(-2px);
  }

  .timeline-era-filter {
    grid-column: 1 / -1;
  }

  .timeline-era-filter__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .timeline-detail {
    position: static;
  }
}

@media (max-width: 880px) {
  .timeline-archive-hero:not(.styles-hero--collapsed) {
    position: relative;
    top: auto;
  }

  .styles-archive-main {
    --styles-hero-collapsed-height: clamp(8.8rem, 22vw, 11rem);
  }

  .hero {
    min-height: 720px;
  }

  .route-hero--timeline,
  .route-hero--wrestlers,
  .route-hero--beyond-ring {
    --route-hero-image-width: min(56vw, 520px);
  }

  .route-hero--wrestlers::before {
    --route-hero-image-offset: clamp(-3rem, -5vw, -1.25rem);
    --route-hero-image-size: cover;
  }

  .hero__shade {
    background:
      linear-gradient(90deg, rgba(var(--shadow-rgb), 0.84), rgba(var(--shadow-rgb), 0.58)),
      linear-gradient(0deg, rgba(var(--shadow-rgb), 0.72), transparent 48%);
  }

  .hero__media {
    height: calc(100% + 56px);
    inset: -56px 0 0;
    object-position: center top;
  }

  .hero__content {
    margin-inline: clamp(1rem, 6vw, 2rem);
    transform: none;
  }

  .section__header,
  .feature-grid,
  .editorial-columns,
  .route-card-grid,
  .route-card-grid--two,
  .route-card-grid--four,
  .timeline-event-grid {
    grid-template-columns: 1fr;
  }

  .route-match-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .match-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .timeline-era {
    grid-template-columns: 1fr;
  }

  .timeline-explorer,
  .timeline-era-filter__list,
  .route-mini-hero__inner,
  .style-archive-notes__grid {
    grid-template-columns: 1fr;
  }

  .styles-archive-hero__inner {
    grid-template-columns: 1fr;
    max-width: calc(100vw - 2rem);
  }

  .styles-archive-hero__vertical {
    display: none;
  }

  .styles-archive-hero.styles-hero--collapsed h1 {
    font-size: clamp(1.85rem, 8vw, 3.1rem);
    white-space: normal;
  }

  .styles-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical {
    display: block;
  }

  .style-detail-panel {
    padding: clamp(1.25rem, 5vw, 2rem) clamp(1.5rem, 6vw, 2.5rem);
  }

  .style-statement-strip {
    grid-template-columns: 1fr;
  }

  .style-statement-strip span + span {
    border-left: 0;
    border-top: 1px solid rgba(242, 234, 220, 0.32);
  }

  .route-mini-hero p:last-child {
    grid-column: auto;
    grid-row: auto;
    margin-top: 0.85rem;
    max-width: 640px;
  }

  .timeline-explorer-section::before {
    opacity: 0;
  }

  .timeline-rail-shell {
    padding-inline: 0;
  }

  .timeline-rail__button::after {
    right: 0;
  }

  .timeline-detail,
  .timeline-detail.is-changing {
    transform: translateY(0);
  }

  .feature-card {
    min-height: 220px;
  }

  .style-key-match {
    grid-template-columns: minmax(5rem, 6rem) minmax(0, 1fr) auto;
  }
}

@media (max-width: 560px) {
  .styles-archive-main {
    --styles-hero-collapsed-height: 10rem;
  }

  .site-logo {
    min-width: 0;
  }

  .site-header .site-logo__image {
    height: var(--site-logo-image-height);
    max-width: none;
    width: auto;
  }

  .route-hero--timeline,
  .route-hero--wrestlers,
  .route-hero--beyond-ring {
    --route-hero-image-width: min(76vw, 430px);
  }

  .route-hero--wrestlers::before {
    --route-hero-image-offset: 0rem;
  }

  .site-logo__mark {
    width: min(178px, 52vw);
  }

  .preferences-menu__button {
    height: 2.375rem;
    width: 2.375rem;
  }

  .theme-toggle {
    height: 44px;
    width: 44px;
  }

  .preferences-menu__option {
    font-size: 0.7rem;
  }

  .site-nav a {
    font-size: 0.72rem;
  }

  .hero {
    min-height: 690px;
  }

  .hero h1 {
    font-size: clamp(2.95rem, 15vw, 4.45rem);
    margin-left: -4px;
    max-width: 10ch;
  }

  .route-hero h1,
  .route-main .section__header h2,
  main > .section .section__header h2 {
    white-space: normal;
  }

  .hero__tagline {
    border-left-width: 4px;
    padding-left: 0.75rem;
  }

  .hero__actions,
  .button,
  .site-footer {
    width: 100%;
  }

  .button {
    justify-content: center;
  }

  .preview-block {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .styles-archive-hero {
    min-height: 24rem;
  }

  .styles-archive-hero h1 {
    font-size: clamp(2rem, 9vw, 3rem);
    max-width: 100%;
  }

  .styles-explorer-section {
    padding-inline: 0.75rem;
  }

  .styles-tab-bar {
    margin-inline: -0.75rem;
  }

  .styles-explorer__nav-list {
    grid-auto-columns: minmax(11.5rem, 74vw);
  }

  .style-nav-button {
    min-height: 3.8rem;
    padding-inline: 1rem;
  }

  .styles-archive-content,
  .styles-explorer__canvas,
  .style-feature-grid,
  .style-image-panel,
  .style-detail-panel,
  .style-statement-strip,
  .style-archive-notes {
    max-width: 100%;
    width: 100%;
  }

  .match-grid,
  .route-match-grid {
    grid-template-columns: 1fr;
  }

  .section--matches .match-grid {
    grid-template-columns: 1fr;
  }

  .match-card {
    height: 30rem;
  }

  .style-feature-wrestlers {
    gap: 0.7rem;
    grid-template-columns: 1fr;
  }

  .style-detail-definition {
    max-width: min(100%, 31rem);
    width: 100%;
  }

  .style-feature-wrestler,
  .style-feature-wrestler__portrait,
  .style-key-match__body {
    max-width: min(100%, 31rem);
    width: 100%;
  }

  .style-feature-wrestler {
    justify-self: center;
  }

  .style-feature-wrestler__portrait {
    justify-self: center;
  }

  .style-key-match {
    align-items: start;
    grid-template-columns: 1fr auto;
  }

  .style-key-match__thumb {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: min(100%, 31rem);
    width: 100%;
  }

  .preview-block__number {
    font-size: 3rem;
  }

  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-nav {
    justify-content: flex-start;
  }
}

/* ── Mobile nav: hamburger + dropdown (≤600px) ──────────────────────── */
@media (max-width: 600px) {
  /* Revert to single-row header so logo + icons share one line */
  .site-header {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    padding-block: 0;
    min-height: var(--site-header-height);
  }

  .site-header__actions {
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.55rem;
    justify-content: flex-end;
    width: auto;
  }

  .site-header .site-logo__mark {
    padding-bottom: 0.32rem;
  }

  .site-header .site-logo__mark::after {
    height: 2px;
  }

  .site-header .site-logo__jp {
    font-size: 0.78rem;
  }

  .site-header .site-logo__en {
    font-size: 1.62rem;
  }

  /* Pull preferences back into normal flow (was absolute at ≤1120px) */
  .preferences-menu {
    position: static;
    right: auto;
    top: auto;
  }

  .preferences-menu__button {
    height: 2.375rem;
    width: 2.375rem;
  }

  .theme-toggle {
    height: 44px;
    width: 44px;
  }

  /* Show hamburger, match prefs button size */
  .site-nav-toggle {
    display: inline-flex;
    height: 2.375rem;
    width: 2.375rem;
  }

  /* Collapse nav into a dropdown below the sticky header */
  .site-nav {
    background: var(--bg-primary);
    border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.18);
    box-shadow: 0 10px 32px rgba(var(--shadow-rgb), 0.52);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    justify-content: flex-start;
    left: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transition:
      max-height 280ms ease,
      opacity 200ms ease;
    z-index: 100;
  }

  .site-nav.is-open {
    max-height: 36rem;
    opacity: 1;
    pointer-events: auto;
  }

  /* Full-width tappable nav rows */
  .site-nav a {
    align-items: center;
    border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.1);
    box-sizing: border-box;
    display: flex;
    font-size: 1rem;
    min-height: 3.2rem;
    padding: 0.9rem 1.4rem;
    white-space: nowrap;
    width: 100%;
  }

  .site-nav a:last-child {
    border-bottom: 0;
  }

  /* Replace bottom-underline with left-bar indicator */
  .site-nav a::after {
    bottom: 0;
    height: 100%;
    top: 0;
    transform: scaleY(0);
    transform-origin: top;
    width: 3px;
  }

  .site-nav a[aria-current="page"]::after {
    transform: scaleY(1);
  }

  .site-nav a:hover::after,
  .site-nav a:focus-visible::after {
    transform: scaleY(1);
  }

  /* Hover background for touch-friendly feedback */
  .site-nav a:hover,
  .site-nav a:focus-visible {
    background: rgba(var(--text-primary-rgb), 0.07);
    color: var(--accent-red-readable);
  }

  /* Logo: allow shrink but keep readable */
  .site-logo__mark {
    width: min(160px, 48vw);
  }

  .hero__media {
    height: calc(100% + 64px);
    inset: -64px 0 0;
  }
}

/* ── Light-mode hamburger tint ──────────────────────────────────────── */
@media (max-width: 600px) {
  [data-theme="modern-showa"] .site-nav-toggle {
    background: transparent;
    border-color: transparent;
    color: var(--on-accent);
  }

  /* Home page nav has a dark cinematic shadow overlay on the hero,
     so the toggle needs light/cream colours to stay visible. */
  [data-theme="modern-showa"] .site-header--home .site-nav-toggle {
    background: transparent;
    border-color: transparent;
    color: var(--on-accent);
  }

  [data-theme="modern-showa"] .site-nav {
    background: var(--bg-primary);
    border-bottom-color: rgba(23, 19, 15, 0.14);
    box-shadow: 0 10px 32px rgba(23, 19, 15, 0.15);
  }

  [data-theme="modern-showa"] .site-nav a {
    border-bottom-color: rgba(23, 19, 15, 0.1);
  }
}

/* Horizontal timeline experience */
.timeline-explorer {
  align-items: stretch;
  display: grid;
  gap: clamp(1rem, 1.8vw, 1.6rem) clamp(1.25rem, 2vw, 2.25rem);
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.38fr);
}

.timeline-stage {
  align-self: stretch;
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.75rem);
  grid-column: 1;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
}

.timeline-era-filter {
  grid-column: 1;
  min-width: 0;
  overflow: hidden;
}

.timeline-rail-shell {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.045), transparent 42%),
    rgba(var(--bg-primary-rgb), 0.72);
  border: 1px solid rgba(var(--text-primary-rgb), 0.08);
  display: grid;
  grid-column: 1;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  padding-inline: 0;
  overflow: hidden;
}

.timeline-detail {
  align-self: stretch;
  grid-column: 2;
  grid-row: 1;
  height: auto;
  max-height: none;
  overflow-y: auto;
  position: relative;
  transform: none;
  width: 100%;
}

.timeline-detail.is-changing {
  opacity: 0.5;
  transform: none;
}

.timeline-detail--measure,
.timeline-detail--measure.is-changing {
  height: auto !important;
  left: -9999px;
  max-height: none !important;
  min-height: 0 !important;
  opacity: 1;
  overflow: visible !important;
  pointer-events: none;
  position: absolute !important;
  top: 0;
  transform: none !important;
  visibility: hidden;
  z-index: -1;
}

.timeline-detail .timeline-column-heading {
  padding-right: 1rem;
}

.timeline-era-filter__list {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: 1rem;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, rgb(var(--shadow-rgb)) 0, rgb(var(--shadow-rgb)) calc(100% - 2.25rem), transparent);
  mask-image: linear-gradient(90deg, rgb(var(--shadow-rgb)) 0, rgb(var(--shadow-rgb)) calc(100% - 2.25rem), transparent);
}

.timeline-era-filter__list::-webkit-scrollbar {
  display: none;
}

.timeline-era-button {
  border-left: 1px solid rgba(var(--text-primary-rgb), 0.07);
  border-top: 0;
  flex: 0 0 clamp(215px, 19vw, 285px);
  min-height: 108px;
  padding: 0.78rem 0.9rem 0.82rem;
  scroll-snap-align: start;
}

.timeline-era-button:first-child {
  border-left: 0;
}

.timeline-era-button::before {
  bottom: 0;
  top: 0;
  width: 4px;
}

.timeline-era-button[aria-pressed="true"]::before {
  opacity: 1;
}

.timeline-era-button__range {
  color: var(--yellow);
  font-size: clamp(0.9rem, 1.32vw, 1.14rem);
  line-height: 0.92;
  margin-bottom: 0.34rem;
}

.timeline-era-button__title {
  font-size: clamp(0.96rem, 1.5vw, 1.22rem);
  line-height: 1;
}

.timeline-era-button__description {
  font-size: 0.73rem;
  line-height: 1.36;
  margin-top: 0.36rem;
}

.timeline-rail-shell .timeline-column-heading {
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.08);
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.1rem 1rem 1rem;
}

.timeline-column-heading__copy {
  min-width: 0;
}

.timeline-column-heading__trail-label {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.timeline-column-heading__trail-label[hidden] {
  display: none;
}

.timeline-column-heading__meta {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 0.95rem;
  min-width: max-content;
}

.timeline-column-heading__meta[hidden] {
  display: none;
}

.timeline-column-heading__meta span,
.timeline-column-heading__meta button {
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.timeline-column-heading__meta span {
  color: rgba(var(--text-primary-rgb), 0.58);
}

.timeline-column-heading__meta button {
  align-items: center;
  background: rgba(var(--accent-red-rgb), 0.08);
  border: 1px solid rgba(var(--accent-red-rgb), 0.42);
  color: rgba(245, 245, 240, 0.82);
  cursor: pointer;
  display: inline-flex;
  gap: 0.38rem;
  padding: 0.45rem 0.56rem;
}

.timeline-column-heading__meta button:hover,
.timeline-column-heading__meta button:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.16);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: var(--text-primary);
  outline: none;
}

.timeline-column-heading__meta button .material-symbols-outlined,
.timeline-column-heading__meta button .material-symbols-svg {
  color: var(--accent-red);
  flex: 0 0 auto;
  font-size: 1rem;
  height: 1rem;
  line-height: 1;
  width: 1rem;
}

.timeline-rail-controls {
  align-items: center;
  display: none;
  flex: 0 0 auto;
  gap: 0.5rem;
  margin-left: auto;
}

.timeline-rail-controls__button {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.055);
  border: 1px solid rgba(var(--text-primary-rgb), 0.2);
  color: var(--text-primary);
  cursor: pointer;
  display: inline-flex;
  height: 2.45rem;
  justify-content: center;
  padding: 0;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    opacity 160ms ease;
  width: 2.45rem;
}

.timeline-rail-controls__button:hover,
.timeline-rail-controls__button:focus-visible {
  background: var(--accent-red-strong);
  border-color: var(--accent-red-strong);
  color: #111111;
  outline: none;
}

.timeline-rail-controls__button:disabled {
  cursor: default;
  opacity: 0.36;
}

.timeline-rail-controls__button:disabled:hover,
.timeline-rail-controls__button:disabled:focus-visible {
  background: rgba(var(--text-primary-rgb), 0.055);
  border-color: rgba(var(--text-primary-rgb), 0.2);
  color: var(--text-primary);
}

.timeline-rail-controls__button .material-symbols-outlined {
  font-size: 1.28rem;
  line-height: 1;
}

.timeline-rail-scroll {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.045), transparent 42%),
    rgba(var(--bg-primary-rgb), 0.72);
  border: 0;
  min-height: 320px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  padding: 1.55rem clamp(1.6rem, 3vw, 2.35rem) 1.35rem;
  scroll-padding-inline: clamp(1.6rem, 3vw, 2.35rem);
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, transparent, rgb(var(--shadow-rgb)) 2.5rem, rgb(var(--shadow-rgb)) calc(100% - 2.5rem), transparent);
  mask-image: linear-gradient(90deg, transparent, rgb(var(--shadow-rgb)) 2.5rem, rgb(var(--shadow-rgb)) calc(100% - 2.5rem), transparent);
}

.timeline-rail-scroll::-webkit-scrollbar {
  display: none;
}

@media (min-width: 1121px) {
  .timeline-rail-controls {
    display: inline-flex;
  }

  .timeline-page .timeline-rail-scroll {
    padding-bottom: 1.65rem;
    scrollbar-color: rgba(var(--text-primary-rgb), 0.42) rgba(var(--text-primary-rgb), 0.08);
    scrollbar-width: thin;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar {
    display: block;
    height: 10px;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-track {
    background: rgba(var(--text-primary-rgb), 0.08);
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-thumb {
    background: rgba(var(--text-primary-rgb), 0.42);
    border: 2px solid rgba(var(--bg-primary-rgb), 0.72);
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--accent-red-rgb), 0.84);
  }
}

.timeline-rail {
  align-items: start;
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0;
  min-width: max-content;
  padding: 0;
  position: relative;
}

.timeline-rail::before {
  background:
    linear-gradient(90deg, transparent, rgba(var(--text-primary-rgb), 0.72) 2rem, rgba(var(--text-primary-rgb), 0.72) calc(100% - 2rem), transparent);
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 1.35rem;
  width: auto;
}

.timeline-rail__item {
  flex: 0 0 clamp(188px, 13.1vw, 252px);
  margin: 0;
  opacity: 1;
  position: relative;
  scroll-snap-align: center;
  transition:
    filter 180ms ease,
    opacity 180ms ease;
}

.timeline-rail__item--precursor {
  flex-basis: clamp(188px, 13.1vw, 252px);
  opacity: 1;
}

.timeline-rail__item--precursor.is-active {
  opacity: 1;
}

.timeline-rail__button {
  align-items: start;
  background: transparent;
  border: 0;
  color: var(--paper);
  cursor: pointer;
  display: grid;
  font-family: var(--body);
  gap: 1.15rem;
  grid-template-columns: 1fr;
  grid-template-rows: 3rem minmax(8.6rem, auto);
  min-height: 0;
  padding: 0 0.45rem;
  position: relative;
  text-align: left;
  width: 100%;
}

.timeline-rail__button::after {
  background: linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.88), transparent);
  content: "";
  height: 3rem;
  left: 50%;
  opacity: 0;
  position: absolute;
  right: auto;
  top: 1.38rem;
  transform: translateX(-50%) scaleY(0);
  transform-origin: top;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
  width: 1px;
  z-index: 0;
}

.timeline-rail__marker {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  left: 50%;
  letter-spacing: 0.04em;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  text-transform: none;
  top: -0.29rem;
  transform: translateX(-50%);
  white-space: nowrap;
  z-index: 4;
}

.timeline-rail__item.is-active .timeline-rail__button::after {
  opacity: 1;
  transform: translateX(-50%) scaleY(1);
}

.timeline-rail__dot {
  align-self: center;
  background: var(--paper);
  border-radius: 999px;
  box-shadow: 0 0 0 4px var(--bg-primary);
  display: block;
  grid-row: 1;
  height: 0.95rem;
  justify-self: center;
  margin: 0;
  position: relative;
  transition:
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
  width: 0.95rem;
  z-index: 3;
}

.timeline-rail__event {
  align-self: start;
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    var(--bg-secondary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  display: block;
  min-height: 8.6rem;
  padding: 0.72rem 0.76rem;
  position: relative;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
  z-index: 2;
}

.timeline-rail__item--precursor .timeline-rail__event {
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    var(--bg-secondary);
  border-style: solid;
  color: var(--paper);
  min-height: 8.6rem;
}

.timeline-rail__item--precursor .timeline-rail__event::after {
  border: 1px solid rgba(var(--text-primary-rgb), 0.24);
  bottom: 0.52rem;
  color: rgba(var(--text-primary-rgb), 0.62);
  content: "Foundations";
  font-size: 0.54rem;
  font-weight: 800;
  left: 0.76rem;
  letter-spacing: 0.06em;
  padding: 0.12rem 0.26rem 0.1rem;
  pointer-events: none;
  position: absolute;
  text-transform: uppercase;
  z-index: 4;
}

.timeline-rail__item.is-active .timeline-rail__event {
  border-color: rgba(var(--accent-red-rgb), 0.86);
  transform: translateY(3px);
}

.timeline-rail__item--precursor.is-active .timeline-rail__event {
  border-color: rgba(var(--accent-red-rgb), 0.86);
  border-style: solid;
  transform: translateY(3px);
}

.timeline-rail__item--precursor.is-active .timeline-rail__dot {
  background: var(--accent-red);
  border: 0;
  box-shadow: 0 0 0 4px var(--bg-primary);
}

.timeline-rail__item--precursor.is-active .timeline-rail__dot::before {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;
  opacity: 0;
}

.timeline-rail__item--precursor.is-active .timeline-rail__dot::after {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) 1.3s infinite;
  opacity: 0;
}

.timeline-rail__button:hover .timeline-rail__dot,
.timeline-rail__button:focus-visible .timeline-rail__dot {
  background: var(--yellow);
  transform: scale(1.12);
}

.timeline-rail__button:hover .timeline-rail__event,
.timeline-rail__button:focus-visible .timeline-rail__event {
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.12), rgba(var(--text-primary-rgb), 0.03)),
    var(--bg-secondary);
  border-color: rgba(var(--text-primary-rgb), 0.32);
}

.timeline-rail__item:not(.is-muted):not(.is-active) .timeline-rail__event {
  border-color: rgba(var(--text-primary-rgb), 0.58);
}

.timeline-page .timeline-rail__title {
  font-size: clamp(0.92rem, 1.12vw, 1.08rem);
  line-height: 1;
  margin-top: 0.28rem;
}

.timeline-detail__photo {
  min-height: clamp(180px, calc(18vw - 30px), 255px);
}

.timeline-detail--precursor .timeline-detail__photo {
  background:
    repeating-linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.045) 0 1px, transparent 1px 8px),
    rgba(var(--bg-secondary-rgb), 0.72);
}

.timeline-detail--precursor .timeline-detail__date::after {
  border: 1px solid rgba(var(--text-primary-rgb), 0.26);
  color: var(--text-muted);
  content: "Foundations";
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-left: 0.5rem;
  padding: 0.15rem 0.34rem 0.12rem;
  text-transform: uppercase;
  vertical-align: middle;
}

.timeline-detail__body h3 {
  font-size: clamp(2rem, 2.75vw, 3rem);
}

@media (min-width: 1121px) {
  .timeline-explorer {
    align-items: start;
    gap: clamp(1rem, 1.8vw, 1.6rem) clamp(1.25rem, 2vw, 2.25rem);
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.38fr);
    height: auto;
    min-height: 0;
  }

  .timeline-era-filter,
  .timeline-rail-shell,
  .timeline-detail {
    max-height: none;
    min-height: 0;
  }

  .timeline-rail-shell {
    align-self: start;
  }

  .timeline-era-filter,
  .timeline-rail-shell {
    display: block;
  }

  .timeline-stage {
    display: grid;
  }

  .timeline-era-filter__list {
    display: flex;
    flex: none;
    grid-template-rows: none;
    min-height: 0;
  }

  .timeline-era-button {
    display: block;
    justify-content: initial;
    min-height: 108px;
    padding-block: 0.78rem 0.82rem;
  }

  .timeline-detail,
  .timeline-detail.is-changing {
    transform: none;
  }
}

@media (max-width: 700px) {
  .timeline-explorer {
    grid-template-columns: 1fr;
  }

  .timeline-era-filter,
  .timeline-rail-shell,
  .timeline-stage,
  .timeline-detail {
    grid-column: 1;
    grid-row: auto;
  }

  .timeline-era-filter__list {
    grid-template-columns: none;
  }

  .timeline-detail {
    height: auto;
    min-height: 0;
    overflow-y: visible;
    position: static;
  }
}

@media (max-width: 880px) {
  .timeline-explorer,
  .timeline-era-filter__list {
    grid-template-columns: none;
  }

  .timeline-rail-scroll {
    min-height: 330px;
    padding-inline: 1.25rem;
  }

  .timeline-rail__item {
    flex-basis: 190px;
  }
}

.timeline-page .timeline-explorer-section {
  --timeline-collapsed-hero-height: var(--styles-hero-collapsed-height);
  --timeline-era-selector-height: clamp(6.25rem, 5.05vw, 6.45rem);
  --timeline-content-gap: clamp(1.25rem, 3vw, 2rem);
  --timeline-workspace-padding: clamp(1.5rem, 3vw, 3rem);
  --timeline-workspace-height: calc(
    100vh -
    var(--site-header-height) -
    var(--timeline-collapsed-hero-height) -
    var(--timeline-era-selector-height)
  );
  --timeline-sticky-offset: calc(
    var(--site-header-height) +
    var(--timeline-collapsed-hero-height) +
    var(--timeline-era-selector-height)
  );
  --timeline-content-clearance: calc(
    var(--timeline-sticky-offset) +
    var(--timeline-content-gap) +
    var(--timeline-content-gap)
  );
  overflow: visible;
  padding-top: 0;
}

body.timeline-app-shell-active {
  overflow: hidden;
}

.timeline-page .timeline-explorer__inner {
  max-width: 1720px;
  padding-top: var(--timeline-content-gap);
  scroll-margin-top: var(--timeline-sticky-offset);
  transition: none;
  width: min(100%, 1720px);
}

.timeline-workspace {
  box-sizing: border-box;
}

.timeline-era-nav {
  align-items: stretch;
  background: #080807;
  border-left: 0;
  border-right: 0;
  border-top: 1px solid rgba(232, 227, 217, 0.2);
  border-bottom: 1px solid rgba(232, 227, 217, 0.2);
  box-shadow: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 0 0 var(--timeline-content-gap);
  overflow: hidden;
  position: sticky;
  scrollbar-width: none;
  top: calc(var(--site-header-height) + var(--timeline-collapsed-hero-height));
  transition: none;
  --timeline-left-fade-offset: 0rem;
  z-index: 210;
}

.timeline-era-nav::before,
.timeline-era-nav::after,
.timeline-rail-shell::before,
.timeline-rail-shell::after {
  bottom: 0;
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  width: clamp(1.45rem, 3vw, 3rem);
  z-index: 4;
}

.timeline-era-nav::before,
.timeline-rail-shell::before {
  background: linear-gradient(90deg, rgba(var(--shadow-rgb), 0.2), transparent);
  left: 0;
  opacity: 0;
  transition: opacity 160ms ease;
}

.timeline-era-nav::before {
  left: var(--timeline-left-fade-offset);
}

.timeline-era-nav::after,
.timeline-rail-shell::after {
  background: linear-gradient(90deg, transparent, rgba(var(--shadow-rgb), 0.2));
  right: 0;
}

.timeline-era-nav.has-scroll-left::before,
.timeline-rail-shell.has-scroll-left::before {
  opacity: 1;
}

.timeline-rail-shell {
  position: relative;
}

.timeline-pane-bottom-stroke {
  background: rgba(var(--text-primary-rgb), 0.2);
  bottom: 0;
  display: block;
  height: 3px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 100;
}

.timeline-detail {
  box-shadow:
    inset 0 -1.6rem 1.8rem -1.65rem rgba(var(--shadow-rgb), 0.32),
    inset 1.1rem 0 1.25rem -1.35rem rgba(var(--shadow-rgb), 0.2);
}

.timeline-era-nav::-webkit-scrollbar,
.timeline-era-nav .timeline-era-filter__list::-webkit-scrollbar {
  display: none;
}

.timeline-era-nav .timeline-column-heading {
  align-content: center;
  background: rgba(245, 245, 240, 0.06);
  border-bottom: 0;
  border-right: 1px solid rgba(232, 227, 217, 0.14);
  display: grid;
  min-height: 5.75rem;
  padding: 0.9rem clamp(1rem, 2vw, 1.65rem);
  position: relative;
}

.timeline-era-nav .timeline-column-heading h3 {
  font-size: clamp(1.15rem, 1.7vw, 1.65rem);
}

.timeline-era-nav .timeline-column-heading .kicker {
  margin-bottom: 0.28rem;
}

.timeline-scroll-cue {
  align-items: center;
  color: var(--accent-red);
  display: inline-flex;
  font-size: 0.78em;
  line-height: 1;
  margin-left: 0.32rem;
  transform: translateY(0.02em);
  vertical-align: baseline;
}

.timeline-era-nav .timeline-era-filter__list {
  display: flex;
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: 0;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-mask-image: none;
  mask-image: none;
}

.timeline-era-nav .timeline-era-button {
  align-content: center;
  border-left: 1px solid rgba(232, 227, 217, 0.12);
  border-top: 0;
  display: grid;
  flex: 1 0 clamp(13rem, 17vw, 18rem);
  min-height: 5.75rem;
  padding: 0.72rem clamp(0.85rem, 1.4vw, 1.15rem) 0.78rem;
  scroll-snap-align: start;
}

.timeline-era-nav .timeline-era-button:first-child {
  border-left: 1px solid rgba(232, 227, 217, 0.12);
}

.timeline-era-nav .timeline-era-button:last-child {
  border-right: 1px solid rgba(232, 227, 217, 0.12);
}

.timeline-era-nav .timeline-era-button::before {
  bottom: 0;
  height: 3px;
  left: 0;
  right: 0;
  top: auto;
  width: auto;
}

.timeline-era-nav .timeline-era-button__range {
  color: var(--yellow);
  font-size: clamp(0.85rem, 1.12vw, 1.05rem);
  line-height: 1;
  margin-bottom: 0.34rem;
}

.timeline-era-nav .timeline-era-button__title {
  font-size: clamp(0.95rem, 1.28vw, 1.16rem);
  line-height: 1;
}

.timeline-era-nav .timeline-era-button__description {
  font-size: 0.72rem;
  line-height: 1.34;
  margin-top: 0.35rem;
}

.timeline-archive-hero.styles-hero--collapsed + .timeline-explorer-section .timeline-era-nav {
  top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height));
}

.timeline-archive-hero.styles-hero--collapsed + .timeline-explorer-section .timeline-explorer__inner {
  padding-top: var(--timeline-content-clearance);
}

.timeline-page.timeline-page--collapsed {
  overflow: visible;
}

.timeline-page.timeline-page--collapsed .timeline-explorer-section {
  background: var(--route-section-atmosphere);
  bottom: 0;
  left: 0;
  overflow: hidden;
  padding: 0;
  position: fixed;
  right: 0;
  top: calc(var(--site-header-height) + var(--timeline-collapsed-hero-height));
  z-index: 210;
}

.timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav {
  margin-inline: 0;
  position: relative;
  top: 0;
}

.timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace {
  display: grid;
  gap: var(--timeline-content-gap);
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  margin-inline: auto;
  max-width: none;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  overscroll-behavior: contain;
  padding: clamp(0.75rem, 1.25vw, 1.4rem) var(--timeline-workspace-padding) var(--timeline-workspace-padding);
  scrollbar-gutter: stable;
}

.timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav {
  justify-self: center;
  margin: 0 auto;
  max-width: 1720px;
  width: min(100%, 1720px);
}

.timeline-page.timeline-page--collapsed .timeline-explorer {
  align-items: stretch;
  margin-inline: auto;
  max-width: 1720px;
  min-height: 0;
  overflow: hidden;
}

.timeline-page.timeline-page--collapsed .timeline-stage,
.timeline-page.timeline-page--collapsed .timeline-rail-shell,
.timeline-page.timeline-page--collapsed .timeline-detail {
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.timeline-page .timeline-stage {
  grid-template-rows: minmax(0, 1fr);
  min-width: 0;
  position: relative;
  z-index: 1;
}

.timeline-page .timeline-rail-shell {
  grid-row: 1;
}

.timeline-page .timeline-rail-shell,
.timeline-page .timeline-detail {
  --timeline-pane-bottom-line: rgba(var(--text-primary-rgb), 0.34);
  border-bottom: 2px solid var(--timeline-pane-bottom-line);
  box-shadow: none;
}

.timeline-page .timeline-pane-bottom-stroke {
  display: none;
}

.timeline-page .timeline-detail {
  overflow-x: hidden;
  overscroll-behavior: contain;
  position: relative;
  touch-action: pan-y;
  z-index: 8;
}

@media (min-width: 1121px) {
  .timeline-page .timeline-detail {
    height: var(--timeline-detail-stable-height, auto);
    min-height: var(--timeline-detail-stable-height, 0);
  }
}

.timeline-page .timeline-explorer,
.timeline-page .timeline-stage,
.timeline-page .timeline-rail-shell,
.timeline-page .timeline-detail,
.timeline-page .timeline-rail__item,
.timeline-page .timeline-rail__event {
  scroll-margin-top: calc(var(--timeline-sticky-offset) + var(--timeline-content-gap));
}

@media (max-width: 1120px) {
  .timeline-era-nav {
    --timeline-left-fade-offset: 0rem;
  }

  .timeline-page .timeline-explorer__inner {
    --timeline-content-gap: clamp(1rem, 4vw, 1.5rem);
  }
}

@media (min-width: 701px) {
  .timeline-page .timeline-explorer-section {
    --timeline-detail-pane-width: clamp(420px, 31vw, 560px);
    --timeline-pane-gap: clamp(1rem, 1.25vw, 1.5rem);
  }

  .timeline-page .timeline-explorer-section .timeline-era-nav {
    width: 100%;
  }

  .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav {
    justify-self: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 1720px;
    width: min(100%, 1720px);
  }

  .timeline-page .timeline-explorer {
    align-items: start;
    display: grid;
    gap: var(--timeline-pane-gap);
    grid-template-columns: minmax(0, 1fr) var(--timeline-detail-pane-width);
    isolation: isolate;
  }

  .timeline-page .timeline-stage {
    grid-column: 1;
  }

  .timeline-page .timeline-detail {
    align-self: start;
    box-sizing: border-box;
    contain: paint;
    grid-column: 2;
    margin-top: 0;
    max-width: var(--timeline-detail-pane-width);
    min-width: 0;
    pointer-events: auto;
    transform: none;
    z-index: 20;
  }

  .timeline-page .timeline-detail.is-changing {
    transform: none;
  }

  .timeline-page.timeline-page--collapsed .timeline-detail {
    -webkit-overflow-scrolling: touch;
    height: calc(100dvh - var(--timeline-detail-collapsed-top, 0px) - 1.5rem);
    max-height: calc(100dvh - var(--timeline-detail-collapsed-top, 0px) - 1.5rem);
    min-height: 0;
    margin-top: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: relative;
    touch-action: pan-y;
    width: var(--timeline-detail-pane-width);
    z-index: 20;
  }

  .timeline-page .timeline-detail__content,
  .timeline-page .timeline-detail__photo,
  .timeline-page .timeline-detail__body,
  .timeline-page .timeline-detail__copy {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .timeline-page .timeline-detail__body h3,
  .timeline-page .timeline-detail__copy p {
    max-width: 100%;
    overflow-wrap: break-word;
    white-space: normal;
  }
}

@media (min-width: 701px) and (max-width: 1180px) {
  .timeline-page .timeline-explorer-section {
    --timeline-detail-pane-width: clamp(360px, 35vw, 420px);
  }

  .timeline-page.timeline-page--collapsed .timeline-detail {
    height: calc(100dvh - var(--timeline-detail-collapsed-top, 0px) - 1.5rem) !important;
    max-height: calc(100dvh - var(--timeline-detail-collapsed-top, 0px) - 1.5rem) !important;
  }

  .timeline-rail__item,
  .timeline-rail__item--precursor {
    flex-basis: clamp(124px, 12.3vw, 150px);
  }

  .timeline-page .timeline-rail__event {
    padding: 0.68rem 0.66rem;
  }

  .timeline-page .timeline-rail__title {
    font-size: clamp(0.82rem, 1.38vw, 0.98rem);
  }
}

@media (min-width: 1181px) {
  .timeline-page .timeline-rail__button {
    grid-template-rows: 3rem 200px;
  }

  .timeline-page .timeline-rail__event,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event {
    min-height: 200px;
    padding: 1rem 0.95rem;
  }

  .timeline-page .timeline-rail__item--precursor .timeline-rail__event::after {
    bottom: 0.95rem;
    left: 0.95rem;
  }

  .timeline-page .timeline-rail__date {
    font-size: clamp(1.32rem, 1.45vw, 1.65rem);
  }

  .timeline-page .timeline-rail__title {
    font-size: clamp(1.56rem, 1.9vw, 1.95rem);
    line-height: 0.92;
    margin-top: 0.42rem;
  }
}

@media (min-width: 701px) and (max-width: 1600px) {
  .timeline-page .timeline-explorer-section .timeline-era-nav {
    width: 100%;
  }

  .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav {
    width: min(100%, 1720px);
  }
}

@media (max-width: 700px) {
  .styles-page.styles-page--collapsed .styles-explorer-section {
    top: var(--styles-hero-collapsed-height);
  }

  .timeline-page.timeline-page--collapsed .timeline-explorer-section {
    --timeline-era-selector-height: 5.75rem;
    top: var(--timeline-mobile-collapsed-top, var(--timeline-collapsed-hero-height));
  }

  .timeline-page.styles-page--collapsed .timeline-era-nav .timeline-column-heading {
    display: none;
  }

  .timeline-era-nav::before,
  .timeline-era-nav::after,
  .timeline-rail-shell::after {
    display: none;
  }

  .timeline-page .timeline-explorer-section {
    --timeline-era-selector-height: 5.75rem;
  }

  .timeline-page .timeline-explorer__inner {
    padding-top: 0;
  }

  .timeline-page .timeline-era-nav {
    top: var(--site-header-height);
  }

  .timeline-era-nav {
    grid-template-columns: 1fr;
  }

  .timeline-era-nav .timeline-column-heading {
    border-bottom: 1px solid rgba(232, 227, 217, 0.14);
    border-right: 0;
    min-height: 4.3rem;
  }

  .timeline-era-nav .timeline-era-button {
    flex-basis: clamp(12.5rem, 58vw, 17rem);
  }
}

@media (max-width: 700px) {
  .timeline-page .timeline-archive-hero {
    display: none !important;
  }

  .timeline-page .timeline-explorer-section {
    padding-top: 0;
  }

  .timeline-page .timeline-era-nav {
    margin-bottom: 0;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace {
    gap: 0;
  }

  .timeline-page .timeline-rail-scroll {
    min-height: clamp(32rem, 74vh, 48rem);
    overflow-x: hidden;
    overflow-y: auto;
    padding: clamp(1.2rem, 3vw, 1.75rem) clamp(1rem, 4vw, 1.6rem);
    scroll-padding-block: clamp(1.2rem, 3vw, 1.75rem);
    scroll-snap-type: y proximity;
    scrollbar-color: rgba(var(--text-primary-rgb), 0.28) transparent;
    scrollbar-width: thin;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar {
    display: block;
    width: 6px;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-track {
    background: transparent;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-thumb {
    background: rgba(var(--text-primary-rgb), 0.22);
  }

  .timeline-page .timeline-rail {
    --timeline-mobile-axis-gutter: clamp(4.6rem, 18vw, 5.9rem);
    --timeline-mobile-dot-column: clamp(1.65rem, 4.8vw, 2.05rem);

    align-items: stretch;
    box-sizing: border-box;
    display: grid;
    gap: 0;
    margin-inline: auto;
    min-width: 0;
    padding-left: var(--timeline-mobile-axis-gutter);
    width: min(
      100%,
      calc(var(--timeline-mobile-axis-gutter) + var(--timeline-mobile-dot-column) + clamp(0.8rem, 2vw, 1rem) + 24.5rem)
    );
  }

  .timeline-page .timeline-rail::before {
    background: linear-gradient(180deg, transparent, rgba(var(--text-primary-rgb), 0.72) 2rem, rgba(var(--text-primary-rgb), 0.72) calc(100% - 2rem), transparent);
    bottom: 0;
    height: auto;
    left: calc(var(--timeline-mobile-axis-gutter) + (var(--timeline-mobile-dot-column) / 2) - 1px);
    right: auto;
    top: 0;
    width: 2px;
  }

  .timeline-page .timeline-rail__item,
  .timeline-page .timeline-rail__item--precursor {
    flex: none;
    padding: 0 0 clamp(1.35rem, 3vw, 1.9rem);
    scroll-snap-align: start;
    width: 100%;
  }

  .timeline-page .timeline-rail__button {
    align-items: center;
    box-sizing: border-box;
    gap: clamp(0.55rem, 2.2vw, 0.75rem);
    grid-template-columns: var(--timeline-mobile-dot-column) minmax(0, 1fr);
    grid-template-rows: auto;
    min-width: 0;
    padding: 0;
    width: 100%;
  }

  .timeline-page .timeline-rail__button::after {
    height: 1px;
    left: calc(var(--timeline-mobile-dot-column) / 2);
    opacity: 0.9;
    right: auto;
    top: 50%;
    transform: none;
    width: clamp(1.25rem, 4vw, 1.75rem);
  }

  .timeline-page .timeline-rail__item.is-active .timeline-rail__button::after {
    transform: none;
  }

  .timeline-page .timeline-rail__marker {
    left: calc(var(--timeline-mobile-axis-gutter) * -1);
    font-size: clamp(1rem, 3.5vw, 1.24rem);
    letter-spacing: 0.025em;
    text-align: right;
    top: 50%;
    transform: translateY(-50%);
    width: clamp(3.7rem, 13vw, 4.85rem);
  }

  .timeline-page .timeline-rail__dot {
    align-self: center;
    grid-column: 1;
    grid-row: 1;
  }

  .timeline-page .timeline-rail__event {
    box-sizing: border-box;
    grid-column: 2;
    grid-row: 1;
    max-width: 100%;
    min-height: clamp(6.2rem, 18vw, 8.4rem);
    min-width: 0;
    overflow: hidden;
    padding: clamp(0.85rem, 2.6vw, 1.15rem);
    width: 100%;
  }

  .timeline-page .timeline-rail__date,
  .timeline-page .timeline-rail__title {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .timeline-page .timeline-rail__date {
    font-size: clamp(1.05rem, 4.2vw, 1.2rem);
  }

  .timeline-page .timeline-rail__title {
    font-size: clamp(1rem, 4.5vw, 1.26rem);
    line-height: 0.94;
    margin-top: 0.32rem;
  }

  .timeline-page .timeline-rail__item.is-active .timeline-rail__event,
  .timeline-page .timeline-rail__item--precursor.is-active .timeline-rail__event {
    transform: none;
  }

  .timeline-page .timeline-rail__item--precursor .timeline-rail__event::after {
    position: static;
    display: inline-block;
    margin-top: 0.7rem;
  }
}

.timeline-page .timeline-rail__event,
.timeline-page .timeline-rail__item--precursor .timeline-rail__event {
  height: var(--timeline-rail-card-height, auto);
  min-height: var(--timeline-rail-card-height, 8.6rem);
}

@media (min-width: 701px) {
  .timeline-page .timeline-rail-scroll {
    min-height: max(320px, calc(var(--timeline-rail-card-height, 200px) + 7.25rem));
  }

  .timeline-page .timeline-rail__button {
    grid-template-rows: 3rem var(--timeline-rail-card-height, minmax(8.6rem, auto));
  }
}

/* Wrestlers archive */
.wrestlers-main {
  background: var(--route-atmosphere);
}

.route-hero--wrestlers::before {
  background-image: url("./assets/hero-images/hero/misawa-hero.webp?v=20260430-1334");
  --route-hero-image-filter: grayscale(1) contrast(1.22);
  --route-hero-image-offset: 4rem;
  --route-hero-image-position: 46% calc(34% + 20px);
  --route-hero-image-size: 108% auto;
}

.wrestlers-archive {
  background: var(--route-section-atmosphere);
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem) clamp(3.5rem, 6vw, 5rem);
  position: relative;
}

.wrestlers-archive::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.035) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.16) 0 0.45px, transparent 0.8px);
  background-size:
    100% 8px,
    14px 14px;
  content: "";
  inset: 0;
  opacity: 0.18;
  pointer-events: none;
  position: absolute;
}

[data-theme="showa-light"] body::before {
  display: none;
}

[data-theme="showa-light"] body > * {
  position: relative;
  z-index: 1;
}

[data-theme="showa-light"] .site-header {
  border-bottom: 1px solid rgba(23, 19, 15, 0.12);
  box-shadow: none;
  z-index: 500;
}

[data-theme="showa-light"] .site-header--home {
  border-bottom: 1px solid rgba(23, 19, 15, 0.12);
  box-shadow: none;
}

[data-theme="showa-light"] .site-logo__mark {
  filter: none;
}

[data-theme="showa-light"] .wrestlers-archive {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.025), transparent 16rem),
    var(--route-section-atmosphere);
}

[data-theme="showa-light"] .wrestlers-rail,
[data-theme="showa-light"] .lens-preview-strip,
[data-theme="showa-light"] .wrestler-detail-panel {
  border-color: rgba(23, 19, 15, 0.18);
}

[data-theme="showa-light"] .wrestlers-rail,
[data-theme="showa-light"] .lens-preview-strip {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.3), rgba(23, 19, 15, 0.035)),
    linear-gradient(135deg, rgba(23, 19, 15, 0.05), transparent 44%),
    rgba(var(--bg-panel-rgb), 0.96);
  box-shadow: var(--shadow-panel);
}

[data-theme="showa-light"] .wrestlers-rail::before,
[data-theme="showa-light"] .lens-preview-strip::before,
[data-theme="showa-light"] .wrestler-detail-panel::before {
  display: none;
}

[data-theme="showa-light"] .wrestlers-rail > *,
[data-theme="showa-light"] .lens-preview-strip > * {
  position: relative;
  z-index: 1;
}

[data-theme="showa-light"] .wrestler-card,
[data-theme="showa-light"] .match-card,
[data-theme="showa-light"] .timeline-rail__event {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(23, 19, 15, 0.035)),
    var(--bg-card);
  border-color: rgba(23, 19, 15, 0.16);
  box-shadow: var(--shadow-card);
}

[data-theme="showa-light"] .timeline-detail,
[data-theme="showa-light"] .timeline-era-filter,
[data-theme="showa-light"] .timeline-rail-shell {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(23, 19, 15, 0.035)),
    var(--bg-card);
  border-color: rgba(23, 19, 15, 0.16);
  box-shadow: var(--shadow-panel);
}

[data-theme="showa-light"] .timeline-page .timeline-rail-shell,
[data-theme="showa-light"] .timeline-page .timeline-detail {
  box-shadow:
    var(--shadow-panel),
    inset 0 -1px 0 rgba(23, 19, 15, 0.16);
}

[data-theme="showa-light"] .timeline-page .timeline-pane-bottom-stroke {
  background: rgba(23, 19, 15, 0.24);
}

[data-theme="showa-light"] .match-card::after,
[data-theme="showa-light"] .wrestler-card::before,
[data-theme="showa-light"] .timeline-rail__event::before {
  display: none;
}

[data-theme="showa-light"] .match-card > *,
[data-theme="showa-light"] .wrestler-card > *,
[data-theme="showa-light"] .timeline-rail__event > * {
  position: relative;
  z-index: 1;
}

[data-theme="showa-light"] .wrestler-card:hover,
[data-theme="showa-light"] .wrestler-card:focus-visible {
  border-color: rgba(179, 18, 29, 0.56);
  box-shadow:
    0 1px 0 rgba(23, 19, 15, 0.08),
    0 10px 22px rgba(23, 19, 15, 0.10);
}

[data-theme="showa-light"] .wrestler-card.is-active {
  border-color: rgba(179, 18, 29, 0.78);
  box-shadow:
    0 0 0 1px rgba(179, 18, 29, 0.45),
    inset 0 0 0 1px rgba(179, 18, 29, 0.18),
    0 10px 22px rgba(23, 19, 15, 0.10);
}

[data-theme="showa-light"] .timeline-era-nav .timeline-column-heading,
[data-theme="modern-showa"] .timeline-era-nav .timeline-column-heading {
  background: rgba(23, 19, 15, 0.055);
}

[data-theme="showa-light"] .wrestler-card__name,
[data-theme="showa-light"] .match-card h3,
[data-theme="showa-light"] .timeline-column-heading h3,
[data-theme="showa-light"] .timeline-era-button__range,
[data-theme="showa-light"] .timeline-era-button__title,
[data-theme="showa-light"] .timeline-rail__title {
  color: var(--text-primary);
}

[data-theme="showa-light"] .wrestler-card__description,
[data-theme="showa-light"] .timeline-era-button__description {
  color: var(--text-secondary);
}

[data-theme="showa-light"] .wrestler-card__secondary,
[data-theme="showa-light"] .match-card__meta,
[data-theme="showa-light"] .wrestler-detail-rivalry__text > span:last-child,
[data-theme="showa-light"] .wrestler-detail-match span {
  color: var(--text-secondary);
}

[data-theme="showa-light"] .wrestler-card__portrait,
[data-theme="showa-light"] .rivalry-card__portrait {
  background:
    radial-gradient(circle at 50% 25%, rgba(23, 19, 15, 0.12), transparent 8rem),
    linear-gradient(180deg, rgba(255, 250, 235, 0.28), rgba(23, 19, 15, 0.38)),
    #e8d9b8;
}

[data-theme="showa-light"] .wrestler-card__initials,
[data-theme="showa-light"] .rivalry-card__initials {
  color: rgba(var(--text-primary-rgb), 0.2);
}

[data-theme="showa-light"] .wrestler-detail-panel {
  background:
    linear-gradient(180deg, var(--detail-paper-start) 0%, var(--detail-paper-end) 100%);
  box-shadow: var(--shadow-panel);
}

[data-theme="showa-light"] .wrestler-detail-panel__portrait {
  background:
    radial-gradient(circle at 50% 25%, rgba(23, 19, 15, 0.12), transparent 8rem),
    linear-gradient(180deg, rgba(255, 250, 235, 0.28), rgba(23, 19, 15, 0.38)),
    #e8d9b8;
}

[data-theme="showa-light"] .wrestler-detail-panel__portrait::after {
  border: 1px solid rgba(23, 19, 15, 0.16);
  box-shadow: inset 0 0 32px rgba(23, 19, 15, 0.28);
}

[data-theme="showa-light"] .wrestler-image::after {
  background:
    radial-gradient(circle, transparent 58%, rgba(23, 19, 15, 0.38) 100%),
    linear-gradient(180deg, transparent 55%, rgba(23, 19, 15, 0.42) 100%);
}

[data-theme="showa-light"] .wrestler-detail-panel__summary {
  background:
    linear-gradient(180deg, #17130f 0%, #0f0d0b 100%);
  color: var(--on-accent);
}

[data-theme="showa-light"] .wrestler-detail-panel__summary,
[data-theme="showa-light"] .wrestler-detail-panel__summary p,
[data-theme="showa-light"] .wrestler-detail-panel__summary span,
[data-theme="showa-light"] .wrestler-detail-panel__meta,
[data-theme="showa-light"] .wrestler-detail-fact {
  color: rgba(var(--on-accent-rgb), 0.86);
}

[data-theme="showa-light"] .wrestler-detail-panel__summary .wrestler-detail-panel__name {
  color: var(--accent-red);
}

[data-theme="showa-light"] .wrestler-detail-panel__facts {
  border-top-color: rgba(244, 241, 234, 0.2);
}

[data-theme="showa-light"] .wrestler-detail-fact span:first-child {
  color: rgba(var(--on-accent-rgb), 0.56);
}

[data-theme="showa-light"] .wrestler-detail-panel__section p,
[data-theme="showa-light"] .wrestler-detail-panel__section li {
  color: var(--text-primary);
}

[data-theme="showa-light"] .timeline-rail__dot {
  background: #000000;
}

[data-theme="showa-light"] .timeline-era-button:focus-visible,
[data-theme="showa-light"] .timeline-rail__button:focus-visible,
[data-theme="showa-light"] .lens-button:focus-visible,
[data-theme="showa-light"] .era-filter-button:focus-visible,
[data-theme="showa-light"] .wrestler-card:focus-visible,
[data-theme="showa-light"] .preferences-menu__button:focus-visible,
[data-theme="showa-light"] .preferences-menu__option:focus-visible,
[data-theme="showa-light"] .wrestler-detail-panel__button:focus-visible {
  box-shadow:
    inset 0 0 0 2px rgba(247, 243, 234, 0.78),
    0 0 0 2px rgba(179, 18, 29, 0.72);
  outline: none;
}

[data-theme="archival-dark"] .wrestlers-archive::before,
[data-theme="dark"] .wrestlers-archive::before,
[data-theme="archival-dark"] .lens-preview-strip::before,
[data-theme="dark"] .lens-preview-strip::before,
[data-theme="archival-dark"] .wrestler-detail-panel::before,
[data-theme="dark"] .wrestler-detail-panel::before {
  opacity: 0.32;
}

.wrestlers-shell {
  align-items: start;
  display: grid;
  gap: clamp(0.9rem, 1.5vw, 1.2rem);
  grid-template-columns: minmax(250px, 0.76fr) minmax(0, 2.15fr) minmax(330px, 0.95fr);
  margin-inline: auto;
  max-width: 1720px;
  position: relative;
  width: 100%;
  z-index: 1;
}

.wrestlers-archive.is-rivalry-detail-hidden .wrestler-detail-panel {
  display: none;
}

.wrestlers-rail,
.wrestler-detail-panel {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.075), transparent 42%),
    rgba(var(--bg-primary-rgb), 0.96);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  box-shadow:
    inset 0 1px 0 rgba(var(--text-primary-rgb), 0.06),
    0 22px 70px rgba(var(--shadow-rgb), 0.5);
}

.wrestlers-rail {
  align-self: start;
  display: grid;
  gap: 1.1rem;
  min-width: 0;
  padding: clamp(1rem, 1.6vw, 1.35rem);
  position: sticky;
  top: 0;
}

.wrestlers-rail__intro h2,
.wrestler-card__name,
.wrestler-group__title,
.rivalry-card__name,
.wrestler-detail-panel__name,
.wrestler-detail-panel__section h3,
.venue-detail__section-title,
.lens-preview-strip h1,
.lens-preview-strip h3 {
  font-family: var(--display);
}

.wrestlers-rail__intro h2 {
  color: var(--paper);
  font-size: clamp(1.9rem, 2.5vw, 2.55rem);
  line-height: 0.88;
  margin: 0;
  text-transform: uppercase;
}

.wrestlers-rail__intro p:last-child {
  color: rgba(var(--text-primary-rgb), 0.68);
  font-weight: 700;
  line-height: 1.65;
  margin: 0.9rem 0 0;
}

.lens-buttons {
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  display: grid;
}

.lens-button {
  align-items: center;
  background:
    linear-gradient(100deg, rgba(var(--text-primary-rgb), 0.06), transparent 46%),
    transparent;
  border: 0;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.07);
  color: var(--paper);
  cursor: pointer;
  display: grid;
  font-family: var(--body);
  gap: 0.8rem;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  padding: 1.2rem 1rem 1.25rem;
  position: relative;
  text-align: left;
  transition:
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.lens-button:first-child {
  border-top: 0;
}

.lens-button::before {
  background: var(--red);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 180ms ease;
  width: 4px;
}

.lens-button:hover:not([aria-pressed="true"]),
.lens-button:focus-visible:not([aria-pressed="true"]) {
  background:
    linear-gradient(100deg, rgba(var(--accent-red-rgb), 0.24), transparent 58%),
    rgba(var(--text-primary-rgb), 0.055);
  outline: none;
}

.lens-button:focus-visible,
.era-filter-button:focus-visible,
.wrestler-card:focus-visible,
.search-wrap:focus-within,
.lens-preview-search__clear:focus-visible,
.wrestler-detail-panel__button:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(var(--text-primary-rgb), 0.82);
}

.lens-button[aria-pressed="true"]::before {
  opacity: 0;
}

.lens-button[aria-pressed="true"] {
  margin-left: -1px;
  margin-right: -1px;
  outline: 0;
  box-shadow: inset 0 0 0 2px var(--accent-red);
  width: calc(100% + 2px);
  z-index: 1;
}

.lens-button:first-child[aria-pressed="true"] {
  margin-top: -1px;
}

.lens-button:last-child[aria-pressed="true"] {
  margin-bottom: -1px;
}

@property --rivalry-stroke-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@keyframes rivalryStrokeSweep {
  to {
    --rivalry-stroke-angle: 360deg;
  }
}

@keyframes rivalryLensBackgroundPulse {
  0%,
  100% {
    background-color: var(--rivalry-lens-pulse-rest, transparent);
  }

  50% {
    background-color: var(--rivalry-lens-pulse-peak, rgba(var(--accent-red-rgb), 0.14));
  }
}

@keyframes redPulseWash {
  0%,
  100% {
    opacity: var(--red-pulse-rest-opacity, 0.18);
  }

  50% {
    opacity: var(--red-pulse-peak-opacity, 0.5);
  }
}

.lens-button[data-lens-button="rivalries"] {
  --rivalry-lens-pulse-rest: rgba(var(--accent-red-rgb), 0.025);
  --rivalry-lens-pulse-peak: rgba(var(--accent-red-rgb), 0.15);
  overflow: hidden;
}

.lens-button[data-lens-button="rivalries"]::after {
  animation: rivalryStrokeSweep 7s linear infinite;
  background:
    conic-gradient(
      from var(--rivalry-stroke-angle),
      transparent 0deg,
      transparent 28deg,
      rgba(var(--accent-red-rgb), 0.14) 60deg,
      rgba(var(--accent-red-rgb), 0.92) 106deg,
      rgba(var(--accent-red-rgb), 0.16) 150deg,
      transparent 180deg,
      transparent 208deg,
      rgba(var(--accent-red-rgb), 0.16) 240deg,
      rgba(var(--accent-red-rgb), 1) 286deg,
      rgba(var(--accent-red-rgb), 0.18) 330deg,
      transparent 360deg
    );
  content: "";
  inset: 0;
  opacity: 0.95;
  padding: 2px;
  pointer-events: none;
  position: absolute;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.lens-button[data-lens-button="rivalries"] .lens-button__title::after {
  background-color: var(--accent-red-strong);
  content: "";
  display: inline-block;
  height: 18px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'M160-400q0-105%2050-187t110-138q60-56%20110-85.5l50-29.5v132q0%2037%2025%2058.5t56%2021.5q17%200%2032.5-7t28.5-23l18-22q72%2042%20116%20116.5T800-400q0%2088-43%20160.5T644-125q17-24%2026.5-52.5T680-238q0-40-15-75.5T622-377L480-516%20339-377q-29%2029-44%2064t-15%2075q0%2032%209.5%2060.5T316-125q-70-42-113-114.5T160-400Zm320-4%2085%2083q17%2017%2026%2038t9%2045q0%2049-35%2083.5T480-120q-50%200-85-34.5T360-238q0-23%209-44.5t26-38.5l85-83Z'%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'M160-400q0-105%2050-187t110-138q60-56%20110-85.5l50-29.5v132q0%2037%2025%2058.5t56%2021.5q17%200%2032.5-7t28.5-23l18-22q72%2042%20116%20116.5T800-400q0%2088-43%20160.5T644-125q17-24%2026.5-52.5T680-238q0-40-15-75.5T622-377L480-516%20339-377q-29%2029-44%2064t-15%2075q0%2032%209.5%2060.5T316-125q-70-42-113-114.5T160-400Zm320-4%2085%2083q17%2017%2026%2038t9%2045q0%2049-35%2083.5T480-120q-50%200-85-34.5T360-238q0-23%209-44.5t26-38.5l85-83Z'%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  margin-left: 0.25rem;
  vertical-align: -0.18em;
  width: 18px;
}

.lens-button[data-lens-button="rivalries"] .lens-button__title::before {
  content: none;
}

.lens-button[data-lens-button="rivalries"] .lens-button__icon--rivalries::after {
  content: none;
}

.lens-button__title,
.lens-button__support {
  display: block;
}

.lens-button__title {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 0.95;
  text-transform: uppercase;
}

.lens-button__support {
  color: rgba(var(--text-primary-rgb), 0.66);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.32;
  margin-top: 0.35rem;
}

.lens-button__icon {
  border: 1px solid rgba(var(--text-primary-rgb), 0.34);
  color: var(--text-primary);
  display: grid;
  flex: 0 0 auto;
  height: 2rem;
  place-items: center;
  width: 2rem;
}

.lens-button__icon svg {
  display: block;
  height: 24px;
  overflow: visible;
  width: 24px;
}

.lens-button__icon path,
.lens-button__icon circle,
.lens-button__icon rect,
.lens-button__icon line {
  vector-effect: non-scaling-stroke;
}

.lens-button:hover:not([aria-pressed="true"]) .lens-button__icon,
.lens-button:focus-visible:not([aria-pressed="true"]) .lens-button__icon,
.lens-option.is-active .lens-button__icon {
  border-color: rgba(255, 255, 255, 0.48);
  color: #ffffff;
}

.lens-button[aria-pressed="true"] .lens-button__icon {
  border-color: rgba(var(--text-primary-rgb), 0.34);
  color: var(--text-primary);
}

.era-filter-control {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.055), transparent 58%),
    rgba(var(--bg-panel-rgb), 0.78);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  box-shadow: inset 0 1px 0 rgba(var(--text-primary-rgb), 0.045);
  padding: 0.85rem;
}

.era-filter-control__buttons {
  display: grid;
  gap: 0.85rem;
}

.archive-filter-group {
  display: grid;
  gap: 0.45rem;
}

.archive-filter-group + .archive-filter-group {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.1);
  padding-top: 0.85rem;
}

.archive-filter-group__title {
  color: rgba(var(--text-primary-rgb), 0.62);
  font-size: 0.72rem;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
}

.archive-filter-group__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.era-filter-button {
  background: rgba(var(--text-primary-rgb), 0.055);
  border: 1px solid rgba(var(--text-primary-rgb), 0.2);
  color: rgba(var(--text-primary-rgb), 0.82);
  cursor: pointer;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  min-height: 2.15rem;
  padding: 0.48rem 0.58rem;
  text-transform: uppercase;
}

.era-filter-button--more {
  border-color: rgba(var(--accent-red-rgb), 0.42);
  color: var(--accent-red-strong);
}


.era-filter-button:hover,
.era-filter-button[aria-pressed="true"] {
  background: rgba(var(--accent-red-rgb), 0.68);
  border-color: rgba(var(--accent-red-rgb), 0.92);
  color: var(--paper);
}

.era-filter-button[aria-pressed="true"]:hover,
.era-filter-button[aria-pressed="true"]:focus-visible {
  background: var(--accent-red-dark);
  border-color: var(--accent-red-dark);
  color: var(--paper);
}

.archive-filter-dropdown {
  position: relative;
}

.archive-filter-dropdown__trigger {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.045);
  border: 1px solid rgba(var(--text-primary-rgb), 0.2);
  border-radius: 0;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.75rem;
  justify-content: space-between;
  min-height: 2.55rem;
  padding: 0 0.75rem;
  text-transform: uppercase;
  width: 100%;
}

.archive-filter-dropdown__trigger::after {
  background-color: currentColor;
  content: "";
  display: inline-block;
  height: 1.2rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'M480-345%20240-585l56-56%20184%20184%20184-184%2056%2056-240%20240Z'%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'M480-345%20240-585l56-56%20184%20184%20184-184%2056%2056-240%20240Z'%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  width: 1.2rem;
}

.archive-filter-dropdown.is-open .archive-filter-dropdown__trigger::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'm296-345-56-56%20240-240%20240%20240-56%2056-184-184-184%20184Z'%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%20-960%20960%20960'%20fill%3D'currentColor'%20aria-hidden%3D'true'%20focusable%3D'false'%3E%3Cpath%20d%3D'm296-345-56-56%20240-240%20240%20240-56%2056-184-184-184%20184Z'%2F%3E%3C%2Fsvg%3E");
}

.archive-filter-dropdown__count {
  color: var(--text-muted);
  font-size: 0.68rem;
  margin-left: auto;
}

.archive-filter-dropdown__panel {
  background: rgba(var(--bg-panel-rgb), 0.94);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  border-top: 0;
  display: none;
  max-height: min(42vh, 21rem);
  overflow-y: auto;
  padding: 0.45rem;
  scrollbar-color: var(--accent-red) transparent;
  scrollbar-width: thin;
}

.archive-filter-dropdown.is-open .archive-filter-dropdown__panel {
  display: grid;
  gap: 0.35rem;
}

.wrestlers-archive .archive-filter-group--promotion.archive-filter-dropdown.is-open .archive-filter-dropdown__panel {
  gap: 0;
  padding: 0;
}

.wrestlers-archive .archive-filter-group--promotion .archive-filter-option {
  border-color: rgba(var(--text-primary-rgb), 0.18);
  justify-content: center;
  text-align: center;
}

.wrestlers-archive .archive-filter-group--promotion .archive-filter-option span {
  display: block;
  width: 100%;
}

.wrestlers-archive .archive-filter-group--promotion .archive-filter-option + .archive-filter-option,
.wrestlers-archive .archive-filter-group--promotion .era-filter-button--more {
  border-top: 0;
}

.archive-filter-dropdown > .archive-filter-group__title,
.archive-filter-dropdown > .venue-filter-group__title {
  display: none;
}

.archive-filter-option,
.archive-filter-dropdown__panel .venue-filter-option {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.035);
  border: 1px solid transparent;
  color: rgba(var(--text-primary-rgb), 0.82);
  cursor: pointer;
  display: flex;
  gap: 0.55rem;
  justify-content: flex-start;
  min-height: 2.25rem;
  padding: 0.45rem 0.55rem;
}

.archive-filter-option:hover,
.archive-filter-option:has(input:checked),
.archive-filter-dropdown__panel .venue-filter-option:hover,
.archive-filter-dropdown__panel .venue-filter-option:has(input:checked) {
  background: rgba(var(--accent-red-rgb), 0.12);
  border-color: rgba(var(--accent-red-rgb), 0.36);
  color: var(--text-primary);
}

.archive-filter-option input,
.archive-filter-dropdown__panel .venue-filter-option input {
  flex: 0 0 auto;
}

.wrestlers-stage {
  --lens-preview-height: 108px;
  --lens-preview-control-height: 2.35rem;
  align-content: start;
  display: grid;
  gap: 1rem;
  min-width: 0;
}

@media (min-width: 1121px) {
  .wrestlers-archive {
    height: var(--archive-workspace-height);
    overflow: hidden;
    padding-block: 1rem;
  }

  .wrestlers-shell {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .wrestlers-rail,
  .wrestler-detail-panel {
    max-height: var(--archive-column-max-height);
    overflow-y: auto;
    position: sticky;
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
    top: 0;
  }

  .wrestlers-stage {
    align-self: stretch;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.35rem;
    scroll-padding-top: calc(var(--lens-preview-height) + 1rem);
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
  }

  .wrestlers-stage > .lens-preview-strip {
    position: sticky;
    top: 0;
    z-index: 30;
  }

  .wrestlers-stage .wrestler-card,
  .wrestlers-stage .rivalry-card,
  .wrestlers-stage .wrestler-group {
    scroll-margin-top: calc(var(--lens-preview-height) + 1rem);
  }

  .wrestlers-stage::-webkit-scrollbar,
  .wrestlers-rail::-webkit-scrollbar,
  .wrestler-detail-panel::-webkit-scrollbar {
    width: 0.45rem;
  }

  .wrestlers-stage::-webkit-scrollbar-thumb,
  .wrestlers-rail::-webkit-scrollbar-thumb,
  .wrestler-detail-panel::-webkit-scrollbar-thumb {
    background: var(--red);
  }

  .wrestlers-stage::-webkit-scrollbar-track,
  .wrestlers-rail::-webkit-scrollbar-track,
  .wrestler-detail-panel::-webkit-scrollbar-track {
    background: transparent;
  }
}

.wrestler-detail-panel {
  min-width: 0;
}

.lens-preview-strip {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.075), transparent 42%),
    rgba(var(--bg-primary-rgb), 0.96);
  color: var(--paper);
  overflow: visible;
  position: relative;
  z-index: 30;
}

.lens-preview-strip::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.04) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.12) 0 0.45px, transparent 0.75px);
  background-size:
    100% 7px,
    13px 13px;
  content: "";
  inset: 0;
  opacity: 0.38;
  pointer-events: none;
  position: absolute;
}

.lens-preview-strip__label {
  color: var(--red);
  font-size: 0.78rem;
  font-weight: 800;
  grid-column: 1 / -1;
  margin: 0 0 0.4rem;
  text-transform: uppercase;
}

.wrestlers-content {
  min-height: 620px;
  position: relative;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
  z-index: 1;
}

.wrestlers-content.is-changing {
  opacity: 0.35;
  transform: translateY(8px);
}

.wrestler-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wrestler-card {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.07), rgba(var(--text-primary-rgb), 0.018)),
    var(--bg-secondary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.1);
  box-shadow: 0 8px 30px rgba(var(--shadow-rgb), 0.4);
  color: var(--paper);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-family: var(--body);
  min-height: 390px;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: left;
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    transform var(--card-transition);
}

.wrestler-card:hover,
.wrestler-card:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.45);
  box-shadow:
    0 16px 38px rgba(var(--shadow-rgb), 0.46),
    0 0 0 1px rgba(var(--accent-red-rgb), 0.12);
  outline: none;
  transform: var(--card-hover-transform);
}

.wrestler-card.is-active {
  border-color: rgba(var(--accent-red-rgb), 0.75);
  box-shadow:
    0 0 0 1px rgba(var(--accent-red-rgb), 0.35),
    0 18px 44px rgba(var(--shadow-rgb), 0.5),
    0 0 34px rgba(var(--accent-red-rgb), 0.12);
  outline: none;
  transform: var(--card-active-transform);
}

.wrestler-card__portrait,
.rivalry-card__portrait {
  align-items: flex-end;
  background:
    radial-gradient(circle at 50% 20%, rgba(var(--text-primary-rgb), 0.32), transparent 6rem),
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.12), transparent 44%),
    linear-gradient(180deg, rgba(var(--sepia-rgb), 0.2), rgba(var(--shadow-rgb), 0.88)),
    var(--bg-panel);
  display: flex;
  min-height: 160px;
  overflow: hidden;
  padding: 1rem;
  position: relative;
  transition: transform 180ms ease;
}

.wrestler-card__portrait {
  aspect-ratio: 16 / 9;
  min-height: 0;
  padding: 0;
}

.wrestler-card__portrait .wrestler-card__initials {
  margin: 0 0.75rem 0.65rem auto;
}

.wrestler-image {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.wrestler-card__image,
.rivalry-card__image,
.wrestler-detail-panel__image {
  inset: 0;
  position: absolute;
}

.wrestler-image {
  --wrestler-archive-filter: none;
}

.wrestler-image[data-archive-era="1950"] {
  --wrestler-archive-filter: saturate(70%) contrast(103%) brightness(99%) sepia(10%);
}

.wrestler-image[data-archive-era="1960"] {
  --wrestler-archive-filter: saturate(78%) contrast(102%) brightness(99%) sepia(5%);
}

.wrestler-image[data-archive-era="1970"] {
  --wrestler-archive-filter: saturate(96%) contrast(105%) brightness(100%) sepia(2%);
}

.wrestler-image img {
  display: block;
  filter: grayscale(40%) contrast(125%) brightness(90%) sepia(8%);
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center 30%;
  opacity: 0.88;
  position: absolute;
  transition: filter 180ms ease, opacity 180ms ease;
  width: 100%;
}

.wrestler-card .wrestler-image img {
  filter: grayscale(100%) contrast(125%) brightness(86%) sepia(0);
}

.wrestler-image::before {
  background-image:
    linear-gradient(rgba(var(--highlight-rgb), 0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--highlight-rgb), 0.3) 0 0.5px, transparent 1px);
  background-size:
    100% 5px,
    12px 12px;
  content: "";
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.15;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.wrestler-image::after {
  background:
    radial-gradient(circle, transparent 55%, rgba(var(--shadow-rgb), 0.75) 100%),
    linear-gradient(180deg, transparent 48%, rgba(var(--shadow-rgb), 0.62) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.wrestler-card:hover .wrestler-image img,
.wrestler-card:focus-visible .wrestler-image img,
.wrestler-card.is-active .wrestler-image img,
.rivalry-card:hover .wrestler-image img,
.rivalry-card:focus-visible .wrestler-image img {
  filter: grayscale(15%) contrast(115%) brightness(100%) sepia(5%);
  opacity: 0.96;
}

.wrestler-card.is-active .wrestler-image img {
  filter: var(--wrestler-archive-filter, grayscale(40%) contrast(125%) brightness(90%) sepia(8%));
  opacity: 0.88;
}

.wrestler-detail-panel__image img {
  filter: var(--wrestler-archive-filter, none);
  opacity: 1;
  object-position: center top;
  transition:
    filter 260ms ease,
    opacity 180ms ease;
}

.wrestler-detail-panel__image--mutoh-morph {
  overflow: visible;
}

.wrestler-detail-panel__image--mutoh-morph img {
  opacity: 1;
  transition: opacity 520ms ease;
}

.wrestler-detail-panel__image--mutoh-morph .wrestler-detail-panel__morph-image--muta {
  opacity: 0;
}

.wrestler-detail-panel__image--mutoh-morph.is-muta-active img:not(.wrestler-detail-panel__morph-image--muta) {
  opacity: 0;
}

.wrestler-detail-panel__image--mutoh-morph.is-muta-active .wrestler-detail-panel__morph-image--muta {
  opacity: 1;
}

.wrestler-detail-panel__image--mutoh-morph::before {
  z-index: 4;
}

.wrestler-detail-panel__image--mutoh-morph::after {
  display: none;
}

.wrestler-detail-panel__morph-progress {
  animation: mutohMutaMorphProgress 8s linear infinite;
  background:
    linear-gradient(90deg, rgba(var(--highlight-rgb), 0.16), var(--accent-red), rgba(var(--highlight-rgb), 0.16));
  box-shadow: 0 0 12px rgba(var(--accent-red-rgb), 0.5);
  display: block;
  height: 4px;
  left: 0;
  opacity: 0.96;
  pointer-events: none;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
  width: 100%;
  z-index: 6;
}

.wrestler-detail-panel__morph-progress--top {
  top: 0;
}

.wrestler-detail-panel__morph-progress--bottom {
  bottom: 0;
}

[data-theme="archival-dark"] .wrestler-detail-panel__morph-progress,
[data-theme="dark"] .wrestler-detail-panel__morph-progress {
  background:
    linear-gradient(90deg, rgba(var(--highlight-rgb), 0.22), var(--accent-red), rgba(var(--highlight-rgb), 0.22));
}

@keyframes mutohMutaMorphPrimary {
  0%,
  49.9% {
    opacity: 1;
  }

  50%,
  99.9% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes mutohMutaMorphSecondary {
  0%,
  49.9% {
    opacity: 0;
  }

  50%,
  99.9% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes mutohMutaMorphProgress {
  0% {
    transform: scaleX(0);
  }

  100% {
    transform: scaleX(1);
  }
}

.wrestler-card__era {
  background: rgba(var(--accent-red-rgb), 0.78);
  color: var(--paper);
  font-size: 0.8rem;
  font-weight: 800;
  left: 0.8rem;
  padding: 0.42rem 0.58rem;
  position: absolute;
  top: 0.8rem;
  text-transform: uppercase;
  z-index: 3;
}

.wrestler-card__initials,
.rivalry-card__initials,
[data-detail-initials] {
  color: rgba(var(--text-primary-rgb), 0.2);
  font-family: var(--display);
  font-size: clamp(4rem, 9vw, 7rem);
  font-weight: 800;
  line-height: 0.8;
  margin-left: auto;
  position: relative;
  text-transform: uppercase;
  z-index: 2;
}

.wrestler-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1rem;
}

.wrestler-card__name {
  color: var(--paper);
  font-size: clamp(1.55rem, 2vw, 2.1rem);
  font-weight: 800;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.wrestler-card__secondary {
  color: rgba(var(--text-primary-rgb), 0.64);
  font-size: 0.78rem;
  font-weight: 800;
  margin: 0.28rem 0 0;
}

.wrestler-card__promotion {
  margin: 0.55rem 0 0;
}

.org-label {
  color: var(--org-default);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.7;
  text-transform: uppercase;
}

.wrestler-card:hover .org-label {
  opacity: 0.9;
}

.org-njpw {
  color: var(--org-njpw);
}

.org-ajpw {
  color: var(--org-ajpw);
}

.org-noah {
  color: var(--org-noah);
}

.org-fmw {
  color: var(--org-fmw);
}

.org-ajw {
  color: var(--org-ajw);
}

.org-dragon-gate {
  color: var(--org-dragon-gate);
}

.org-michinoku-pro {
  color: var(--org-michinoku-pro);
}

.org-jwa {
  color: var(--org-jwa);
}

.org-jwp {
  color: var(--org-jwp);
}

.org-stardom {
  color: var(--org-stardom);
}

.org-ice-ribbon {
  color: var(--org-ice-ribbon);
}

.org-marigold {
  color: var(--org-marigold);
}

.org-gaea {
  color: var(--org-gaea);
}

.org-sendai-girls {
  color: var(--org-sendai-girls);
}

.org-ddt {
  color: var(--org-ddt);
}

.org-wwe,
.org-wwf-wwe {
  color: var(--org-wwe);
}

.org-nxt {
  color: var(--org-nxt);
}

.org-ecw {
  color: var(--org-ecw);
}

.org-wcw {
  color: var(--org-wcw);
}

.org-aew {
  color: var(--org-aew);
}

.org-nwa {
  color: var(--org-nwa);
}

.org-awa {
  color: var(--org-awa);
}

.org-uwf-shoot-style-influence {
  color: var(--org-uwf-shoot-style-influence);
}

.org-pancrase {
  color: var(--org-pancrase);
}

.org-toryumon {
  color: var(--org-toryumon);
}

.org-la-dojo {
  color: var(--org-la-dojo);
}

.org-bjw {
  color: var(--org-bjw);
}

.org-njpw-adjacent {
  color: var(--org-njpw-adjacent);
}

.org-freelance {
  color: var(--org-freelance);
}

.org-independent {
  color: var(--org-default);
}

.wrestler-card__description {
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 0.65rem 0 1rem;
}

.wrestler-card__link {
  align-items: center;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.11);
  color: var(--red);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.86rem;
  font-weight: 800;
  gap: 0.42rem;
  margin: auto -1rem -1rem;
  padding: 0.85rem 1rem;
  text-transform: uppercase;
}

.google-material-icon {
  display: inline-block;
  fill: currentColor;
  flex-shrink: 0;
  height: 1.25em;
  width: 1.25em;
}

.google-material-icon--arrow-forward {
  transform: translateY(0.03em);
}

.wrestler-data-message {
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  color: rgba(var(--text-primary-rgb), 0.72);
  font-weight: 800;
  margin: 0;
  padding: 1rem;
}

.wrestler-empty-state {
  --empty-state-min-height: clamp(18rem, 34vh, 26rem);
}

.wrestler-empty-state__title {
  font-size: var(--empty-state-title-size);
}

.wrestler-empty-state__copy {
  font-size: var(--empty-state-copy-size);
}

.wrestler-empty-state__clear {
  background: transparent;
  border: 1px solid rgba(var(--accent-red-rgb), 0.52);
  color: var(--red);
  cursor: pointer;
  font-family: var(--body);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-top: var(--empty-state-action-margin);
  padding: 0.62rem 0.8rem;
  text-transform: uppercase;
}

.wrestler-group {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.4rem;
}

.wrestler-group:last-child {
  margin-bottom: 0;
}

.wrestler-group__heading {
  align-items: end;
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.12);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-bottom: 0.65rem;
}

.wrestler-group__label {
  color: var(--red);
  font-size: 0.76rem;
  font-weight: 800;
  margin: 0 0 0.25rem;
  text-transform: uppercase;
}

.wrestler-group__title {
  color: var(--paper);
  font-size: clamp(1.45rem, 2.5vw, 2.5rem);
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.wrestler-group__count {
  color: rgba(var(--text-primary-rgb), 0.5);
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.wrestler-group__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rivalry-grid {
  display: grid;
  gap: 1rem;
}

.rivalry-pair {
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.07), rgba(var(--text-primary-rgb), 0.02)),
    var(--bg-secondary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  box-shadow: 0 8px 30px rgba(var(--shadow-rgb), 0.36);
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.rivalry-pair__header {
  align-items: flex-start;
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.12);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-bottom: 0.82rem;
}

.rivalry-pair__title-group {
  min-width: 0;
}

.rivalry-pair__eyebrow,
.rivalry-pair__label {
  color: var(--yellow);
  font-family: var(--body);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.rivalry-pair__eyebrow {
  color: var(--red);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  margin-bottom: 0.36rem;
}

.rivalry-pair__label {
  color: var(--paper);
  font-size: clamp(1.12rem, 1.8vw, 1.45rem);
  letter-spacing: 0;
}

.rivalry-pair__dynamic {
  border: 1px solid rgba(var(--accent-red-rgb), 0.48);
  color: var(--red);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.1;
  max-width: 13rem;
  padding: 0.38rem 0.5rem;
  text-transform: uppercase;
}

.rivalry-pair__takeaway {
  color: rgba(var(--text-primary-rgb), 0.74);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.45;
  margin: -0.15rem 0 0;
  max-width: 64rem;
}

.rivalry-pair__nodes {
  align-items: stretch;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) 3.5rem minmax(0, 1fr);
}

.rivalry-pair--fmw-emotional {
  background:
    linear-gradient(135deg, rgba(177, 43, 22, 0.2), rgba(74, 11, 16, 0.08) 42%, rgba(255, 118, 39, 0.08)),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 7px),
    var(--bg-secondary);
  border-color: rgba(224, 67, 32, 0.34);
}

.rivalry-pair--fmw-emotional .rivalry-pair__eyebrow,
.rivalry-pair--fmw-emotional .rivalry-insight__label {
  color: var(--org-fmw);
}

.rivalry-pair--fmw-emotional .rivalry-pair__dynamic {
  border-color: rgba(224, 67, 32, 0.58);
  color: var(--org-fmw);
}

.rivalry-pair--fmw-emotional .rivalry-key-match {
  border-left-color: rgba(224, 67, 32, 0.86);
}

.rivalry-connector {
  align-self: center;
  background: rgba(var(--text-primary-rgb), 0.44);
  height: 2px;
  position: relative;
}

.rivalry-connector__dot {
  background: var(--red);
  border-radius: 999px;
  box-shadow:
    0 0 0 4px rgba(var(--bg-primary-rgb), 0.96),
    0 0 0 7px rgba(var(--accent-red-rgb), 0.28);
  height: 0.82rem;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0.82rem;
  z-index: 2;
}

.rivalry-connector__dot::before,
.rivalry-connector__dot::after {
  border: 2px solid rgba(var(--accent-red-rgb), 0.54);
  border-radius: 999px;
  content: "";
  inset: -2px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: scale(0.85);
}

.rivalry-connector__dot::before {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.rivalry-connector__dot::after {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) 1.3s infinite;
}

.rivalry-connector__dot--start {
  left: 0;
}

.rivalry-connector__dot--end {
  left: 100%;
}

.rivalry-card {
  --rivalry-photo-height: 132px;
  --rivalry-photo-width: 6rem;
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.07), rgba(var(--text-primary-rgb), 0.018)),
    rgba(var(--bg-panel-rgb), 0.92);
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  color: var(--paper);
  cursor: pointer;
  display: grid;
  font-family: var(--body);
  grid-template-columns: var(--rivalry-photo-width) minmax(0, 1fr);
  height: var(--rivalry-photo-height);
  max-height: var(--rivalry-photo-height);
  min-height: var(--rivalry-photo-height);
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: left;
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    transform var(--card-transition);
}

.rivalry-card:hover,
.rivalry-card:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.8);
  outline: none;
  transform: var(--card-hover-transform);
}

.rivalry-card.is-active {
  border-color: var(--accent-red);
  box-shadow: inset 0 0 0 1px var(--accent-red);
  transform: var(--card-active-transform);
}

.rivalry-card__portrait {
  align-self: start;
  box-sizing: border-box;
  height: var(--rivalry-photo-height);
  max-height: var(--rivalry-photo-height);
  min-height: var(--rivalry-photo-height);
  padding: 0.45rem;
  width: var(--rivalry-photo-width);
}

.rivalry-card__initials {
  font-size: 2rem;
  margin: auto;
}

.rivalry-card__body {
  align-content: center;
  display: grid;
  height: var(--rivalry-photo-height);
  min-height: var(--rivalry-photo-height);
  min-width: 0;
  overflow: hidden;
  padding: 0.85rem;
}

.rivalry-card__name {
  color: var(--paper);
  display: -webkit-box;
  font-size: 1.25rem;
  font-weight: 800;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 0.92;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: normal;
}

.rivalry-card__meta {
  align-items: center;
  color: var(--org-default);
  display: flex;
  font-size: 0.68rem;
  font-weight: 800;
  gap: 0.32rem;
  line-height: 1;
  margin: 0.36rem 0 0;
  min-width: 0;
  opacity: 0.82;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.rivalry-card__meta-separator,
.rivalry-card__decade {
  color: var(--org-default);
}

.rivalry-card__description {
  color: rgba(var(--text-primary-rgb), 0.6);
  display: -webkit-box;
  font-size: 0.82rem;
  font-weight: 700;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.35;
  margin: 0.42rem 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rivalry-insight {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.12);
  display: grid;
  gap: 0.95rem;
  grid-template-columns: minmax(0, 1.35fr) minmax(14rem, 0.65fr);
  padding-top: 0.95rem;
}

.rivalry-insight__label {
  color: var(--red);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 0.62rem;
  text-transform: uppercase;
}

.rivalry-key-matches__list {
  display: grid;
  gap: 0.55rem;
}

.rivalry-key-match {
  border-left: 3px solid rgba(var(--accent-red-rgb), 0.75);
  display: grid;
  gap: 0.22rem;
  padding-left: 0.72rem;
}

.rivalry-key-match__title {
  color: var(--paper);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.18;
}

.rivalry-key-match__meta,
.rivalry-key-match__note {
  color: rgba(var(--text-primary-rgb), 0.66);
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.rivalry-key-match__meta {
  color: rgba(var(--text-primary-rgb), 0.52);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.rivalry-scorecard__grid {
  display: grid;
  gap: 0.48rem;
}

.rivalry-scorecard__item {
  align-items: center;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: minmax(5.2rem, 0.65fr) minmax(4.4rem, 1fr) minmax(5.8rem, 0.8fr);
}

.rivalry-scorecard__label,
.rivalry-scorecard__value {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.rivalry-scorecard__value {
  color: var(--paper);
  text-align: right;
}

.rivalry-scorecard__meter {
  display: grid;
  gap: 0.18rem;
  grid-template-columns: repeat(5, 1fr);
}

.rivalry-scorecard__meter span {
  background: rgba(var(--text-primary-rgb), 0.14);
  display: block;
  height: 0.28rem;
}

.rivalry-scorecard__meter span.rivalry-scorecard__segment--heat-1 {
  background: var(--rivalry-heat-1);
}

.rivalry-scorecard__meter span.rivalry-scorecard__segment--heat-2 {
  background: var(--rivalry-heat-2);
}

.rivalry-scorecard__meter span.rivalry-scorecard__segment--heat-3 {
  background: var(--rivalry-heat-3);
}

.rivalry-scorecard__meter span.rivalry-scorecard__segment--heat-4 {
  background: var(--rivalry-heat-4);
}

.rivalry-scorecard__meter span.rivalry-scorecard__segment--heat-5 {
  background: var(--rivalry-heat-5);
}

.lens-preview-strip {
  align-items: start;
  border: 1px solid rgba(var(--text-primary-rgb), 0.12);
  box-sizing: border-box;
  box-shadow:
    inset 0 1px 0 rgba(var(--text-primary-rgb), 0.045),
    0 22px 70px rgba(var(--shadow-rgb), 0.42);
  display: grid;
  gap: 0.5rem clamp(0.9rem, 1.4vw, 1.25rem);
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.45fr);
  grid-template-rows: minmax(0, 1fr);
  height: var(--lens-preview-height);
  min-height: var(--lens-preview-height);
  padding: clamp(0.6rem, 1vw, 0.85rem) clamp(1rem, 1.65vw, 1.45rem);
}

.lens-preview-strip > * {
  position: relative;
  z-index: 1;
}

.lens-preview-strip__intro {
  align-items: start;
  align-self: center;
  display: grid;
  gap: 0.35rem;
  grid-column: 1;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.lens-preview-strip h1,
.lens-preview-strip h3 {
  color: var(--paper);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 0.86;
  margin: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.lens-preview-strip p:last-child {
  align-self: end;
  color: rgba(var(--text-primary-rgb), 0.68);
  font-size: clamp(0.88rem, 1vw, 1.05rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 0.05rem;
  max-width: 34rem;
}

[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
  align-items: center;
}

[data-wrestlers-page] .lens-preview-strip__intro {
  gap: 0;
}

.lens-preview-strip__items {
  align-content: center;
  display: none;
  flex-wrap: nowrap;
  gap: 0.38rem;
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.lens-preview-strip__items::-webkit-scrollbar {
  display: none;
}

.lens-preview-mini {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.08), transparent 58%),
    rgba(var(--text-primary-rgb), 0.035);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  display: inline-flex;
  gap: 0.32rem;
  flex: 0 0 auto;
  min-height: 0;
  padding: 0.5rem 0.58rem;
}

.lens-preview-mini__title {
  color: var(--paper);
  display: block;
  font-family: var(--display);
  font-size: clamp(0.82rem, 0.9vw, 0.94rem);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.lens-preview-mini__meta {
  color: rgba(var(--text-primary-rgb), 0.58);
  display: block;
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1;
  margin-top: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.lens-preview-mini__meta::before {
  content: "/";
  margin-right: 0.32rem;
  opacity: 0.48;
}

.wrestler-tools {
  align-items: center;
  align-self: center;
  display: flex;
  gap: 0.875rem;
  grid-column: 2;
  grid-row: 1;
  height: var(--lens-preview-control-height);
  justify-self: end;
  min-width: 0;
}

.search-wrap {
  align-items: center;
  background: rgba(var(--bg-panel-rgb), 0.72);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  box-sizing: border-box;
  display: flex;
  gap: 0.5rem;
  height: var(--lens-preview-control-height);
  min-height: var(--lens-preview-control-height);
  min-width: 0;
  padding: 0.38rem 0.62rem;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
  width: clamp(220px, 22vw, 280px);
}

.search-wrap:focus-within {
  border-color: rgba(var(--accent-red-rgb), 0.62);
  box-shadow: 0 0 0 3px rgba(var(--accent-red-rgb), 0.08);
}

.search-icon {
  color: rgba(var(--text-primary-rgb), 0.48);
  flex: 0 0 auto;
  font-size: 1.125rem;
  line-height: 1;
}

.lens-preview-search__input {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--text-primary);
  font-family: var(--body);
  font-size: 0.92rem;
  font-weight: 800;
  min-width: 0;
  outline: 0;
  width: 100%;
}

.lens-preview-search__input::-webkit-search-cancel-button {
  display: none;
}

.lens-preview-search__input::placeholder {
  color: rgba(var(--text-primary-rgb), 0.48);
  opacity: 1;
}

.lens-preview-search__clear {
  align-items: center;
  background: transparent;
  border: 0;
  color: rgba(var(--text-primary-rgb), 0.5);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: 1.35rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition:
    color 160ms ease,
    opacity 160ms ease;
  width: 1.35rem;
}

.lens-preview-search__clear:hover,
.lens-preview-search__clear:focus-visible {
  color: var(--red);
  outline: none;
}

.lens-preview-search__clear .material-symbols-outlined {
  font-size: 1.05rem;
  line-height: 1;
}

.lens-preview-search__clear[hidden] {
  display: none;
}

.keyboard-info {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.04);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  flex: 0 0 auto;
  height: var(--lens-preview-control-height);
  justify-content: center;
  min-height: var(--lens-preview-control-height);
  position: relative;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
  width: 2.35rem;
}

.keyboard-info:focus {
  outline: none;
}

.keyboard-info:hover,
.keyboard-info:focus,
.keyboard-info:focus-within {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  box-shadow: 0 0 0 3px rgba(var(--accent-red-rgb), 0.08);
}

.keyboard-icon {
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: 1.22rem;
  line-height: 1;
  transition:
    color 160ms ease,
    opacity 160ms ease;
}

.keyboard-info:hover .keyboard-icon,
.keyboard-info:focus .keyboard-icon,
.keyboard-info:focus-within .keyboard-icon {
  color: var(--text-primary);
}

.keyboard-tooltip {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.06), rgba(var(--text-primary-rgb), 0.02)),
    rgba(var(--bg-primary-rgb), 0.96);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  box-shadow: 0 18px 34px rgba(var(--shadow-rgb), 0.38);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 180px;
  opacity: 0;
  padding: 0.65rem 0.75rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 130%;
  transform: translateY(-0.25rem);
  transition:
    opacity 160ms ease,
    transform 160ms ease,
    visibility 160ms ease;
  visibility: hidden;
  z-index: 70;
}

.keyboard-info:hover .keyboard-tooltip,
.keyboard-info:focus .keyboard-tooltip,
.keyboard-info:focus-within .keyboard-tooltip {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.key-grid {
  display: grid;
  gap: 0.375rem;
  grid-template-columns: repeat(3, 28px);
  justify-content: center;
}

.key-grid > span {
  height: 28px;
  width: 28px;
}

.key-grid kbd {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.05);
  border: 1px solid rgba(var(--text-primary-rgb), 0.2);
  border-radius: 6px;
  color: var(--text-primary);
  display: flex;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.key-grid kbd .material-symbols-outlined {
  font-size: 1rem;
  line-height: 1;
}

.lens-preview-strip .keyboard-tooltip__text {
  color: rgba(var(--text-primary-rgb), 0.68);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  max-width: none;
  text-align: center;
}

.wrestler-detail-panel {
  align-self: start;
  background:
    linear-gradient(180deg, var(--detail-paper-start) 0%, var(--detail-paper-end) 100%);
  border-color: rgba(var(--text-primary-rgb), 0.3);
  box-shadow:
    inset 0 1px 0 rgba(var(--highlight-rgb), 0.35),
    0 24px 74px rgba(var(--shadow-rgb), 0.58);
  color: var(--text-primary);
  overflow: hidden;
  padding-bottom: 1.2rem;
  position: sticky;
  top: 0;
}

.wrestler-detail-panel::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.04) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.2) 0 0.45px, transparent 0.75px);
  background-size:
    100% 7px,
    13px 13px;
  content: "";
  inset: 0;
  opacity: 0.24;
  pointer-events: none;
  position: absolute;
}

.wrestler-detail-panel > * {
  position: relative;
  z-index: 1;
}

.wrestler-detail-panel.is-changing {
  opacity: 0.58;
}

.wrestler-detail-panel__portrait {
  align-items: flex-end;
  background:
    radial-gradient(circle at 58% 26%, rgba(var(--text-primary-rgb), 0.3), transparent 8rem),
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.12), transparent 42%),
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.08), rgba(var(--shadow-rgb), 0.74)),
    var(--bg-panel);
  display: flex;
  min-height: clamp(240px, 22vw, 340px);
  overflow: hidden;
  padding: 1rem;
  position: relative;
}

.wrestler-detail-panel__portrait::after {
  border: 1px solid rgba(var(--text-primary-rgb), 0.22);
  box-shadow: inset 0 0 70px rgba(var(--shadow-rgb), 0.72);
  content: "";
  display: none;
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
  z-index: 3;
}

[data-detail-initials] {
  color: rgba(var(--text-primary-rgb), 0.18);
  font-size: clamp(4.4rem, 8vw, 7rem);
}

.wrestler-detail-panel__summary {
  background:
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.92), rgba(var(--shadow-rgb), 0.78)),
    var(--black);
  color: var(--paper);
  padding: 1.15rem;
}

.wrestler-detail-panel__name {
  color: var(--red);
  font-size: clamp(1.7rem, 2.4vw, 2.45rem);
  font-weight: 800;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.wrestler-detail-panel__secondary {
  color: var(--paper);
  font-size: 1rem;
  font-weight: 800;
  margin: 0.45rem 0 0;
}

.wrestler-detail-panel__title-label {
  color: var(--accent-red);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  margin: 0.55rem 0 0;
  text-transform: uppercase;
}

.wrestler-detail-panel__meta {
  align-items: center;
  color: rgba(var(--text-primary-rgb), 0.84);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.35rem;
  line-height: 1.5;
  margin: 0.85rem 0 0;
  text-transform: uppercase;
}

.wrestler-detail-panel__promotion {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0.08em;
  opacity: 0.92;
}

.wrestler-detail-panel__meta-separator {
  color: rgba(var(--text-primary-rgb), 0.48);
}

.wrestler-detail-panel__facts {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.12);
  display: grid;
  gap: 0.46rem;
  margin-top: 1rem;
  padding-top: 0.85rem;
}

.wrestler-detail-fact {
  color: rgba(var(--text-primary-rgb), 0.78);
  display: grid;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.2rem;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  line-height: 1.35;
  text-transform: uppercase;
}

.wrestler-detail-fact span:first-child {
  color: rgba(var(--text-primary-rgb), 0.48);
}

.wrestler-detail-panel__section {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.14);
  padding: 1.05rem 1.15rem;
}

.wrestler-detail-panel__section h3 {
  color: var(--text-primary);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.05;
  margin: 0 0 0.85rem;
  position: relative;
  text-transform: uppercase;
}

.wrestler-detail-panel__section h3::after {
  background: var(--accent-red);
  content: "";
  display: block;
  height: 2px;
  margin-top: 0.45rem;
  width: 32px;
}

.wrestler-detail-panel__section p,
.wrestler-detail-panel__section li {
  color: rgba(var(--text-primary-rgb), 0.84);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.55;
}

.wrestler-detail-panel__section p {
  margin: 0;
}

.wrestler-detail-panel__section ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wrestler-detail-panel__section li {
  line-height: 1.5;
  margin-top: 0.65rem;
  padding-left: 1rem;
  position: relative;
}

.wrestler-detail-panel__section li::before {
  color: var(--accent-red);
  content: "*";
  font-weight: 800;
  left: 0;
  position: absolute;
}

.wrestler-detail-panel__rivalries {
  display: grid;
  gap: 0;
}

.wrestler-detail-rivalry {
  align-items: center;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.12);
  display: grid;
  gap: 0.78rem;
  grid-template-columns: 38px minmax(0, 1fr);
  margin-inline: -0.35rem;
  padding: 0.75rem 0.35rem;
  transition: background 160ms ease;
}

.wrestler-detail-rivalry:hover,
.wrestler-detail-rivalry:focus-within {
  background: rgba(var(--text-primary-rgb), 0.035);
}

.wrestler-detail-rivalry:first-child {
  border-top: 0;
}

.wrestler-detail-rivalry:last-child {
  padding-bottom: 0.75rem;
}

.wrestler-detail-rivalry__avatar {
  align-items: center;
  background: var(--text-primary);
  border-radius: 999px;
  color: var(--bg-primary);
  display: flex;
  font-family: var(--display);
  font-size: 0.74rem;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  outline: 1px solid rgba(var(--text-primary-rgb), 0.16);
  width: 38px;
}

.rivalry-avatar {
  border-radius: 50%;
  flex-shrink: 0;
  height: 38px;
  overflow: hidden;
  width: 38px;
}

.rivalry-avatar img {
  display: block;
  filter: none;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.wrestler-detail-rivalry strong {
  color: var(--text-primary);
  display: block;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.1;
}

.wrestler-detail-rivalry__text {
  display: grid;
  gap: 0.2rem;
}

.wrestler-detail-rivalry__dynamic {
  color: var(--accent-red);
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.wrestler-detail-rivalry__context,
.wrestler-detail-rivalry__text > span:last-child {
  color: rgba(var(--text-primary-rgb), 0.68);
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}

.wrestler-detail-rivalry .rivalry-insight {
  gap: 0.7rem;
  grid-template-columns: 1fr;
  margin-top: 0.45rem;
  padding-top: 0.58rem;
}

.wrestler-detail-rivalry .rivalry-scorecard__item {
  grid-template-columns: minmax(4.8rem, 0.62fr) minmax(4.2rem, 1fr) minmax(5.8rem, 0.78fr);
}

.wrestler-detail-panel__matches {
  display: grid;
  gap: 0;
}

.wrestler-detail-match {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.12);
  padding: 0.8rem 0;
}

.wrestler-detail-match:first-child {
  border-top: 0;
}

.wrestler-detail-match strong {
  color: var(--text-primary);
  display: block;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.2;
}

.wrestler-detail-match span {
  display: block;
  font-weight: 700;
}

.wrestler-detail-match__meta,
.wrestler-detail-match span:first-of-type {
  color: rgba(var(--text-primary-rgb), 0.62);
  font-size: 0.8rem;
  margin-top: 0.18rem;
}

.wrestler-detail-match__note,
.wrestler-detail-match span:last-child:not(.wrestler-detail-match__meta) {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: 0.84rem;
  line-height: 1.4;
  margin-top: 0.28rem;
}

.wrestler-detail-match.is-featured {
  background: rgba(var(--accent-red-rgb), 0.035);
  border-left: 3px solid var(--accent-red);
  padding-left: 0.75rem;
}

.wrestler-detail-panel__actions {
  display: grid;
  gap: 0.7rem;
  padding: 1.15rem 1.15rem 0;
}

.wrestler-detail-panel__button {
  align-items: center;
  display: flex;
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 800;
  justify-content: space-between;
  min-height: 48px;
  padding: 0.85rem 1rem;
  text-transform: uppercase;
}

.wrestler-detail-panel__button--primary {
  background: var(--red);
  color: var(--paper);
}

.wrestler-detail-panel__button--secondary {
  border: 1px solid rgba(var(--text-primary-rgb), 0.36);
  color: var(--text-primary);
}

@media (min-width: 1121px) {
  .wrestler-detail-panel {
    overflow-y: auto;
  }
}

.timeline-era__year,
.timeline-event__date,
.timeline-era-button__range,
.timeline-rail__date,
.timeline-detail__date,
.era-filter-button,
.wrestler-card__era,
.wrestler-group__title,
.rivalry-pair__label,
.rivalry-card__meta {
  text-transform: none;
}

@media (max-width: 1380px) {
  .wrestlers-shell {
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.8fr) minmax(300px, 0.92fr);
  }

  .wrestler-grid,
  .wrestler-group__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) {
  .wrestlers-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .wrestlers-rail,
  .wrestler-detail-panel {
    position: static;
  }

  .wrestlers-rail {
    gap: 1rem;
  }

  .lens-buttons {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .lens-buttons::-webkit-scrollbar {
    display: none;
  }

  .lens-button {
    border-left: 1px solid rgba(var(--text-primary-rgb), 0.1);
    border-top: 0;
    flex: 0 0 min(260px, 82vw);
    scroll-snap-align: start;
  }

  .lens-button:first-child {
    border-left: 0;
  }

  .wrestlers-content {
    min-height: 0;
  }

  .wrestler-detail-panel {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
  }

  .wrestler-detail-panel__portrait {
    min-height: 100%;
  }

  .wrestler-detail-panel__summary,
  .wrestler-detail-panel__section,
  .wrestler-detail-panel__actions {
    grid-column: 2;
  }
}

@media (max-width: 780px) {
  .wrestlers-archive {
    padding-inline: 0.85rem;
  }

  .wrestler-grid,
  .wrestler-group__grid,
  .rivalry-pair__nodes,
  .lens-preview-strip,
  .wrestler-detail-panel {
    grid-template-columns: 1fr;
  }

  .rivalry-connector {
    height: 2.25rem;
    justify-self: center;
    width: 2px;
  }

  .rivalry-connector__dot {
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .rivalry-connector__dot--start {
    top: 0;
  }

  .rivalry-connector__dot--end {
    top: 100%;
  }

  .rivalry-pair__header,
  .rivalry-insight {
    grid-template-columns: 1fr;
  }

  .rivalry-pair__header {
    display: grid;
  }

  .rivalry-pair__dynamic {
    justify-self: start;
    max-width: 100%;
  }

  .rivalry-scorecard__item {
    grid-template-columns: minmax(5.1rem, 0.62fr) minmax(4rem, 1fr) minmax(5.8rem, 0.78fr);
  }

  .lens-preview-strip__items {
    grid-column: 1;
  }

  .lens-preview-strip {
    height: auto;
    min-height: var(--lens-preview-height);
  }

  .wrestler-tools {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .search-wrap {
    width: min(100%, 280px);
  }

  .wrestler-detail-panel__summary,
  .wrestler-detail-panel__section,
  .wrestler-detail-panel__actions {
    grid-column: 1;
  }
}

@media (max-width: 560px) {
  .route-hero--wrestlers .route-hero__content > p {
    max-width: 19rem;
  }

  .wrestlers-rail__intro p:last-child {
    max-width: 19rem;
  }

  .wrestlers-rail {
    padding: 1rem;
  }

  .wrestler-card {
    min-height: 0;
  }

  .wrestler-card__portrait {
    min-height: 145px;
  }

  .lens-preview-strip__items {
    grid-column: 1;
  }

  .lens-preview-strip__intro {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 821px) and (max-width: 1120px) {
  .wrestler-grid,
  .wrestler-group__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 561px) and (max-width: 820px) {
  .wrestler-grid,
  .wrestler-group__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .wrestler-grid,
  .wrestler-group__grid {
    grid-template-columns: 1fr;
  }
}

[data-theme="modern-showa"] body {
  background: var(--bg-primary);
  color: var(--text-primary);
}

[data-theme="modern-showa"] img {
  filter: none;
}

[data-theme="modern-showa"] body::before,
[data-theme="modern-showa"] .hero__grain,
[data-theme="modern-showa"] .hero__tracking,
[data-theme="modern-showa"] .paper-section::before,
[data-theme="modern-showa"] .lens-preview-strip::before,
[data-theme="modern-showa"] .wrestler-detail-panel::before,
[data-theme="modern-showa"] .wrestler-image::before,
[data-theme="modern-showa"] .wrestler-image::after,
[data-theme="modern-showa"] .match-card::after,
[data-theme="modern-showa"] .wrestler-card::before,
[data-theme="modern-showa"] .timeline-rail__event::before,
[data-theme="modern-showa"] .timeline-detail__photo::before,
[data-theme="modern-showa"] .timeline-detail__photo::after,
[data-theme="modern-showa"] .site-header--home.showa-paper-nav::before {
  display: none;
}

[data-theme="modern-showa"] .hero h1 {
  color: #ffffff;
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: 0 currentColor;
}

[data-theme="modern-showa"] .timeline-detail__photo.has-image-sequence::after {
  display: block;
}

[data-theme="modern-showa"] .hero__tagline,
[data-theme="modern-showa"] .hero__intro {
  color: var(--on-accent);
}

[data-theme="modern-showa"] .hero .hero__kicker {
  color: var(--on-accent);
}

[data-theme="modern-showa"] .site-header,
[data-theme="modern-showa"] .site-header--home,
[data-theme="modern-showa"] .site-header--home.showa-paper-nav,
[data-theme="modern-showa"] .site-header--home.site-header--scrolled.showa-paper-nav {
  background: #000000;
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-theme="modern-showa"] .site-logo__mark {
  color: var(--on-accent);
  filter: none;
}

[data-theme="modern-showa"] .site-nav a,
[data-theme="modern-showa"] .footer-nav a {
  color: rgba(var(--on-accent-rgb), 0.88);
}

[data-theme="modern-showa"] .site-nav a[aria-current="page"],
[data-theme="modern-showa"] .footer-nav a[aria-current="page"],
[data-theme="modern-showa"] .site-nav a[aria-current="page"]:hover,
[data-theme="modern-showa"] .footer-nav a[aria-current="page"]:hover,
[data-theme="modern-showa"] .site-nav a[aria-current="page"]:focus-visible,
[data-theme="modern-showa"] .footer-nav a[aria-current="page"]:focus-visible {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .site-nav a[aria-current="page"]::after,
[data-theme="modern-showa"] .footer-nav a[aria-current="page"]::after,
[data-theme="modern-showa"] .site-nav a::after,
[data-theme="modern-showa"] .footer-nav a::after {
  background: var(--accent-red);
}

[data-theme="modern-showa"] .site-nav a:hover,
[data-theme="modern-showa"] .footer-nav a:hover,
[data-theme="modern-showa"] .site-nav a:focus-visible,
[data-theme="modern-showa"] .footer-nav a:focus-visible {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .site-nav a[aria-current="page"]:hover,
[data-theme="modern-showa"] .footer-nav a[aria-current="page"]:hover,
[data-theme="modern-showa"] .site-nav a[aria-current="page"]:focus-visible,
[data-theme="modern-showa"] .footer-nav a[aria-current="page"]:focus-visible {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .preferences-menu__panel,
[data-theme="modern-showa"] .preferences-menu__option {
  background: var(--surface);
  border-color: var(--border-strong);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="modern-showa"] .preferences-menu__button {
  background: rgba(var(--on-accent-rgb), 0.07);
  border-color: rgba(var(--on-accent-rgb), 0.28);
  box-shadow: none;
  color: var(--on-accent);
}

[data-theme="modern-showa"] .theme-toggle {
  background: rgba(var(--on-accent-rgb), 0.07);
  border-color: rgba(var(--on-accent-rgb), 0.28);
  box-shadow: none;
  color: var(--on-accent);
}

.site-header .site-logo__image--light {
  display: none;
}

[data-theme="modern-showa"] .site-nav-toggle {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: var(--on-accent);
}

[data-theme="modern-showa"] .preferences-menu__button:hover,
[data-theme="modern-showa"] .preferences-menu__button:focus-visible,
[data-theme="modern-showa"] .preferences-menu__button[aria-expanded="true"],
[data-theme="modern-showa"] .theme-toggle:hover,
[data-theme="modern-showa"] .theme-toggle:focus-visible {
  background:
    linear-gradient(rgba(120, 8, 14, 0.18), rgba(120, 8, 14, 0.18)),
    rgba(var(--on-accent-rgb), 0.07);
  border-color: var(--accent-red);
  color: var(--on-accent);
}

[data-theme="modern-showa"] .site-nav-toggle:hover,
[data-theme="modern-showa"] .site-nav-toggle:focus-visible,
[data-theme="modern-showa"] .site-nav-toggle[aria-expanded="true"] {
  background: rgba(var(--on-accent-rgb), 0.08);
  border-color: transparent;
  color: var(--on-accent);
}

@media (max-width: 600px) {
  [data-theme="modern-showa"] .site-nav.is-open {
    background: var(--bg-primary);
    border-bottom-color: rgba(var(--text-primary-rgb), 0.14);
    box-shadow: 0 10px 32px rgba(var(--text-primary-rgb), 0.15);
  }

  [data-theme="modern-showa"] .site-nav.is-open a {
    border-bottom-color: rgba(var(--text-primary-rgb), 0.1);
    color: var(--text-primary);
  }

  [data-theme="modern-showa"] .site-nav.is-open a[aria-current="page"],
  [data-theme="modern-showa"] .site-nav.is-open a[aria-current="page"]:hover,
  [data-theme="modern-showa"] .site-nav.is-open a[aria-current="page"]:focus-visible {
    color: var(--accent-red);
  }

  [data-theme="modern-showa"] .site-nav.is-open a:hover,
  [data-theme="modern-showa"] .site-nav.is-open a:focus-visible {
    background: rgba(var(--text-primary-rgb), 0.07);
    color: var(--text-primary);
  }
}

[data-theme="modern-showa"] .preferences-menu__panel {
  border-color: var(--text-primary);
}

[data-theme="modern-showa"] .preferences-menu__option:hover,
[data-theme="modern-showa"] .preferences-menu__option:focus-visible {
  background: #f6f6f6;
  color: var(--text-primary);
}

[data-theme="modern-showa"] .preferences-menu__option[aria-selected="true"],
[data-theme="modern-showa"] .preferences-menu__option[aria-pressed="true"] {
  background: var(--text-primary);
  color: var(--on-accent);
}

[data-theme="modern-showa"] .route-main,
[data-theme="modern-showa"] .section,
[data-theme="modern-showa"] .showa-paper-section,
[data-theme="modern-showa"] .showa-paper-section--dark,
[data-theme="modern-showa"] .paper-section,
[data-theme="modern-showa"] .timeline-explorer-section {
  background: var(--bg-primary);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .route-main > .showa-paper-section--dark,
[data-theme="modern-showa"] .timeline-explorer-section {
  background: var(--bg-secondary);
}

[data-theme="modern-showa"] .route-hero {
  background: #ffffff;
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
}

[data-theme="modern-showa"] .route-hero::after {
  background: rgba(232, 227, 217, 0.22);
  opacity: 1;
}

[data-theme="modern-showa"] .route-mini-hero {
  background: #ffffff;
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
}

[data-theme="modern-showa"] .route-mini-hero::after {
  background: rgba(232, 227, 217, 0.22);
  opacity: 1;
}

[data-theme="modern-showa"] .route-hero--timeline::before,
[data-theme="modern-showa"] .route-hero--wrestlers::before,
[data-theme="modern-showa"] .route-hero--beyond-ring::before {
  filter: grayscale(1) contrast(1.08);
  opacity: 0.12;
  -webkit-mask-image: none;
  mask-image: none;
}

[data-theme="modern-showa"] .page-title,
[data-theme="modern-showa"] .section-title,
[data-theme="modern-showa"] .route-hero h1,
[data-theme="modern-showa"] .route-mini-hero h1,
[data-theme="modern-showa"] .section__header h2,
[data-theme="modern-showa"] .paper-section h2,
[data-theme="modern-showa"] .feature-card h3,
[data-theme="modern-showa"] .wrestler-card__name,
[data-theme="modern-showa"] .wrestler-group__title,
[data-theme="modern-showa"] .rivalry-pair__label,
[data-theme="modern-showa"] .rivalry-card__name,
[data-theme="modern-showa"] .timeline-column-heading h3,
[data-theme="modern-showa"] .timeline-era-button__title,
[data-theme="modern-showa"] .timeline-rail__title,
[data-theme="modern-showa"] .timeline-detail__body h3,
[data-theme="modern-showa"] .wrestlers-rail__intro h2,
[data-theme="modern-showa"] .lens-preview-strip h1,
[data-theme="modern-showa"] .lens-preview-strip h3,
[data-theme="modern-showa"] .wrestler-detail-panel__section h3 {
  color: var(--text-primary);
  font-weight: 800;
}

[data-theme="modern-showa"] .timeline-era-button__range,
[data-theme="modern-showa"] .timeline-detail__date {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .section-label,
[data-theme="modern-showa"] .kicker,
[data-theme="modern-showa"] .hero__kicker,
[data-theme="modern-showa"] .feature-card__eyebrow,
[data-theme="modern-showa"] .lens-preview-strip__label,
[data-theme="modern-showa"] .wrestler-group__label,
[data-theme="modern-showa"] .rivalry-pair__eyebrow,
[data-theme="modern-showa"] .rivalry-insight__label,
[data-theme="modern-showa"] .timeline-detail__label {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .route-hero__content > p,
[data-theme="modern-showa"] .route-mini-hero p:last-child,
[data-theme="modern-showa"] .section__header > p,
[data-theme="modern-showa"] .paper-section p:last-child,
[data-theme="modern-showa"] .wrestlers-rail__intro p:last-child,
[data-theme="modern-showa"] .lens-preview-strip p:last-child,
[data-theme="modern-showa"] .wrestler-card__description,
[data-theme="modern-showa"] .rivalry-card__description,
[data-theme="modern-showa"] .rivalry-pair__takeaway,
[data-theme="modern-showa"] .rivalry-key-match__note,
[data-theme="modern-showa"] .timeline-era-button__description,
[data-theme="modern-showa"] .timeline-detail__copy p:not(.timeline-detail__label),
[data-theme="modern-showa"] .wrestler-detail-panel__section p,
[data-theme="modern-showa"] .wrestler-detail-panel__section li {
  color: var(--text-secondary);
}

[data-theme="modern-showa"] .feature-card p:last-child,
[data-theme="modern-showa"] .entry-card p:last-child {
  color: var(--text-primary);
}

[data-theme="showa-light"] .style-archive-note__copy,
[data-theme="showa-light"] .style-archive-note__list li,
[data-theme="showa-light"] .style-chip,
[data-theme="modern-showa"] .style-archive-note__copy,
[data-theme="modern-showa"] .style-archive-note__list li,
[data-theme="modern-showa"] .style-chip {
  color: var(--text-primary);
}

[data-theme="showa-light"] .style-chip,
[data-theme="modern-showa"] .style-chip {
  border-color: rgba(0, 0, 0, 0.16);
}

[data-theme="modern-showa"] .entry-card--start::after {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0.66)),
    url("./assets/hero-images/home-cards/timeline-card-bg.webp") center / cover;
  filter: grayscale(1) contrast(0.96) brightness(1.18);
  mix-blend-mode: normal;
  opacity: 0.76;
}

.section--entry .feature-card {
  color: var(--ink);
}

.section--entry .feature-card__eyebrow {
  color: var(--red);
}

.section--entry .feature-card h3,
.section--entry .entry-card h3 {
  color: var(--ink);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 0.92;
}

.section--entry .feature-card p,
.section--entry .entry-card p {
  color: rgba(17, 17, 17, 0.78);
  font-size: clamp(0.96rem, 1.25vw, 1.08rem);
  line-height: 1.65;
}

.section--entry .feature-card p:last-child,
.section--entry .entry-card p:last-child {
  color: rgba(17, 17, 17, 0.82);
}

.section--entry .entry-card--start::after {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.24)),
    url("./assets/hero-images/home-cards/timeline-card-bg.webp") center / cover;
  filter: grayscale(1) contrast(1.08) brightness(1.02);
  mix-blend-mode: normal;
  opacity: 0.68;
}

[data-theme="modern-showa"] .section--entry .entry-card--start::after {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.24)),
    url("./assets/hero-images/home-cards/timeline-card-bg.webp") center / cover;
  filter: grayscale(1) contrast(1.08) brightness(1.02);
  opacity: 0.68;
}

[data-theme="modern-showa"] .feature-card,
[data-theme="modern-showa"] .match-card,
[data-theme="modern-showa"] .rivalry-pair,
[data-theme="modern-showa"] .rivalry-card,
[data-theme="modern-showa"] .lens-preview-strip,
[data-theme="modern-showa"] .lens-preview-mini,
[data-theme="modern-showa"] .timeline-era-filter,
[data-theme="modern-showa"] .timeline-detail,
[data-theme="modern-showa"] .timeline-rail-shell,
[data-theme="modern-showa"] .timeline-rail-scroll,
[data-theme="modern-showa"] .timeline-rail__event,
[data-theme="modern-showa"] .era-filter-control,
[data-theme="modern-showa"] .wrestlers-rail,
[data-theme="modern-showa"] .wrestler-detail-panel {
  background: #ffffff;
  border-color: var(--border-subtle);
  box-shadow: none;
}

[data-theme="modern-showa"] .feature-card {
  border-color: var(--border-strong);
}

[data-theme="modern-showa"] .feature-card:hover,
[data-theme="modern-showa"] .feature-card:focus-visible,
[data-theme="modern-showa"] .rivalry-card:hover,
[data-theme="modern-showa"] .rivalry-card:focus-visible {
  box-shadow: none;
}

[data-theme="modern-showa"] .rivalry-pair,
[data-theme="modern-showa"] .rivalry-card {
  border-color: rgba(0, 0, 0, 0.16);
}

[data-theme="modern-showa"] .rivalry-card.is-active {
  border-color: var(--accent-red);
  box-shadow: inset 0 0 0 1px var(--accent-red);
}

[data-theme="modern-showa"] .wrestlers-content,
[data-theme="modern-showa"] .wrestler-card,
[data-theme="modern-showa"] .rivalry-card,
[data-theme="modern-showa"] .lens-button,
[data-theme="modern-showa"] .timeline-era-button,
[data-theme="modern-showa"] .timeline-rail__button::after,
[data-theme="modern-showa"] .timeline-rail__dot,
[data-theme="modern-showa"] .timeline-rail__event {
  transition-duration: 140ms;
}

[data-theme="modern-showa"] .timeline-detail {
  transition:
    opacity 140ms ease,
    transform 140ms ease;
}

[data-theme="modern-showa"] .button--primary,
[data-theme="modern-showa"] .wrestler-card__era,
[data-theme="modern-showa"] .era-filter-button:hover,
[data-theme="modern-showa"] .era-filter-button[aria-pressed="true"],
[data-theme="modern-showa"] .wrestler-detail-panel__button--primary {
  background: var(--accent-red);
  border-color: var(--accent-red);
  color: var(--on-accent);
}

[data-theme="modern-showa"] .era-filter-button[aria-pressed="true"]:hover,
[data-theme="modern-showa"] .era-filter-button[aria-pressed="true"]:focus-visible {
  background: var(--accent-red-dark);
  border-color: var(--accent-red-dark);
  color: var(--on-accent);
}

[data-theme="modern-showa"] .button--secondary,
[data-theme="modern-showa"] .wrestler-detail-panel__button--secondary {
  background: var(--surface);
  border-color: var(--text-primary);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .button--secondary:hover,
[data-theme="modern-showa"] .button--secondary:focus-visible,
[data-theme="modern-showa"] .wrestler-detail-panel__button--secondary:hover,
[data-theme="modern-showa"] .wrestler-detail-panel__button--secondary:focus-visible {
  background: var(--text-primary);
  color: var(--on-accent);
}

[data-theme="modern-showa"] .wrestlers-archive {
  background: #f6f6f6;
}

[data-theme="modern-showa"] .wrestlers-rail {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  border-right: 2px solid #000000;
}

[data-theme="modern-showa"] .wrestler-detail-panel {
  background: #ffffff;
}

[data-theme="modern-showa"] .era-filter-control,
[data-theme="modern-showa"] .archive-filter-group + .archive-filter-group {
  border-color: var(--border-subtle);
}

[data-theme="modern-showa"] .lens-buttons {
  background: #ffffff;
  border-color: var(--border-subtle);
}

[data-theme="modern-showa"] .lens-button {
  background: #ffffff;
  border-color: var(--border-subtle);
  border-top: 1px solid var(--border-subtle);
  color: var(--text-primary);
  transition:
    background 140ms ease,
    border-color 140ms ease,
    color 140ms ease,
    opacity 140ms ease;
}

[data-theme="modern-showa"] .lens-button:hover:not([aria-pressed="true"]),
[data-theme="modern-showa"] .lens-button:focus-visible:not([aria-pressed="true"]) {
  background: #eeeeee;
  color: var(--text-primary);
  border-color: var(--border-subtle);
}

[data-theme="modern-showa"] .lens-button[aria-pressed="true"],
[data-theme="modern-showa"] .lens-option.is-active {
  background: #ffffff;
  outline: 2px solid var(--accent-red);
  outline-offset: -2px;
  box-shadow: inset 0 0 0 2px var(--accent-red);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .lens-button:hover:not([aria-pressed="true"]) .lens-button__title,
[data-theme="modern-showa"] .lens-button:hover:not([aria-pressed="true"]) .lens-button__icon,
[data-theme="modern-showa"] .lens-button:focus-visible:not([aria-pressed="true"]) .lens-button__title,
[data-theme="modern-showa"] .lens-button:focus-visible:not([aria-pressed="true"]) .lens-button__icon,
[data-theme="modern-showa"] .lens-option.is-active .lens-button__title {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .lens-button:hover:not([aria-pressed="true"]) .lens-button__support,
[data-theme="modern-showa"] .lens-button:focus-visible:not([aria-pressed="true"]) .lens-button__support,
[data-theme="modern-showa"] .lens-option.is-active .lens-button__support {
  color: var(--text-muted);
}

[data-theme="modern-showa"] .lens-button:hover:not([aria-pressed="true"]) .lens-button__icon,
[data-theme="modern-showa"] .lens-button:focus-visible:not([aria-pressed="true"]) .lens-button__icon {
  border-color: rgba(var(--text-primary-rgb), 0.34);
}

[data-theme="modern-showa"] .lens-button::before,
[data-theme="modern-showa"] .lens-button[aria-pressed="true"]::before {
  background: var(--accent-red);
  opacity: 0;
}

[data-theme="modern-showa"] .lens-button:not([aria-pressed="true"])::before {
  opacity: 0;
}

[data-theme="showa-light"] .lens-button[data-lens-button="rivalries"],
[data-theme="modern-showa"] .lens-button[data-lens-button="rivalries"] {
  --rivalry-lens-pulse-rest: rgba(var(--accent-red-rgb), 0.035);
  --rivalry-lens-pulse-peak: rgba(var(--accent-red-rgb), 0.16);
}

[data-theme="modern-showa"] .lens-button__title,
[data-theme="modern-showa"] .lens-button__icon,
[data-theme="modern-showa"] .era-filter-button,
[data-theme="modern-showa"] .archive-filter-group__title,
[data-theme="modern-showa"] .wrestler-card__secondary,
[data-theme="modern-showa"] .wrestler-group__count,
[data-theme="modern-showa"] .rivalry-card__meta,
[data-theme="modern-showa"] .rivalry-card__meta-separator,
[data-theme="modern-showa"] .rivalry-card__decade,
[data-theme="modern-showa"] .timeline-rail__marker {
  color: var(--text-muted);
}

[data-theme="modern-showa"] .lens-button__title {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .timeline-rail__marker {
  color: var(--accent-red);
}

[data-theme="archival-dark"] .timeline-rail__marker,
[data-theme="dark"] .timeline-rail__marker {
  color: var(--accent-gold);
}

[data-theme="modern-showa"] .lens-button__support {
  color: var(--text-muted);
}

[data-theme="modern-showa"] .wrestler-card {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  box-shadow: none;
  color: var(--text-primary);
  transition:
    border-color 140ms ease,
    transform 140ms ease;
}

[data-theme="modern-showa"] .wrestler-card:hover,
[data-theme="modern-showa"] .wrestler-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
  transform: translateY(-2px);
}

[data-theme="modern-showa"] .wrestler-card.is-active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
}

.rivalry-card__image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

[data-theme="modern-showa"] .wrestler-card__portrait,
[data-theme="modern-showa"] .rivalry-card__portrait,
[data-theme="modern-showa"] .wrestler-detail-panel__portrait,
[data-theme="modern-showa"] .timeline-detail__photo {
  background: #eeeeee;
}

[data-theme="modern-showa"] .wrestler-image {
  filter: none;
}

[data-theme="modern-showa"] .wrestler-card .wrestler-image img,
[data-theme="modern-showa"] .rivalry-card .wrestler-image img {
  filter: grayscale(100%) contrast(1.18) brightness(0.92);
  opacity: 0.92;
}

[data-theme="modern-showa"] .wrestler-card:hover .wrestler-image img,
[data-theme="modern-showa"] .wrestler-card:focus-visible .wrestler-image img,
[data-theme="modern-showa"] .wrestler-card.is-active .wrestler-image img,
[data-theme="modern-showa"] .rivalry-card:hover .wrestler-image img,
[data-theme="modern-showa"] .rivalry-card:focus-visible .wrestler-image img {
  filter: grayscale(12%) sepia(0.24) saturate(1.18) contrast(1.12) brightness(0.98);
  opacity: 1;
}

[data-theme="modern-showa"] .wrestler-card__initials,
[data-theme="modern-showa"] .rivalry-card__initials,
[data-theme="modern-showa"] [data-detail-initials] {
  color: rgba(var(--text-primary-rgb), 0.18);
}

[data-theme="modern-showa"] .wrestler-detail-panel {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  border-left: 2px solid #000000;
}

@media (max-width: 1120px) {
  [data-theme="modern-showa"] [data-timeline-detail].is-modal-open .timeline-detail__content {
    background: #ffffff;
    border-color: var(--border-subtle);
    box-shadow: none;
  }

  [data-theme="modern-showa"] [data-timeline-detail].is-modal-open .timeline-detail__photo {
    background: #eeeeee;
    border-bottom-color: var(--border-subtle);
  }

  [data-theme="modern-showa"] [data-timeline-detail].is-modal-open .timeline-detail__copy {
    border-color: var(--border-subtle);
  }

  [data-theme="modern-showa"] [data-timeline-detail].is-modal-open .timeline-detail__copy p:not(.timeline-detail__label) {
    color: var(--text-primary);
  }
}

[data-theme="modern-showa"] .wrestler-detail-panel__summary {
  background: var(--surface);
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .wrestler-detail-panel__name,
[data-theme="modern-showa"] .wrestler-detail-panel__summary .wrestler-detail-panel__name {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .wrestler-detail-panel__secondary,
[data-theme="modern-showa"] .wrestler-detail-panel__meta,
[data-theme="modern-showa"] .wrestler-detail-fact,
[data-theme="modern-showa"] .wrestler-detail-rivalry strong,
[data-theme="modern-showa"] .wrestler-detail-match strong {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .wrestler-detail-fact span:first-child {
  color: var(--text-muted);
}

[data-theme="modern-showa"] .wrestler-detail-panel__facts,
[data-theme="modern-showa"] .wrestler-detail-panel__section,
[data-theme="modern-showa"] .wrestler-detail-rivalry,
[data-theme="modern-showa"] .wrestler-detail-match {
  border-color: var(--border-subtle);
}

[data-theme="modern-showa"] .wrestler-detail-panel__portrait::after {
  border: 1px solid #ffffff;
  box-shadow: none;
}

[data-theme="modern-showa"] .timeline-era-filter,
[data-theme="modern-showa"] .timeline-detail,
[data-theme="modern-showa"] .timeline-rail-shell {
  border: 1px solid var(--border-subtle);
}

[data-theme="modern-showa"] .timeline-page .timeline-rail-shell,
[data-theme="modern-showa"] .timeline-page .timeline-detail {
  box-shadow: none;
}

[data-theme="modern-showa"] .timeline-page .timeline-pane-bottom-stroke {
  background: rgba(0, 0, 0, 0.18);
}

[data-theme="modern-showa"] .timeline-detail {
  background: #ffffff;
}

[data-theme="modern-showa"] .timeline-era-filter {
  background: #edebe8;
}

[data-theme="modern-showa"] .timeline-scroll-cue {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .timeline-rail-shell {
  background: #ffffff;
}

[data-theme="modern-showa"] .timeline-rail-scroll {
  background: transparent;
  -webkit-mask-image: none;
  mask-image: none;
}

[data-theme="modern-showa"] .timeline-era-filter__list {
  -webkit-mask-image: none;
  mask-image: none;
}

[data-theme="modern-showa"] .timeline-era-button {
  background: var(--surface);
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .timeline-era-button:hover,
[data-theme="modern-showa"] .timeline-era-button:focus-visible,
[data-theme="modern-showa"] .timeline-era-button[aria-pressed="true"] {
  background: var(--text-primary);
  color: var(--on-accent);
}

[data-theme="modern-showa"] .timeline-era-button:hover .timeline-era-button__range,
[data-theme="modern-showa"] .timeline-era-button:hover .timeline-era-button__title,
[data-theme="modern-showa"] .timeline-era-button:hover .timeline-era-button__description,
[data-theme="modern-showa"] .timeline-era-button:focus-visible .timeline-era-button__range,
[data-theme="modern-showa"] .timeline-era-button:focus-visible .timeline-era-button__title,
[data-theme="modern-showa"] .timeline-era-button:focus-visible .timeline-era-button__description,
[data-theme="modern-showa"] .timeline-era-button[aria-pressed="true"] .timeline-era-button__range,
[data-theme="modern-showa"] .timeline-era-button[aria-pressed="true"] .timeline-era-button__title,
[data-theme="modern-showa"] .timeline-era-button[aria-pressed="true"] .timeline-era-button__description {
  color: var(--on-accent);
}

[data-theme="modern-showa"] .timeline-era-button[aria-pressed="true"] .timeline-era-button__range {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .timeline-era-button::before {
  background: var(--accent-red);
}

[data-theme="modern-showa"] .timeline-rail::before {
  background: #000000;
}

[data-theme="modern-showa"] .timeline-rail__button::after {
  background: var(--accent-red);
}

[data-theme="modern-showa"] .timeline-rail__dot {
  background: #000000;
  border: 0;
  box-shadow: 0 0 0 4px #ffffff;
  height: 0.95rem;
  width: 0.95rem;
}

[data-theme="modern-showa"] .timeline-rail__item.is-active .timeline-rail__dot {
  background: var(--accent-red);
  border: 0;
  box-shadow: 0 0 0 4px #ffffff;
  outline: none;
}

[data-theme="modern-showa"] .timeline-rail__dot::before,
[data-theme="modern-showa"] .timeline-rail__dot::after,
[data-theme="modern-showa"] .rivalry-connector__dot::before,
[data-theme="modern-showa"] .rivalry-connector__dot::after {
  animation: none;
  display: none;
}

[data-theme="modern-showa"] .timeline-rail__item.is-active .timeline-rail__dot::before {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;
  display: block;
  opacity: 0;
}

[data-theme="modern-showa"] .timeline-rail__item.is-active .timeline-rail__dot::after {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) 1.3s infinite;
  display: block;
  opacity: 0;
}

[data-theme="modern-showa"] .rivalry-connector__dot::before,
[data-theme="modern-showa"] .rivalry-connector__dot::after {
  animation: timelineDotPulse 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;
  border-color: rgba(var(--accent-red-rgb), 0.5);
  display: block;
  inset: -7px;
}

[data-theme="modern-showa"] .rivalry-connector__dot::after {
  animation-delay: 1.3s;
}

[data-theme="modern-showa"] .timeline-rail__event {
  background: #f6f6f6;
  border-color: var(--border-subtle);
  box-shadow: inset 0 0 0 999px #f6f6f6;
}

[data-theme="modern-showa"] .timeline-rail__event--image-backed {
  box-shadow: none;
}

[data-theme="modern-showa"] .timeline-rail__button:hover .timeline-rail__dot,
[data-theme="modern-showa"] .timeline-rail__button:focus-visible .timeline-rail__dot {
  background: var(--accent-red);
}

[data-theme="modern-showa"] .timeline-rail__button:hover .timeline-rail__event,
[data-theme="modern-showa"] .timeline-rail__button:focus-visible .timeline-rail__event,
[data-theme="modern-showa"] .timeline-rail__item.is-active .timeline-rail__event {
  background: #f0f0f0;
  border-color: var(--accent-red);
  box-shadow: inset 0 0 0 999px #f0f0f0;
}

[data-theme="modern-showa"] .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-rail__item.is-active .timeline-rail__event--image-backed {
  box-shadow: none;
}

[data-theme="modern-showa"] .timeline-rail__item:not(.is-muted):not(.is-active) .timeline-rail__event {
  border-color: var(--border-strong);
}

[data-theme="modern-showa"] .timeline-rail__item.is-muted:not(.is-active) .timeline-rail__event {
  opacity: 1;
}

[data-theme="modern-showa"] .timeline-rail__date,
[data-theme="modern-showa"] .timeline-detail__date {
  color: var(--accent-red);
}

[data-theme="archival-dark"] .timeline-rail__date,
[data-theme="dark"] .timeline-rail__date {
  color: var(--accent-gold);
}

[data-theme="modern-showa"] .rivalry-connector {
  background: #000000;
}

[data-theme="modern-showa"] .rivalry-connector__dot {
  background: var(--accent-red);
  border: 0;
  box-shadow:
    0 0 0 3px rgba(var(--accent-red-rgb), 0.24),
    0 0 0 8px rgba(var(--accent-red-rgb), 0.12);
  height: 0.95rem;
  outline: none;
  width: 0.95rem;
}

[data-theme="modern-showa"] .org-label {
  opacity: 0.86;
}

[data-theme="modern-showa"] .wrestler-card__link {
  border-top-color: var(--border-subtle);
  color: var(--accent-red);
}

[data-theme="modern-showa"] .lens-button:focus-visible,
[data-theme="modern-showa"] .era-filter-button:focus-visible,
[data-theme="modern-showa"] .wrestler-card:focus-visible,
[data-theme="modern-showa"] .search-wrap:focus-within,
[data-theme="modern-showa"] .lens-preview-search__clear:focus-visible,
[data-theme="modern-showa"] .wrestler-detail-panel__button:focus-visible,
[data-theme="modern-showa"] .timeline-era-button:focus-visible,
[data-theme="modern-showa"] .timeline-rail__button:focus-visible,
[data-theme="modern-showa"] .preferences-menu__button:focus-visible,
[data-theme="modern-showa"] .preferences-menu__option:focus-visible {
  box-shadow: none;
  outline: 2px solid var(--accent-red);
  outline-offset: 2px;
}

/* ==================================================
   Archival Dark Theme Enhancement
   Modern Showa Dark: crisp ink, charcoal, white, red
================================================== */

[data-theme="archival-dark"],
[data-theme="dark"] {
  color-scheme: dark;
  --bg-primary: #050505;
  --bg-primary-rgb: 5, 5, 5;
  --bg-secondary: #0d0d0d;
  --bg-secondary-rgb: 13, 13, 13;
  --bg-card: #111111;
  --bg-card-rgb: 17, 17, 17;
  --bg-tertiary: #161616;
  --bg-panel: #0a0a0a;
  --bg-panel-rgb: 10, 10, 10;
  --text-primary: #f5f5f0;
  --text-primary-rgb: 245, 245, 240;
  --text-secondary: #c9c9c2;
  --text-secondary-rgb: 201, 201, 194;
  --text-muted: #8f8f88;
  --text-muted-rgb: 143, 143, 136;
  --accent-red: #d62828;
  --accent-red-rgb: 214, 40, 40;
  --accent-red-readable: var(--accent-red);
  --accent-red-dark: #9f1111;
  --accent-red-dark-rgb: 159, 17, 17;
  --accent-red-strong: #e33131;
  --red: var(--accent-red);
  --paper: var(--text-primary);
  --yellow: #d6a83b;
  --border-subtle: rgba(255, 255, 255, 0.1);
  --border-strong: rgba(255, 255, 255, 0.24);
  --shadow-soft: none;
  --shadow: none;
  --body-atmosphere:
    radial-gradient(circle at 70% 12%, rgba(var(--accent-red-rgb), 0.08), transparent 28rem),
    #050505;
  --route-atmosphere:
    radial-gradient(circle at 72% 18%, rgba(var(--accent-red-rgb), 0.08), transparent 26rem),
    #050505;
  --route-section-atmosphere:
    radial-gradient(circle at 72% 18%, rgba(var(--accent-red-rgb), 0.07), transparent 24rem),
    #050505;
  --route-hero-atmosphere:
    radial-gradient(circle at 76% 18%, rgba(var(--accent-red-rgb), 0.1), transparent 23rem),
    #050505;
  --org-njpw: #f2d36b;
  --org-ajpw: #ff5260;
  --org-noah: #8be0b3;
  --org-fmw: #8cc8ff;
  --org-ajw: #ffa6d8;
  --org-dragon-gate: #75e3d4;
  --org-michinoku-pro: #c2b8ff;
  --org-jwa: #e5ca9b;
  --org-jwp: #e7aed4;
  --org-stardom: #ff8bc0;
  --org-ice-ribbon: #90d3ff;
  --org-marigold: #f2ce67;
  --org-gaea: #c9a8ff;
  --org-sendai-girls: #7ee0d1;
  --org-ddt: #c6a6ff;
  --org-wwe: #8eb0ff;
  --org-nxt: #f2ce67;
  --org-wwf-wwe: #8eb0ff;
  --org-ecw: #b994ff;
  --org-wcw: #8bc9ff;
  --org-aew: #e4c56f;
  --org-nwa: #ff7183;
  --org-awa: #ff8a8a;
}

[data-theme="archival-dark"] body::before,
[data-theme="dark"] body::before {
  opacity: 0.08;
}

[data-theme="archival-dark"] .wrestlers-archive::before,
[data-theme="dark"] .wrestlers-archive::before,
[data-theme="archival-dark"] .lens-preview-strip::before,
[data-theme="dark"] .lens-preview-strip::before,
[data-theme="archival-dark"] .wrestler-detail-panel::before,
[data-theme="dark"] .wrestler-detail-panel::before {
  opacity: 0.12;
}

[data-theme="archival-dark"] .site-header,
[data-theme="dark"] .site-header,
[data-theme="archival-dark"] .site-header--home,
[data-theme="dark"] .site-header--home,
[data-theme="archival-dark"] .showa-paper-nav,
[data-theme="dark"] .showa-paper-nav {
  background: #050505;
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
  box-shadow: none;
}

[data-theme="archival-dark"] .site-logo__mark,
[data-theme="dark"] .site-logo__mark {
  color: var(--text-primary);
  filter: none;
}

[data-theme="archival-dark"] .site-nav a,
[data-theme="dark"] .site-nav a {
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .site-nav a[aria-current="page"],
[data-theme="dark"] .site-nav a[aria-current="page"],
[data-theme="archival-dark"] .footer-nav a[aria-current="page"],
[data-theme="dark"] .footer-nav a[aria-current="page"] {
  color: var(--accent-red-readable);
}

[data-theme="archival-dark"] .site-nav a[aria-current="page"]:hover,
[data-theme="dark"] .site-nav a[aria-current="page"]:hover,
[data-theme="archival-dark"] .site-nav a[aria-current="page"]:focus-visible,
[data-theme="dark"] .site-nav a[aria-current="page"]:focus-visible,
[data-theme="archival-dark"] .footer-nav a[aria-current="page"]:hover,
[data-theme="dark"] .footer-nav a[aria-current="page"]:hover,
[data-theme="archival-dark"] .footer-nav a[aria-current="page"]:focus-visible,
[data-theme="dark"] .footer-nav a[aria-current="page"]:focus-visible {
  color: var(--accent-red-readable);
}

[data-theme="archival-dark"] .site-nav a:hover,
[data-theme="dark"] .site-nav a:hover,
[data-theme="archival-dark"] .footer-nav a:hover,
[data-theme="dark"] .footer-nav a:hover,
[data-theme="archival-dark"] .site-nav a:focus-visible,
[data-theme="dark"] .site-nav a:focus-visible,
[data-theme="archival-dark"] .footer-nav a:focus-visible,
[data-theme="dark"] .footer-nav a:focus-visible {
  color: var(--accent-red-readable);
}

[data-theme="archival-dark"] .site-nav a::after,
[data-theme="dark"] .site-nav a::after,
[data-theme="archival-dark"] .site-nav a[aria-current="page"]::after,
[data-theme="dark"] .site-nav a[aria-current="page"]::after,
[data-theme="archival-dark"] .footer-nav a::after,
[data-theme="dark"] .footer-nav a::after,
[data-theme="archival-dark"] .footer-nav a[aria-current="page"]::after,
[data-theme="dark"] .footer-nav a[aria-current="page"]::after {
  background: var(--accent-red);
}

[data-theme="archival-dark"] .hero-kpi-strip__label,
[data-theme="dark"] .hero-kpi-strip__label,
[data-theme="archival-dark"] .styles-archive-hero__subtitle,
[data-theme="dark"] .styles-archive-hero__subtitle,
[data-theme="archival-dark"] .style-strip__label,
[data-theme="dark"] .style-strip__label,
[data-theme="archival-dark"] .wrestler-card__link,
[data-theme="dark"] .wrestler-card__link,
[data-theme="archival-dark"] .venue-card__city,
[data-theme="dark"] .venue-card__city,
[data-theme="archival-dark"] .venue-card__link,
[data-theme="dark"] .venue-card__link,
[data-theme="archival-dark"] .masks-archive .wrestler-card__link,
[data-theme="dark"] .masks-archive .wrestler-card__link {
  color: var(--accent-red-readable);
}

[data-theme="archival-dark"] .hero-kpi-strip__label,
[data-theme="dark"] .hero-kpi-strip__label {
  color: var(--accent-red-strong);
}

[data-theme="archival-dark"] .org-label,
[data-theme="dark"] .org-label {
  opacity: 1;
}

/* Wrestlers toolbar final pass: search flexes, action buttons stay equal. */
@media (min-width: 821px) and (max-width: 1120px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 1.05rem 0.75rem !important;
    grid-template-columns: minmax(14rem, 1fr) repeat(3, minmax(8.5rem, 8.5rem)) !important;
    grid-template-rows: auto auto !important;
    overflow: visible !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .lens-preview-strip__intro {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h1,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h3 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestler-tools,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn {
    box-sizing: border-box !important;
    justify-content: center !important;
    justify-self: stretch !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 4 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 820px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.75rem 0.55rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto auto !important;
    overflow: hidden !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .lens-preview-strip__intro {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h1,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h3 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestler-tools,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn {
    box-sizing: border-box !important;
    gap: 0.32rem !important;
    justify-content: center !important;
    justify-self: stretch !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-inline: 0.35rem !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 3 !important;
    grid-row: 3 !important;
  }
}

/* Wrestlers toolbar final responsive pass. */
@media (min-width: 701px) and (max-width: 1120px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  [data-wrestlers-page] .wrestler-tools {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.75rem !important;
    grid-template-columns: minmax(16rem, 1fr) repeat(3, minmax(7.5rem, 7.5rem)) !important;
    grid-template-rows: minmax(2.85rem, auto) !important;
    justify-content: stretch !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn,
  [data-wrestlers-page] [data-wrestler-view-toggle="grid"],
  [data-wrestlers-page] [data-wrestler-view-toggle="rivalries"] {
    justify-content: center !important;
    justify-self: stretch !important;
    max-width: none !important;
    min-height: 2.85rem !important;
    min-width: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 700px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  [data-wrestlers-page] .wrestler-tools {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.65rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:first-child,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:last-child,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    justify-content: center !important;
    min-height: 2.75rem !important;
    min-width: 0 !important;
    padding-inline: 0.35rem !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger__label,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__label {
    font-size: clamp(0.64rem, 2.6vw, 0.76rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

/* Wrestlers toolbar final responsive pass. Tablet keeps search/filter/grid/rivals
   on one line; phone keeps the controls readable without overlap. */
@media (min-width: 701px) and (max-width: 1120px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  [data-wrestlers-page] .wrestler-tools {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.75rem !important;
    grid-template-columns: minmax(16rem, 1fr) repeat(3, minmax(7.5rem, 0.42fr)) !important;
    grid-template-rows: minmax(2.85rem, auto) !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    justify-content: center !important;
    min-height: 2.85rem !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  [data-wrestlers-page] [data-wrestler-view-toggle="grid"],
  [data-wrestlers-page] [data-wrestler-view-toggle="rivalries"] {
    justify-self: stretch !important;
    max-width: none !important;
    width: 100% !important;
  }
}

@media (max-width: 700px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  [data-wrestlers-page] .wrestler-tools {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.65rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:first-child,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:last-child,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    justify-content: center !important;
    min-height: 2.75rem !important;
    min-width: 0 !important;
    padding-inline: 0.35rem !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger__label,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__label {
    font-size: clamp(0.64rem, 2.6vw, 0.76rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

[data-theme="archival-dark"] .wrestlers-main,
[data-theme="dark"] .wrestlers-main,
[data-theme="archival-dark"] .wrestlers-archive,
[data-theme="dark"] .wrestlers-archive {
  background: #050505;
}

[data-theme="archival-dark"] .wrestlers-rail,
[data-theme="dark"] .wrestlers-rail,
[data-theme="archival-dark"] .lens-preview-strip,
[data-theme="dark"] .lens-preview-strip,
[data-theme="archival-dark"] .wrestler-detail-panel,
[data-theme="dark"] .wrestler-detail-panel {
  background: #0a0a0a;
  border: 1px solid rgba(245, 245, 240, 0.16);
  box-shadow: none;
}

[data-theme="archival-dark"] .wrestlers-rail,
[data-theme="dark"] .wrestlers-rail {
  border-right: 2px solid #f5f5f0;
}

[data-theme="archival-dark"] .wrestlers-rail__intro h2,
[data-theme="dark"] .wrestlers-rail__intro h2 {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .wrestlers-rail__intro p:last-child,
[data-theme="dark"] .wrestlers-rail__intro p:last-child {
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .lens-button,
[data-theme="dark"] .lens-button {
  background: #111111;
  border-top-color: rgba(245, 245, 240, 0.12);
  color: var(--text-primary);
}

[data-theme="archival-dark"] .lens-button__title,
[data-theme="dark"] .lens-button__title {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .lens-button__support,
[data-theme="dark"] .lens-button__support {
  color: var(--text-muted);
}

[data-theme="archival-dark"] .lens-button:hover:not([aria-pressed="true"]),
[data-theme="dark"] .lens-button:hover:not([aria-pressed="true"]),
[data-theme="archival-dark"] .lens-button:focus-visible:not([aria-pressed="true"]),
[data-theme="dark"] .lens-button:focus-visible:not([aria-pressed="true"]) {
  background: #000000;
  border-color: rgba(245, 245, 240, 0.12);
}

[data-theme="archival-dark"] .lens-button[aria-pressed="true"],
[data-theme="dark"] .lens-button[aria-pressed="true"] {
  background: #111111;
  border-color: rgba(245, 245, 240, 0.12);
  box-shadow: inset 0 0 0 2px var(--accent-red);
}

[data-theme="archival-dark"] .lens-button[data-lens-button="rivalries"],
[data-theme="dark"] .lens-button[data-lens-button="rivalries"] {
  --rivalry-lens-pulse-rest: rgba(var(--accent-red-rgb), 0.04);
  --rivalry-lens-pulse-peak: rgba(var(--accent-red-rgb), 0.2);
}

[data-theme="archival-dark"] .lens-button[aria-pressed="true"] .lens-button__icon,
[data-theme="dark"] .lens-button[aria-pressed="true"] .lens-button__icon {
  border-color: rgba(255, 255, 255, 0.48);
  color: #ffffff;
}

[data-theme="archival-dark"] .era-filter-control,
[data-theme="dark"] .era-filter-control {
  background: #0a0a0a;
  border: 1px solid rgba(245, 245, 240, 0.16);
  box-shadow: none;
}

[data-theme="archival-dark"] .era-filter-button,
[data-theme="dark"] .era-filter-button {
  background: #111111;
  border-color: rgba(245, 245, 240, 0.18);
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .era-filter-button:hover,
[data-theme="dark"] .era-filter-button:hover,
[data-theme="archival-dark"] .era-filter-button[aria-pressed="true"],
[data-theme="dark"] .era-filter-button[aria-pressed="true"] {
  background: var(--accent-red);
  border-color: var(--accent-red);
  color: var(--on-accent);
}

[data-theme="archival-dark"] .era-filter-button[aria-pressed="true"]:hover,
[data-theme="dark"] .era-filter-button[aria-pressed="true"]:hover,
[data-theme="archival-dark"] .era-filter-button[aria-pressed="true"]:focus-visible,
[data-theme="dark"] .era-filter-button[aria-pressed="true"]:focus-visible {
  background: var(--accent-red-strong);
  border-color: var(--accent-red-strong);
  color: var(--on-accent);
}

[data-theme="archival-dark"] .lens-preview-strip,
[data-theme="dark"] .lens-preview-strip {
  border-color: rgba(245, 245, 240, 0.18);
}

[data-theme="archival-dark"] .lens-preview-strip h1,
[data-theme="dark"] .lens-preview-strip h1,
[data-theme="archival-dark"] .lens-preview-strip h3,
[data-theme="dark"] .lens-preview-strip h3 {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .lens-preview-strip p:last-child,
[data-theme="dark"] .lens-preview-strip p:last-child {
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .wrestler-card,
[data-theme="dark"] .wrestler-card {
  background: #111111;
  border: 1px solid rgba(245, 245, 240, 0.14);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="archival-dark"] .wrestler-card:hover,
[data-theme="dark"] .wrestler-card:hover,
[data-theme="archival-dark"] .wrestler-card:focus-visible,
[data-theme="dark"] .wrestler-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
  transform: translateY(-2px);
}

[data-theme="archival-dark"] .wrestler-card.is-active,
[data-theme="dark"] .wrestler-card.is-active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
}

[data-theme="archival-dark"] .wrestler-card__body,
[data-theme="dark"] .wrestler-card__body {
  background: #111111;
}

[data-theme="archival-dark"] .wrestler-card__name,
[data-theme="dark"] .wrestler-card__name {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .wrestler-card__secondary,
[data-theme="dark"] .wrestler-card__secondary {
  color: var(--text-muted);
}

[data-theme="archival-dark"] .wrestler-card__description,
[data-theme="dark"] .wrestler-card__description {
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .wrestler-card__link,
[data-theme="dark"] .wrestler-card__link {
  border-top-color: rgba(245, 245, 240, 0.12);
  color: var(--accent-red);
}

[data-theme="archival-dark"] .wrestler-card__era,
[data-theme="dark"] .wrestler-card__era {
  background: var(--accent-red);
  color: var(--on-accent);
}

[data-theme="archival-dark"] .wrestler-card__portrait,
[data-theme="dark"] .wrestler-card__portrait,
[data-theme="archival-dark"] .rivalry-card__portrait,
[data-theme="dark"] .rivalry-card__portrait,
[data-theme="archival-dark"] .wrestler-detail-panel__portrait,
[data-theme="dark"] .wrestler-detail-panel__portrait {
  background:
    linear-gradient(180deg, #2a2a2a 0%, #050505 100%);
}

[data-theme="archival-dark"] .wrestler-image img,
[data-theme="dark"] .wrestler-image img {
  filter: grayscale(100%) contrast(112%) brightness(92%);
  opacity: 1;
}

[data-theme="modern-showa"] .wrestler-detail-panel__image img,
[data-theme="archival-dark"] .wrestler-detail-panel__image img,
[data-theme="dark"] .wrestler-detail-panel__image img,
[data-theme="modern-showa"] .rivalry-avatar img,
[data-theme="archival-dark"] .rivalry-avatar img,
[data-theme="dark"] .rivalry-avatar img {
  filter: var(--wrestler-archive-filter, none);
  opacity: 1;
}

[data-theme] .wrestler-detail-panel__image--mutoh-morph img {
  transition:
    filter 260ms ease,
    opacity 700ms ease;
}

[data-theme] .wrestler-detail-panel__image--mutoh-morph .wrestler-detail-panel__morph-image--muta {
  opacity: 0;
}

[data-theme] .wrestler-detail-panel__image--mutoh-morph.is-muta-active img:not(.wrestler-detail-panel__morph-image--muta) {
  opacity: 0;
}

[data-theme] .wrestler-detail-panel__image--mutoh-morph.is-muta-active .wrestler-detail-panel__morph-image--muta {
  opacity: 1;
}

[data-theme="archival-dark"] .wrestler-image::before,
[data-theme="dark"] .wrestler-image::before {
  opacity: 0.08;
}

[data-theme="archival-dark"] .wrestler-image::after,
[data-theme="dark"] .wrestler-image::after {
  background: none;
}

[data-theme="archival-dark"] .wrestler-detail-panel__image--mutoh-morph::after,
[data-theme="dark"] .wrestler-detail-panel__image--mutoh-morph::after {
  background:
    linear-gradient(90deg, rgba(var(--highlight-rgb), 0.08), var(--accent-red), rgba(var(--highlight-rgb), 0.08));
}

[data-theme="archival-dark"] .wrestler-detail-panel__portrait::after,
[data-theme="dark"] .wrestler-detail-panel__portrait::after {
  box-shadow: none;
}

[data-theme="archival-dark"] .wrestler-card__initials,
[data-theme="dark"] .wrestler-card__initials,
[data-theme="archival-dark"] .rivalry-card__initials,
[data-theme="dark"] .rivalry-card__initials,
[data-theme="archival-dark"] [data-detail-initials],
[data-theme="dark"] [data-detail-initials] {
  color: rgba(var(--text-primary-rgb), 0.14);
}

[data-theme="archival-dark"] .wrestler-detail-panel,
[data-theme="dark"] .wrestler-detail-panel {
  background: #0a0a0a;
  border-left: 3px solid #f5f5f0;
}

@media (max-width: 1120px) {
  [data-theme="archival-dark"] [data-timeline-detail].is-modal-open .timeline-detail__content,
  [data-theme="dark"] [data-timeline-detail].is-modal-open .timeline-detail__content {
    background: var(--ds-modal-card-surface);
    border-color: var(--ds-modal-card-stroke);
    box-shadow: var(--detail-modal-shadow);
  }

  [data-theme="archival-dark"] [data-timeline-detail].is-modal-open .timeline-detail__photo,
  [data-theme="dark"] [data-timeline-detail].is-modal-open .timeline-detail__photo {
    background:
      linear-gradient(180deg, #2a2a2a 0%, #050505 100%);
    border-bottom-color: rgba(245, 245, 240, 0.16);
  }

  [data-theme="archival-dark"] [data-timeline-detail].is-modal-open .timeline-detail__copy,
  [data-theme="dark"] [data-timeline-detail].is-modal-open .timeline-detail__copy {
    border-color: rgba(245, 245, 240, 0.14);
  }

  [data-theme="archival-dark"] [data-timeline-detail].is-modal-open .timeline-detail__copy p:not(.timeline-detail__label),
  [data-theme="dark"] [data-timeline-detail].is-modal-open .timeline-detail__copy p:not(.timeline-detail__label) {
    color: var(--text-secondary);
  }
}

[data-theme="archival-dark"] .wrestler-detail-panel__summary,
[data-theme="dark"] .wrestler-detail-panel__summary {
  background: #000000;
  color: var(--text-primary);
  border-top: 1px solid rgba(245, 245, 240, 0.16);
  border-bottom: 1px solid rgba(245, 245, 240, 0.16);
}

[data-theme="archival-dark"] .wrestler-detail-panel__name,
[data-theme="dark"] .wrestler-detail-panel__name {
  color: var(--accent-red);
}

[data-theme="archival-dark"] .wrestler-detail-panel__secondary,
[data-theme="dark"] .wrestler-detail-panel__secondary,
[data-theme="archival-dark"] .wrestler-detail-panel__meta,
[data-theme="dark"] .wrestler-detail-panel__meta,
[data-theme="archival-dark"] .wrestler-detail-fact,
[data-theme="dark"] .wrestler-detail-fact,
[data-theme="archival-dark"] .wrestler-detail-panel__section p,
[data-theme="dark"] .wrestler-detail-panel__section p,
[data-theme="archival-dark"] .wrestler-detail-panel__section li,
[data-theme="dark"] .wrestler-detail-panel__section li {
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .wrestler-detail-fact span:first-child,
[data-theme="dark"] .wrestler-detail-fact span:first-child {
  color: var(--text-muted);
}

[data-theme="archival-dark"] .wrestler-detail-panel__section,
[data-theme="dark"] .wrestler-detail-panel__section {
  border-top-color: rgba(245, 245, 240, 0.14);
}

[data-theme="archival-dark"] .wrestler-detail-panel__section h3,
[data-theme="archival-dark"] .venue-detail__section-title,
[data-theme="dark"] .wrestler-detail-panel__section h3,
[data-theme="archival-dark"] .wrestler-detail-rivalry strong,
[data-theme="dark"] .wrestler-detail-rivalry strong,
[data-theme="archival-dark"] .wrestler-detail-match strong,
[data-theme="dark"] .wrestler-detail-match strong {
  color: var(--text-primary);
}

.wrestler-detail-panel__section h3,
[data-theme="showa-light"] .wrestler-detail-panel__section h3,
[data-theme="showa-light"] .venue-detail__section-title,
[data-theme="modern-showa"] .wrestler-detail-panel__section h3,
[data-theme="modern-showa"] .venue-detail__section-title,
[data-theme="archival-dark"] .wrestler-detail-panel__section h3,
[data-theme="dark"] .wrestler-detail-panel__section h3,
[data-theme="dark"] .venue-detail__section-title {
  color: var(--accent-red-strong);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.wrestler-detail-panel__section h3::after {
  background: var(--accent-red);
}

.wrestler-detail-panel__section > p,
.wrestler-detail-panel__section > ul li {
  color: rgba(var(--text-primary-rgb), 0.84);
  font-size: var(--type-body);
  font-weight: 700;
  line-height: 1.58;
}

[data-theme="showa-light"] .wrestler-detail-panel__section > p,
[data-theme="showa-light"] .wrestler-detail-panel__section > ul li,
[data-theme="modern-showa"] .wrestler-detail-panel__section > p,
[data-theme="modern-showa"] .wrestler-detail-panel__section > ul li {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .wrestler-detail-panel__section > p,
[data-theme="archival-dark"] .wrestler-detail-panel__section > ul li,
[data-theme="dark"] .wrestler-detail-panel__section > p,
[data-theme="dark"] .wrestler-detail-panel__section > ul li {
  color: var(--text-secondary);
}

.wrestler-detail-panel__meta .org-label {
  color: var(--org-default);
}

.wrestler-detail-panel__meta .org-njpw {
  color: var(--org-njpw);
}

.wrestler-detail-panel__meta .org-ajpw {
  color: var(--org-ajpw);
}

.wrestler-detail-panel__meta .org-noah {
  color: var(--org-noah);
}

.wrestler-detail-panel__meta .org-fmw {
  color: var(--org-fmw);
}

.wrestler-detail-panel__meta .org-ajw {
  color: var(--org-ajw);
}

.wrestler-detail-panel__meta .org-dragon-gate {
  color: var(--org-dragon-gate);
}

.wrestler-detail-panel__meta .org-michinoku-pro {
  color: var(--org-michinoku-pro);
}

.wrestler-detail-panel__meta .org-jwa {
  color: var(--org-jwa);
}

.wrestler-detail-panel__meta .org-jwp {
  color: var(--org-jwp);
}

.wrestler-detail-panel__meta .org-stardom {
  color: var(--org-stardom);
}

.wrestler-detail-panel__meta .org-ice-ribbon {
  color: var(--org-ice-ribbon);
}

.wrestler-detail-panel__meta .org-marigold {
  color: var(--org-marigold);
}

.wrestler-detail-panel__meta .org-gaea {
  color: var(--org-gaea);
}

.wrestler-detail-panel__meta .org-sendai-girls {
  color: var(--org-sendai-girls);
}

.wrestler-detail-panel__meta .org-ddt {
  color: var(--org-ddt);
}

.wrestler-detail-panel__meta .org-wwe,
.wrestler-detail-panel__meta .org-wwf-wwe {
  color: var(--org-wwe);
}

.wrestler-detail-panel__meta .org-nxt {
  color: var(--org-nxt);
}

.wrestler-detail-panel__meta .org-ecw {
  color: var(--org-ecw);
}

.wrestler-detail-panel__meta .org-wcw {
  color: var(--org-wcw);
}

.wrestler-detail-panel__meta .org-aew {
  color: var(--org-aew);
}

.wrestler-detail-panel__meta .org-nwa {
  color: var(--org-nwa);
}

.wrestler-detail-panel__meta .org-awa {
  color: var(--org-awa);
}

.wrestler-detail-panel__meta .org-uwf-shoot-style-influence {
  color: var(--org-uwf-shoot-style-influence);
}

.wrestler-detail-panel__meta .org-pancrase {
  color: var(--org-pancrase);
}

.wrestler-detail-panel__meta .org-toryumon {
  color: var(--org-toryumon);
}

.wrestler-detail-panel__meta .org-la-dojo {
  color: var(--org-la-dojo);
}

.wrestler-detail-panel__meta .org-bjw {
  color: var(--org-bjw);
}

.wrestler-detail-panel__meta .org-njpw-adjacent {
  color: var(--org-njpw-adjacent);
}

.wrestler-detail-panel__meta .org-freelance {
  color: var(--org-freelance);
}

[data-theme="archival-dark"] .rivalry-pair,
[data-theme="dark"] .rivalry-pair,
[data-theme="archival-dark"] .rivalry-card,
[data-theme="dark"] .rivalry-card {
  background: #111111;
  border-color: rgba(245, 245, 240, 0.14);
  box-shadow: none;
}

[data-theme="archival-dark"] .rivalry-card.is-active,
[data-theme="dark"] .rivalry-card.is-active {
  border-color: var(--accent-red);
  box-shadow: inset 0 0 0 1px var(--accent-red);
}

[data-theme="archival-dark"] .rivalry-card__name,
[data-theme="dark"] .rivalry-card__name {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .rivalry-card__description,
[data-theme="dark"] .rivalry-card__description {
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .timeline-era-filter,
[data-theme="dark"] .timeline-era-filter,
[data-theme="archival-dark"] .timeline-detail,
[data-theme="dark"] .timeline-detail,
[data-theme="archival-dark"] .timeline-rail-shell,
[data-theme="dark"] .timeline-rail-shell,
[data-theme="archival-dark"] .timeline-rail__event,
[data-theme="dark"] .timeline-rail__event,
[data-theme="archival-dark"] .match-card,
[data-theme="dark"] .match-card {
  background: #111111;
  border-color: rgba(245, 245, 240, 0.24);
  box-shadow: none;
}

[data-theme="archival-dark"] .timeline-rail-shell,
[data-theme="dark"] .timeline-rail-shell {
  background: #111111;
}

[data-theme="archival-dark"] .timeline-rail-scroll,
[data-theme="dark"] .timeline-rail-scroll {
  background: transparent;
}

[data-theme="archival-dark"] .timeline-page .timeline-detail,
[data-theme="dark"] .timeline-page .timeline-detail {
  border: 1px solid rgba(245, 245, 240, 0.24);
}

[data-theme="archival-dark"] .timeline-page .timeline-rail-shell,
[data-theme="archival-dark"] .timeline-page .timeline-detail,
[data-theme="dark"] .timeline-page .timeline-rail-shell,
[data-theme="dark"] .timeline-page .timeline-detail {
  box-shadow: none;
}

[data-theme="archival-dark"] .timeline-page .timeline-pane-bottom-stroke,
[data-theme="dark"] .timeline-page .timeline-pane-bottom-stroke {
  background: rgba(245, 245, 240, 0.42);
}

[data-theme="showa-light"] .timeline-page .timeline-rail-shell,
[data-theme="showa-light"] .timeline-page .timeline-detail {
  --timeline-pane-bottom-line: rgba(23, 19, 15, 0.34);
}

[data-theme="modern-showa"] .timeline-page .timeline-rail-shell,
[data-theme="modern-showa"] .timeline-page .timeline-detail {
  --timeline-pane-bottom-line: rgba(23, 19, 15, 0.28);
}

[data-theme="archival-dark"] .timeline-page .timeline-rail-shell,
[data-theme="archival-dark"] .timeline-page .timeline-detail,
[data-theme="dark"] .timeline-page .timeline-rail-shell,
[data-theme="dark"] .timeline-page .timeline-detail {
  --timeline-pane-bottom-line: rgba(245, 245, 240, 0.56);
}

[data-theme="archival-dark"] .timeline-rail::before,
[data-theme="dark"] .timeline-rail::before {
  background: rgba(245, 245, 240, 0.72);
}

[data-theme="archival-dark"] .timeline-rail__event,
[data-theme="dark"] .timeline-rail__event {
  background: transparent;
}

[data-theme="archival-dark"] .timeline-rail__button:hover .timeline-rail__event,
[data-theme="archival-dark"] .timeline-rail__button:focus-visible .timeline-rail__event,
[data-theme="archival-dark"] .timeline-rail__item.is-active .timeline-rail__event,
[data-theme="dark"] .timeline-rail__button:hover .timeline-rail__event,
[data-theme="dark"] .timeline-rail__button:focus-visible .timeline-rail__event,
[data-theme="dark"] .timeline-rail__item.is-active .timeline-rail__event {
  background: transparent;
}

[data-theme="archival-dark"] .timeline-era-button__range,
[data-theme="dark"] .timeline-era-button__range,
[data-theme="archival-dark"] .timeline-detail__date,
[data-theme="dark"] .timeline-detail__date {
  color: var(--accent-gold);
}

[data-theme="archival-dark"] .timeline-rail__dot,
[data-theme="dark"] .timeline-rail__dot {
  background: var(--text-primary);
  box-shadow: 0 0 0 4px #000000;
}

[data-theme="archival-dark"] .timeline-rail__button:hover .timeline-rail__dot,
[data-theme="archival-dark"] .timeline-rail__button:focus-visible .timeline-rail__dot,
[data-theme="dark"] .timeline-rail__button:hover .timeline-rail__dot,
[data-theme="dark"] .timeline-rail__button:focus-visible .timeline-rail__dot {
  background: var(--accent-red);
  box-shadow: 0 0 0 4px #050505;
}

[data-theme="archival-dark"] .timeline-rail__item.is-active .timeline-rail__dot,
[data-theme="dark"] .timeline-rail__item.is-active .timeline-rail__dot {
  background: var(--accent-red);
  box-shadow: 0 0 0 4px #050505;
}

[data-theme="archival-dark"] .timeline-rail__item.is-active .timeline-rail__dot::before,
[data-theme="archival-dark"] .timeline-rail__item.is-active .timeline-rail__dot::after,
[data-theme="dark"] .timeline-rail__item.is-active .timeline-rail__dot::before,
[data-theme="dark"] .timeline-rail__item.is-active .timeline-rail__dot::after {
  border-color: rgba(var(--accent-red-rgb), 0.54);
}

.timeline-rail__item--precursor .timeline-rail__dot::before,
.timeline-rail__item--precursor .timeline-rail__dot::after {
  border-color: rgba(var(--accent-red-rgb), 0.54);
  display: block;
}

[data-theme="modern-showa"] .timeline-rail__item--precursor.is-active .timeline-rail__dot {
  background: var(--accent-red);
  box-shadow: 0 0 0 4px #ffffff;
}

[data-theme="archival-dark"] .timeline-rail__item--precursor.is-active .timeline-rail__dot,
[data-theme="dark"] .timeline-rail__item--precursor.is-active .timeline-rail__dot {
  background: var(--accent-red);
  box-shadow: 0 0 0 4px #050505;
}

[data-theme="archival-dark"] .timeline-rail__title,
[data-theme="dark"] .timeline-rail__title,
[data-theme="archival-dark"] .timeline-detail__body h3,
[data-theme="dark"] .timeline-detail__body h3,
[data-theme="archival-dark"] .match-card h3,
[data-theme="dark"] .match-card h3 {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .timeline-rail__title,
[data-theme="dark"] .timeline-rail__title {
  color: var(--ink);
}

[data-theme="archival-dark"] .timeline-detail__copy p:not(.timeline-detail__label),
[data-theme="dark"] .timeline-detail__copy p:not(.timeline-detail__label) {
  color: var(--text-secondary);
}

.timeline-rail__event--image-backed::before,
[data-theme="showa-light"] .timeline-rail__event--image-backed::before,
[data-theme="modern-showa"] .timeline-rail__event--image-backed::before {
  display: block;
}

[data-theme="showa-light"] .timeline-rail__event--image-backed {
  --timeline-rail-image-filter: grayscale(100%) contrast(1.2) brightness(0.72);
  --timeline-rail-image-opacity: 0.9;
  --timeline-rail-image-wash:
    linear-gradient(180deg, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.32));
}

[data-theme="modern-showa"] .timeline-rail__event--image-backed {
  --timeline-rail-image-filter: grayscale(100%) contrast(1.2) brightness(0.72);
  --timeline-rail-image-opacity: 0.9;
  --timeline-rail-image-wash:
    linear-gradient(180deg, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.32));
}

[data-theme="archival-dark"] .timeline-rail__event--image-backed,
[data-theme="dark"] .timeline-rail__event--image-backed {
  --timeline-rail-image-filter: grayscale(100%) contrast(1.2) brightness(0.72);
  --timeline-rail-image-opacity: 0.9;
  --timeline-rail-image-wash:
    linear-gradient(180deg, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.32));
}

[data-theme="showa-light"] .timeline-rail__event-image,
[data-theme="modern-showa"] .timeline-rail__event-image {
  mix-blend-mode: normal;
}

[data-theme="archival-dark"] .timeline-rail__event-image,
[data-theme="dark"] .timeline-rail__event-image {
  mix-blend-mode: normal;
}

[data-theme="showa-light"] .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="showa-light"] .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="showa-light"] .timeline-rail__item.is-active .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-rail__item.is-active .timeline-rail__event--image-backed {
  --timeline-rail-image-opacity: 0.9;
}

[data-theme="archival-dark"] .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="archival-dark"] .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="archival-dark"] .timeline-rail__item.is-active .timeline-rail__event--image-backed,
[data-theme="dark"] .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="dark"] .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="dark"] .timeline-rail__item.is-active .timeline-rail__event--image-backed {
  --timeline-rail-image-opacity: 0.9;
}

[data-theme="archival-dark"] .site-footer,
[data-theme="dark"] .site-footer {
  background: #050505;
  border-top: 1px solid rgba(245, 245, 240, 0.18);
  color: var(--text-primary);
  box-shadow: none;
}

[data-theme="archival-dark"] .site-footer p,
[data-theme="dark"] .site-footer p,
[data-theme="archival-dark"] .footer-nav a,
[data-theme="dark"] .footer-nav a {
  color: var(--text-secondary);
}

[data-theme="modern-showa"] .site-footer {
  background: #000000;
  border-top: 1px solid rgba(232, 227, 217, 0.22);
  box-shadow: none;
}

[data-theme="modern-showa"] .site-footer,
[data-theme="modern-showa"] .footer-logo {
  color: #ffffff;
}

[data-theme="modern-showa"] .site-footer p {
  color: rgba(255, 255, 255, 0.6);
}

.match-guide-shell {
  background:
    radial-gradient(circle at 78% 10%, rgba(var(--accent-red-rgb), 0.08), transparent 28rem),
    var(--bg-primary);
  color: var(--text-primary);
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.match-guide-shell__inner {
  max-width: 1480px;
}

.match-featured,
.match-explorer {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
}

.match-explorer {
  margin-top: clamp(3rem, 6vw, 5rem);
}

.match-guide-section-heading {
  align-items: end;
  display: grid;
  column-gap: clamp(1.2rem, 3vw, 3rem);
  row-gap: 1rem;
  grid-template-columns: minmax(0, max-content) minmax(18rem, 520px);
  justify-content: start;
}

.match-guide-section-heading h2 {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(2.25rem, 5.2vw, 5rem);
  line-height: 0.86;
  margin: 0;
  text-transform: uppercase;
}

.match-guide-section-heading > p,
.match-guide-section-heading--compact > p {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: clamp(0.96rem, 1.25vw, 1.08rem);
  font-weight: 750;
  line-height: 1.55;
  margin: 0;
  max-width: 520px;
}

.match-guide-section-heading .kicker {
  color: var(--red);
  margin-bottom: 0.55rem;
}

.match-featured__layout {
  display: grid;
  gap: 1rem;
}

.match-featured__stage {
  min-height: clamp(30rem, 55vw, 42rem);
  position: relative;
}

.match-featured-hero {
  background: #090909;
  border: 1px solid rgba(var(--accent-red-rgb), 0.72);
  color: var(--on-accent);
  display: grid;
  min-height: clamp(30rem, 55vw, 42rem);
  overflow: hidden;
  padding: clamp(1rem, 2.6vw, 2rem);
  position: relative;
}

.match-featured-hero::after {
  background:
    linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, 0.18) 48%, rgba(0, 0, 0, 0.9) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.78), transparent 58%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.match-featured-card {
  -webkit-appearance: none;
  appearance: none;
  background: #090909;
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--on-accent);
  display: grid;
  font: inherit;
  inset: 0;
  overflow: hidden;
  padding: clamp(1rem, 2.6vw, 2rem);
  position: absolute;
  text-align: left;
  transform-origin: 50% 72%;
  transition:
    opacity 360ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 180ms ease;
  will-change: opacity, transform;
  width: 100%;
}

.match-featured-card::after {
  background:
    linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, 0.2) 48%, rgba(0, 0, 0, 0.88) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.74), transparent 58%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.match-featured-card--active {
  border-color: rgba(var(--accent-red-rgb), 0.76);
  box-shadow: 0 18px 46px rgba(var(--shadow-rgb), 0.22);
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  z-index: 5;
}

.match-featured-card--next {
  opacity: 0.66;
  transform: translate3d(2.2rem, -0.9rem, 0) scale(0.94) rotate(1.25deg);
  z-index: 4;
}

.match-featured-card--far-next {
  opacity: 0.42;
  transform: translate3d(4rem, -1.65rem, 0) scale(0.88) rotate(2.4deg);
  z-index: 3;
}

.match-featured-card--prev {
  opacity: 0.56;
  transform: translate3d(-2rem, 1rem, 0) scale(0.92) rotate(-1.6deg);
  z-index: 4;
}

.match-featured-card--back {
  opacity: 0.24;
  transform: translate3d(0, -2.2rem, 0) scale(0.82) rotate(-0.6deg);
  z-index: 2;
}

.match-featured__stage.is-transitioning .match-featured-card--active {
  animation: matchFeaturedActiveIn 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.match-featured__stage.is-moving-prev .match-featured-card--active {
  animation-name: matchFeaturedActiveInReverse;
}

.match-featured__stage.is-transitioning .match-featured-card--next,
.match-featured__stage.is-transitioning .match-featured-card--prev,
.match-featured__stage.is-transitioning .match-featured-card--far-next {
  animation: matchFeaturedStackSettle 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

button.match-featured-card {
  cursor: pointer;
}

button.match-featured-card:hover,
button.match-featured-card:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.9);
  opacity: 0.82;
  outline: none;
}

button.match-featured-card:focus-visible {
  box-shadow: 0 0 0 3px rgba(var(--accent-red-rgb), 0.36);
}

.match-featured-hero__visual,
.match-featured-card__visual,
.match-guide-card__visual {
  background:
    radial-gradient(circle at 68% 24%, rgba(var(--accent-red-rgb), 0.34), transparent 13rem),
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.12), transparent 12rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 34%),
    #151515;
  inset: 0;
  overflow: hidden;
  position: absolute;
}

.match-featured-hero__visual {
  inset: 0;
}

.match-visual__image {
  display: block;
  filter: grayscale(100%) contrast(1.08) brightness(0.78);
  height: 100%;
  inset: 0;
  object-fit: cover;
  opacity: 0.44;
  position: absolute;
  transform: scale(1);
  transition:
    opacity 220ms ease,
    transform 260ms ease;
  width: 100%;
}

.match-featured-hero .match-visual__image {
  opacity: 0.5;
}

.match-guide-card:hover .match-visual__image,
.match-guide-card:focus-within .match-visual__image {
  transform: scale(1.045);
}

.is-missing-image .match-visual__image {
  display: none;
}

.match-featured-hero__visual::before,
.match-featured-card__visual::before,
.match-guide-card__visual::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    radial-gradient(circle, rgba(255, 255, 255, 0.12) 0 0.55px, transparent 0.85px);
  background-size:
    100% 7px,
    13px 13px;
  content: "";
  inset: 0;
  opacity: 0.28;
  position: absolute;
}

.match-featured-hero__visual::after {
  color: rgba(var(--on-accent-rgb), 0.075);
  content: attr(data-promotion);
  font-family: var(--display);
  font-size: clamp(7rem, 24vw, 20rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.72;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
  right: clamp(-2rem, 2vw, 1.4rem);
  text-shadow:
    0 0 2.5rem rgba(var(--accent-red-rgb), 0.18),
    0 1.25rem 4rem rgba(0, 0, 0, 0.72);
  text-transform: uppercase;
  top: 48%;
  transform: translateY(-50%);
  white-space: nowrap;
  z-index: 1;
}

.match-featured-hero__visual.is-image-backed::after {
  content: none;
}

.match-featured-hero__visual[data-promotion="NJPW"],
.match-featured-card__visual[data-promotion="NJPW"],
.match-guide-card__visual[data-promotion="NJPW"] {
  background:
    radial-gradient(circle at 72% 18%, rgba(214, 40, 40, 0.4), transparent 14rem),
    linear-gradient(135deg, #202020, #050505);
}

.match-featured-hero__visual[data-promotion="AJPW"],
.match-featured-card__visual[data-promotion="AJPW"],
.match-guide-card__visual[data-promotion="AJPW"] {
  background:
    radial-gradient(circle at 72% 18%, rgba(193, 18, 31, 0.36), transparent 14rem),
    linear-gradient(135deg, #252020, #070606);
}

.match-featured-hero__visual[data-promotion="AJW"],
.match-featured-card__visual[data-promotion="AJW"],
.match-guide-card__visual[data-promotion="AJW"] {
  background:
    radial-gradient(circle at 72% 18%, rgba(209, 107, 165, 0.34), transparent 14rem),
    linear-gradient(135deg, #242024, #060506);
}

.match-featured-hero__visual[data-promotion="FMW"],
.match-featured-card__visual[data-promotion="FMW"],
.match-guide-card__visual[data-promotion="FMW"] {
  background:
    radial-gradient(circle at 72% 18%, rgba(58, 110, 165, 0.38), transparent 14rem),
    linear-gradient(135deg, #202329, #050608);
}

.match-featured-hero__visual[data-promotion="NOAH"],
.match-featured-card__visual[data-promotion="NOAH"],
.match-guide-card__visual[data-promotion="NOAH"] {
  background:
    radial-gradient(circle at 72% 18%, rgba(47, 143, 91, 0.38), transparent 14rem),
    linear-gradient(135deg, #1f2622, #050706);
}

.match-featured-hero__visual[data-promotion="Michinoku Pro"],
.match-guide-card__visual[data-promotion="Michinoku Pro"] {
  background:
    radial-gradient(circle at 72% 18%, rgba(122, 111, 168, 0.4), transparent 14rem),
    linear-gradient(135deg, #211f2a, #060508);
}

.match-featured-hero__visual[data-promotion="BJW"],
.match-guide-card__visual[data-promotion="BJW"] {
  background:
    radial-gradient(circle at 72% 18%, rgba(120, 120, 120, 0.34), transparent 14rem),
    linear-gradient(135deg, #232323, #050505);
}

.match-featured-hero__visual__initials,
.match-featured-card__visual__initials,
.match-guide-card__visual__initials {
  bottom: clamp(1rem, 3vw, 2rem);
  color: rgba(var(--on-accent-rgb), 0.1);
  font-family: var(--display);
  font-size: clamp(4rem, 12vw, 10rem);
  font-weight: 800;
  line-height: 0.78;
  position: absolute;
  right: clamp(1rem, 3vw, 2rem);
  text-transform: uppercase;
}

.is-image-backed .match-featured-hero__visual__initials,
.is-image-backed .match-featured-card__visual__initials,
.is-image-backed .match-guide-card__visual__initials {
  display: none;
}

.match-featured-hero__visual__initials {
  bottom: auto;
  color: rgba(var(--shadow-rgb), 0.42);
  filter: blur(0.5px);
  font-size: clamp(8rem, 22vw, 18rem);
  mix-blend-mode: multiply;
  right: clamp(0.5rem, 4vw, 3.5rem);
  text-shadow:
    0 0 4rem rgba(var(--accent-red-rgb), 0.18),
    0 1.4rem 4.5rem rgba(0, 0, 0, 0.85);
  top: 46%;
  transform: translateY(-50%);
  z-index: 1;
}

.match-featured-hero__content {
  align-self: end;
  display: grid;
  gap: 0.65rem;
  max-width: 820px;
  position: relative;
  z-index: 2;
}

.match-featured-card__content {
  align-self: end;
  display: grid;
  gap: 0.65rem;
  max-width: 760px;
  position: relative;
  z-index: 2;
}

.match-featured-hero__eyebrow,
.match-featured-card__eyebrow,
.match-guide-card__label {
  color: var(--accent-red);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.match-featured-hero__title,
.match-featured-card__title {
  color: var(--on-accent);
  font-family: var(--display);
  font-size: clamp(2.45rem, 7vw, 6.7rem);
  line-height: 0.84;
  margin: 0;
  max-width: 12ch;
  text-transform: uppercase;
}

.match-featured-hero__meta,
.match-featured-card__meta,
.match-guide-card__meta {
  color: rgba(var(--on-accent-rgb), 0.72);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.3;
  margin: 0;
  text-transform: uppercase;
}

.match-featured-hero__hook,
.match-featured-hero__why,
.match-featured-card__hook,
.match-featured-card__why {
  color: rgba(var(--on-accent-rgb), 0.88);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  font-weight: 800;
  line-height: 1.45;
  margin: 0;
  max-width: 760px;
}

.match-featured-hero__why,
.match-featured-card__why {
  color: rgba(var(--on-accent-rgb), 0.74);
  font-size: 0.98rem;
  max-width: 680px;
}

.match-featured__controls {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}

.match-featured__control,
.match-filter-button {
  -webkit-appearance: none;
  appearance: none;
  background: rgba(var(--text-primary-rgb), 0.04);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  color: var(--text-primary);
  cursor: pointer;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  min-height: 2.4rem;
  padding: 0.72rem 0.85rem;
  text-transform: uppercase;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.match-featured__control {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
  overflow: hidden;
}

.match-featured__control-icon {
  font-size: 1rem;
  line-height: 1;
  transition: transform 180ms ease;
}

.match-featured__control:hover,
.match-featured__control:focus-visible,
.match-filter-button:hover,
.match-filter-button:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.12);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  outline: none;
  transform: translateY(-1px);
}

.match-featured__control:hover .match-featured__control-icon,
.match-featured__control:focus-visible .match-featured__control-icon {
  transform: translateX(2px);
}

.match-featured__control:first-child:hover .match-featured__control-icon,
.match-featured__control:first-child:focus-visible .match-featured__control-icon {
  transform: translateX(-2px);
}

  .match-featured__control:focus-visible,
  .match-filter-button:focus-visible,
  .match-filter-menu__button:focus-visible,
  .match-filter-menu__option:focus-visible,
  .watch-button:focus-visible,
  .match-btn:focus-visible,
  .match-guide-card:focus-visible {
  outline: 2px solid var(--accent-red);
  outline-offset: 3px;
}

.match-filter-panel {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    rgba(var(--bg-primary-rgb), 0.97);
  border: 1px solid rgba(var(--text-primary-rgb), 0.28);
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  padding: 0.75rem;
}

.match-filter-panel__label {
  color: var(--accent-red);
  flex: 0 0 100%;
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.match-filter-group {
  display: grid;
  gap: 0.42rem;
}

.match-filter-group__label {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.match-filter-group__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.match-filter-menu {
  position: relative;
}

.match-filter-menu::before {
  background: var(--accent-red);
  content: "";
  height: 2px;
  left: 0.85rem;
  position: absolute;
  top: 0;
  width: 3.4rem;
  z-index: 1;
}

.match-filter-menu__button {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.045);
  border: 1px solid rgba(var(--text-primary-rgb), 0.24);
  border-radius: 0;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  gap: 1rem;
  justify-content: space-between;
  letter-spacing: 0.04em;
  line-height: 1.2;
  min-height: 3.25rem;
  padding: 0.9rem 2.75rem 0.85rem 1rem;
  text-transform: uppercase;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
  width: 100%;
}

.match-filter-menu__button:hover,
.match-filter-menu__button:focus-visible,
.match-filter-menu.is-open .match-filter-menu__button {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  transform: translateY(-1px);
}

.match-filter-menu__button-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-filter-menu__marker {
  flex: 0 0 auto;
  color: var(--accent-red);
  font-size: 1.35rem;
  line-height: 1;
  pointer-events: none;
  transition:
    color 160ms ease,
    transform 160ms ease;
}

.match-filter-menu.is-open .match-filter-menu__marker {
  color: var(--accent-red);
  transform: rotate(180deg);
}

.match-filter-menu__panel {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--text-primary-rgb), 0.02)),
    rgba(var(--bg-primary-rgb), 0.98);
  border: 1px solid rgba(var(--text-primary-rgb), 0.28);
  box-shadow: 0 18px 38px rgba(var(--shadow-rgb), 0.38);
  display: grid;
  gap: 0.25rem;
  left: 0;
  max-height: calc((2.3rem * 5) + (0.25rem * 4) + 0.9rem);
  min-width: 100%;
  opacity: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.45rem;
  pointer-events: none;
  position: absolute;
  scrollbar-color: rgba(var(--text-primary-rgb), 0.28) transparent;
  scrollbar-width: thin;
  top: calc(100% + 0.38rem);
  transform: translateY(-0.28rem);
  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 180ms ease;
  visibility: hidden;
  z-index: 60;
}

.match-filter-menu__panel::-webkit-scrollbar {
  width: 0.45rem;
}

.match-filter-menu__panel::-webkit-scrollbar-track {
  background: transparent;
}

.match-filter-menu__panel::-webkit-scrollbar-thumb {
  background: rgba(var(--text-primary-rgb), 0.24);
}

.match-filter-menu__panel[hidden] {
  display: none;
}

.match-filter-menu.is-open .match-filter-menu__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.match-filter-menu__option {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  color: rgba(var(--text-primary-rgb), 0.76);
  cursor: pointer;
  display: flex;
  font-family: var(--display);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  min-height: 2.3rem;
  padding: 0.52rem 0.62rem;
  text-align: left;
  text-transform: uppercase;
  width: 100%;
}

.match-filter-menu__option:hover,
.match-filter-menu__option:focus-visible {
  background: rgba(var(--accent-red-dark-rgb), 0.86);
  border-color: rgba(var(--accent-red-rgb), 0.55);
  color: var(--paper);
  outline: none;
}

.match-filter-menu__option[aria-selected="true"] {
  background: rgba(var(--accent-red-rgb), 0.78);
  border-color: rgba(var(--accent-red-rgb), 0.88);
  color: var(--paper);
}

.match-filter-button[aria-pressed="true"] {
  background: var(--accent-red);
  border-color: var(--accent-red);
  color: var(--on-accent);
}

.match-grid-status {
  color: rgba(var(--text-primary-rgb), 0.74);
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

.match-explorer__grid {
  align-items: stretch;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.match-guide-card {
  animation: none;
  background: rgba(var(--bg-card-rgb), 0.96);
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  color: var(--text-primary);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 26rem;
  min-height: 0;
  overflow: hidden;
  position: relative;
  transition:
    border-color 180ms ease,
    transform 180ms ease;
}

@keyframes matchCardIn {
  from {
    opacity: 0;
    transform: translateY(0.35rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.match-guide-card:hover,
.match-guide-card:focus-within {
  border-color: rgba(var(--accent-red-rgb), 0.72);
  transform: translateY(-3px);
}

.match-guide-card__visual {
  aspect-ratio: 16 / 9;
  height: auto;
  inset: auto;
  position: relative;
  transform: scale(1);
  transition: transform 220ms ease;
}

.match-guide-card:hover .match-guide-card__visual,
.match-guide-card:focus-within .match-guide-card__visual {
  transform: scale(1.025);
}

.match-guide-card__visual::after {
  background:
    linear-gradient(180deg, transparent 34%, rgba(0, 0, 0, 0.62) 100%);
  content: "";
  inset: 0;
  opacity: 0.7;
  position: absolute;
  transition: opacity 180ms ease;
}

.match-guide-card:hover .match-guide-card__visual::after,
.match-guide-card:focus-within .match-guide-card__visual::after {
  opacity: 0.92;
}

.match-guide-card__body {
  display: grid;
  gap: 0.62rem;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  min-height: 0;
  padding: 1rem;
}

.match-guide-card__title {
  color: var(--paper);
  display: -webkit-box;
  font-family: var(--display);
  font-size: clamp(1.55rem, 3vw, 2.4rem);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 0.9;
  margin: 0;
  min-height: 1.8em;
  overflow: hidden;
  text-transform: uppercase;
}

.match-guide-card__meta {
  color: rgba(var(--text-primary-rgb), 0.62);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-explorer__empty {
  --empty-state-padding: 1rem;
  --empty-state-surface: transparent;
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.48;
}

.match-action {
  align-items: start;
  display: grid;
  gap: 0.35rem;
  justify-items: start;
  margin-top: 0.12rem;
}

.match-guide-card .match-action {
  align-self: end;
  margin-top: auto;
  opacity: 1;
  transform: none;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.match-guide-card:hover .match-action,
.match-guide-card:focus-within .match-action {
  opacity: 1;
  transform: none;
}

.match-action__links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.watch-button,
.match-btn {
  --watch-accent: var(--accent-red);
  --watch-accent-rgb: var(--accent-red-rgb);
  --watch-hover: var(--accent-red-strong);
  --watch-base: rgba(var(--bg-card-rgb), 0.9);
  --watch-ink: var(--text-primary);
  align-items: start;
  background:
    linear-gradient(135deg, rgba(var(--watch-accent-rgb), 0.12), transparent 46%),
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.035), rgba(var(--shadow-rgb), 0.16)),
    var(--watch-base);
  border: 1px solid rgba(var(--watch-accent-rgb), 0.66);
  border-radius: 7px;
  box-shadow:
    inset 0 1px 0 rgba(var(--highlight-rgb), 0.06),
    0 0 0 1px rgba(var(--shadow-rgb), 0.28);
  color: var(--watch-ink);
  display: inline-grid;
  gap: 0.18rem;
  justify-items: start;
  line-height: 1.1;
  min-height: 3.25rem;
  min-width: min(100%, 12.75rem);
  padding: 0.66rem 0.9rem 0.62rem;
  text-decoration: none;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.watch-button[aria-disabled="true"],
.watch-button--disabled {
  cursor: not-allowed;
}

.match-card .watch-button,
.match-guide-card .watch-button,
.match-card .match-btn,
.match-guide-card .match-btn {
  width: 100%;
}

.watch-button:hover,
.match-btn:hover {
  background:
    linear-gradient(135deg, rgba(var(--watch-accent-rgb), 0.2), transparent 48%),
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.055), rgba(var(--shadow-rgb), 0.1)),
    rgba(var(--bg-card-rgb), 0.98);
  border-color: var(--watch-hover);
  box-shadow:
    inset 0 1px 0 rgba(var(--highlight-rgb), 0.08),
    0 0 0 1px rgba(var(--watch-accent-rgb), 0.24),
    0 0.65rem 1.35rem rgba(var(--watch-accent-rgb), 0.18);
  color: var(--text-primary);
  transform: translateY(-1px);
}

.watch-button:active,
.match-btn:active {
  transform: translateY(0);
}

.watch-button--direct,
.match-btn--direct,
.match-btn--primary {
  --watch-accent: var(--watch-youtube-accent);
  --watch-accent-rgb: var(--watch-youtube-accent-rgb);
  --watch-hover: var(--watch-youtube-hover);
}

.watch-button--direct:hover,
.match-btn--direct:hover,
.match-btn--primary:hover {
  color: var(--text-primary);
}

.watch-button--secondary,
.match-btn--secondary {
  --watch-accent: var(--text-muted);
  --watch-accent-rgb: var(--text-muted-rgb);
  --watch-hover: var(--text-secondary);
  color: var(--text-secondary);
}

.watch-button--secondary:hover,
.match-btn--secondary:hover {
  color: var(--text-primary);
}

.watch-button--youtube,
.match-btn--youtube {
  --watch-accent: var(--watch-youtube-accent);
  --watch-accent-rgb: var(--watch-youtube-accent-rgb);
  --watch-hover: var(--watch-youtube-hover);
}

.watch-button--dailymotion,
.match-btn--dailymotion {
  --watch-accent: var(--watch-dailymotion-accent);
  --watch-accent-rgb: var(--watch-dailymotion-accent-rgb);
  --watch-hover: var(--watch-dailymotion-hover);
}

.watch-button--njpw,
.match-btn--njpw {
  --watch-accent: var(--watch-njpw-accent);
  --watch-accent-rgb: var(--watch-njpw-accent-rgb);
  --watch-hover: var(--watch-njpw-hover);
}

.watch-button--ajpw,
.match-btn--ajpw {
  --watch-accent: var(--watch-ajpw-accent);
  --watch-accent-rgb: var(--watch-ajpw-accent-rgb);
  --watch-hover: var(--watch-ajpw-hover);
}

.watch-button--disabled,
.match-btn--disabled {
  background: rgba(var(--text-primary-rgb), 0.065);
  border-color: rgba(var(--text-primary-rgb), 0.22);
  box-shadow: none;
  color: var(--text-muted);
  pointer-events: none;
}

.watch-button__label,
.match-btn__label {
  align-items: center;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 800;
  gap: 0.28rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.watch-button__label::before,
.match-btn__label::before {
  background: var(--watch-accent);
  box-shadow: 0 0 0.55rem rgba(var(--watch-accent-rgb), 0.48);
  content: "";
  display: inline-block;
  height: 0.46rem;
  width: 0.46rem;
}

.watch-button__sublabel,
.match-btn__sublabel {
  color: currentColor;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  line-height: 1.15;
  opacity: 0.68;
  text-transform: none;
}

.watch-button--direct .watch-button__sublabel,
.match-btn--direct .match-btn__sublabel,
.match-btn--primary .match-btn__sublabel {
  color: currentColor;
  opacity: 0.72;
}

.watch-button--disabled .watch-button__sublabel,
.match-btn--disabled .match-btn__sublabel {
  color: currentColor;
  opacity: 0.84;
}

.match-btn__icon {
  font-size: 0.86em;
  line-height: 1;
  transform: translateY(-0.04rem);
}

.match-explorer__empty {
  border: var(--empty-state-border);
}

[data-theme="modern-showa"] .match-guide-shell,
[data-theme="modern-showa"] .match-filter-panel,
[data-theme="modern-showa"] .match-guide-card {
  background: #ffffff;
  box-shadow: none;
}

[data-theme="modern-showa"] .match-featured-card--active {
  box-shadow: none;
}

[data-theme="modern-showa"] .match-guide-card,
[data-theme="modern-showa"] .match-filter-panel {
  border-color: rgba(0, 0, 0, 0.16);
}

[data-theme="modern-showa"] .match-filter-menu__button,
[data-theme="modern-showa"] .match-filter-menu__panel,
[data-theme="modern-showa"] .match-filter-menu__option {
  background: var(--surface);
  border-color: var(--border-strong);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="modern-showa"] .match-filter-menu__panel {
  border-color: var(--text-primary);
}

[data-theme="modern-showa"] .match-filter-menu__button:hover,
[data-theme="modern-showa"] .match-filter-menu__button:focus-visible,
[data-theme="modern-showa"] .match-filter-menu.is-open .match-filter-menu__button {
  background: #f6f6f6;
  border-color: var(--accent-red);
}

[data-theme="modern-showa"] .match-filter-menu__option:hover,
[data-theme="modern-showa"] .match-filter-menu__option:focus-visible {
  background: #f6f6f6;
  color: var(--text-primary);
}

[data-theme="modern-showa"] .match-filter-menu__option[aria-selected="true"] {
  background: var(--text-primary);
  border-color: var(--text-primary);
  color: var(--on-accent);
}

[data-theme="archival-dark"] .match-guide-card__title,
[data-theme="dark"] .match-guide-card__title,
[data-theme="archival-dark"] .match-guide-section-heading h2,
[data-theme="dark"] .match-guide-section-heading h2 {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .watch-button--secondary,
[data-theme="dark"] .watch-button--secondary,
[data-theme="archival-dark"] .match-btn--secondary,
[data-theme="dark"] .match-btn--secondary {
  background: rgba(var(--text-primary-rgb), 0.055);
  border-color: rgba(var(--accent-red-rgb), 0.52);
  color: var(--text-primary);
}

[data-theme="archival-dark"] .watch-button--secondary .watch-button__sublabel,
[data-theme="dark"] .watch-button--secondary .watch-button__sublabel,
[data-theme="archival-dark"] .match-btn--secondary .match-btn__sublabel,
[data-theme="dark"] .match-btn--secondary .match-btn__sublabel {
  color: var(--accent-red-strong);
  opacity: 1;
}

[data-theme="showa-light"] .watch-button--secondary,
[data-theme="modern-showa"] .watch-button--secondary,
[data-theme="showa-light"] .match-btn--secondary,
[data-theme="modern-showa"] .match-btn--secondary {
  background: var(--surface);
  border-color: rgba(var(--accent-red-rgb), 0.66);
  color: var(--accent-red-dark);
}

[data-theme="showa-light"] .watch-button--secondary .watch-button__sublabel,
[data-theme="modern-showa"] .watch-button--secondary .watch-button__sublabel,
[data-theme="showa-light"] .match-btn--secondary .match-btn__sublabel,
[data-theme="modern-showa"] .match-btn--secondary .match-btn__sublabel {
  color: var(--text-primary);
  opacity: 0.78;
}

.watch-button:focus-visible,
.match-btn:focus-visible {
  outline: 2px solid var(--watch-accent, var(--accent-red));
  outline-offset: 3px;
  box-shadow:
    var(--focus-ring),
    0 0 0 1px rgba(var(--watch-accent-rgb, var(--accent-red-rgb)), 0.74),
    0 0.75rem 1.4rem rgba(var(--watch-accent-rgb, var(--accent-red-rgb)), 0.18);
}

/* Venues archive */

.venues-site-header {
  background: #050505;
  border-bottom-color: rgba(245, 245, 240, 0.16);
}

.venues-header-actions {
  flex: 1;
  flex-wrap: nowrap;
  min-width: 0;
}

.venues-nav {
  flex: 1;
  flex-wrap: nowrap;
  gap: clamp(0.7rem, 1.35vw, 1.35rem);
  justify-content: center;
  min-width: 0;
}

.venues-nav a {
  color: var(--text-secondary);
}

.venues-nav a[aria-current="page"] {
  color: var(--accent-red-strong);
}

.venues-nav a[aria-current="page"]::after {
  background: var(--accent-red-strong);
}

.venues-header-search {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025)),
    #0b0c0d;
  border: 1px solid rgba(245, 245, 240, 0.16);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.42);
  box-sizing: border-box;
  color: var(--text-secondary);
  display: flex;
  flex: 0 1 clamp(12rem, 17vw, 17rem);
  gap: 0.55rem;
  height: 2.45rem;
  min-width: 11rem;
  padding: 0 0.75rem;
}

.venues-header-search .material-symbols-outlined {
  color: var(--text-secondary);
  font-size: 1.15rem;
}

.venues-header-search input {
  background: transparent;
  border: 0;
  color: var(--text-primary);
  font: 700 0.86rem var(--body);
  min-width: 0;
  outline: 0;
  width: 100%;
}

.venues-header-search input::placeholder {
  color: var(--text-muted);
}

.venues-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-red-rgb), 0.08), transparent 34rem),
    linear-gradient(180deg, #050505 0%, #090909 100%);
  box-sizing: border-box;
  color: var(--text-primary);
  min-height: calc(100vh - var(--site-header-height));
  overflow: visible;
  padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem) clamp(3.5rem, 6vw, 5rem);
  position: relative;
}

.venues-page::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px);
  background-size: 28px 28px;
  content: "";
  inset: 0;
  opacity: 0.22;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.venues-shell {
  background:
    linear-gradient(90deg, rgba(var(--accent-red-rgb), 0.06), transparent 19rem, transparent calc(100% - 24rem), rgba(var(--accent-red-rgb), 0.035)),
    #08090a;
  border: 1px solid rgba(245, 245, 240, 0.16);
  box-sizing: border-box;
  display: grid;
  gap: clamp(0.9rem, 1.5vw, 1.2rem);
  grid-template-columns: minmax(250px, 0.76fr) minmax(0, 2.15fr) minmax(330px, 0.95fr);
  margin-inline: auto;
  max-width: 1720px;
  min-height: calc(100vh - var(--site-header-height));
  position: relative;
  width: 100%;
  z-index: 1;
}

.venues-sidebar,
.venues-main,
.venue-detail {
  box-sizing: border-box;
  position: relative;
}

.venue-detail[data-empty] {
  display: none;
}

.venues-sidebar,
.venue-detail {
  align-self: start;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)),
    #08090a;
  height: calc(100vh - var(--site-header-height));
  overflow-y: auto;
  position: sticky;
  top: var(--site-header-height);
}

.venues-sidebar {
  border-right: 1px solid rgba(245, 245, 240, 0.14);
  padding: 1.65rem 0.65rem 1.8rem;
}

.venues-sidebar__head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 0 1.25rem;
  padding: 0 0.65rem;
}

.venues-sidebar__head h2,
.venue-filter-group__title,
.venues-main__intro h1,
.venues-main__subtitle,
.venue-card__title,
.venue-detail__header h2,
.venue-detail__section-title,
.venues-load-more,
.venues-clear,
.venue-cta {
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.venues-sidebar__head h2 {
  color: var(--text-primary);
  font-size: 1.08rem;
  margin: 0;
}

.venues-clear {
  background: transparent;
  border: 0;
  color: var(--accent-red-strong);
  cursor: pointer;
  font-size: 0.82rem;
  padding: 0.25rem;
}

.venue-filter-stack {
  border: 1px solid rgba(245, 245, 240, 0.14);
  border-radius: 6px;
  overflow: hidden;
}

.venue-filter-group {
  border-bottom: 1px solid rgba(245, 245, 240, 0.12);
  padding: 1.05rem 0.95rem;
}

.venue-filter-group:last-child {
  border-bottom: 0;
}

.venue-filter-group__title {
  align-items: center;
  color: var(--text-primary);
  display: flex;
  font-size: 0.82rem;
  gap: 0.6rem;
  margin: 0 0 0.85rem;
}

.venue-filter-group__title .material-symbols-outlined {
  color: var(--accent-red-strong);
  font-size: 1rem;
}

.venue-filter-option {
  align-items: center;
  color: var(--text-secondary);
  cursor: pointer;
  display: grid;
  font-size: 0.84rem;
  font-weight: 700;
  gap: 0.55rem;
  grid-template-columns: 1rem 1fr auto;
  line-height: 1.2;
  padding: 0.42rem 0;
}

.venue-filter-option input {
  appearance: none;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(245, 245, 240, 0.25);
  border-radius: 3px;
  height: 1rem;
  margin: 0;
  position: relative;
  width: 1rem;
}

.venue-filter-option input:checked {
  background: var(--accent-red-strong);
  border-color: var(--accent-red-strong);
}

.venue-filter-option input:checked::after {
  color: var(--on-accent);
  content: "✓";
  font-size: 0.74rem;
  font-weight: 800;
  left: 50%;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -52%);
}

.venue-filter-option input:focus-visible {
  outline: 2px solid var(--accent-red-strong);
  outline-offset: 2px;
}

.venue-filter-option__count {
  color: var(--text-muted);
  font-weight: 800;
}

.venues-view-all {
  align-items: center;
  background: transparent;
  border: 0;
  color: rgba(var(--text-primary-rgb), 0.58);
  cursor: pointer;
  display: inline-flex;
  font: 800 0.76rem var(--display);
  justify-content: flex-start;
  letter-spacing: 0;
  margin-top: 0.8rem;
  padding: 0.2rem 0;
  text-transform: uppercase;
}

.venues-view-all:hover,
.venues-view-all:focus-visible {
  color: rgba(var(--text-primary-rgb), 0.82);
  outline: none;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.venues-main {
  --venues-main-pad: clamp(1.5rem, 2.2vw, 2rem);
  background:
    radial-gradient(circle at 66% 10%, rgba(64, 119, 173, 0.08), transparent 20rem),
    radial-gradient(circle at 16% 12%, rgba(var(--accent-red-rgb), 0.08), transparent 20rem),
    #070909;
  min-width: 0;
  padding: var(--venues-main-pad);
}

.venues-main__sticky {
  background:
    radial-gradient(circle at 66% 10%, rgba(64, 119, 173, 0.08), transparent 20rem),
    radial-gradient(circle at 16% 12%, rgba(var(--accent-red-rgb), 0.08), transparent 20rem),
    linear-gradient(180deg, #070909 0%, rgba(7, 9, 9, 0.96) 100%);
  border-bottom: 1px solid rgba(245, 245, 240, 0.22);
  box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, 0.34);
  margin: calc(var(--venues-main-pad) * -1) calc(var(--venues-main-pad) * -1) 1.05rem;
  padding: var(--venues-main-pad) var(--venues-main-pad) 1rem;
  position: sticky;
  top: var(--site-header-height);
  z-index: 8;
}

.venues-main__intro {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.8rem;
}

.venues-main__intro h1 {
  color: var(--text-primary);
  font-size: clamp(2.7rem, 4vw, 4.2rem);
  line-height: 0.85;
  margin: 0 0 0.55rem;
}

.venues-main__subtitle {
  color: var(--accent-red-strong);
  font-size: clamp(1.05rem, 1.5vw, 1.45rem);
  margin: 0 0 0.8rem;
}

.venues-main__copy {
  color: var(--text-secondary);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.55;
  margin: 0;
  max-width: 32rem;
}

.venue-map {
  --venue-map-land: #f5f5f0;
  min-height: 18rem;
  position: relative;
}

.venue-map__canvas {
  aspect-ratio: 1000 / 846;
  height: clamp(15rem, 24vw, 22rem);
  margin: -3rem auto -1rem;
  max-width: 100%;
  position: relative;
  width: min(34rem, 100%);
}

.venue-map__shape {
  background: var(--venue-map-land);
  filter: drop-shadow(0 0 12px rgba(245, 245, 240, 0.18));
  inset: 0;
  opacity: 0.9;
  position: absolute;
}

.venue-map__svg {
  display: block;
  height: 100%;
  inset: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  overflow: visible;
  position: absolute;
  width: 100%;
}

.venue-map__pin {
  cursor: pointer;
  outline: none;
}

.venue-map__pin circle {
  stroke: rgba(255, 255, 255, 0.9);
  stroke-width: 2;
  transition: transform 180ms ease, stroke-width 180ms ease;
}

.venue-map__pin:focus-visible circle,
.venue-map__pin:hover circle,
.venue-map__pin.is-active circle {
  stroke-width: 4;
  transform: scale(1.22);
  transform-origin: center;
}

.venue-map__pin--sacred circle {
  fill: var(--accent-red-strong);
}

.venue-map__pin--big circle {
  fill: #e7a642;
}

.venue-map__pin--tour circle {
  fill: #78b7ff;
}

.venue-map__pin--historic circle {
  fill: #e6e3db;
}

.venue-map__legend {
  background: rgba(5, 5, 5, 0.72);
  border: 1px solid rgba(245, 245, 240, 0.22);
  border-radius: 6px;
  display: grid;
  gap: 0.6rem;
  padding: 0.85rem 1rem;
  position: absolute;
  right: 0.15rem;
  top: 0.8rem;
}

.venue-map__legend span {
  align-items: center;
  color: var(--text-secondary);
  display: flex;
  font-size: 0.76rem;
  font-weight: 700;
  gap: 0.55rem;
}

.legend-dot {
  border-radius: 50%;
  display: inline-block;
  height: 0.62rem;
  width: 0.62rem;
}

.legend-dot--sacred {
  background: var(--accent-red-strong);
}

.legend-dot--big {
  background: #e7a642;
}

.legend-dot--tour {
  background: #78b7ff;
}

.legend-dot--historic {
  background: #e6e3db;
}

.venues-toolbar {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0.25rem 0 1.05rem;
}

.venues-toolbar-search {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025)),
    #0b0c0d;
  border: 1px solid rgba(245, 245, 240, 0.16);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.42);
  box-sizing: border-box;
  color: var(--text-secondary);
  display: flex;
  flex: 0 0 clamp(10rem, 12vw, 12rem);
  gap: 0.55rem;
  height: 2.6rem;
  margin-left: auto;
  max-width: 12rem;
  min-width: 10rem;
  padding: 0 0.75rem;
}

.venues-toolbar-search .material-symbols-outlined {
  color: var(--text-secondary);
  font-size: 1.15rem;
}

.venues-toolbar-search input {
  background: transparent;
  border: 0;
  color: var(--text-primary);
  font: 700 0.86rem var(--body);
  min-width: 0;
  outline: 0;
  width: 100%;
}

.venues-toolbar-search input::placeholder {
  color: var(--text-muted);
}

.venues-sort {
  align-items: center;
  display: flex;
  gap: 0.65rem;
}

.venues-sort span {
  color: var(--text-muted);
  font: 800 0.66rem var(--display);
  text-transform: uppercase;
}

.venues-sort select {
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, rgba(245, 245, 240, 0.8) 50%) calc(100% - 1.1rem) 52% / 0.4rem 0.4rem no-repeat,
    #101112;
  border: 1px solid rgba(245, 245, 240, 0.22);
  color: var(--text-primary);
  font: 700 0.82rem var(--body);
  height: 2.6rem;
  min-width: 10rem;
  padding: 0 2rem 0 0.85rem;
}

/* ── View toggle (List / Map) ──────────────────────────── */
.venues-view-toggle {
  border: 1px solid rgba(245, 245, 240, 0.22);
  display: flex;
  flex-shrink: 0;
  overflow: hidden;
}

.venues-view-toggle__btn {
  align-items: center;
  background: rgba(245, 245, 240, 0.06);
  border: 0;
  border-right: 1px solid rgba(245, 245, 240, 0.22);
  color: var(--text-secondary);
  cursor: pointer;
  display: flex;
  gap: 0.42rem;
  height: var(--lens-preview-control-height);
  justify-content: center;
  padding: 0 0.8rem;
  transition: background 0.15s, color 0.15s;
  min-width: 5.3rem;
  position: relative;
  width: auto;
}

.venues-view-toggle__btn:last-child {
  border-right: 0;
}

.venues-view-toggle__btn .material-symbols-outlined {
  font-size: 1.25rem;
}

.venues-view-toggle__label {
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.venues-view-toggle__btn:hover {
  background: rgba(245, 245, 240, 0.12);
  color: var(--text-primary);
}

.venues-view-toggle__btn--active {
  background: var(--accent-red-strong);
  color: #fff;
}

.venues-view-toggle__btn--active:hover {
  background: var(--red);
  color: #fff;
}

[data-venues-page] [data-view-toggle="map"][aria-pressed="false"] {
  --red-pulse-rest-opacity: 0.16;
  --red-pulse-peak-opacity: 0.44;
  isolation: isolate;
  overflow: hidden;
}

[data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::before {
  animation: redPulseWash 4.8s ease-in-out infinite;
  background: rgba(var(--accent-red-rgb), 0.2);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

[data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::after {
  animation: rivalryStrokeSweep 7s linear infinite;
  background:
    conic-gradient(
      from var(--rivalry-stroke-angle),
      transparent 0deg,
      transparent 32deg,
      rgba(var(--accent-red-rgb), 0.1) 64deg,
      rgba(var(--accent-red-rgb), 0.76) 108deg,
      rgba(var(--accent-red-rgb), 0.12) 150deg,
      transparent 184deg,
      transparent 214deg,
      rgba(var(--accent-red-rgb), 0.12) 244deg,
      rgba(var(--accent-red-rgb), 0.82) 288deg,
      rgba(var(--accent-red-rgb), 0.14) 332deg,
      transparent 360deg
    );
  content: "";
  inset: 0;
  opacity: 0.78;
  padding: 2px;
  pointer-events: none;
  position: absolute;
  z-index: 1;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

[data-venues-page] [data-view-toggle="map"] > * {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  [data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::before {
    animation: none;
    opacity: var(--red-pulse-peak-opacity, 0.38);
  }

  [data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::after {
    animation: none;
  }
}

.wrestlers-view-toggle {
  display: none;
}

.wrestlers-view-toggle__rivalries-icon {
  display: inline-flex;
  flex: 0 0 auto;
  height: 1.25rem;
  width: 1.25rem;
}

.wrestlers-view-toggle__rivalries-icon svg {
  display: block;
  height: 100%;
  width: 100%;
}

/* ── Map canvas ──────────────────────────────────────────── */
.venues-map-canvas {
  height: calc(100vh - 16rem);
  min-height: 420px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.venues-map-canvas[hidden] {
  display: none !important;
}

/* ── Designer SVG map ──────────────────────────────────── */

/* Dark - html prefix raises specificity above :root so it always wins */
html[data-theme="archival-dark"],
html[data-theme="dark"] {
  --jp-bg:          #0e0d0b;
  --jp-land:        rgba(92, 84, 68, 0.82);
  --jp-land-stroke: rgba(220, 206, 170, 0.3);
  --jp-ink:         var(--text-primary);
  --jp-muted:       var(--text-muted);
  --jp-graticule:   rgba(232, 227, 217, 0.07);
  --jp-accent:      var(--accent-red-strong);
  --jp-paper:       var(--bg-card);
  --jp-border:      rgba(232, 227, 217, 0.14);
  --venue-tier-1-map: #a63a32;
  --venue-tier-2-map: #8b6a2b;
  --venue-tier-3-map: #556b78;
  --venue-tier-4-map: #7f46bd;
  --venue-tier-other-map: #7f46bd;
}

/* Light */
:root,
[data-theme="showa-light"],
[data-theme="modern-showa"] {
  --jp-bg:          var(--bg-secondary);
  --jp-land:        rgba(220, 214, 202, 0.7);
  --jp-land-stroke: rgba(85, 78, 66, 0.32);
  --jp-ink:         #111111;
  --jp-muted:       var(--text-muted);
  --jp-graticule:   rgba(23, 19, 15, 0.1);
  --jp-accent:      var(--accent-red-strong);
  --jp-paper:       var(--bg-panel);
  --jp-border:      rgba(23, 19, 15, 0.18);
  --venue-tier-1-map: #a63a32;
  --venue-tier-2-map: #8b6a2b;
  --venue-tier-3-map: #556b78;
  --venue-tier-4-map: #7a4bb0;
  --venue-tier-other-map: #7a4bb0;
}

.venues-map-canvas {
  background: var(--jp-bg);
}

/* paper grain overlay */
.venues-map-canvas::before {
  background-image:
    radial-gradient(rgba(0, 0, 0, .04) 1px, transparent 1px),
    radial-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-position: 0 0, 1px 2px;
  background-size: 3px 3px, 5px 5px;
  content: "";
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.6;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

@media (max-width: 1120px), (hover: none), (pointer: coarse) {
  .venues-map-canvas::after {
    background: var(--jp-paper);
    border: 1px solid var(--jp-border);
    color: var(--jp-muted);
    content: "Tap to explore";
    font-family: var(--display);
    font-size: 0.72rem;
    font-weight: 800;
    left: clamp(0.85rem, 3vw, 1.25rem);
    letter-spacing: 0.06em;
    line-height: 1;
    padding: 0.48rem 0.62rem;
    pointer-events: none;
    position: absolute;
    text-transform: uppercase;
    top: clamp(0.85rem, 3vw, 1.25rem);
    z-index: 5;
  }
}

.jp-map-svg {
  box-sizing: border-box;
  display: block;
  height: 100%;
  padding: 76px 28px 28px;
  transform: translate(120px, -20px) scale(1.05);
  transform-origin: center center;
  width: 100%;
}

/* Graticule */
.jp-graticule line {
  stroke: var(--jp-graticule);
  stroke-dasharray: 2 4;
  stroke-width: 0.5;
}
.jp-graticule-labels text {
  fill: var(--jp-muted);
  font-family: var(--body);
  font-size: 9px;
  letter-spacing: 0.05em;
}

/* Land */
.jp-land path {
  fill: var(--jp-land);
  stroke: var(--jp-land-stroke);
  stroke-linejoin: round;
  stroke-width: 0.8;
}

.jp-land {
  filter:
    drop-shadow(0 0 6px rgba(120, 92, 52, 0.08))
    drop-shadow(0 0 2px rgba(0, 0, 0, 0.18));
}

[data-theme="showa-light"] .jp-land,
[data-theme="modern-showa"] .jp-land,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-land {
  filter: drop-shadow(0 0 1px rgba(23, 19, 15, 0.16));
}

.jp-region-separators path {
  fill: none;
  opacity: 1;
  stroke: rgba(220, 206, 170, 0.22);
  stroke-dasharray: 5 8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 0.5;
}

[data-theme="showa-light"] .jp-region-separators path,
[data-theme="modern-showa"] .jp-region-separators path,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-region-separators path {
  opacity: 1;
  stroke: rgba(85, 78, 66, 0.18);
}

/* Region labels */
.jp-region-labels text {
  fill: rgba(238, 228, 202, 0.82);
  font-family: var(--display);
  font-size: 19.75px;
  font-weight: 800;
  letter-spacing: 0.12em;
  opacity: 1;
  pointer-events: none;
  text-transform: uppercase;
}

[data-theme="showa-light"] .jp-region-labels text,
[data-theme="modern-showa"] .jp-region-labels text,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-region-labels text {
  fill: rgba(35, 32, 28, 0.68);
}

/* Compass */
.jp-compass circle,
.jp-compass line {
  stroke: var(--jp-ink);
  stroke-width: 0.8;
  opacity: 0.5;
}
.jp-compass circle { fill: none; }
.jp-compass text {
  fill: var(--jp-ink);
  font-family: var(--display);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  opacity: 0.5;
}

/* Beacons */
.jp-beacon { cursor: pointer; }
.jp-beacon[data-tier],
.jp-inset-beacon[data-tier],
.jp-legend-dot[data-tier],
.venues-map-list-item[data-tier],
.venues-map-list-item__dot[data-tier],
.venue-card__tier[data-tier],
.venue-stat[data-tier] {
  --venue-map-tier-color: var(--venue-tier-other-map);
}

.jp-beacon[data-tier="historic"],
.jp-inset-beacon[data-tier="historic"],
.jp-legend-dot[data-tier="historic"],
.venues-map-list-item[data-tier="historic"],
.venues-map-list-item__dot[data-tier="historic"],
.venue-card__tier[data-tier="historic"],
.venue-stat[data-tier="historic"] {
  --venue-map-tier-color: #d6a34a;
}

.jp-beacon[data-tier="tier-1"],
.jp-inset-beacon[data-tier="tier-1"],
.jp-legend-dot[data-tier="tier-1"],
.venues-map-list-item[data-tier="tier-1"],
.venues-map-list-item__dot[data-tier="tier-1"],
.venue-card__tier[data-tier="tier-1"],
.venue-stat[data-tier="tier-1"] {
  --venue-map-tier-color: var(--venue-tier-1-map);
}
.jp-beacon[data-tier="tier-2"],
.jp-inset-beacon[data-tier="tier-2"],
.jp-legend-dot[data-tier="tier-2"],
.venues-map-list-item[data-tier="tier-2"],
.venues-map-list-item__dot[data-tier="tier-2"],
.venue-card__tier[data-tier="tier-2"],
.venue-stat[data-tier="tier-2"] {
  --venue-map-tier-color: var(--venue-tier-2-map);
}
.jp-beacon[data-tier="tier-3"],
.jp-inset-beacon[data-tier="tier-3"],
.jp-legend-dot[data-tier="tier-3"],
.venues-map-list-item[data-tier="tier-3"],
.venues-map-list-item__dot[data-tier="tier-3"],
.venue-card__tier[data-tier="tier-3"],
.venue-stat[data-tier="tier-3"] {
  --venue-map-tier-color: var(--venue-tier-3-map);
}
.jp-beacon[data-tier="tier-4"],
.jp-inset-beacon[data-tier="tier-4"],
.jp-legend-dot[data-tier="tier-4"],
.venues-map-list-item[data-tier="tier-4"],
.venues-map-list-item__dot[data-tier="tier-4"],
.venue-card__tier[data-tier="tier-4"],
.venue-stat[data-tier="tier-4"] {
  --venue-map-tier-color: var(--venue-tier-4-map);
}
.jp-beacon-hit {
  fill: transparent;
  pointer-events: all;
  stroke: transparent;
}
.jp-beacon-dot {
  fill: var(--jp-accent);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.22));
  stroke: var(--jp-paper);
  stroke-width: 1.5;
  transition: filter 200ms ease, transform 200ms ease;
}
.jp-beacon:hover .jp-beacon-dot { 
  filter: drop-shadow(0 0 7px rgba(var(--highlight-rgb), 0.75));
  transform: scale(1.5);
}
.jp-beacon.is-active .jp-beacon-dot {
  fill: var(--accent-red-dark);
  transform: none;
}
.jp-beacon[data-tier] .jp-beacon-dot,
.jp-inset-beacon[data-tier] .jp-beacon-dot,
.jp-beacon[data-tier].is-active .jp-beacon-dot,
.jp-inset-beacon[data-tier].is-active .jp-beacon-dot {
  fill: var(--venue-map-tier-color);
}

.jp-beacon-pulse {
  animation: none;
  fill: var(--jp-accent);
  opacity: 0;
  transition: opacity 180ms ease, transform 180ms ease;
  transform-box: fill-box;
  transform-origin: center;
}
.jp-beacon[data-tier] .jp-beacon-pulse,
.jp-inset-beacon[data-tier] .jp-beacon-pulse {
  fill: var(--venue-map-tier-color);
}

.jp-beacon[data-tier]:hover .jp-beacon-pulse,
.jp-inset-beacon[data-tier]:hover .jp-beacon-pulse {
  opacity: 0.16;
  transform: scale(1.65);
}

/* Pulse only on the selected beacon */
.jp-beacon.is-active .jp-beacon-pulse,
.jp-inset-beacon.is-active .jp-beacon-pulse {
  animation: jpPulse 2.4s ease-out infinite;
}
.jp-beacon.is-active .jp-beacon-pulse-2,
.jp-inset-beacon.is-active .jp-beacon-pulse-2 {
  animation-delay: 1.2s;
}

@keyframes jpPulse {
  0%   { opacity: 0.32; transform: scale(0.6); }
  80%  { opacity: 0;    transform: scale(2.4); }
  100% { opacity: 0;    transform: scale(2.4); }
}

/* Cluster - isolation ensures the solid dot fully covers the callout line */
.jp-beacon-cluster { isolation: isolate; }
.jp-beacon-cluster .jp-beacon-dot {
  fill: #ffffff;
  stroke: var(--accent-red);
  stroke-width: 2;
}
.jp-cluster-count {
  fill: var(--accent-red);
  font-family: var(--display);
  font-size: 26px;
  font-weight: 800;
  pointer-events: none;
}

.jp-cluster-label {
  fill: rgba(238, 228, 202, 0.82);
  font-family: var(--display);
  font-size: 19.75px;
  font-weight: 800;
  letter-spacing: 0.12em;
  pointer-events: none;
  text-transform: uppercase;
}

[data-theme="archival-dark"] .jp-beacon-cluster .jp-beacon-dot,
[data-theme="dark"] .jp-beacon-cluster .jp-beacon-dot {
  fill: var(--jp-paper);
}

[data-theme="archival-dark"] .jp-cluster-count,
[data-theme="dark"] .jp-cluster-count,
[data-theme="dark"] .jp-cluster-count {
  fill: var(--text-primary);
}

/* Callout dashed line */
.jp-inset-callout {
  opacity: 0.55;
  stroke: #111111;
  stroke-width: 1;
}

[data-theme="archival-dark"] .jp-inset-callout,
[data-theme="dark"] .jp-inset-callout {
  opacity: 0.78;
  stroke: rgba(228, 216, 186, 0.38);
  stroke-width: 1.1;
}

/* Legend - pinned to the top of the map canvas */
.jp-legend {
  align-items: center;
  background: var(--jp-paper);
  border: 0;
  border-bottom: 1px solid var(--jp-border);
  box-shadow: 0 10px 22px rgba(var(--shadow-rgb), 0.16);
  display: flex;
  gap: clamp(0.6rem, 1.1vw, 1rem);
  font-size: 13px;
  justify-content: center;
  left: 0;
  min-height: 52px;
  overflow-x: auto;
  padding: 0.72rem clamp(0.85rem, 2vw, 1.35rem);
  position: absolute;
  right: 0;
  scrollbar-width: thin;
  top: 0;
  z-index: 5;
}
.jp-legend-row {
  align-items: center;
  color: var(--jp-ink);
  display: flex;
  flex: 0 0 auto;
  font-family: var(--body);
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  line-height: 1;
  padding: 0;
  white-space: nowrap;
}

.jp-map-note {
  display: none;
}

.jp-legend-dot {
  background: var(--jp-accent);
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  height: 11px;
  width: 11px;
}
.jp-legend-dot[data-tier] {
  background: var(--venue-map-tier-color);
  box-shadow:
    0 0 0 1px var(--jp-paper),
    0 1px 2px rgba(var(--shadow-rgb), 0.18);
}
.jp-legend-cluster {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--accent-red);
  border-radius: 50%;
  color: var(--accent-red);
  display: inline-flex;
  flex-shrink: 0;
  font-family: var(--display);
  font-size: 13px;
  font-weight: 800;
  height: 28px;
  justify-content: center;
  width: 28px;
}

[data-theme="archival-dark"] .jp-legend-cluster,
[data-theme="dark"] .jp-legend-cluster {
  background: var(--jp-paper);
  color: var(--text-primary);
}

[data-theme="showa-light"] .jp-legend,
[data-theme="modern-showa"] .jp-legend,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-legend {
  border-bottom-color: var(--border-subtle);
  box-shadow: none;
}

/* ── Tokyo inset ─────────────────────────────────────────── */
.jp-inset {
  left: 44px;
  pointer-events: none;
  position: absolute;
  top: 70px;
  width: min(360px, 42vw);
  z-index: 3;
}
.jp-inset-frame {
  background: var(--jp-paper);
  border: 1px solid rgba(var(--highlight-rgb), 0.08);
  box-shadow: 0 0 0 1px rgba(var(--highlight-rgb), 0.035);
  overflow: hidden;
  pointer-events: auto;
}
.jp-inset-header {
  align-items: center;
  border-bottom: 1px solid rgba(var(--highlight-rgb), 0.08);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  padding: 8px 12px 7px;
}
.jp-inset-eyebrow {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.jp-inset-title {
  color: var(--jp-ink);
  font-family: var(--display);
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.jp-inset-meta {
  color: var(--jp-muted);
  font-family: var(--body);
  font-size: 11px;
  font-weight: 600;
}
.jp-inset-svg {
  background: var(--jp-bg);
  display: block;
  aspect-ratio: 468 / 348;
  height: auto;
  overflow: hidden;
  width: 100%;
}
[data-theme="showa-light"] .jp-inset-svg,
[data-theme="modern-showa"] .jp-inset-svg,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-inset-svg {
  background: #ffffff;
}
.jp-inset-grid path {
  opacity: 0.4;
  stroke: var(--jp-graticule);
  stroke-width: 0.4;
}
.jp-inset-surrounding-land {
  fill: rgba(72, 66, 54, 0.08);
}
[data-theme="showa-light"] .jp-inset-grid,
[data-theme="modern-showa"] .jp-inset-grid,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-inset-grid {
  display: none;
}
.jp-inset-ward-outline {
  fill: rgba(72, 66, 54, 0.22);
  opacity: 1;
  stroke: rgba(228, 218, 194, 0.4);
  stroke-dasharray: 2 4;
  stroke-linejoin: round;
  stroke-width: 1.1;
}

.jp-inset-waterway {
  fill: none;
  stroke: rgba(170, 186, 194, 0.62);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.45;
}

.jp-inset-waterway--sumida {
  stroke-dasharray: none;
}

.jp-inset-waterway--arakawa {
  stroke-dasharray: none;
}

[data-theme="archival-dark"] .jp-inset-ward-outline,
[data-theme="dark"] .jp-inset-ward-outline {
  fill: rgba(72, 66, 54, 0.22);
  stroke: rgba(228, 218, 194, 0.4);
  stroke-dasharray: 2 4;
  stroke-width: 1.1;
}

[data-theme="archival-dark"] .jp-inset-waterway,
[data-theme="dark"] .jp-inset-waterway {
  stroke: rgba(170, 186, 194, 0.62);
  stroke-width: 1.45;
}

[data-theme="archival-dark"] .jp-inset-surrounding-land,
[data-theme="dark"] .jp-inset-surrounding-land {
  fill: rgba(72, 66, 54, 0.12);
}

[data-theme="showa-light"] .jp-inset-frame,
[data-theme="modern-showa"] .jp-inset-frame,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-inset-frame {
  border-color: rgba(23, 19, 15, 0.1);
  box-shadow: 0 0 0 1px rgba(23, 19, 15, 0.025);
}

[data-theme="showa-light"] .jp-inset-header,
[data-theme="modern-showa"] .jp-inset-header,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-inset-header {
  border-bottom-color: rgba(23, 19, 15, 0.1);
}

[data-theme="showa-light"] .jp-inset-ward-outline,
[data-theme="modern-showa"] .jp-inset-ward-outline,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-inset-ward-outline {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.25));
  fill: rgba(230, 224, 212, 0.18);
  stroke: rgba(52, 48, 42, 0.72);
  stroke-dasharray: 2 4;
  stroke-width: 1.28;
}

[data-theme="showa-light"] .jp-inset-surrounding-land,
[data-theme="modern-showa"] .jp-inset-surrounding-land,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-inset-surrounding-land {
  fill: rgba(230, 224, 212, 0.26);
}

[data-theme="showa-light"] .jp-inset-waterway,
[data-theme="modern-showa"] .jp-inset-waterway,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .jp-inset-waterway {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.25));
  stroke: rgba(44, 64, 74, 0.76);
  stroke-dasharray: none;
  stroke-width: 1.45;
}
.jp-inset-axis {
  fill: var(--jp-ink);
  font-family: var(--body);
  font-size: 13px;
  font-weight: 700;
}
.jp-inset-beacon { cursor: pointer; }
.jp-inset-beacon .jp-beacon-dot { stroke-width: 1.5; }
.jp-inset-label {
  fill: var(--jp-ink);
  font-family: var(--display);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  opacity: 0;
  pointer-events: none;
  text-transform: uppercase;
  transition: opacity 160ms ease;
}
.jp-inset-beacon:hover .jp-inset-label,
.jp-inset-beacon.is-active .jp-inset-label { opacity: 1; }
.jp-inset-beacon.is-active .jp-beacon-dot {
  fill: var(--accent-red-dark);
  transform: none;
}
.jp-inset-beacon[data-tier].is-active .jp-beacon-dot {
  fill: var(--venue-map-tier-color);
}
.jp-inset-beacon:hover .jp-beacon-dot { transform: scale(1.5); }

.jp-tokyo-modal[hidden] {
  display: none !important;
}

@keyframes tokyoMapModalSettle {
  0% {
    opacity: 0.78;
    transform: translateY(0.35rem) scale(0.992);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 1120px),
  (min-width: 1121px) and (max-width: 1366px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  body.tokyo-map-modal-open {
    overflow: hidden;
  }

  body.tokyo-map-modal-open .venues-shell {
    position: relative;
    z-index: 1100;
  }

  .venues-map-canvas {
    min-height: min(74dvh, 46rem);
  }

  .jp-map-svg {
    height: calc(100% - clamp(4rem, 10vw, 5rem));
    max-height: calc(100% - 4rem);
    min-height: 0;
    padding: clamp(6.5rem, 18vw, 7.2rem) clamp(0.6rem, 2vw, 1.25rem) clamp(0.85rem, 2.5vw, 1.35rem);
    transform: none;
    width: 100%;
  }

  .jp-map-svg--mobile-fit .jp-region-labels text {
    font-size: 24px;
  }

  .jp-map-svg--mobile-fit .jp-cluster-label {
    font-size: 24px;
  }

  .jp-map-svg--mobile-fit .jp-cluster-count {
    fill: #ffffff;
    font-size: 40px;
  }

  .jp-map-svg--mobile-fit .jp-beacon.jp-beacon-cluster .jp-beacon-dot--mobile-cluster,
  .jp-map-svg--mobile-fit .jp-beacon.jp-beacon-cluster.is-active .jp-beacon-dot--mobile-cluster {
    fill: var(--accent-red);
    stroke: var(--accent-red);
  }

  .jp-inset-callout {
    display: none;
  }

  .jp-legend {
    justify-content: flex-start;
    left: 0;
    min-width: 0;
    right: 0;
    top: 0;
    z-index: 5;
  }

  .jp-legend-row {
    font-size: 0.82rem;
  }

  .jp-map-note {
    background: rgba(var(--shadow-rgb), 0.72);
    border: 1px solid rgba(var(--highlight-rgb), 0.12);
    color: var(--text-secondary);
    display: block;
    font-family: var(--body);
    font-size: 0.78rem;
    font-weight: 650;
    left: 0.75rem;
    line-height: 1.35;
    margin: 0;
    max-width: min(14rem, calc(100% - 1.5rem));
    padding: 0.55rem 0.65rem;
    position: absolute;
    text-transform: none;
    top: calc(52px + 0.7rem);
    z-index: 6;
  }

  .jp-tokyo-modal {
    --map-modal-inline-pad: clamp(1rem, 3vw, 1.75rem);
    --tokyo-modal-map-surface: var(--jp-bg, #0e0d0b);
    background: var(--tokyo-modal-map-surface);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-sizing: border-box;
    display: block;
    height: 100dvh;
    inset: 0;
    max-height: 100dvh;
    max-width: 100vw;
    overflow: hidden;
    padding: 0;
    position: fixed;
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.45rem);
    transition:
      opacity 180ms ease,
      transform 220ms cubic-bezier(0.32, 0.72, 0, 1);
    visibility: hidden;
    width: 100vw;
    z-index: 1000;
  }

  .jp-tokyo-modal.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .jp-tokyo-modal.is-opening .jp-tokyo-modal__card {
    animation: tokyoMapModalSettle 240ms cubic-bezier(0.2, 0.86, 0.18, 1) both;
  }

  .jp-tokyo-modal.is-closing {
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.35rem);
    visibility: visible;
  }

  .jp-tokyo-modal__close {
    align-items: center;
    background: rgba(var(--bg-primary-rgb), 0.92);
    border: 1px solid #000000;
    border-radius: 999px;
    color: var(--text-primary);
    cursor: pointer;
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    padding: 0;
    position: fixed;
    right: calc(var(--map-modal-inline-pad, 1rem) + env(safe-area-inset-right, 0px));
    top: calc(0.65rem + env(safe-area-inset-top, 0px));
    width: 2.75rem;
    z-index: 1002;
  }

  .jp-tokyo-modal__close .material-symbols-outlined {
    font-size: 1.45rem;
    line-height: 1;
  }

  .jp-tokyo-modal__close:hover,
  .jp-tokyo-modal__close:focus-visible {
    border-color: var(--accent-red);
    box-shadow: var(--focus-ring);
    outline: none;
  }

  .jp-tokyo-modal__card {
    background: var(--tokyo-modal-map-surface);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    max-height: none;
    max-width: none;
    min-height: 100%;
    width: 100%;
  }

  [data-venues-page][data-view="map"] .jp-tokyo-modal .jp-inset {
    background: var(--tokyo-modal-map-surface);
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    height: 100%;
    left: auto;
    max-width: none;
    min-width: 100%;
    min-height: 0;
    position: static;
    top: auto;
    width: 100%;
  }

  [data-venues-page][data-view="map"] .jp-tokyo-modal .jp-inset-frame {
    background: var(--tokyo-modal-map-surface);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  [data-venues-page][data-view="map"] .jp-tokyo-modal .jp-inset-header {
    background: var(--tokyo-modal-map-surface);
    box-sizing: border-box;
    flex: 0 0 auto;
    min-height: calc(4rem + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) calc(4.5rem + env(safe-area-inset-right, 0px)) 0 var(--map-modal-inline-pad);
  }

  [data-venues-page][data-view="map"] .jp-tokyo-modal .jp-inset-eyebrow {
    display: none;
  }

  [data-venues-page][data-view="map"] .jp-tokyo-modal .jp-inset-title {
    font-size: clamp(1.2rem, 3vw, 1.7rem);
  }

  [data-venues-page][data-view="map"] .jp-tokyo-modal .jp-inset-svg {
    aspect-ratio: auto;
    background: var(--tokyo-modal-map-surface);
    flex: 1 1 auto;
    height: 100%;
    max-height: none;
    max-width: none;
    min-height: 0;
    min-width: 0;
    width: 100%;
  }

  [data-venues-page][data-view="map"] .jp-tokyo-modal .jp-inset-surrounding-land {
    fill: transparent;
  }

  [data-theme="archival-dark"] .jp-tokyo-modal__close,
  [data-theme="dark"] .jp-tokyo-modal__close {
    background: rgba(5, 5, 5, 0.9);
    border-color: rgba(245, 245, 240, 0.32);
    color: var(--text-primary);
  }
}

/* ── Hover tooltip ───────────────────────────────────────── */
.jp-tooltip {
  background: var(--bg-card);
  border: 1px solid var(--jp-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  color: var(--text-primary);
  max-width: 240px;
  min-width: 180px;
  padding: 10px 14px 12px;
  pointer-events: none;
  position: fixed;
  z-index: 9999;
}
.jp-tooltip[hidden] { display: none; }
body.detail-modal-open .jp-tooltip,
body.tokyo-map-modal-open .jp-tooltip {
  display: none !important;
  visibility: hidden !important;
}
.jp-tt-eyebrow {
  color: var(--accent-red-strong);
  display: block;
  font-family: var(--display);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.2em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.jp-tt-name {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.005em;
  line-height: 1.05;
  margin-bottom: 3px;
  text-transform: uppercase;
}
.jp-tt-loc {
  color: var(--text-secondary);
  font-family: var(--body);
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 5px;
}
.jp-tt-coords {
  border-top: 1px solid var(--jp-border);
  color: var(--text-muted);
  font-family: var(--body);
  font-size: 10px;
  font-weight: 600;
  padding-top: 5px;
}

/* ── Map venue list (right panel in map mode) ──────────── */
.venues-map-list-header {
  border-bottom: 1px solid rgba(245, 245, 240, 0.13);
  padding: 1.15rem 1.45rem 0.9rem;
}

.venues-map-list-header__count {
  color: var(--text-muted);
  font: 800 0.7rem var(--display);
  letter-spacing: 0.07em;
  margin: 0;
  text-transform: uppercase;
}

.venues-map-list-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.venues-map-list-item {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(245, 245, 240, 0.07);
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  font-family: var(--body);
  gap: 0.8rem;
  padding: 0.85rem 1.45rem;
  text-align: left;
  transition: background 0.12s;
  width: 100%;
}

.venues-map-list-item:hover {
  background: rgba(245, 245, 240, 0.04);
}

.venues-map-list-item--active {
  background: rgba(var(--accent-red-rgb), 0.1);
}

.venues-map-list-item__dot {
  background: var(--accent-red-strong);
  border-radius: 50%;
  flex-shrink: 0;
  height: 0.65rem;
  width: 0.65rem;
}

.venues-map-list-item__dot[data-tier] {
  background: var(--venue-map-tier-color);
  box-shadow:
    0 0 0 1px rgba(var(--highlight-rgb), 0.42),
    0 1px 2px rgba(var(--shadow-rgb), 0.2);
}

.venues-map-list-item__body {
  display: grid;
  flex: 1;
  gap: 0.15rem;
  min-width: 0;
}

.venues-map-list-item__name {
  color: var(--text-primary);
  font-size: 0.85rem;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.venues-map-list-item__meta {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

.venues-map-list-item__arrow {
  color: var(--text-muted);
  flex-shrink: 0;
  font-size: 0.85rem;
  transition: color 0.12s, transform 0.12s;
}

.venues-map-list-item:hover .venues-map-list-item__arrow {
  color: var(--accent-red-strong);
  transform: translateX(3px);
}

/* ── Back button (map → venue list) ─────────────────────── */

/* ── Venue grid ──────────────────────────────────────────── */
.venue-grid {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
  z-index: 1;
}

.venue-grid[hidden],
.venue-grid:empty,
.venues-empty[hidden] {
  display: none !important;
}

.venue-card {
  background:
    linear-gradient(180deg, rgba(245, 245, 240, 0.055), rgba(245, 245, 240, 0.015)),
    #111213;
  border: 1px solid rgba(245, 245, 240, 0.22);
  border-radius: 7px;
  box-sizing: border-box;
  color: var(--text-primary);
  cursor: pointer;
  display: grid;
  min-height: 17rem;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: left;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.venue-card:hover,
.venue-card:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.72);
  box-shadow: 0 0 0 1px rgba(var(--accent-red-rgb), 0.32);
  outline: none;
  transform: translateY(-2px);
}

.venue-card--active {
  border-color: var(--accent-red-strong);
  box-shadow:
    0 0 0 1px rgba(var(--accent-red-rgb), 0.55),
    0 0 26px rgba(var(--accent-red-rgb), 0.18);
}

.venue-card__image {
  aspect-ratio: 16 / 9;
  background: #141414;
  display: block;
  overflow: hidden;
  position: relative;
}

.venue-image-frame img {
  display: block;
  filter: saturate(0.86) contrast(1.08) brightness(0.82);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.venue-image-fallback {
  align-items: center;
  background:
    radial-gradient(circle at 50% 32%, rgba(245, 245, 240, 0.13), transparent 8rem),
    linear-gradient(180deg, #242424, #090909);
  color: var(--text-secondary);
  display: none;
  font: 800 1rem var(--display);
  inset: 0;
  justify-content: flex-start;
  line-height: 1;
  padding: 1rem;
  position: absolute;
  text-transform: uppercase;
}

.venue-image-frame--missing .venue-image-fallback {
  display: flex;
}

.image-fallback-label {
  align-items: center;
  background:
    radial-gradient(circle at 50% 26%, rgba(var(--accent-red-rgb), 0.18), transparent 8rem),
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--shadow-rgb), 0.72));
  color: var(--text-secondary);
  display: none;
  font: 800 clamp(0.82rem, 2vw, 1rem) var(--display);
  inset: 0;
  justify-content: center;
  letter-spacing: 0.06em;
  line-height: 1.05;
  padding: 1rem;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  z-index: 1;
}

.is-image-missing > img,
.is-image-missing .beyond-category-card__media img,
.is-image-missing .styles-experimental__feature-image img,
.is-image-missing .styles-geography-card__preview img {
  opacity: 0;
}

.is-image-missing > .image-fallback-label,
.is-image-missing .image-fallback-label {
  display: flex;
}

.venue-card__marker {
  align-items: center;
  background: var(--accent-red-strong);
  border-radius: 999px;
  display: flex;
  height: 2rem;
  justify-content: center;
  position: absolute;
  right: 0.55rem;
  top: 0.55rem;
  width: 2rem;
}

.venue-card__marker .material-symbols-outlined {
  color: var(--on-accent);
  font-size: 1.1rem;
}

.venue-card__body {
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem 0.9rem 0.95rem;
}

.venue-card__title {
  color: var(--text-primary);
  display: -webkit-box;
  font-size: clamp(1.25rem, 1.45vw, 1.55rem);
  line-height: 0.95;
  min-height: 2.95rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.venue-card__city {
  color: var(--accent-red-strong);
  font-size: 0.84rem;
  font-weight: 800;
}

.venue-card__japanese {
  color: rgba(var(--text-primary-rgb), 0.64);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
}

.venue-card__meta {
  align-items: center;
  border-top: 1px solid rgba(245, 245, 240, 0.09);
  color: var(--text-secondary);
  display: flex;
  font-size: 0.8rem;
  font-weight: 700;
  justify-content: space-between;
  margin-top: 0.25rem;
  padding-top: 0.55rem;
}

.venue-card__meta span {
  align-items: center;
  display: inline-flex;
  gap: 0.25rem;
}

.venue-card__meta .material-symbols-outlined {
  font-size: 0.92rem;
}

.venues-empty {
  align-content: start;
}

.venues-empty__title {
  font-size: var(--empty-state-title-size);
}

.venues-empty__copy {
  font-size: var(--empty-state-copy-size);
}

.venues-empty__clear {
  background: transparent;
  border: 1px solid rgba(var(--accent-red-rgb), 0.52);
  color: var(--red);
  cursor: pointer;
  font-family: var(--body);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-top: var(--empty-state-action-margin);
  padding: 0.62rem 0.8rem;
  text-transform: uppercase;
}

.venues-load-more {
  align-items: center;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(245, 245, 240, 0.2);
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
  height: 3rem;
  justify-content: center;
  margin: 1.25rem auto 0;
  min-width: 14rem;
  padding: 0 1.5rem;
}

.venues-load-more .material-symbols-outlined {
  color: var(--accent-red-strong);
  font-size: 1.1rem;
}

.venue-detail {
  padding-bottom: 1.25rem;
}

.venue-detail__close {
  background: transparent;
  border: 0;
  color: var(--accent-red-strong);
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 3;
}

.venue-detail__close .material-symbols-outlined {
  font-size: 1.65rem;
}

.venue-detail__content {
  display: grid;
}

.venue-detail__hero {
  aspect-ratio: 16 / 9;
  background: #141414;
  display: block;
  overflow: hidden;
  position: relative;
}

.venue-detail__hero .venue-image-fallback {
  font-size: 1.6rem;
  padding: 1.35rem;
}

.venue-detail__header {
  border-bottom: 1px solid rgba(245, 245, 240, 0.13);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.15rem 1.45rem 1.2rem;
  position: relative;
}

.venue-detail__header h2 {
  color: var(--text-primary);
  font-size: clamp(2.15rem, 3vw, 3rem);
  grid-column: 1;
  line-height: 0.9;
  margin: 0 1rem 0.45rem 0;
  min-width: 0;
}

.venue-detail__title-line {
  display: inline-block;
  white-space: nowrap;
}

.venue-detail__location {
  color: var(--accent-red-strong);
  font-weight: 800;
  grid-column: 1;
  margin: 0;
}

.venue-detail__japanese {
  color: var(--text-secondary);
  font-size: 1rem;
  font-weight: 800;
  grid-column: 1;
  line-height: 1.2;
  margin: 0.45rem 0 0.2rem;
}

.venue-detail__status {
  align-self: start;
  background: rgba(var(--accent-red-rgb), 0.16);
  border: 1px solid rgba(var(--accent-red-rgb), 0.28);
  border-radius: 0;
  color: var(--text-secondary);
  font: 800 0.7rem var(--display);
  grid-column: 2;
  grid-row: 1 / span 3;
  justify-self: end;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.42rem 0.58rem;
  position: static;
  text-transform: uppercase;
}

.venue-detail__status--active {
  color: var(--accent-red-strong);
}

.venue-detail__status--historic {
  background: rgba(214, 163, 74, 0.18);
  border-color: rgba(214, 163, 74, 0.48);
  color: #f0c879;
}

.venue-detail__status--legacy {
  color: var(--text-secondary);
}

.venue-detail__stats {
  border-bottom: 1px solid rgba(245, 245, 240, 0.13);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 1rem 1.45rem;
}

.venue-stat {
  align-items: start;
  border-right: 1px solid rgba(245, 245, 240, 0.14);
  display: grid;
  gap: 0.25rem;
  justify-items: center;
  min-width: 0;
  padding: 0 0.7rem;
  text-align: center;
}

.venue-stat:last-child {
  border-right: 0;
}

.venue-stat .material-symbols-outlined {
  color: var(--text-muted);
  font-size: 1.05rem;
}

.venue-stat small {
  color: var(--text-muted);
  font: 800 0.65rem var(--display);
  text-transform: uppercase;
}

.venue-stat strong {
  color: var(--text-primary);
  font-size: 0.8rem;
  line-height: 1.2;
}

.venue-detail__section {
  border-bottom: 1px solid rgba(245, 245, 240, 0.13);
  padding: 1rem 1.45rem;
}

.venue-detail__section-title {
  color: var(--accent-red-strong);
  font-size: 0.82rem;
  margin: 0 0 0.7rem;
}

.venue-detail__section p {
  color: var(--text-secondary);
  font-size: 0.91rem;
  font-weight: 650;
  line-height: 1.52;
  margin: 0;
}

.venue-detail__matches {
  display: grid;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.venue-detail__matches li {
  align-items: center;
  color: var(--text-secondary);
  display: grid;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 0.8rem;
  grid-template-columns: 1fr auto auto;
}

.venue-detail__matches .material-symbols-outlined {
  color: var(--text-muted);
  font-size: 0.95rem;
}

.venue-tag {
  border: 1px solid rgba(245, 245, 240, 0.18);
  border-radius: 5px;
  color: var(--text-secondary);
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.38rem 0.55rem;
}

.venue-detail__actions {
  display: grid;
  gap: 0.65rem;
  padding: 1rem 1.45rem 0;
}

.venue-cta {
  align-items: center;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(245, 245, 240, 0.18);
  color: var(--text-primary);
  display: flex;
  font-size: 0.88rem;
  height: 3rem;
  justify-content: center;
  padding: 0 1rem;
}

.venue-cta .material-symbols-outlined {
  font-size: 1.1rem;
  margin-left: auto;
}

.venue-cta--primary {
  background: linear-gradient(90deg, var(--accent-red-strong), #9d070f);
  border-color: var(--accent-red-strong);
  color: var(--on-accent);
}

.venue-detail__empty {
  align-content: center;
  min-height: 38rem;
  padding: 2rem;
  text-align: center;
}

.venue-detail__empty h2 {
  color: var(--text-primary);
  font: 800 2.3rem/0.95 var(--display);
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.venue-detail__empty p {
  color: var(--text-secondary);
  font-weight: 700;
  margin: 0;
}

@media (min-width: 1121px) {
  .venues-page {
    height: var(--archive-workspace-height);
    min-height: 0;
    overflow: hidden;
    padding-block: 1rem;
  }

  .venues-shell {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .venues-sidebar,
  .venue-detail {
    height: auto;
    max-height: var(--archive-column-max-height);
    overflow-y: auto;
    position: sticky;
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
    top: 0;
  }

  .venues-main {
    align-self: stretch;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: calc(var(--venues-main-pad) + 0.35rem);
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
  }

  .venues-main__sticky {
    top: 0;
  }

  .venues-main::-webkit-scrollbar,
  .venues-sidebar::-webkit-scrollbar,
  .venue-detail::-webkit-scrollbar {
    width: 0.45rem;
  }

  .venues-main::-webkit-scrollbar-thumb,
  .venues-sidebar::-webkit-scrollbar-thumb,
  .venue-detail::-webkit-scrollbar-thumb {
    background: var(--red);
  }

  .venues-main::-webkit-scrollbar-track,
  .venues-sidebar::-webkit-scrollbar-track,
  .venue-detail::-webkit-scrollbar-track {
    background: transparent;
  }

  /* Map fills the remaining height below the toolbar on desktop */
  [data-venues-page][data-view="map"] .venues-main {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    /* padding-right kept same as list view - toolbar stays stable */
  }

  [data-venues-page][data-view="map"] .venues-main__sticky {
    flex-shrink: 0;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas {
    /* bleed outside the parent's padding so the map fills edge-to-edge */
    flex: 1;
    height: auto;
    margin-left: calc(var(--venues-main-pad) * -1);
    min-height: 0;
    width: calc(100% + var(--venues-main-pad) + var(--venues-main-pad) + 0.35rem);
  }

  /* Grid/list with no results - collapse gap between header and empty state */
  [data-venues-page][data-no-venues]:not([data-view="map"]) .venues-main {
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  [data-venues-page][data-no-venues]:not([data-view="map"]) .venues-main__sticky {
    flex-shrink: 0;
  }
}

@media (max-width: 1120px) {
  [data-venues-page][data-view="map"] .venues-main {
    display: flex;
    flex-direction: column;
    min-height: calc(100dvh - var(--site-header-height));
    overflow: hidden;
  }

  [data-venues-page][data-view="map"] .venues-main__sticky {
    flex-shrink: 0;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas {
    flex: 1 1 auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }
}

[data-theme="showa-light"] .venues-page,
[data-theme="modern-showa"] .venues-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--accent-red-rgb), 0.07), transparent 34rem),
    linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  color: var(--text-primary);
}

[data-theme="showa-light"] .venues-page::before,
[data-theme="modern-showa"] .venues-page::before {
  display: none;
}

[data-theme="showa-light"] .venues-shell,
[data-theme="modern-showa"] .venues-shell {
  background:
    linear-gradient(90deg, rgba(var(--accent-red-rgb), 0.055), transparent 19rem, transparent calc(100% - 24rem), rgba(var(--accent-red-rgb), 0.03)),
    var(--bg-primary);
  border-color: rgba(var(--text-primary-rgb), 0.16);
}

[data-theme="showa-light"] .venues-sidebar,
[data-theme="showa-light"] .venue-detail,
[data-theme="modern-showa"] .venues-sidebar,
[data-theme="modern-showa"] .venue-detail {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.38), rgba(var(--text-primary-rgb), 0.015)),
    var(--bg-panel);
}

[data-theme="showa-light"] .venues-main,
[data-theme="modern-showa"] .venues-main {
  background:
    radial-gradient(circle at 66% 10%, rgba(64, 119, 173, 0.06), transparent 20rem),
    radial-gradient(circle at 16% 12%, rgba(var(--accent-red-rgb), 0.07), transparent 20rem),
    var(--bg-primary);
}

[data-theme="showa-light"] .venues-main__sticky,
[data-theme="modern-showa"] .venues-main__sticky {
  background:
    radial-gradient(circle at 66% 10%, rgba(64, 119, 173, 0.06), transparent 20rem),
    radial-gradient(circle at 16% 12%, rgba(var(--accent-red-rgb), 0.07), transparent 20rem),
    linear-gradient(180deg, var(--bg-primary) 0%, rgba(var(--bg-primary-rgb), 0.96) 100%);
  border-color: rgba(var(--text-primary-rgb), 0.18);
  box-shadow: 0 1.2rem 2.4rem rgba(var(--text-primary-rgb), 0.08);
}

[data-theme="showa-light"] .venues-sidebar,
[data-theme="modern-showa"] .venues-sidebar {
  border-right-color: rgba(var(--text-primary-rgb), 0.16);
}


[data-theme="showa-light"] .venue-filter-stack,
[data-theme="showa-light"] .venue-filter-group,
[data-theme="showa-light"] .venues-toolbar-search,
[data-theme="showa-light"] .venues-sort select,
[data-theme="showa-light"] .venue-card,
[data-theme="showa-light"] .venues-empty,
[data-theme="showa-light"] .venues-load-more,
[data-theme="showa-light"] .venue-detail__header,
[data-theme="showa-light"] .venue-detail__stats,
[data-theme="showa-light"] .venue-detail__section,
[data-theme="showa-light"] .venue-stat,
[data-theme="showa-light"] .venue-tag,
[data-theme="showa-light"] .venue-cta,
[data-theme="modern-showa"] .venue-filter-stack,
[data-theme="modern-showa"] .venue-filter-group,
[data-theme="modern-showa"] .venues-toolbar-search,
[data-theme="modern-showa"] .venues-sort select,
[data-theme="modern-showa"] .venue-card,
[data-theme="modern-showa"] .venues-empty,
[data-theme="modern-showa"] .venues-load-more,
[data-theme="modern-showa"] .venue-detail__header,
[data-theme="modern-showa"] .venue-detail__stats,
[data-theme="modern-showa"] .venue-detail__section,
[data-theme="modern-showa"] .venue-stat,
[data-theme="modern-showa"] .venue-tag,
[data-theme="modern-showa"] .venue-cta {
  border-color: rgba(var(--text-primary-rgb), 0.16);
}

[data-theme="showa-light"] .venues-sidebar__head h2,
[data-theme="showa-light"] .venue-filter-group__title,
[data-theme="showa-light"] .venues-main__intro h1,
[data-theme="showa-light"] .venue-card__title,
[data-theme="showa-light"] .venue-detail__header h2,
[data-theme="showa-light"] .venues-empty__title,
[data-theme="showa-light"] .venue-stat strong,
[data-theme="showa-light"] .venues-load-more,
[data-theme="showa-light"] .venue-cta,
[data-theme="showa-light"] .venue-detail__empty h2,
[data-theme="modern-showa"] .venues-sidebar__head h2,
[data-theme="modern-showa"] .venue-filter-group__title,
[data-theme="modern-showa"] .venues-main__intro h1,
[data-theme="modern-showa"] .venue-card__title,
[data-theme="modern-showa"] .venue-detail__header h2,
[data-theme="modern-showa"] .venues-empty__title,
[data-theme="modern-showa"] .venue-stat strong,
[data-theme="modern-showa"] .venues-load-more,
[data-theme="modern-showa"] .venue-cta,
[data-theme="modern-showa"] .venue-detail__empty h2 {
  color: var(--text-primary);
}

[data-theme="showa-light"] .venues-main__copy,
[data-theme="showa-light"] .venue-filter-option,
[data-theme="showa-light"] .venue-card__japanese,
[data-theme="showa-light"] .venue-card__meta,
[data-theme="showa-light"] .venue-detail__japanese,
[data-theme="showa-light"] .venues-empty__copy,
[data-theme="showa-light"] .venue-detail__section p,
[data-theme="showa-light"] .venue-detail__matches li,
[data-theme="showa-light"] .venue-tag,
[data-theme="showa-light"] .venue-detail__empty p,
[data-theme="modern-showa"] .venues-main__copy,
[data-theme="modern-showa"] .venue-filter-option,
[data-theme="modern-showa"] .venue-card__japanese,
[data-theme="modern-showa"] .venue-card__meta,
[data-theme="modern-showa"] .venue-detail__japanese,
[data-theme="modern-showa"] .venues-empty__copy,
[data-theme="modern-showa"] .venue-detail__section p,
[data-theme="modern-showa"] .venue-detail__matches li,
[data-theme="modern-showa"] .venue-tag,
[data-theme="modern-showa"] .venue-detail__empty p {
  color: rgba(var(--text-primary-rgb), 0.78);
}

[data-theme="showa-light"] .venue-filter-option__count,
[data-theme="showa-light"] .venues-sort span,
[data-theme="showa-light"] .venue-stat .material-symbols-outlined,
[data-theme="showa-light"] .venue-stat small,
[data-theme="showa-light"] .venue-detail__matches .material-symbols-outlined,
[data-theme="modern-showa"] .venue-filter-option__count,
[data-theme="modern-showa"] .venues-sort span,
[data-theme="modern-showa"] .venue-stat .material-symbols-outlined,
[data-theme="modern-showa"] .venue-stat small,
[data-theme="modern-showa"] .venue-detail__matches .material-symbols-outlined {
  color: rgba(var(--text-primary-rgb), 0.62);
}

[data-theme="showa-light"] .venue-filter-option input,
[data-theme="modern-showa"] .venue-filter-option input {
  background: rgba(var(--text-primary-rgb), 0.035);
  border-color: rgba(var(--text-primary-rgb), 0.24);
}

[data-theme="showa-light"] .venues-toolbar-search,
[data-theme="showa-light"] .venues-sort select,
[data-theme="showa-light"] .venues-load-more,
[data-theme="showa-light"] .venue-cta,
[data-theme="modern-showa"] .venues-toolbar-search,
[data-theme="modern-showa"] .venues-sort select,
[data-theme="modern-showa"] .venues-load-more,
[data-theme="modern-showa"] .venue-cta {
  background: rgba(var(--text-primary-rgb), 0.035);
  box-shadow: none;
}

[data-theme="showa-light"] .venues-toolbar-search input,
[data-theme="showa-light"] .venues-sort select,
[data-theme="modern-showa"] .venues-toolbar-search input,
[data-theme="modern-showa"] .venues-sort select {
  color: var(--text-primary);
}

[data-theme="showa-light"] .venues-toolbar-search input::placeholder,
[data-theme="modern-showa"] .venues-toolbar-search input::placeholder {
  color: rgba(var(--text-primary-rgb), 0.52);
}

[data-theme="showa-light"] .venues-toolbar-search .material-symbols-outlined,
[data-theme="modern-showa"] .venues-toolbar-search .material-symbols-outlined {
  color: rgba(var(--text-primary-rgb), 0.58);
}

[data-theme="showa-light"] .venues-view-toggle,
[data-theme="modern-showa"] .venues-view-toggle {
  border-color: rgba(23, 19, 15, 0.22);
}

[data-theme="showa-light"] .venues-view-toggle__btn,
[data-theme="modern-showa"] .venues-view-toggle__btn {
  background: rgba(23, 19, 15, 0.04);
  border-right-color: rgba(23, 19, 15, 0.18);
  color: var(--text-secondary);
}

[data-theme="showa-light"] .venues-view-toggle__btn:hover,
[data-theme="modern-showa"] .venues-view-toggle__btn:hover {
  background: rgba(23, 19, 15, 0.08);
}

[data-theme="showa-light"] .venues-view-toggle__btn--active,
[data-theme="modern-showa"] .venues-view-toggle__btn--active {
  background: var(--accent-red-strong);
  color: #fff;
}

[data-theme="showa-light"] .venues-view-toggle__btn--active:hover,
[data-theme="modern-showa"] .venues-view-toggle__btn--active:hover {
  background: var(--red);
  color: #fff;
}

[data-theme="showa-light"] .venue-card,
[data-theme="modern-showa"] .venue-card {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.45), rgba(var(--text-primary-rgb), 0.02)),
    var(--bg-card);
}

[data-theme="showa-light"] .venue-card__image,
[data-theme="showa-light"] .venue-detail__hero,
[data-theme="modern-showa"] .venue-card__image,
[data-theme="modern-showa"] .venue-detail__hero {
  background: rgba(var(--text-primary-rgb), 0.1);
}

[data-theme="showa-light"] .venue-image-fallback,
[data-theme="modern-showa"] .venue-image-fallback {
  background:
    radial-gradient(circle at 50% 32%, rgba(var(--text-primary-rgb), 0.12), transparent 8rem),
    linear-gradient(180deg, var(--bg-tertiary), var(--bg-panel));
  color: rgba(var(--text-primary-rgb), 0.78);
}

[data-theme="showa-light"] .venue-map,
[data-theme="modern-showa"] .venue-map {
  --venue-map-land: #08090a;
}

[data-theme="showa-light"] .venue-map__shape,
[data-theme="modern-showa"] .venue-map__shape {
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.14));
  opacity: 0.82;
}

[data-theme="showa-light"] .venue-map__legend,
[data-theme="modern-showa"] .venue-map__legend {
  background: rgba(var(--bg-card-rgb), 0.88);
  border-color: rgba(var(--text-primary-rgb), 0.18);
}

[data-theme="showa-light"] .venue-map__legend span,
[data-theme="modern-showa"] .venue-map__legend span {
  color: rgba(var(--text-primary-rgb), 0.78);
}

[data-theme="showa-light"] .venue-cta--primary,
[data-theme="modern-showa"] .venue-cta--primary {
  background: linear-gradient(90deg, var(--accent-red-strong), var(--accent-red-dark));
  border-color: var(--accent-red-strong);
  color: var(--on-accent);
}

/* Venues uses the Wrestlers archive visual system. */
.venues-page {
  background: var(--route-section-atmosphere);
  color: var(--text-primary);
}

.venues-page::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.035) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.16) 0 0.45px, transparent 0.8px);
  background-size:
    100% 8px,
    14px 14px;
  opacity: 0.18;
}

.venues-shell {
  align-items: start;
  background: transparent;
  border: 0;
  min-height: 0;
}

.venues-sidebar,
.venue-detail {
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.075), transparent 42%),
    rgba(var(--bg-primary-rgb), 0.96);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  box-shadow:
    inset 0 1px 0 rgba(var(--text-primary-rgb), 0.06),
    0 22px 70px rgba(var(--shadow-rgb), 0.5);
  color: var(--text-primary);
}

.venues-sidebar {
  display: grid;
  gap: 1.1rem;
  padding: clamp(1rem, 1.6vw, 1.35rem);
}

.venues-sidebar__head {
  margin: 0;
  padding: 0;
}

.venues-sidebar__head h2 {
  color: var(--paper);
  font-size: 1.08rem;
  line-height: 1;
}

.venues-clear {
  color: var(--red);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
}

.venue-filter-stack {
  background: transparent;
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  border-radius: 0;
}

.venue-filter-group {
  background:
    linear-gradient(100deg, rgba(var(--text-primary-rgb), 0.055), transparent 58%),
    rgba(var(--bg-panel-rgb), 0.66);
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.1);
  padding: 0.95rem;
}

.venue-filter-group__title {
  color: var(--paper);
  font-size: 0.82rem;
}

.venue-filter-option {
  color: rgba(var(--text-primary-rgb), 0.78);
  font-size: 0.8rem;
  font-weight: 800;
}

.venue-filter-option input {
  background: rgba(var(--text-primary-rgb), 0.04);
  border-color: rgba(var(--text-primary-rgb), 0.24);
}

.venue-filter-option__count {
  color: rgba(var(--text-primary-rgb), 0.58);
}

.venues-load-more {
  background: rgba(var(--text-primary-rgb), 0.055);
  border: 1px solid rgba(var(--text-primary-rgb), 0.2);
  border-radius: 0;
  color: rgba(var(--text-primary-rgb), 0.86);
  font-family: var(--display);
  font-size: 0.86rem;
  font-weight: 800;
}

.venues-main {
  --lens-preview-control-height: 2.35rem;
  --lens-preview-height: 108px;
  align-content: start;
  background: transparent;
  display: grid;
  gap: 1rem;
  padding: 0;
}

.venues-main__sticky {
  align-items: start;
  background:
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.075), transparent 42%),
    rgba(var(--bg-primary-rgb), 0.96);
  border: 1px solid rgba(var(--text-primary-rgb), 0.12);
  box-sizing: border-box;
  box-shadow:
    inset 0 1px 0 rgba(var(--text-primary-rgb), 0.045),
    0 22px 70px rgba(var(--shadow-rgb), 0.42);
  display: grid;
  gap: 0.85rem clamp(0.9rem, 1.4vw, 1.25rem);
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.45fr);
  height: var(--lens-preview-height);
  margin: 0;
  min-height: var(--lens-preview-height);
  overflow: visible;
  padding: clamp(1rem, 1.65vw, 1.45rem);
  position: sticky;
  z-index: 30;
}

.venues-main__sticky::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.04) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.12) 0 0.45px, transparent 0.75px);
  background-size:
    100% 7px,
    13px 13px;
  content: "";
  inset: 0;
  opacity: 0.38;
  pointer-events: none;
  position: absolute;
}

.venues-main__sticky > * {
  position: relative;
  z-index: 1;
}

.venues-main__intro {
  align-items: start;
  align-self: center;
  display: grid;
  gap: 0.7rem;
  grid-column: 1;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  min-width: 0;
}

.venues-main__intro h1 {
  color: var(--paper);
  font-size: clamp(1.95rem, 3vw, 2.85rem);
  line-height: 0.86;
  margin: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.venues-main__subtitle {
  color: var(--red);
  font-size: 0.78rem;
  font-weight: 800;
  margin: 0 0 0.55rem;
}

.venues-main__copy {
  display: none;
  color: rgba(var(--text-primary-rgb), 0.68);
  font-size: clamp(0.88rem, 1vw, 1.05rem);
  font-weight: 700;
  line-height: 1.32;
  max-width: 34rem;
}

.venue-map {
  --venue-map-land: var(--text-primary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.1);
  margin-top: 0.55rem;
  min-height: 0;
  overflow: hidden;
  padding: 0.5rem;
}

.venue-map__canvas {
  height: clamp(12rem, 19vw, 18rem);
  margin: -2.15rem auto -1.05rem;
  width: min(32rem, 100%);
}

.venue-map__shape {
  filter: drop-shadow(0 0 12px rgba(var(--text-primary-rgb), 0.18));
  opacity: 0.74;
}

.venue-map__legend {
  background: rgba(var(--bg-primary-rgb), 0.84);
  border-color: rgba(var(--text-primary-rgb), 0.18);
  border-radius: 0;
}

.venue-map__legend span {
  color: rgba(var(--text-primary-rgb), 0.78);
  font-weight: 800;
}

.venues-toolbar {
  align-items: center;
  align-self: center;
  display: flex;
  gap: 0.875rem;
  grid-column: 2;
  grid-row: 1;
  height: var(--lens-preview-control-height);
  justify-self: end;
  margin: 0;
  min-width: 0;
}

.venues-toolbar-search {
  background: rgba(var(--bg-panel-rgb), 0.72);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  box-shadow: none;
  color: rgba(var(--text-primary-rgb), 0.48);
  flex: 0 0 auto;
  height: 2.35rem;
  max-width: 250px;
  min-width: 190px;
  padding: 0.38rem 0.62rem;
  width: clamp(190px, calc(22vw - 30px), 250px);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
}

.venues-toolbar-search:focus-within {
  border-color: rgba(var(--accent-red-rgb), 0.62);
  box-shadow: 0 0 0 3px rgba(var(--accent-red-rgb), 0.08);
}

.venues-toolbar-search .material-symbols-outlined {
  color: rgba(var(--text-primary-rgb), 0.48);
  font-size: 1.125rem;
}

.venues-toolbar-search input {
  color: var(--text-primary);
  font-family: var(--body);
  font-size: 0.92rem;
  font-weight: 800;
}

.venues-toolbar-search input::placeholder {
  color: rgba(var(--text-primary-rgb), 0.48);
  opacity: 1;
}

.venues-sort span {
  color: rgba(var(--text-primary-rgb), 0.62);
}

.venues-sort select {
  background:
    linear-gradient(45deg, transparent 50%, rgba(var(--text-primary-rgb), 0.72) 50%) calc(100% - 1.1rem) 52% / 0.4rem 0.4rem no-repeat,
    rgba(var(--text-primary-rgb), 0.055);
  border: 1px solid rgba(var(--text-primary-rgb), 0.2);
  color: rgba(var(--text-primary-rgb), 0.86);
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  height: 2.35rem;
}

.venue-grid {
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.venue-card {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.07), rgba(var(--text-primary-rgb), 0.018)),
    var(--bg-secondary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.1);
  border-radius: 0;
  box-shadow: 0 8px 30px rgba(var(--shadow-rgb), 0.4);
  color: var(--paper);
  display: flex;
  flex-direction: column;
  height: 420px;
  min-height: 420px;
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    transform var(--card-transition);
}

.venue-card:hover,
.venue-card:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.45);
  box-shadow:
    0 16px 38px rgba(var(--shadow-rgb), 0.46),
    0 0 0 1px rgba(var(--accent-red-rgb), 0.12);
  outline: none;
  transform: var(--card-hover-transform);
}

.venue-card--active {
  border-color: rgba(var(--accent-red-rgb), 0.75);
  box-shadow:
    0 0 0 1px rgba(var(--accent-red-rgb), 0.35),
    0 18px 44px rgba(var(--shadow-rgb), 0.5),
    0 0 34px rgba(var(--accent-red-rgb), 0.12);
  transform: var(--card-active-transform);
}

.venue-card__image {
  align-items: flex-end;
  aspect-ratio: auto;
  background:
    radial-gradient(circle at 50% 20%, rgba(var(--text-primary-rgb), 0.32), transparent 6rem),
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.12), transparent 44%),
    linear-gradient(180deg, rgba(var(--sepia-rgb), 0.2), rgba(var(--shadow-rgb), 0.88)),
    var(--bg-panel);
  display: flex;
  min-height: 142px;
  padding: 1rem;
}

.venue-card__image::before,
.venue-detail__hero::before {
  background-image:
    linear-gradient(rgba(var(--highlight-rgb), 0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--highlight-rgb), 0.3) 0 0.5px, transparent 1px);
  background-size:
    100% 5px,
    12px 12px;
  content: "";
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.15;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.venue-card__image::after,
.venue-detail__hero::after {
  background:
    radial-gradient(circle, transparent 55%, rgba(var(--shadow-rgb), 0.75) 100%),
    linear-gradient(180deg, transparent 48%, rgba(var(--shadow-rgb), 0.62) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.venue-detail__hero::after {
  border: 1px solid rgba(var(--text-primary-rgb), 0.22);
  box-shadow: inset 0 0 70px rgba(var(--shadow-rgb), 0.72);
  inset: 0.75rem;
}

.venue-image-frame img {
  filter: grayscale(100%) contrast(125%) brightness(86%) sepia(0);
  height: 100%;
  inset: 0;
  object-fit: cover;
  opacity: 0.88;
  position: absolute;
  transition: filter 180ms ease, opacity 180ms ease;
}

.venue-card:hover .venue-image-frame img,
.venue-card:focus-visible .venue-image-frame img,
.venue-card--active .venue-image-frame img {
  filter: grayscale(15%) contrast(115%) brightness(100%) sepia(5%);
  opacity: 0.96;
}

.venue-image-fallback {
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0;
  margin-left: auto;
  padding: 0;
  position: relative;
  text-indent: -9999px;
  z-index: 2;
}

.venue-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  padding: 0.95rem 1rem 0;
}

.venue-card__title {
  color: var(--paper);
  display: block !important;
  font-size: clamp(1.82rem, 1.55vw, 2.1rem) !important;
  line-height: 0.96;
  max-height: none !important;
  min-height: 0;
  overflow: visible !important;
  overflow-wrap: break-word;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: normal;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

.venue-card__title--long {
  font-size: clamp(1.82rem, 1.55vw, 2.1rem) !important;
  line-height: 0.96;
}

.venue-card__city {
  color: var(--red);
  font-size: 0.78rem;
  font-weight: 800;
  margin-top: 0.5rem;
}

.venue-card__japanese {
  color: rgba(var(--text-primary-rgb), 0.64);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 0.72rem;
  overflow-wrap: anywhere;
}

.arena-meta-row,
.venue-card__meta-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 1.45rem;
  min-width: 0;
  width: 100%;
}

.arena-meta-row > *,
.venue-card__meta-row > * {
  align-items: center;
  display: inline-flex;
}

.venue-card__category {
  color: var(--org-default);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 0;
  opacity: 0.7;
  text-transform: uppercase;
}

.venue-card__tier {
  align-self: center;
  background: rgba(var(--accent-red-rgb), 0.78);
  color: var(--paper);
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 800;
  justify-self: auto;
  line-height: 1;
  padding: 0.42rem 0.58rem;
  text-transform: uppercase;
}

.venue-card__details {
  display: grid;
  gap: 0.55rem;
  margin-top: 0;
}

.venue-card__meta {
  border-top: 0;
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.45;
  margin-top: 0.7rem;
  padding-top: 0;
}

.venue-detail__photo-credit {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.14);
  color: rgba(var(--text-primary-rgb), 0.62);
  display: grid;
  gap: 0.25rem;
  padding: 1.05rem 1.15rem;
  text-transform: uppercase;
}

.venue-detail__photo-credit span,
.venue-detail__photo-credit strong {
  font-family: var(--display);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

.venue-detail__photo-credit strong {
  color: rgba(var(--text-primary-rgb), 0.78);
}

.venue-card__link {
  align-items: center;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.11);
  color: var(--red);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.86rem;
  font-weight: 800;
  gap: 0.42rem;
  margin: auto -1rem 0;
  padding: 0.82rem 1rem 0.86rem;
  text-transform: uppercase;
}

.venue-card__marker {
  border-radius: 0;
  display: none;
}

.venues-empty {
  border-color: rgba(var(--text-primary-rgb), 0.14);
  color: rgba(var(--text-primary-rgb), 0.72);
}

.venue-detail {
  background:
    linear-gradient(180deg, var(--detail-paper-start) 0%, var(--detail-paper-end) 100%);
  border-color: rgba(var(--text-primary-rgb), 0.3);
  box-shadow:
    inset 0 1px 0 rgba(var(--highlight-rgb), 0.35),
    0 24px 74px rgba(var(--shadow-rgb), 0.58);
  color: var(--text-primary);
  overflow: hidden;
  padding-bottom: 1.2rem;
}

.venue-detail::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.04) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.2) 0 0.45px, transparent 0.75px);
  background-size:
    100% 7px,
    13px 13px;
  content: "";
  inset: 0;
  opacity: 0.24;
  pointer-events: none;
  position: absolute;
}

.venue-detail > * {
  position: relative;
  z-index: 1;
}

.venue-detail__hero {
  aspect-ratio: auto;
  background:
    radial-gradient(circle at 58% 26%, rgba(var(--text-primary-rgb), 0.3), transparent 8rem),
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.12), transparent 42%),
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.08), rgba(var(--shadow-rgb), 0.74)),
    var(--bg-panel);
  min-height: clamp(240px, 22vw, 340px);
  padding: 0;
  position: relative;
}

.venue-detail__hero.venue-image-frame--missing {
  background:
    radial-gradient(circle at 50% 42%, rgba(var(--text-primary-rgb), 0.11), transparent 9rem),
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.08), rgba(var(--shadow-rgb), 0.22)),
    var(--bg-panel);
}

.venue-detail__hero.venue-image-frame--missing::before,
.venue-detail__hero.venue-image-frame--missing::after {
  display: none;
}

.venue-detail__hero img {
  filter: none;
  opacity: 1;
}

.venue-detail__header {
  background:
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.92), rgba(var(--shadow-rgb), 0.78)),
    var(--black);
  border-bottom: 0;
  color: var(--paper);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.15rem;
}

.venue-detail__header h2 {
  color: var(--red);
  font-size: clamp(1.7rem, 2.4vw, 2.45rem);
  grid-column: 1;
  line-height: 0.9;
  margin: 0 1rem 0.45rem 0;
  min-width: 0;
}

[data-venue-detail][data-active-venue="ganryujima-island"] .venue-detail__header h2 {
  font-size: clamp(2.15rem, 4vw, 3.4rem);
  grid-column: 1 / -1;
  grid-row: 2;
  line-height: 0.9;
  margin: 0.55rem 0 0.45rem;
  overflow-wrap: normal;
  word-break: normal;
}

[data-venue-detail][data-active-venue="ganryujima-island"] .venue-detail__title-part {
  display: block;
}

[data-venue-detail][data-active-venue="ganryujima-island"] .venue-detail__status {
  grid-column: 2;
  grid-row: 3;
  justify-self: end;
  margin: 0.1rem 0 0;
}

@media (max-width: 1120px) {
  [data-venue-detail][data-active-venue="ganryujima-island"] .venue-detail__header h2 {
    font-size: clamp(1.48rem, 4.9vw, 2.35rem);
    white-space: nowrap;
  }

  [data-venue-detail][data-active-venue="ganryujima-island"] .venue-detail__title-part {
    display: inline;
  }
}

.venue-detail__location {
  color: var(--red);
  font-size: 1rem;
  font-weight: 800;
  grid-column: 1;
}

.venue-detail__japanese {
  color: var(--paper);
  font-size: 1rem;
  font-weight: 800;
  grid-column: 1;
  line-height: 1.2;
  margin: 0.45rem 0 0.2rem;
}

.venue-detail__status {
  align-self: start;
  border-radius: 0;
  box-shadow: none;
  grid-column: 2;
  grid-row: 3;
  justify-self: end;
  margin: 0.1rem 0 0 1rem;
  position: static;
}

.venue-detail__status--active,
.venue-detail__status--temporary,
.venue-detail__status--legacy,
.venue-detail__status--historic {
  background: rgba(var(--accent-red-rgb), 0.16);
  border-color: rgba(var(--accent-red-rgb), 0.28);
}

.venue-detail__status--active {
  background: rgba(32, 212, 119, 0.16);
  border-color: rgba(32, 212, 119, 0.42);
  color: var(--status-active);
}

.venue-detail__status--temporary {
  background: rgba(231, 166, 66, 0.16);
  border-color: rgba(231, 166, 66, 0.42);
  color: var(--status-legacy);
}

.venue-detail__status--historic {
  background: rgba(214, 163, 74, 0.18);
  border-color: rgba(214, 163, 74, 0.5);
  color: #f0c879;
}

[data-theme="showa-light"] .venue-detail__status--historic,
[data-theme="modern-showa"] .venue-detail__status--historic {
  background: rgba(214, 163, 74, 0.16);
  border-color: rgba(132, 88, 12, 0.72);
  color: #6f4908;
}

.venue-detail__stats {
  background:
    linear-gradient(180deg, rgba(var(--shadow-rgb), 0.92), rgba(var(--shadow-rgb), 0.78)),
    var(--black);
  border-bottom: 0;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.12);
  display: grid;
  gap: 0.46rem 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1.05rem 1.15rem;
}

.venue-stat {
  border-right: 0;
  color: rgba(var(--text-primary-rgb), 0.78);
  display: grid;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.2rem;
  grid-template-columns: 4.9rem minmax(0, 1fr);
  justify-items: stretch;
  line-height: 1.35;
  padding: 0;
  text-align: left;
  text-transform: uppercase;
}

.venue-stat .material-symbols-outlined {
  display: none;
}

.venue-stat small {
  color: rgba(var(--text-primary-rgb), 0.48);
  font: inherit;
  font-weight: 800;
}

.venue-stat strong {
  color: rgba(var(--text-primary-rgb), 0.78);
  font-size: inherit;
  justify-self: start;
  text-align: left;
}

.venue-detail__section {
  border-bottom: 0;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.14);
  padding: 1.05rem 1.15rem;
}

.venue-detail__section-title {
  color: var(--text-primary);
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  line-height: 1.05;
  margin: 0 0 0.85rem;
  position: relative;
}

.venue-detail__section-title::after {
  background: var(--accent-red);
  content: "";
  display: block;
  height: 2px;
  margin-top: 0.45rem;
  width: 32px;
}

.venue-detail__section-title {
  color: var(--accent-red-strong);
}

.venue-detail__section p,
.venue-detail__matches li {
  color: rgba(var(--text-primary-rgb), 0.84);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.55;
}

.venue-detail__editorial-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.venue-detail__matches li {
  margin-top: 0.55rem;
}

.venue-detail__matches li {
  grid-template-columns: minmax(0, 1fr) auto;
}

.venue-detail__matches .material-symbols-outlined,
.venue-detail__actions {
  display: none;
}

.venue-tag {
  border-color: rgba(var(--text-primary-rgb), 0.2);
  border-radius: 0;
  color: rgba(var(--text-primary-rgb), 0.82);
}

.venue-detail__actions {
  gap: 0.7rem;
  padding: 1.15rem 1.15rem 0;
}

.venue-cta {
  background: transparent;
  border: 1px solid rgba(var(--text-primary-rgb), 0.36);
  color: var(--text-primary);
  font-family: var(--display);
  font-size: 0.95rem;
  min-height: 48px;
  padding: 0.85rem 1rem;
}

.venue-cta--primary {
  background: var(--red);
  border-color: var(--red);
  color: var(--paper);
}

[data-theme="modern-showa"] .venues-page {
  background: #f6f6f6;
}

[data-theme="showa-light"] .venues-page,
[data-theme="modern-showa"] .venues-page {
  background: #f6f6f6 !important;
}

[data-theme="showa-light"] .venues-shell,
[data-theme="modern-showa"] .venues-shell,
[data-theme="showa-light"] .venues-main,
[data-theme="modern-showa"] .venues-main {
  background: transparent !important;
}

[data-theme="showa-light"] .venues-main__sticky,
[data-theme="modern-showa"] .venues-main__sticky {
  background: #ffffff;
  box-shadow: none;
}

[data-theme="modern-showa"] .venues-sidebar,
[data-theme="modern-showa"] .venues-main__sticky,
[data-theme="modern-showa"] .venue-detail {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: none;
}

[data-theme="modern-showa"] .venues-main__sticky {
  background: #ffffff;
}

[data-theme="modern-showa"] .venues-sidebar {
  border-right: 2px solid #000000;
}

[data-theme="modern-showa"] .venue-detail {
  background: #ffffff;
  border-left: 2px solid #000000;
}

[data-theme="showa-light"] .venue-detail__content,
[data-theme="showa-light"] .venue-detail__header,
[data-theme="showa-light"] .venue-detail__stats,
[data-theme="showa-light"] .venue-detail__section,
[data-theme="modern-showa"] .venue-detail__content,
[data-theme="modern-showa"] .venue-detail__header,
[data-theme="modern-showa"] .venue-detail__stats,
[data-theme="modern-showa"] .venue-detail__section {
  background: #ffffff;
}

[data-theme="modern-showa"] .venue-filter-stack,
[data-theme="modern-showa"] .venue-filter-group {
  border-color: var(--border-subtle);
}

[data-theme="modern-showa"] .venue-filter-group {
  background: #fafafa;
}

[data-theme="modern-showa"] .venues-load-more,
[data-theme="modern-showa"] .venues-sort select {
  background: #fafafa;
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .venues-toolbar-search {
  background: #ffffff;
  border-color: var(--border-subtle);
}

[data-theme="modern-showa"] .venue-card {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="showa-light"] .venue-card {
  box-shadow: none;
}

[data-theme="modern-showa"] .venue-card:hover,
[data-theme="modern-showa"] .venue-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
}

[data-theme="showa-light"] .venue-card:hover,
[data-theme="showa-light"] .venue-card:focus-visible,
[data-theme="showa-light"] .venue-card--active {
  box-shadow: none;
}

[data-theme="modern-showa"] .venue-card--active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
}

[data-theme="modern-showa"] .venue-card__image,
[data-theme="modern-showa"] .venue-detail__hero {
  background: #eeeeee;
}

[data-theme="showa-light"] .venue-card__image,
[data-theme="showa-light"] .venue-detail__hero,
[data-theme="modern-showa"] .venue-card__image,
[data-theme="modern-showa"] .venue-detail__hero {
  background: #eeeeee !important;
}

[data-theme="showa-light"] .venue-card__image::before,
[data-theme="showa-light"] .venue-card__image::after,
[data-theme="showa-light"] .venue-detail__hero::before,
[data-theme="showa-light"] .venue-detail__hero::after,
[data-theme="modern-showa"] .venue-card__image::before,
[data-theme="modern-showa"] .venue-card__image::after,
[data-theme="modern-showa"] .venue-detail__hero::before,
[data-theme="modern-showa"] .venue-detail__hero::after {
  display: none;
}

[data-theme="showa-light"] .venue-image-fallback,
[data-theme="modern-showa"] .venue-image-fallback {
  background: transparent;
  color: transparent;
}

.venue-image-frame--missing .venue-image-fallback {
  color: var(--text-secondary) !important;
  display: flex;
  font-size: clamp(0.82rem, 2vw, 1rem) !important;
  inset: 0;
  line-height: 1.05;
  margin-left: 0;
  padding: 1rem;
  position: absolute;
  text-indent: 0;
  z-index: 3;
}

[data-theme="modern-showa"] .venue-image-frame img {
  filter: grayscale(100%) contrast(1.18) brightness(0.92);
  opacity: 0.92;
}

[data-theme="modern-showa"] .venue-card:hover .venue-image-frame img,
[data-theme="modern-showa"] .venue-card:focus-visible .venue-image-frame img,
[data-theme="modern-showa"] .venue-card--active .venue-image-frame img,
[data-theme="modern-showa"] .venue-detail__hero img {
  filter: grayscale(12%) sepia(0.24) saturate(1.18) contrast(1.12) brightness(0.98);
  opacity: 1;
}

[data-theme="modern-showa"] .venue-detail__header,
[data-theme="modern-showa"] .venue-detail__stats {
  background: #ffffff;
  color: var(--text-primary);
}

[data-theme="modern-showa"] .venue-detail__header {
  border-bottom: 1px solid var(--border-subtle);
}

[data-theme="modern-showa"] .venue-detail__header h2 {
  color: var(--accent-red);
}

[data-theme="modern-showa"] .venue-detail__stats,
[data-theme="modern-showa"] .venue-stat,
[data-theme="modern-showa"] .venue-stat strong,
[data-theme="modern-showa"] .venue-detail__section p,
[data-theme="modern-showa"] .venue-detail__matches li {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .venue-detail__section {
  border-top-color: var(--border-subtle);
}

[data-theme="modern-showa"] .venue-cta--primary {
  background: var(--accent-red);
  color: var(--on-accent);
}

[data-theme="archival-dark"] .venues-page,
[data-theme="dark"] .venues-page {
  background: #050505;
}

[data-theme="archival-dark"] .venues-sidebar,
[data-theme="dark"] .venues-sidebar,
[data-theme="archival-dark"] .venues-main__sticky,
[data-theme="dark"] .venues-main__sticky,
[data-theme="archival-dark"] .venue-detail,
[data-theme="dark"] .venue-detail {
  background: #0a0a0a;
  border: 1px solid rgba(245, 245, 240, 0.16);
  box-shadow: none;
}

[data-theme="archival-dark"] .venues-sidebar,
[data-theme="dark"] .venues-sidebar {
  border-right: 2px solid #f5f5f0;
}

[data-theme="archival-dark"] .venue-detail,
[data-theme="dark"] .venue-detail {
  border-left: 3px solid #f5f5f0;
}

[data-theme="archival-dark"] .venue-filter-group,
[data-theme="dark"] .venue-filter-group,
[data-theme="archival-dark"] .venue-card,
[data-theme="dark"] .venue-card {
  background: #111111;
}

[data-theme="archival-dark"] .venue-card,
[data-theme="dark"] .venue-card {
  border: 1px solid rgba(245, 245, 240, 0.14);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="archival-dark"] .venue-card:hover,
[data-theme="dark"] .venue-card:hover,
[data-theme="archival-dark"] .venue-card:focus-visible,
[data-theme="dark"] .venue-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
}

[data-theme="archival-dark"] .venue-card--active,
[data-theme="dark"] .venue-card--active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
}

[data-theme="archival-dark"] .venue-card__image,
[data-theme="dark"] .venue-card__image,
[data-theme="archival-dark"] .venue-detail__hero,
[data-theme="dark"] .venue-detail__hero {
  background: #050505;
}

[data-theme="archival-dark"] .venue-card__image::before,
[data-theme="archival-dark"] .venue-card__image::after,
[data-theme="archival-dark"] .venue-detail__hero::before,
[data-theme="archival-dark"] .venue-detail__hero::after,
[data-theme="dark"] .venue-card__image::before,
[data-theme="dark"] .venue-card__image::after,
[data-theme="dark"] .venue-detail__hero::before,
[data-theme="dark"] .venue-detail__hero::after {
  display: none;
}

[data-theme="archival-dark"] .venue-image-frame img,
[data-theme="dark"] .venue-image-frame img {
  filter: grayscale(100%) contrast(112%) brightness(92%);
  opacity: 1;
}

[data-theme="archival-dark"] .venue-detail__hero img,
[data-theme="dark"] .venue-detail__hero img {
  filter: none;
}

[data-theme="archival-dark"] .venue-detail__header,
[data-theme="dark"] .venue-detail__header,
[data-theme="archival-dark"] .venue-detail__stats,
[data-theme="dark"] .venue-detail__stats {
  background: #000000;
  color: var(--text-primary);
}

[data-theme="archival-dark"] .venue-detail__header,
[data-theme="dark"] .venue-detail__header {
  border-top: 1px solid rgba(245, 245, 240, 0.16);
  border-bottom: 1px solid rgba(245, 245, 240, 0.16);
}

[data-theme="archival-dark"] .venue-detail__header h2,
[data-theme="dark"] .venue-detail__header h2 {
  color: var(--accent-red);
}

[data-theme="archival-dark"] .venues-sidebar__head h2,
[data-theme="dark"] .venues-sidebar__head h2,
[data-theme="archival-dark"] .venues-main__intro h1,
[data-theme="dark"] .venues-main__intro h1,
[data-theme="archival-dark"] .venue-card__title,
[data-theme="dark"] .venue-card__title,
[data-theme="archival-dark"] .venue-detail__section-title,
[data-theme="dark"] .venue-detail__section-title {
  color: var(--text-primary);
}

[data-theme="archival-dark"] .venue-detail__japanese,
[data-theme="dark"] .venue-detail__japanese,
[data-theme="archival-dark"] .venue-stat,
[data-theme="dark"] .venue-stat,
[data-theme="archival-dark"] .venue-stat strong,
[data-theme="dark"] .venue-stat strong,
[data-theme="archival-dark"] .venue-detail__section p,
[data-theme="dark"] .venue-detail__section p,
[data-theme="archival-dark"] .venue-detail__matches li,
[data-theme="dark"] .venue-detail__matches li {
  color: var(--text-secondary);
}

[data-theme="archival-dark"] .venue-detail__section,
[data-theme="dark"] .venue-detail__section {
  border-top-color: rgba(245, 245, 240, 0.14);
}

[data-theme="showa-light"] .wrestler-card.is-active,
[data-theme="modern-showa"] .wrestler-card.is-active,
[data-theme="archival-dark"] .wrestler-card.is-active,
[data-theme="dark"] .wrestler-card.is-active,
[data-theme="showa-light"] .venue-card--active,
[data-theme="modern-showa"] .venue-card--active,
[data-theme="archival-dark"] .venue-card--active,
[data-theme="dark"] .venue-card--active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
  outline: none;
}

[data-theme="showa-light"] .venue-detail__section-title,
[data-theme="modern-showa"] .venue-detail__section-title,
[data-theme="archival-dark"] .venue-detail__section-title,
[data-theme="dark"] .venue-detail__section-title {
  color: var(--accent-red-strong);
}

.venue-card__tier[data-tier],
.venue-stat[data-tier] {
  --venue-map-tier-color: var(--venue-tier-other-map);
}

.venue-card__tier[data-tier="historic"],
.venue-stat[data-tier="historic"] {
  --venue-map-tier-color: #d6a34a;
}

.venue-card__tier[data-tier="tier-1"],
.venue-stat[data-tier="tier-1"] {
  --venue-map-tier-color: var(--venue-tier-1-map);
}

.venue-card__tier[data-tier="tier-2"],
.venue-stat[data-tier="tier-2"] {
  --venue-map-tier-color: var(--venue-tier-2-map);
}

.venue-card__tier[data-tier="tier-3"],
.venue-stat[data-tier="tier-3"] {
  --venue-map-tier-color: var(--venue-tier-3-map);
}

.venue-card__tier[data-tier="tier-4"],
.venue-stat[data-tier="tier-4"] {
  --venue-map-tier-color: var(--venue-tier-4-map);
}

.venue-card__tier[data-tier] {
  background: var(--venue-map-tier-color);
  color: var(--paper);
  box-shadow:
    inset 0 0 0 1px rgba(var(--highlight-rgb), 0.26),
    0 1px 2px rgba(var(--shadow-rgb), 0.16);
}

[data-theme="showa-light"] .venue-card__tier[data-tier],
[data-theme="modern-showa"] .venue-card__tier[data-tier] {
  color: #ffffff;
}

.venue-stat[data-tier] strong {
  color: var(--venue-map-tier-color);
}

.venue-stat[data-tier] {
  border-left: 0;
  padding-left: 0;
}

input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  background: rgba(var(--bg-primary-rgb), 0.82);
  border: 2px solid rgba(var(--text-primary-rgb), 0.42);
  border-radius: 4px;
  box-sizing: border-box;
  color: var(--on-accent);
  cursor: pointer;
  display: inline-grid;
  flex: 0 0 auto;
  height: 1rem;
  margin: 0;
  place-content: center;
  position: relative;
  transition:
    background 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease;
  width: 1rem;
}

input[type="checkbox"]::after {
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  content: "";
  height: 0.55rem;
  margin-top: -0.08rem;
  transform: rotate(45deg) scale(0);
  transition: transform 120ms ease;
  width: 0.28rem;
}

input[type="checkbox"]:checked {
  background: var(--accent-red);
  border-color: var(--accent-red);
  box-shadow: 0 0 0 1px rgba(var(--accent-red-rgb), 0.16);
}

input[type="checkbox"]:checked::after {
  transform: rotate(45deg) scale(1);
}

input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--accent-red);
  outline-offset: 3px;
}

.venue-filter-option input[type="checkbox"]:checked::after {
  color: var(--on-accent);
  content: "";
  font-size: inherit;
  font-weight: inherit;
  left: auto;
  line-height: normal;
  position: static;
  top: auto;
  transform: rotate(45deg) scale(1);
}

/* System typography mapping: keep component markup, share one text scale. */
.kicker,
.section-label,
.hero__kicker,
.feature-card__eyebrow,
.lens-preview-strip__label,
.archive-filter-group__title,
.wrestler-group__label,
.rivalry-pair__eyebrow,
.rivalry-insight__label,
.timeline-detail__label,
.timeline-column-heading .kicker,
.timeline-era-nav .kicker,
.match-card__label,
.match-filter-panel__label,
.match-guide-card__label,
.match-guide-section-heading__label,
.styles-archive-hero__label,
.style-section-label,
.style-detail-meta,
.style-archive-notes__title,
.venues-main__subtitle,
.venue-filter-group__title,
.venue-detail__section-title,
.venues-sidebar__head h2 {
  color: var(--text-kicker);
  font-family: var(--display);
  font-size: var(--type-kicker);
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-title);
  text-transform: uppercase;
}

.hero h1,
.styles-archive-hero h1,
.timeline-archive-hero h1 {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: var(--type-title-xl);
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--leading-tight);
  text-transform: uppercase;
}

.home-page .hero h1 {
  color: rgba(245, 245, 240, 0.94);
  text-shadow:
    0 0.04em 0 rgba(var(--shadow-rgb), 0.58),
    0 0 2.2rem rgba(var(--shadow-rgb), 0.48);
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: 0 currentColor;
}

.route-hero h1,
.route-mini-hero h1,
.section__header h2,
.paper-section h2,
.showa-paper-section h2,
.match-featured-hero__title,
.match-guide-section-heading h2,
.venue-detail__header h2 {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: var(--type-title-lg);
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--leading-tight);
  text-transform: uppercase;
}

@media (max-width: 560px) {
  main > .section .section__header h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}

.wrestler-detail-panel__name,
.venue-detail__header h2 {
  color: var(--accent);
  font-family: var(--display);
  font-size: var(--type-title-lg);
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--leading-tight);
  text-transform: uppercase;
}

.feature-card h3,
.entry-card h3,
.match-card h3,
.match-guide-card__title,
.lens-preview-strip h1,
.lens-preview-strip h3,
.wrestlers-rail__intro h2,
.wrestler-group__title,
.rivalry-pair__label,
.rivalry-card__name,
.timeline-era-nav h3,
.timeline-column-heading h3,
.timeline-rail__title,
.timeline-detail__body h3,
.styles-main-title,
.style-detail-title,
.style-key-match__title,
.venues-main__intro h1,
.venue-card__title,
.venues-empty__title,
.wrestler-empty-state__title {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: var(--type-title-md);
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--leading-title);
  text-transform: uppercase;
}

.wrestler-detail-panel__section h3,
.venue-detail__section-title {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.05;
  text-transform: uppercase;
}

.hero__tagline,
.hero__intro,
.route-hero__content > p,
.route-mini-hero p:last-child,
.section__header > p,
.paper-section p,
.styles-archive-hero__subtitle,
.style-detail-definition,
.match-featured-hero__hook,
.match-featured-hero__why,
.venues-main__copy {
  color: var(--text-secondary);
  font-size: var(--type-body-lg);
  font-weight: 700;
  line-height: var(--leading-body);
}

.match-featured-hero .match-featured-hero__title,
.match-featured-card .match-featured-card__title {
  color: var(--on-accent);
  font-size: clamp(2.45rem, 7vw, 6.7rem);
  line-height: 0.84;
  max-width: 12ch;
}

.match-featured-hero .match-featured-hero__meta,
.match-featured-card .match-featured-card__meta {
  color: rgba(var(--on-accent-rgb), 0.72);
}

.match-featured-hero .match-featured-hero__hook,
.match-featured-hero .match-featured-hero__why,
.match-featured-card .match-featured-card__hook,
.match-featured-card .match-featured-card__why {
  color: rgba(var(--on-accent-rgb), 0.88);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.45;
}

.match-featured-hero .match-featured-hero__why,
.match-featured-card .match-featured-card__why {
  color: rgba(var(--on-accent-rgb), 0.74);
  font-size: 0.98rem;
}

.feature-card p,
.entry-card p,
.wrestler-card__description,
.rivalry-card__description,
.rivalry-pair__takeaway,
.rivalry-key-match__note,
.timeline-era-button__description,
.timeline-detail__copy p:not(.timeline-detail__label),
.wrestler-detail-panel__section p,
.wrestler-detail-panel__section li,
.venue-detail__section p,
.venue-detail__matches li,
.venues-empty__copy,
.wrestler-empty-state__copy {
  color: var(--text-secondary);
  font-size: var(--type-body);
  font-weight: 700;
  line-height: var(--leading-body);
}

.site-nav a,
.footer-nav a,
.preferences-menu__title,
.preferences-menu__option,
.button,
.button--primary,
.button--secondary,
.watch-button,
.match-btn,
.lens-button__title,
.era-filter-button,
.wrestler-card__link,
.venue-card__link,
.venue-cta,
.venues-clear-all,
.venues-view-all,
.venues-sort select,
.match-filter-menu__button,
.match-filter-menu__option {
  font-family: var(--display);
  font-size: var(--type-label);
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--leading-title);
  text-transform: uppercase;
}

.site-nav a,
.footer-nav a,
.preferences-menu__option,
.lens-button__support,
.wrestler-card__secondary,
.rivalry-card__meta,
.rivalry-key-match__meta,
.timeline-rail__date,
.timeline-rail__marker,
.timeline-detail__date,
.style-muted-copy,
.style-chip,
.match-guide-card__meta,
.watch-button__sublabel,
.match-btn__sublabel,
.venue-card__japanese,
.venue-card__type,
.venue-card__meta,
.venue-stat small,
.venue-tag {
  color: var(--text-muted);
}

.rivalry-card__name {
  display: -webkit-box;
  font-size: clamp(1.45rem, 1.68vw, 1.9rem);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 0.9;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.rivalry-card__meta {
  font-size: 0.7rem;
  line-height: 1;
  opacity: 0.82;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rivalry-card__description {
  display: -webkit-box;
  font-size: 0.9rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.28;
  overflow: hidden;
  text-overflow: ellipsis;
}

.site-nav a[aria-current="page"],
.footer-nav a[aria-current="page"],
.button--primary,
.wrestler-card__link,
.venue-card__link,
.venue-detail__location,
.venues-clear-all,
.venues-sidebar__head button {
  color: var(--accent);
}

.button.button--primary {
  color: var(--on-accent);
}

.match-btn--primary {
  color: var(--on-accent);
}

.watch-button--youtube,
.watch-button--dailymotion,
.watch-button--njpw,
.watch-button--ajpw,
.match-btn--youtube,
.match-btn--dailymotion,
.match-btn--njpw,
.match-btn--ajpw {
  color: var(--text-primary);
}

.watch-button--youtube .watch-button__sublabel,
.watch-button--dailymotion .watch-button__sublabel,
.watch-button--njpw .watch-button__sublabel,
.watch-button--ajpw .watch-button__sublabel,
.match-btn--youtube .match-btn__sublabel,
.match-btn--dailymotion .match-btn__sublabel,
.match-btn--njpw .match-btn__sublabel,
.match-btn--ajpw .match-btn__sublabel {
  color: currentColor;
  opacity: 0.72;
}

.button:focus-visible,
.button--primary:focus-visible,
.button--secondary:focus-visible,
.watch-button:focus-visible,
.match-btn:focus-visible,
.site-nav a:focus-visible,
.footer-nav a:focus-visible,
.preferences-menu__button:focus-visible,
.preferences-menu__option:focus-visible,
.lens-button:focus-visible,
.era-filter-button:focus-visible,
.wrestler-card:focus-visible,
.rivalry-card:focus-visible,
.venue-card:focus-visible,
.venue-cta:focus-visible,
.venues-clear-all:focus-visible,
.venues-view-all:focus-visible,
.lens-preview-search__input:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.lens-preview-search__input:focus-visible {
  box-shadow: none;
}

.lens-button:focus-visible:not([aria-pressed="true"]) {
  box-shadow: inset 0 0 0 1px rgba(var(--text-primary-rgb), 0.46);
}

.lens-button[aria-pressed="true"],
.lens-button[aria-pressed="true"]:hover,
.lens-button[aria-pressed="true"]:focus-visible {
  margin-left: -1px;
  margin-right: -1px;
  outline: 0;
  box-shadow: inset 0 0 0 2px var(--accent-red);
  width: calc(100% + 2px);
  z-index: 1;
}

.lens-button:first-child[aria-pressed="true"],
.lens-button:first-child[aria-pressed="true"]:hover,
.lens-button:first-child[aria-pressed="true"]:focus-visible {
  margin-top: -1px;
}

.lens-button:last-child[aria-pressed="true"],
.lens-button:last-child[aria-pressed="true"]:hover,
.lens-button:last-child[aria-pressed="true"]:focus-visible {
  margin-bottom: -1px;
}

.watch-button:focus-visible,
.match-btn:focus-visible {
  outline: 2px solid var(--accent-red);
  outline-offset: 3px;
  box-shadow:
    var(--focus-ring),
    0 0 0 1px rgba(var(--accent-red-rgb), 0.74);
}

@media (min-width: 1121px) {
  .venues-page {
    height: var(--archive-workspace-height);
    min-height: 0;
    overflow: hidden;
    padding-block: 1rem;
  }

  .venues-shell {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .venues-sidebar,
  .venue-detail {
    max-height: var(--archive-column-max-height);
    overflow-y: auto;
    position: sticky;
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
    top: 0;
  }

  .venue-detail__content {
    border: 0;
    border-radius: 0;
  }

  .venues-main {
    align-self: stretch;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.35rem;
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
  }

  .venues-main__sticky {
    top: 0;
  }
}

@media (max-width: 1380px) {
  .venues-shell {
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.8fr) minmax(300px, 0.92fr);
  }

  .venue-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .venues-header-search {
    display: none;
  }
}

@media (max-width: 1120px) {
  .venues-header-actions {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .venues-nav {
    justify-content: flex-start;
    order: 1;
    width: calc(100% - 4.4rem);
  }

  .venues-shell {
    display: grid;
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .venues-sidebar,
  .venue-detail {
    height: auto;
    position: relative;
    top: auto;
  }

  .venues-sidebar {
    border-bottom: 1px solid rgba(245, 245, 240, 0.14);
    border-right: 0;
  }

  .venue-filter-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .venue-filter-group {
    border-bottom: 1px solid rgba(245, 245, 240, 0.12);
  }

  .venue-filter-group:nth-child(odd) {
    border-right: 1px solid rgba(245, 245, 240, 0.12);
  }

  .venue-detail {
    border-left: 0;
    border-top: 1px solid rgba(245, 245, 240, 0.14);
  }

  .venues-main__sticky {
    position: relative;
    top: auto;
  }

  /* ── Fix: sticky header collapsing to 3px ──────────────────────────────
     .venues-main__sticky and .venues-toolbar are base rules that appear
     later in the sheet than this responsive block, so they override the
     grid back to 2 columns. We reassert single-column stacked layout here
     (this block comes AFTER those base rules in cascade order). */
  .venues-main__sticky {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    height: auto;
    min-height: 0;
  }

  .venues-toolbar {
    grid-column: 1;
    grid-row: 2;
    height: auto;
    justify-self: stretch;
  }

  .venues-toolbar-search {
    flex: 1;
    max-width: none;
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 760px) {
  .venues-site-header {
    gap: 1rem;
  }

  .venues-nav {
    overflow-x: auto;
    padding-bottom: 0.2rem;
    width: 100%;
  }

  .venues-main {
    --venues-main-pad: 1.1rem;
    padding: 1.1rem;
  }

  .venue-map {
    min-height: 21rem;
  }

  .venue-map__canvas {
    margin-top: -1rem;
  }

  .venue-map__legend {
    left: 0;
    position: relative;
    right: auto;
    top: auto;
  }

  .venues-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .venues-sort,
  .venues-sort select,
  .venues-toolbar-search,
  .venues-load-more {
    max-width: none;
    width: 100%;
  }

  .arena-meta-row,
  .venue-card__meta-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .venue-card__tier {
    align-self: flex-start;
  }

  .venue-filter-stack,
  .venue-grid,
  .venue-detail__stats {
    grid-template-columns: 1fr;
  }

  .venue-filter-group:nth-child(odd),
  .venue-stat {
    border-right: 0;
  }

  .venue-stat {
    border-bottom: 1px solid rgba(245, 245, 240, 0.13);
    padding: 0.8rem 0;
  }

  .venue-stat:last-child {
    border-bottom: 0;
  }

  /* ── Mobile UX improvements ─────────────────────────────────────────── */

  /* Reorder grid items so venue cards appear first, filters after -
     avoids burying content below ~450px of filter UI on a small screen. */
  .venues-main    { order: 1; }
  .venues-sidebar {
    border-bottom: 0;
    border-top: 1px solid rgba(245, 245, 240, 0.14);
    order: 2;
  }
  .venue-detail   { order: 3; }

  /* Touch-friendly filter checkboxes - min 44px tap target height */
  .venue-filter-option {
    min-height: 2.75rem;
    padding-block: 0.55rem;
  }

  /* Bigger view-mode toggle buttons */
  .venues-view-toggle__btn {
    min-height: 2.75rem;
    min-width: 5.25rem;
  }

  /* Compact intro heading so toolbar has breathing room */
  .venues-main__intro h1 {
    font-size: 1.75rem;
  }
}

@media (min-width: 821px) and (max-width: 1120px) {
  .venue-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 561px) and (max-width: 820px) {
  .venue-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .venue-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1120px) {
  .match-guide-section-heading,
  .match-filter-panel {
    grid-template-columns: 1fr;
  }

  .match-featured__controls {
    justify-content: flex-start;
  }

  .match-explorer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .match-featured__stage {
    min-height: 34rem;
  }

  .match-featured-card--next,
  .match-featured-card--far-next {
    transform: translate3d(1rem, -0.8rem, 0) scale(0.92) rotate(1deg);
  }

  .match-featured-card--prev {
    transform: translate3d(-1rem, 0.75rem, 0) scale(0.92) rotate(-1deg);
  }

  .match-featured-card__title {
    font-size: clamp(2.3rem, 13vw, 4.2rem);
  }

  .match-featured-hero__title {
    font-size: clamp(2.3rem, 13vw, 4.2rem);
  }

  .match-featured-hero,
  .match-featured__stage {
    min-height: 34rem;
  }

  .match-explorer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .match-explorer__grid {
    grid-template-columns: 1fr;
  }

  .match-guide-card {
    height: 30rem;
  }
}

@media (hover: none) {
  .match-guide-card .match-action {
    opacity: 1;
    transform: none;
  }
}

@keyframes matchFeaturedActiveIn {
  from {
    opacity: 0.78;
    transform: translate3d(1.35rem, 0.35rem, 0) scale(0.985) rotate(0.35deg);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}

@keyframes matchFeaturedActiveInReverse {
  from {
    opacity: 0.78;
    transform: translate3d(-1.35rem, 0.35rem, 0) scale(0.985) rotate(-0.35deg);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}

@keyframes matchFeaturedStackSettle {
  from {
    filter: saturate(0.92);
  }

  to {
    filter: saturate(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wrestlers-content,
  .wrestler-card,
  .rivalry-card,
  .wrestler-detail-panel__image--mutoh-morph img,
  .wrestler-detail-panel__image--mutoh-morph::after,
  .lens-button,
  .match-featured-card,
  .match-featured__control-icon,
  .match-guide-card,
  .match-guide-card__visual,
  .watch-button,
  .match-btn {
    animation: none;
    transition: none;
  }

  .wrestler-detail-panel__image--mutoh-morph .wrestler-detail-panel__morph-image--muta,
  .wrestler-detail-panel__morph-progress,
  .wrestler-detail-panel__image--mutoh-morph::after {
    display: none;
  }

  .match-featured__stage.is-transitioning .match-featured-card--active,
  .match-featured__stage.is-transitioning .match-featured-card--next,
  .match-featured__stage.is-transitioning .match-featured-card--prev,
  .match-featured__stage.is-transitioning .match-featured-card--far-next {
    animation: none;
  }

  .rivalry-connector__dot::before,
  .rivalry-connector__dot::after {
    animation: none;
  }
}

@keyframes trackingBurst {
  0% {
    opacity: 0;
    transform: translateY(-4%);
  }

  8%,
  36%,
  68% {
    opacity: 0.92;
    transform: translateY(0);
  }

  18%,
  48% {
    opacity: 0.38;
    transform: translateY(6%);
  }

  100% {
    opacity: 0;
    transform: translateY(12%);
  }
}

@keyframes trackingBurstLow {
  0% {
    opacity: 0;
    transform: translateY(4%);
  }

  10%,
  34%,
  64% {
    opacity: 0.86;
    transform: translateY(0);
  }

  20%,
  46% {
    opacity: 0.32;
    transform: translateY(-5%);
  }

  100% {
    opacity: 0;
    transform: translateY(-10%);
  }
}

@keyframes heroSignalTear {
  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(8px);
  }
}

@keyframes heroSignalTearLow {
  0%,
  100% {
    transform: translateX(0) translateY(0);
  }

  50% {
    transform: translateX(-7px) translateY(5px);
  }
}

@keyframes heroHeadRoll {
  0% {
    background-position:
      0 -88%,
      0 0;
    opacity: 0;
  }

  18%,
  72% {
    opacity: 0.9;
  }

  100% {
    background-position:
      0 116%,
      0 0;
    opacity: 0;
  }
}

@keyframes heroRollDrift {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(8px);
  }
}

@keyframes timelineDotPulse {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }

  15% {
    opacity: 0.55;
  }

  100% {
    opacity: 0;
    transform: scale(2.65);
  }
}

.start-story .start-story-hero h1 {
  color: var(--paper);
  font-size: clamp(4rem, 10vw, 9rem);
  line-height: 0.82;
  max-width: 8.5ch;
  white-space: normal;
}

.start-story .start-story-hero__content > p {
  color: rgba(var(--text-primary-rgb), 0.82);
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  line-height: 1.65;
}

.start-story .start-story-opening h2,
.start-story .start-story-chapter h2,
.start-story .start-story-roads h2,
.start-story .start-story-global h2 {
  color: var(--ink);
  font-size: clamp(2.65rem, 5.5vw, 5.75rem);
  line-height: 0.86;
}

[data-theme="modern-showa"] .start-story .start-story-hero h1 {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .start-story .start-story-hero__content > p {
  color: var(--text-secondary);
}

@media (max-width: 560px) {
  .start-story .start-story-hero h1 {
    font-size: clamp(3.2rem, 17vw, 5.2rem);
  }
}

.start-story {
  background: #050505;
}

.start-story article {
  background: #050505;
  margin-inline: auto;
  max-width: none;
  width: 100%;
}

.start-story .section {
  border-top: 1px solid rgba(20, 18, 15, 0.34);
  padding-inline: clamp(1rem, 3vw, 2.75rem);
  padding-block: clamp(2rem, 4.2vw, 4rem);
}

.start-story .section__inner {
  max-width: min(1500px, 100%);
}

.start-story .start-story-hero,
[data-theme="modern-showa"] .start-story .start-story-hero {
  background: #050505;
  border-bottom: 1px solid rgba(245, 245, 240, 0.18);
  min-height: clamp(42rem, 62vw, 50rem);
  padding: clamp(5.5rem, 8vw, 7rem) clamp(1rem, 4vw, 3rem) clamp(3rem, 5vw, 4rem);
}

.start-story .start-story-hero::before,
[data-theme="modern-showa"] .start-story .start-story-hero::before {
  background:
    radial-gradient(circle at 70% 58%, rgba(255, 255, 255, 0.08), transparent 20rem),
    linear-gradient(90deg, rgba(5, 5, 5, 0.96) 0%, rgba(5, 5, 5, 0.78) 43%, rgba(5, 5, 5, 0.48) 68%, rgba(5, 5, 5, 0.92) 100%);
  filter: none;
  opacity: 1;
}

.start-story .start-story-hero::after {
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.24), transparent 34%, rgba(5, 5, 5, 0.38)),
    url("./assets/wrestlers/rikidozan.webp") right 7% bottom / min(42rem, 48vw) auto no-repeat;
  bottom: 0;
  content: "";
  filter: grayscale(1) contrast(1.14) brightness(0.78) sepia(0.1);
  height: auto;
  inset: 0;
  opacity: 0.86;
  pointer-events: none;
  position: absolute;
  width: auto;
}

.start-story .start-story-hero__topline,
.start-story .start-story-hero__center-label,
.start-story .start-story-hero__stamp,
.start-story .start-story-hero__vertical,
.start-story .start-story-hero__keywords {
  color: rgba(245, 245, 240, 0.78);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  position: absolute;
  text-transform: uppercase;
  z-index: 3;
}

.start-story .start-story-hero__topline {
  display: flex;
  gap: 0.7rem;
  left: clamp(1.25rem, 4vw, 3.5rem);
  top: clamp(1.25rem, 3vw, 2rem);
}

.start-story .start-story-hero__topline span:first-child,
.start-story .start-story-hero__stamp,
.start-story .start-story-hero__center-label {
  color: var(--red);
}

.start-story .start-story-hero__center-label {
  left: 50%;
  margin: 0;
  top: clamp(1.25rem, 3vw, 2rem);
  transform: translateX(-50%);
}

.start-story .start-story-hero__center-label::after {
  background: var(--red);
  content: "";
  display: block;
  height: 2px;
  margin: 0.7rem auto 0;
  width: 2rem;
}

.start-story .start-story-hero__stamp {
  border: 1px solid rgba(var(--accent-red-rgb), 0.58);
  margin: 0;
  padding: 0.6rem 0.8rem;
  right: clamp(1.25rem, 4vw, 3rem);
  top: clamp(1.4rem, 3vw, 2.2rem);
  transform: rotate(-4deg);
}

.start-story .start-story-hero__vertical {
  color: rgba(var(--accent-red-rgb), 0.72);
  right: clamp(1.4rem, 4vw, 4.2rem);
  top: 23%;
  writing-mode: vertical-rl;
}

.start-story .start-story-hero__keywords {
  bottom: clamp(2rem, 5vw, 4rem);
  display: grid;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
  right: clamp(1.4rem, 4vw, 4.2rem);
  text-align: right;
}

.start-story .start-story-hero__content {
  margin-inline: 0;
  max-width: min(1500px, calc(100vw - 4rem));
  width: 100%;
}

.start-story .start-story-hero h1 {
  color: var(--paper);
  display: grid;
  font-size: clamp(5.5rem, 9.2vw, 11rem);
  letter-spacing: 0;
  line-height: 0.83;
  margin-top: 0.55rem;
  max-width: 7.3ch;
  position: relative;
  z-index: 4;
}

.start-story .start-story-hero h1 span:first-child {
  color: #e8dfcf;
}

.start-story .start-story-hero h1 span:last-child,
[data-theme="modern-showa"] .start-story .start-story-hero h1 span:last-child {
  color: #a9201c;
}

.start-story .start-story-hero .kicker {
  color: rgba(245, 245, 240, 0.88);
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  letter-spacing: 0.06em;
}

.start-story .start-story-hero__content > p,
[data-theme="modern-showa"] .start-story .start-story-hero__content > p {
  border-left: 0;
  color: rgba(245, 245, 240, 0.86);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.55;
  margin-top: 1.4rem;
  max-width: 560px;
  padding-left: 0;
  position: relative;
  z-index: 4;
}

.start-story .start-story-hero__quote {
  border-top: 1px solid rgba(245, 245, 240, 0.28);
  color: #e8dfcf;
  margin: clamp(1.8rem, 3.6vw, 2.7rem) 0 0;
  max-width: 520px;
  padding-top: 1.35rem;
  position: relative;
  z-index: 4;
}

.start-story .start-story-hero__quote blockquote {
  font-family: var(--display);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  font-weight: 800;
  margin: 0;
}

.start-story .start-story-hero__quote figcaption {
  color: rgba(245, 245, 240, 0.62);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-top: 0.7rem;
  text-transform: uppercase;
}

.start-story .start-story-opening,
.start-story .start-story-chapter,
.start-story .start-story-roads,
.start-story .start-story-global,
[data-theme="modern-showa"] .start-story .start-story-opening,
[data-theme="modern-showa"] .start-story .start-story-chapter,
[data-theme="modern-showa"] .start-story .start-story-roads,
[data-theme="modern-showa"] .start-story .start-story-global {
  background:
    linear-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px),
    radial-gradient(circle, rgba(0, 0, 0, 0.16) 0 0.45px, transparent 0.75px),
    #e8dfcf;
  background-size: 100% 7px, 13px 13px, auto;
  color: #090909;
}

.start-story .start-story-opening::before,
.start-story .start-story-chapter::before,
.start-story .start-story-roads::before,
.start-story .start-story-global::before {
  display: none;
}

.start-story .start-story-chapter-number {
  color: #b12620;
  font-family: var(--display);
  font-size: clamp(3.2rem, 6vw, 5.6rem);
  font-weight: 800;
  line-height: 0.85;
  margin: 0;
  position: relative;
  z-index: 2;
}

.start-story .start-story-opening__inner {
  align-items: start;
  display: grid;
  gap: clamp(1rem, 2.5vw, 2rem);
  grid-template-columns: auto minmax(12rem, 0.78fr) minmax(20rem, 1.4fr) minmax(9rem, 0.45fr);
}

.start-story .start-story-opening__copy h2,
.start-story .start-story-chapter h2,
.start-story .start-story-roads h2,
.start-story .start-story-global h2,
[data-theme="modern-showa"] .start-story .start-story-opening__copy h2,
[data-theme="modern-showa"] .start-story .start-story-chapter h2,
[data-theme="modern-showa"] .start-story .start-story-roads h2,
[data-theme="modern-showa"] .start-story .start-story-global h2 {
  color: #090909;
  font-size: clamp(2.1rem, 3.2vw, 3.8rem);
  line-height: 0.92;
}

.start-story .start-story-opening p:not(.kicker),
.start-story .start-story-chapter p:not(.kicker):not(.start-story-date),
.start-story .start-story-roads p,
.start-story .start-story-global p {
  color: rgba(9, 9, 9, 0.82);
  font-size: clamp(0.94rem, 1.05vw, 1.08rem);
}

.start-story .start-story-opening__image {
  background: #050505;
  border: 1px solid rgba(9, 9, 9, 0.22);
  margin: 0;
  min-height: clamp(12rem, 20vw, 18rem);
  overflow: hidden;
}

.start-story .start-story-opening__image img {
  filter: grayscale(1) contrast(1.08) brightness(0.78);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.start-story .start-story-stamp {
  align-self: center;
  aspect-ratio: 1;
  border: 2px solid rgba(var(--accent-red-rgb), 0.7);
  border-radius: 50%;
  color: var(--red);
  display: grid;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  margin: 0 auto;
  place-items: center;
  text-align: center;
  text-transform: uppercase;
  width: min(8rem, 100%);
}

.start-story .start-story-stamp span,
.start-story .start-story-stamp strong {
  display: block;
}

.start-story .start-story-chapter__inner {
  align-items: stretch;
  display: grid;
  grid-template-columns: auto minmax(18rem, 0.92fr) minmax(20rem, 1fr);
  gap: 0;
}

.start-story .start-story-chapter--image-left {
  background: #050505;
  color: #e8dfcf;
}

.start-story .start-story-chapter--image-left .start-story-chapter__inner {
  grid-template-columns: auto minmax(18rem, 1.15fr) minmax(20rem, 0.9fr);
}

.start-story .start-story-chapter--image-left .start-story-chapter__body {
  align-self: center;
  padding: clamp(1.2rem, 3vw, 2.5rem);
}

.start-story .start-story-chapter--image-left h2,
.start-story .start-story-chapter--image-left p:not(.start-story-chapter-number),
[data-theme="modern-showa"] .start-story .start-story-chapter--image-left h2,
[data-theme="modern-showa"] .start-story .start-story-chapter--image-left p:not(.start-story-chapter-number) {
  color: #e8dfcf;
}

.start-story .start-story-image-panel {
  border: 0;
  min-height: 24rem;
}

.start-story .start-story-roads .start-story-section-head {
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 0.45fr) minmax(0, 1fr);
  max-width: none;
}

.start-story .start-story-road-grid {
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.start-story .start-story-road {
  background: transparent;
  border-color: rgba(9, 9, 9, 0.18);
  min-height: 20rem;
}

.start-story .start-story-language-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
  z-index: 2;
}

.start-story .start-story-language-grid article {
  border-left: 1px solid rgba(9, 9, 9, 0.22);
  padding: 0 1rem 1rem;
}

.start-story .start-story-language-grid img {
  background: #050505;
  filter: grayscale(1) contrast(1.1) brightness(0.78);
  height: 11rem;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.start-story .start-story-language-grid h3,
.start-story .start-story-mosaic__grid h3,
.start-story .route-card-grid--start-next .feature-card h3 {
  color: #090909;
  font-size: clamp(1.3rem, 1.8vw, 2rem);
  line-height: 0.95;
}

.start-story .start-story-language-grid p {
  color: rgba(9, 9, 9, 0.78);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
}

.start-story .start-story-pullquote--dark {
  align-self: stretch;
  background: #050505;
  border: 0;
  display: grid;
  margin: 0;
  place-items: center;
}

.start-story .start-story-pullquote--dark p {
  color: #e8dfcf;
}

.start-story .start-story-mosaic,
[data-theme="modern-showa"] .start-story .start-story-mosaic {
  background:
    linear-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px),
    #e8dfcf;
  border-block: 1px solid rgba(9, 9, 9, 0.34);
  color: #090909;
}

.start-story .start-story-mosaic .start-story-section-head {
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(14rem, 0.55fr) minmax(0, 1fr);
  max-width: none;
}

.start-story .start-story-mosaic .start-story-section-head h2,
.start-story .start-story-mosaic .start-story-section-head p,
[data-theme="modern-showa"] .start-story .start-story-mosaic .start-story-section-head h2,
[data-theme="modern-showa"] .start-story .start-story-mosaic .start-story-section-head p {
  color: #090909;
}

.start-story .start-story-mosaic__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.start-story .start-story-mosaic__grid article,
[data-theme="modern-showa"] .start-story .start-story-mosaic__grid article {
  background: transparent;
  border-color: rgba(9, 9, 9, 0.18);
  min-height: 12rem;
}

.start-story .start-story-mosaic__grid p,
[data-theme="modern-showa"] .start-story .start-story-mosaic__grid p {
  color: rgba(9, 9, 9, 0.78);
}

.start-story .start-story-global__inner {
  display: grid;
  grid-template-columns: auto minmax(20rem, 0.9fr) minmax(20rem, 1.1fr);
}

.start-story .start-story-wide-image {
  min-height: 18rem;
}

.start-story .start-story-next {
  background:
    linear-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px),
    #e8dfcf;
  border-top: 1px solid rgba(9, 9, 9, 0.34);
  color: #090909;
}

.start-story .start-story-next .section__header {
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(12rem, 0.55fr) minmax(0, 1fr);
}

.start-story .start-story-next .section__header h2,
.start-story .start-story-next .section__header > p {
  color: #090909;
}

.start-story .route-card-grid--start-next {
  gap: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.start-story .route-card-grid--start-next .feature-card {
  background: transparent;
  border-color: rgba(9, 9, 9, 0.16);
  box-shadow: none;
  min-height: 17rem;
}

.start-story .route-card-grid--start-next .feature-card p:last-child {
  color: rgba(9, 9, 9, 0.72);
  font-size: 0.9rem;
}

@media (max-width: 1120px) {
  .start-story .start-story-opening__inner,
  .start-story .start-story-chapter__inner,
  .start-story .start-story-chapter--image-left .start-story-chapter__inner,
  .start-story .start-story-global__inner,
  .start-story .start-story-next .section__header,
  .start-story .start-story-roads .start-story-section-head,
  .start-story .start-story-mosaic .start-story-section-head {
    grid-template-columns: 1fr;
  }

  .start-story .start-story-language-grid,
  .start-story .start-story-mosaic__grid,
  .start-story .route-card-grid--start-next {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .start-story .start-story-hero::after {
    opacity: 0.36;
  }
}

@media (max-width: 760px) {
  .start-story .start-story-hero,
  [data-theme="modern-showa"] .start-story .start-story-hero {
    min-height: 39rem;
  }

  .start-story .start-story-hero__topline,
  .start-story .start-story-hero__stamp,
  .start-story .start-story-hero__vertical,
  .start-story .start-story-hero__keywords {
    display: none;
  }

  .start-story .start-story-hero__center-label {
    left: clamp(1rem, 4vw, 1.5rem);
    top: 1.2rem;
    transform: none;
  }

  .start-story .start-story-hero h1 {
    font-size: clamp(4rem, 20vw, 6.5rem);
  }

  .start-story .start-story-language-grid,
  .start-story .start-story-mosaic__grid,
  .start-story .route-card-grid--start-next,
  .start-story .start-story-road-grid {
    grid-template-columns: 1fr;
  }
}

.start-story .route-hero--start,
[data-theme="modern-showa"] .start-story .route-hero--start {
  align-items: center;
  background: var(--route-hero-atmosphere);
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
  box-sizing: border-box;
  display: flex;
  height: var(--route-hero-height);
  min-height: var(--route-hero-height);
  overflow: hidden;
  padding: clamp(3.75rem, 7.5vw, 6rem) clamp(1rem, 4vw, 3rem) clamp(2.65rem, 5.25vw, 3.75rem);
  position: relative;
}

.start-story .route-hero--start::before {
  background-image: url("./assets/hero-images/hero/rikidozan-timeline-bg.webp");
  background-position: center 34%;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: "";
  filter: grayscale(1) contrast(1.08);
  opacity: 0.2;
  pointer-events: none;
  position: absolute;
  right: max(0rem, calc((100vw - var(--max-width)) / 2));
  top: 0;
  transform: none;
  width: min(44vw, 620px);
  z-index: 0;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(var(--shadow-rgb), 0.72) 20%, rgb(var(--shadow-rgb)) 45%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgb(var(--shadow-rgb)) 16%, rgb(var(--shadow-rgb)) 76%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(var(--shadow-rgb), 0.72) 20%, rgb(var(--shadow-rgb)) 45%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgb(var(--shadow-rgb)) 16%, rgb(var(--shadow-rgb)) 76%, transparent 100%);
  mask-composite: intersect;
}

.start-story .route-hero--start::after {
  background: var(--paper-solid);
  bottom: -4px;
  content: "";
  filter: none;
  height: 2px;
  left: 0;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: auto;
  width: auto;
  z-index: 2;
}

.start-story .route-hero--start .route-hero__content {
  display: block;
  margin-inline: auto;
  max-width: var(--max-width);
  position: relative;
  width: 100%;
  z-index: 1;
}

.start-story .route-hero--start .kicker {
  color: var(--red);
  font-size: var(--type-kicker);
  letter-spacing: var(--tracking-label);
  margin: 0 0 0.65rem;
}

.start-story .route-hero--start h1,
[data-theme="modern-showa"] .start-story .route-hero--start h1 {
  color: var(--paper);
  display: block;
  font-family: var(--display);
  font-size: clamp(3rem, 6.7vw, 6.7rem);
  line-height: 0.84;
  margin: 0;
  max-width: 12ch;
  text-transform: uppercase;
  white-space: normal;
}

.start-story .route-hero--start .route-hero__content > p,
[data-theme="modern-showa"] .start-story .route-hero--start .route-hero__content > p {
  border-left: 0;
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.75;
  margin: 1.2rem 0 0;
  max-width: 660px;
  padding-left: 0;
}

[data-theme="modern-showa"] .start-story .route-hero--start {
  background: #ffffff;
  border-bottom: 2px solid rgba(232, 227, 217, 0.22);
}

[data-theme="modern-showa"] .start-story .route-hero--start::before {
  filter: grayscale(1) contrast(1.08);
  opacity: 0.12;
  -webkit-mask-image: none;
  mask-image: none;
}

[data-theme="modern-showa"] .start-story .route-hero--start::after {
  background: var(--accent-red);
  opacity: 1;
}

[data-theme="modern-showa"] .start-story .route-hero--start h1 {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .start-story .route-hero--start .route-hero__content > p {
  color: var(--text-secondary);
}

@media (max-width: 1120px) {
  .start-story .route-hero--start::before {
    width: min(56vw, 520px);
  }
}

@media (max-width: 560px) {
  .start-story .route-hero--start,
  [data-theme="modern-showa"] .start-story .route-hero--start {
    min-height: var(--route-hero-height);
  }

  .start-story .route-hero--start::before {
    width: min(76vw, 430px);
  }

  .start-story .route-hero--start h1 {
    font-size: clamp(2.8rem, 13vw, 4.8rem);
  }
}

.styles-archive-hero h1,
.timeline-archive-hero h1,
[data-theme="modern-showa"] .styles-archive-hero h1,
[data-theme="modern-showa"] .timeline-archive-hero h1 {
  color: #f5f5f0;
}

.styles-archive-hero__subtitle,
[data-theme="modern-showa"] .styles-archive-hero__subtitle {
  color: var(--accent-red);
}

.styles-archive-hero__vertical,
[data-theme="modern-showa"] .styles-archive-hero__vertical {
  color: #f5f5f0;
}

.styles-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical,
[data-theme="modern-showa"] .styles-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical {
  color: #f5f5f0;
}

.start-archive-hero {
  --archive-hero-image: url("./assets/hero-images/hero/rikidozan-timeline-bg.webp");
  --archive-hero-image-position: right 34%;
  --archive-hero-image-position-collapsed: center calc(34% + 25px);
  border-top: 0;
  border-bottom-color: rgba(232, 227, 217, 0.22);
  border-bottom-width: 2px;
}

.timeline-page .timeline-archive-hero {
  --archive-hero-overlay: linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.76) 34%, rgba(0, 0, 0, 0.35) 68%, rgba(0, 0, 0, 0.82) 100%);
  --archive-hero-accent-glow: radial-gradient(circle at 76% 38%, rgba(var(--accent-red-rgb), 0.22), transparent 20rem);
  --archive-hero-image: url("./assets/hero-images/hero/baba-hero.webp");
  --archive-hero-image-position: calc(62% + 260px) calc(42% + 70px);
  --archive-hero-image-position-collapsed: calc(52% + 210px) calc(36% + 94px);
  --archive-hero-image-size: min(76rem, 72vw) auto;
  --archive-hero-image-size-collapsed: min(62rem, 58vw) auto;
  --archive-hero-image-filter: grayscale(100%) sepia(0.22) contrast(1.25) brightness(0.62);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.18) contrast(1.32) brightness(0.48);
}

@media (max-width: 1024px) {
  .start-archive-hero::before {
    --archive-hero-image-position: right 34%;
    --archive-hero-image-size: max(44rem, 104vw) auto;
  }

  .start-archive-hero.styles-hero--collapsed::before {
    --archive-hero-image-position-collapsed: right 30%;
    --archive-hero-image-size-collapsed: max(36rem, 88vw) auto;
  }
}

@media (max-width: 560px) {
  .start-archive-hero::before {
    --archive-hero-image-position: right 38%;
    --archive-hero-image-size: max(32rem, 136vw) auto;
  }

  .start-archive-hero.styles-hero--collapsed::before {
    --archive-hero-image-position-collapsed: right 34%;
    --archive-hero-image-size-collapsed: max(28rem, 118vw) auto;
  }
}

@media (max-width: 560px) {
  .timeline-page .timeline-archive-hero::before {
    --archive-hero-image-position: calc(96% + 130px) 52%;
    --archive-hero-image-size: min(26rem, 116vw) auto;
  }

  .timeline-page .timeline-archive-hero.styles-hero--collapsed .styles-archive-hero__inner {
    gap: 0.4rem;
    grid-template-columns: minmax(0, 1fr);
    max-width: calc(100vw - 2rem);
  }

  .timeline-page .timeline-archive-hero.styles-hero--collapsed .styles-archive-hero__copy {
    max-width: 100%;
    min-width: 0;
  }

  .timeline-page .timeline-archive-hero.styles-hero--collapsed h1 {
    font-size: clamp(1.85rem, 7.5vw, 2.55rem);
    line-height: 0.95;
    max-width: 100%;
    overflow-wrap: break-word;
    white-space: normal;
  }

  .timeline-page .timeline-archive-hero.styles-hero--collapsed::before {
    --archive-hero-image-position-collapsed: calc(98% + 30px) calc(52% + 45px);
    --archive-hero-image-size-collapsed: min(24rem, 108vw) auto;
  }
}

@media (min-width: 561px) and (max-width: 1024px) {
  .timeline-page .timeline-archive-hero.styles-hero--collapsed::before {
    --archive-hero-image-position-collapsed: calc(52% + 170px) calc(36% + 75px);
  }
}


.start-archive-hero h1,
[data-theme="modern-showa"] .start-archive-hero h1 {
  color: #f5f5f0;
  font-size: var(--type-title-xl);
  max-width: none;
}

.start-archive-hero.styles-hero--collapsed h1,
[data-theme="modern-showa"] .start-archive-hero.styles-hero--collapsed h1 {
  font-size: clamp(2.1rem, 3vw, 3.6rem);
}

.start-archive-hero .styles-archive-hero__subtitle,
[data-theme="modern-showa"] .start-archive-hero .styles-archive-hero__subtitle {
  color: var(--accent-red);
}

.start-archive-hero .styles-archive-hero__vertical,
[data-theme="modern-showa"] .start-archive-hero .styles-archive-hero__vertical {
  color: #f5f5f0;
  top: calc(var(--styles-hero-expanded-height) / 2);
  transform: translateY(-50%);
}

.start-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical,
[data-theme="modern-showa"] .start-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical {
  color: #f5f5f0;
  top: auto;
  transform: translateY(0.03em);
}

[data-theme="showa-light"] .styles-explorer-section,
[data-theme="modern-showa"] .styles-explorer-section,
[data-theme="showa-light"] .styles-page.styles-page--collapsed .styles-explorer-section,
[data-theme="modern-showa"] .styles-page.styles-page--collapsed .styles-explorer-section {
  background: #ffffff;
  color: var(--text-primary);
}

[data-theme="showa-light"] .styles-explorer__canvas,
[data-theme="modern-showa"] .styles-explorer__canvas {
  color: var(--text-primary);
}

[data-theme="showa-light"] .styles-tab-bar,
[data-theme="modern-showa"] .styles-tab-bar {
  background: #ffffff;
  border-bottom-color: var(--border-subtle);
  border-top-color: var(--border-subtle);
}

[data-theme="showa-light"] .style-nav-button,
[data-theme="modern-showa"] .style-nav-button {
  border-left-color: var(--border-subtle);
  color: var(--text-primary);
}

[data-theme="showa-light"] .style-nav-button:last-child,
[data-theme="modern-showa"] .style-nav-button:last-child {
  border-right-color: var(--border-subtle);
}

[data-theme="showa-light"] .style-nav-button:hover,
[data-theme="showa-light"] .style-nav-button:focus-visible,
[data-theme="modern-showa"] .style-nav-button:hover,
[data-theme="modern-showa"] .style-nav-button:focus-visible {
  background: rgba(0, 0, 0, 0.04);
  color: var(--text-primary);
}

[data-theme="showa-light"] .style-nav-button[aria-selected="true"],
[data-theme="modern-showa"] .style-nav-button[aria-selected="true"],
[data-theme="archival-dark"] .style-nav-button[aria-selected="true"],
[data-theme="dark"] .style-nav-button[aria-selected="true"] {
  color: #ffffff;
}

[data-theme="showa-light"] .style-nav-button[aria-selected="true"],
[data-theme="modern-showa"] .style-nav-button[aria-selected="true"] {
  background: #111110;
}

[data-theme="showa-light"] .style-image-panel,
[data-theme="modern-showa"] .style-image-panel,
[data-theme="showa-light"] .style-detail-panel,
[data-theme="modern-showa"] .style-detail-panel {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.18);
}

[data-theme="showa-light"] .style-image-panel::before,
[data-theme="showa-light"] .style-image-panel::after,
[data-theme="showa-light"] .style-detail-panel::before,
[data-theme="showa-light"] .style-detail-panel::after,
[data-theme="modern-showa"] .style-image-panel::before,
[data-theme="modern-showa"] .style-image-panel::after,
[data-theme="modern-showa"] .style-detail-panel::before,
[data-theme="modern-showa"] .style-detail-panel::after {
  display: none;
}

[data-theme="showa-light"] .style-detail-title,
[data-theme="modern-showa"] .style-detail-title {
  color: var(--text-primary);
}

[data-theme="showa-light"] .style-detail-definition,
[data-theme="modern-showa"] .style-detail-definition {
  color: var(--text-secondary);
}

[data-theme="showa-light"] .style-detail-panel__divider,
[data-theme="modern-showa"] .style-detail-panel__divider {
  background: rgba(0, 0, 0, 0.16);
}

.start-story-editorial {
  --start-paper: transparent;
  --start-paper-dark: transparent;
  --start-ink: #070707;
  --start-red: #b52620;
  --start-red-dark: #891915;
  --start-rule: rgba(7, 7, 7, 0.18);
  --start-paper-text: rgba(7, 7, 7, 0.78);
  --start-dark-text: rgba(245, 241, 232, 0.82);

  background: #050505;
  counter-reset: start-chapter;
  overflow: clip;
}

.start-story-editorial .section {
  border: 0;
  isolation: isolate;
  overflow: hidden;
  padding: 0 clamp(1rem, 3vw, 2.75rem);
  position: relative;
}

.start-story-editorial .section::after {
  display: none;
}

.start-story-editorial .section__inner {
  margin-inline: auto;
  max-width: min(1500px, 100%);
  position: relative;
  z-index: 1;
}

.start-story-editorial .kicker,
.start-story-editorial .start-story-date,
.start-story-editorial .feature-card__eyebrow {
  color: var(--start-red);
  font-family: var(--display);
  font-size: clamp(0.72rem, 0.78vw, 0.86rem);
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.start-story-editorial h2,
.start-story-editorial h3 {
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: 0;
  margin: 0;
  text-transform: uppercase;
}

.start-story-editorial h2 {
  font-size: clamp(2.25rem, 4.2vw, 5.4rem);
  line-height: 0.86;
}

.start-story-editorial h3 {
  font-size: clamp(1.45rem, 2.2vw, 2.75rem);
  line-height: 0.9;
}

.start-story-editorial p {
  margin: 0;
}

.start-story-editorial .start-story-quote {
  color: var(--start-red);
  font-family: var(--display);
  font-size: clamp(0.84rem, 1vw, 1.02rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.15;
  max-width: 24rem;
  text-transform: uppercase;
}

.start-story-editorial img {
  display: block;
  max-width: 100%;
}

.start-story .start-story-editorial .section .start-story-chapter-number {
  color: var(--start-red);
  font-family: var(--display);
  font-size: clamp(7.8rem, 12vw, 15rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.72;
  margin: 0;
}

.start-story-editorial .start-story-opening,
.start-story-editorial .start-story-roads,
.start-story-editorial .start-story-mosaic,
.start-story-editorial .start-story-global,
.start-story-editorial .start-story-next,
[data-theme="modern-showa"] .start-story-editorial .start-story-opening,
[data-theme="modern-showa"] .start-story-editorial .start-story-roads,
[data-theme="modern-showa"] .start-story-editorial .start-story-mosaic,
[data-theme="modern-showa"] .start-story-editorial .start-story-global,
[data-theme="modern-showa"] .start-story-editorial .start-story-next {
  background: var(--start-paper);
  color: var(--start-ink);
}

.start-story-editorial .start-story-opening::after,
.start-story-editorial .start-story-roads::after,
.start-story-editorial .start-story-mosaic::after,
.start-story-editorial .start-story-global::after,
.start-story-editorial .start-story-next::after {
  display: none;
}

.start-story-editorial .start-story-opening__inner {
  align-items: start;
  display: grid;
  column-gap: clamp(1.5rem, 4vw, 4.5rem);
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.42fr);
  margin-inline: auto;
  max-width: min(1220px, 100%);
  min-height: clamp(18rem, 27vw, 25rem);
  padding-block: clamp(2rem, 4vw, 3.7rem);
  position: relative;
}

.start-story-editorial .start-story-opening__copy {
  display: grid;
  grid-column: 1;
  row-gap: clamp(0.8rem, 1.1vw, 1.05rem);
}

.start-story-editorial .start-story-opening__copy h2 {
  color: var(--start-ink);
}

.start-story-editorial .start-story-opening__copy p:not(.kicker):not(.start-story-chapter-number) {
  color: var(--start-paper-text);
  font-size: clamp(1rem, 1.15vw, 1.15rem);
  font-weight: 700;
  line-height: 1.55;
  max-width: 42rem;
}

.start-story-editorial .start-story-opening__image {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  margin: 0;
  min-height: clamp(19rem, 28vw, 28rem);
  overflow: visible;
  place-items: center;
  position: relative;
  transform: rotate(-0.4deg);
  z-index: 1;
}

.start-story-editorial .start-story-opening__image::after,
.start-story-editorial .start-story-wide-image::after,
.start-story-editorial .start-story-rikidozan__image::after,
.start-story-editorial .start-story-language-grid figure::after {
  display: none;
}

.start-story-editorial .start-story-opening__image img {
  filter: none;
  height: auto;
  min-height: 0;
  object-fit: contain;
  transform: rotate(7deg);
  width: min(100%, 34rem);
}

.start-story-editorial .start-story-opening__image::after,
.start-story-editorial .start-story-opening__image figcaption {
  display: none;
}

.start-story-editorial .start-story-opening__image figcaption,
.start-story-editorial .start-story-wide-image figcaption {
  color: rgba(245, 241, 232, 0.62);
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  position: absolute;
  right: 1rem;
  text-transform: uppercase;
  top: 0.8rem;
}

.start-story-editorial .start-story-rikidozan {
  background: var(--start-paper);
  color: var(--start-ink);
}

.start-story-editorial .start-story-rikidozan__inner {
  align-items: center;
  display: grid;
  column-gap: 0;
  row-gap: clamp(1rem, 1.8vw, 1.5rem);
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.42fr);
  margin-inline: auto;
  max-width: min(1220px, 100%);
  min-height: clamp(34rem, 48vw, 48rem);
  padding-block: clamp(3rem, 5.4vw, 5.8rem);
}

.start-story-editorial .start-story-rikidozan h2,
[data-theme="modern-showa"] .start-story-editorial .start-story-rikidozan h2 {
  color: var(--start-ink);
  font-size: clamp(3rem, 5vw, 7.2rem);
  letter-spacing: 0.02em;
}

.start-story-editorial .start-story-rikidozan__copy > p:not(.kicker):not(.start-story-date):not(.start-story-chapter-number) {
  color: var(--start-paper-text);
  font-size: clamp(1rem, 1.15vw, 1.15rem);
  font-weight: 700;
  line-height: 1.55;
  max-width: 26rem;
}

.start-story-editorial .start-story-rikidozan__copy {
  display: grid;
  grid-column: 2;
  grid-row: 1;
  row-gap: clamp(0.8rem, 1.1vw, 1.05rem);
  position: relative;
  z-index: 3;
}

.start-story-editorial .start-story-rikidozan__image {
  align-self: center;
  display: grid;
  grid-column: 1;
  grid-row: 1 / span 2;
  justify-self: start;
  margin: 0;
  min-height: clamp(24rem, 42vw, 43rem);
  overflow: visible;
  place-items: center;
  position: relative;
}

.start-story-editorial .start-story-rikidozan__image img {
  filter: none;
  height: auto;
  margin-inline: auto;
  max-width: none;
  object-fit: contain;
  object-position: center bottom;
  width: 637px;
}

.start-story-editorial .start-story-rikidozan__image::after {
  display: none;
}

.start-story-editorial .start-story-stat-list {
  border-left: 0;
  display: grid;
  gap: clamp(1rem, 1.4vw, 1.25rem);
  grid-column: 2;
  grid-row: 2;
  margin-top: clamp(1.8rem, 2.4vw, 2.35rem);
  max-width: 26rem;
  padding-left: 0;
  position: relative;
  z-index: 3;
}

.start-story-editorial .start-story-stat-list div,
.start-story-editorial .start-story-global-notes p {
  display: grid;
  gap: 0.22rem 0.85rem;
  grid-template-columns: auto 1fr;
}

.start-story-editorial .start-story-stat-list .material-symbols-outlined,
.start-story-editorial .start-story-global-notes .material-symbols-outlined {
  color: rgba(232, 221, 202, 0.76);
  font-size: 1.8rem;
  grid-row: span 2;
}

.start-story-editorial .start-story-mosaic__grid .material-symbols-outlined {
  color: var(--start-ink);
  font-size: 1.8rem;
  grid-row: span 2;
}

.start-story-editorial .start-story-stat-list .material-symbols-outlined {
  color: var(--start-red);
}

.start-story-editorial .start-story-stat-list strong,
.start-story-editorial .start-story-global-notes strong {
  color: #f5f1e8;
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

.start-story-editorial .start-story-stat-list strong {
  color: var(--start-ink);
}

.start-story-editorial .start-story-stat-list p,
.start-story-editorial .start-story-global-notes p {
  color: rgba(245, 241, 232, 0.68);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
}

.start-story-editorial .start-story-stat-list p {
  color: var(--start-paper-text);
}

.start-story-editorial .start-story-roads .section__inner {
  align-items: center;
  display: grid;
  gap: clamp(1.8rem, 3.2vw, 3.2rem);
  grid-template-columns: minmax(25rem, 0.58fr) minmax(0, 1fr);
  max-width: min(1220px, 100%);
  min-height: clamp(22rem, 36vw, 33rem);
  padding-block: clamp(3.2rem, 5vw, 5.4rem);
}

.start-story-editorial .start-story-roads .start-story-section-head {
  align-items: start;
  grid-template-columns: minmax(10rem, auto) minmax(0, 1fr);
}

.start-story-editorial .start-story-roads .start-story-section-head > div {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: 1fr;
  padding-top: clamp(0.35rem, 0.9vw, 0.9rem);
}

.start-story-editorial .start-story-roads .start-story-section-head .kicker {
  color: var(--start-red);
  grid-column: auto;
}

.start-story-editorial .start-story-section-head {
  align-items: start;
  display: grid;
  gap: clamp(1rem, 2vw, 2rem);
  grid-template-columns: minmax(11rem, auto) minmax(0, 1fr);
}

.start-story-editorial .start-story-section-head h2 {
  color: var(--start-ink);
  max-width: 18ch;
}

.start-story-editorial .start-story-roads .start-story-section-head h2 {
  font-size: clamp(2.4rem, 4.1vw, 5rem);
  line-height: 0.86;
  max-width: none;
}

.start-story-editorial .start-story-section-head > div > p:not(.kicker) {
  color: var(--start-paper-text);
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  font-weight: 800;
  line-height: 1.45;
  margin-top: 1rem;
  max-width: 28rem;
}

.start-story-editorial .start-story-roads .start-story-section-head > div > p:not(.kicker) {
  align-self: auto;
  color: var(--start-paper-text);
  font-size: clamp(1rem, 1.15vw, 1.15rem);
  font-weight: 700;
  line-height: 1.55;
  margin-top: 0.4rem;
  max-width: 44rem;
}

.start-story-editorial .start-story-roads__image {
  justify-self: end;
  margin: 0;
  max-width: min(680px, 100%);
  position: relative;
  transform: rotate(-1deg);
}

.start-story-editorial .start-story-roads__image img {
  display: block;
  filter: none;
  height: 100%;
  width: 100%;
}

.start-story-editorial .start-story-road-grid {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin-top: clamp(1.8rem, 3vw, 3rem);
  position: relative;
}

.start-story-editorial .start-story-road {
  align-items: end;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--start-rule);
  display: grid;
  gap: clamp(1rem, 2vw, 1.8rem);
  grid-template-columns: minmax(10rem, 0.55fr) minmax(0, 1fr);
  min-height: 18rem;
  padding: clamp(1rem, 2.6vw, 2.2rem);
  position: relative;
}

.start-story-editorial .start-story-road:last-child {
  border-left: 1px solid var(--start-rule);
}

.start-story-editorial .start-story-road figure {
  align-self: end;
  margin: 0;
  min-height: 13rem;
  overflow: hidden;
}

.start-story-editorial .start-story-road img {
  filter: grayscale(1) contrast(1.08) brightness(0.92) sepia(0.1);
  height: clamp(14rem, 20vw, 20rem);
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.start-story-editorial .start-story-road h3 {
  color: var(--start-ink);
}

.start-story-editorial .start-story-road p:not(.start-story-date) {
  color: var(--start-paper-text);
  font-size: clamp(0.92rem, 1vw, 1.05rem);
  font-weight: 700;
  line-height: 1.45;
  margin-top: 0.8rem;
}

.start-story-editorial .start-story-vs {
  align-self: center;
  border: 1px solid rgba(var(--accent-red-rgb), 0.62);
  border-radius: 50%;
  color: var(--start-red);
  display: grid;
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 800;
  height: 3.4rem;
  margin-inline: -1.7rem;
  place-items: center;
  position: relative;
  width: 3.4rem;
  z-index: 3;
}

.start-story-editorial .start-story-expansion {
  background:
    radial-gradient(circle at 88% 32%, rgba(var(--accent-red-rgb), 0.16), transparent 22rem),
    linear-gradient(90deg, #050505 0%, #0b0a09 58%, #050505 100%);
  color: #f5f1e8;
}

.start-story-editorial .start-story-expansion__inner {
  display: grid;
  gap: clamp(1.8rem, 3.2vw, 3.2rem);
  grid-template-columns: minmax(25rem, 0.58fr) minmax(0, 1fr);
  min-height: clamp(22rem, 36vw, 33rem);
  padding-block: clamp(3rem, 5vw, 5.2rem);
}

.start-story-editorial .start-story-expansion h2,
[data-theme="modern-showa"] .start-story-editorial .start-story-expansion h2 {
  color: #f5f1e8;
}

.start-story-editorial .start-story-expansion .start-story-section-head {
  align-content: start;
  grid-template-columns: auto minmax(0, 1fr);
}

.start-story-editorial .start-story-expansion .start-story-section-head > div > p:not(.kicker) {
  color: rgba(245, 241, 232, 0.7);
}

.start-story-editorial .start-story-language-grid {
  align-items: end;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  perspective: 1000px;
}

.start-story-editorial .start-story-language-grid article {
  background: #11100f;
  border: 1px solid rgba(245, 241, 232, 0.14);
  box-shadow: 0 1.4rem 2.4rem rgba(0, 0, 0, 0.28);
  min-height: clamp(18rem, 27vw, 27rem);
  overflow: hidden;
  padding: 0;
  position: relative;
  transform: rotate(var(--tilt, -1deg)) translateY(var(--lift, 0));
  transition:
    border-color 260ms ease,
    box-shadow 260ms ease,
    transform 260ms ease;
}

.start-story-editorial .start-story-language-grid article:nth-child(2) {
  --tilt: 1deg;
  margin-top: clamp(1.2rem, 3vw, 3rem);
}

.start-story-editorial .start-story-language-grid article:nth-child(3) {
  --tilt: -0.7deg;
  margin-top: clamp(0.4rem, 1.4vw, 1.4rem);
}

.start-story-editorial .start-story-language-grid article:nth-child(4) {
  --tilt: 1.2deg;
  margin-top: clamp(2rem, 4vw, 4rem);
}

.start-story-editorial .start-story-language-grid article::before {
  background: var(--start-red);
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  right: 100%;
  top: 0;
  transition: right 260ms ease;
  z-index: 2;
}

.start-story-editorial .start-story-language-grid article:hover,
.start-story-editorial .start-story-language-grid article:focus-within {
  --lift: -0.6rem;
  border-color: rgba(var(--accent-red-rgb), 0.72);
  box-shadow: 0 1.9rem 3rem rgba(0, 0, 0, 0.42);
}

.start-story-editorial .start-story-language-grid article:hover::before,
.start-story-editorial .start-story-language-grid article:focus-within::before {
  right: 0;
}

.start-story-editorial .start-story-language-grid figure {
  background:
    radial-gradient(circle at 70% 24%, rgba(var(--accent-red-rgb), 0.2), transparent 14rem),
    #050505;
  height: clamp(11rem, 17vw, 17rem);
  margin: 0;
  overflow: hidden;
  position: relative;
}

.start-story-editorial .start-story-language-grid img {
  filter: grayscale(1) contrast(1.12) brightness(0.78) sepia(0.1);
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  padding-top: 0.7rem;
  transition: transform 500ms ease;
  width: 100%;
}

.start-story-editorial .start-story-language-grid article:hover img {
  transform: scale(1.06);
}

.start-story-editorial .start-story-language-grid div {
  padding: clamp(1rem, 1.6vw, 1.4rem);
}

.start-story-editorial .start-story-language-grid div > p {
  color: var(--start-red);
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
}

.start-story-editorial .start-story-language-grid h3,
[data-theme="modern-showa"] .start-story-editorial .start-story-language-grid h3 {
  color: #f5f1e8;
  font-size: clamp(1.45rem, 1.75vw, 2rem);
}

.start-story-editorial .start-story-language-grid span {
  color: rgba(245, 241, 232, 0.64);
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 0.55rem;
}

.start-story-editorial .start-story-mosaic .section__inner {
  padding-block: clamp(2.4rem, 4.5vw, 4.6rem);
}

.start-story-editorial .start-story-mosaic__grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: clamp(1.8rem, 3vw, 3rem);
}

.start-story-editorial .start-story-mosaic__grid article,
[data-theme="modern-showa"] .start-story-editorial .start-story-mosaic__grid article {
  background: rgba(255, 255, 255, 0.08);
  border: 0;
  border-left: 1px solid var(--start-rule);
  min-height: 15rem;
  padding: clamp(1rem, 2vw, 1.8rem);
}

.start-story-editorial .start-story-mosaic__grid article:first-child {
  border-left: 0;
}

.start-story-editorial .start-story-mosaic__grid span {
  color: var(--start-ink);
  display: block;
  font-family: var(--display);
  font-size: 2rem;
  font-weight: 800;
  height: 2.5rem;
  margin-bottom: 1.2rem;
}

.start-story-editorial .start-story-mosaic__grid p {
  color: var(--start-red);
  font-family: var(--display);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-bottom: 0.55rem;
  text-transform: uppercase;
}

.start-story-editorial .start-story-mosaic__grid h3 {
  color: var(--start-ink);
  font-size: clamp(1.25rem, 1.55vw, 1.8rem);
}

.start-story-editorial .start-story-mosaic__grid small {
  color: var(--start-paper-text);
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
  margin-top: 0.8rem;
}

.start-story-editorial .start-story-global__inner {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(24rem, 0.65fr) minmax(24rem, 1.1fr) minmax(18rem, 0.5fr);
  padding-block: clamp(2.4rem, 4.2vw, 4.3rem);
}

.start-story-editorial .start-story-global__copy {
  padding-right: clamp(1.4rem, 3vw, 2.8rem);
}

.start-story-editorial .start-story-global__copy h2 {
  color: var(--start-ink);
  max-width: 11ch;
}

.start-story-editorial .start-story-global__copy > p:not(.kicker):not(.start-story-chapter-number) {
  color: var(--start-paper-text);
  font-weight: 700;
  line-height: 1.55;
  margin-top: 1rem;
  max-width: 25rem;
}

.start-story-editorial .start-story-wide-image {
  background: #050505;
  margin: 0;
  min-height: clamp(17rem, 23vw, 24rem);
  overflow: hidden;
  position: relative;
}

.start-story-editorial .start-story-wide-image img {
  filter: grayscale(1) contrast(1.22) brightness(0.62) sepia(0.16);
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--styles-hero-ease);
  width: 100%;
}

.start-story-editorial .start-story-global-notes {
  border-left: 1px solid var(--start-rule);
  display: grid;
  gap: 1.1rem;
  padding-left: clamp(1.1rem, 2.4vw, 2rem);
}

.start-story-editorial .start-story-global-notes .material-symbols-outlined {
  color: var(--start-ink);
}

.start-story-editorial .start-story-global-notes strong {
  color: var(--start-red);
}

.start-story-editorial .start-story-global-notes p {
  color: var(--start-paper-text);
}

.start-story-editorial .start-story-next .section__inner {
  padding-block: clamp(2.2rem, 4vw, 4rem);
}

.start-story-editorial .start-story-next .section__header {
  align-items: start;
  display: grid;
  gap: clamp(1rem, 2vw, 2rem);
  grid-template-columns: minmax(11rem, auto) minmax(16rem, 0.58fr) minmax(16rem, 1fr);
}

.start-story-editorial .start-story-next .section__header h2,
[data-theme="modern-showa"] .start-story-editorial .start-story-next .section__header h2 {
  color: var(--start-ink);
}

.start-story-editorial .start-story-next .section__header > p {
  color: var(--start-paper-text);
  font-weight: 800;
  line-height: 1.5;
  max-width: 24rem;
}

.start-story-editorial .route-card-grid--start-next {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: clamp(1.7rem, 3vw, 3rem);
}

.start-story-editorial .route-card-grid--start-next .feature-card,
[data-theme="modern-showa"] .start-story-editorial .route-card-grid--start-next .feature-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--start-rule);
  box-shadow: none;
  color: var(--start-ink);
  min-height: 13.5rem;
  padding: clamp(1rem, 1.6vw, 1.35rem);
  position: relative;
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    transform 220ms ease;
}

.start-story-editorial .route-card-grid--start-next .feature-card::before {
  background: var(--start-red);
  content: "";
  height: 3px;
  left: 1rem;
  position: absolute;
  right: calc(100% - 3.2rem);
  top: 0;
  transition: right 220ms ease;
}

.start-story-editorial .route-card-grid--start-next .feature-card:hover,
.start-story-editorial .route-card-grid--start-next .feature-card:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: rgba(var(--accent-red-rgb), 0.42);
  outline: none;
  transform: translateY(-0.25rem);
}

.start-story-editorial .route-card-grid--start-next .feature-card:hover::before,
.start-story-editorial .route-card-grid--start-next .feature-card:focus-visible::before {
  right: 1rem;
}

.start-story-editorial .route-card-grid--start-next .feature-card h3 {
  color: var(--start-ink);
  font-size: clamp(1.2rem, 1.55vw, 1.65rem);
  margin-top: 1.8rem;
}

.start-story-editorial .route-card-grid--start-next .feature-card p:last-child {
  color: var(--start-paper-text);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.45;
  margin-top: 0.8rem;
}

.start-story-editorial .start-story-quote {
  color: var(--start-red) !important;
  font-family: var(--display);
  font-size: clamp(0.84rem, 1vw, 1.02rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.15;
  margin-top: 1rem;
  max-width: 24rem;
  text-transform: uppercase;
}

.start-story-editorial .start-story-wide-image:hover img {
  transform: scale(1.035);
}

.start-story-editorial .section[data-start-reveal] .section__inner {
  opacity: 0;
  transform: translateY(2rem);
  transition:
    opacity 650ms var(--styles-hero-ease),
    transform 650ms var(--styles-hero-ease);
}

.start-story-editorial .start-story-opening[data-start-reveal] .section__inner {
  opacity: 1;
  transform: none;
}

.start-story-editorial .section[data-start-reveal].is-visible .section__inner {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .start-story-editorial .section[data-start-reveal] .section__inner,
  .start-story-editorial .start-story-language-grid article,
  .start-story-editorial img,
  .start-story-editorial .feature-card {
    transition-duration: 0ms;
  }

  .start-story-editorial .section[data-start-reveal] .section__inner {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1180px) {
  .start-story-editorial .section {
    padding-inline: clamp(1.25rem, 4vw, 2.5rem);
  }

  .start-story-editorial .section__inner,
  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner {
    max-width: min(860px, 100%);
  }

  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner,
  .start-story-editorial .start-story-expansion__inner,
  .start-story-editorial .start-story-global__inner,
  .start-story-editorial .start-story-next .section__header {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner,
  .start-story-editorial .start-story-expansion__inner,
  .start-story-editorial .start-story-global__inner {
    min-height: 0;
    row-gap: clamp(1.4rem, 3vw, 2.3rem);
  }

  .start-story-editorial .start-story-opening__copy,
  .start-story-editorial .start-story-rikidozan__copy,
  .start-story-editorial .start-story-global__copy {
    grid-column: 1;
    grid-row: 1;
    max-width: min(46rem, 100%);
  }

  .start-story-editorial .start-story-global__copy {
    padding-right: 0;
  }

  .start-story-editorial .start-story-opening__copy p:not(.kicker):not(.start-story-chapter-number),
  .start-story-editorial .start-story-rikidozan__copy > p:not(.kicker):not(.start-story-date):not(.start-story-chapter-number),
  .start-story-editorial .start-story-global__copy > p:not(.kicker):not(.start-story-chapter-number) {
    max-width: min(42rem, 100%);
  }

  .start-story-editorial .start-story-rikidozan__image {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    min-height: 0;
  }

  .start-story-editorial .start-story-opening__image {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    min-height: 0;
  }

  .start-story-editorial .start-story-rikidozan__copy,
  .start-story-editorial .start-story-stat-list {
    grid-column: 1;
  }

  .start-story-editorial .start-story-stat-list {
    grid-row: 3;
    margin-top: 0;
    max-width: min(42rem, 100%);
  }

  .start-story-editorial .start-story-opening__image img {
    width: min(72vw, 28rem);
  }

  .start-story-editorial .start-story-rikidozan__image img {
    max-width: 100%;
    width: min(82vw, 637px);
  }

  .start-story-editorial .start-story-roads .start-story-section-head {
    grid-template-columns: minmax(9rem, auto) minmax(0, 1fr);
  }

  .start-story-editorial .start-story-roads .start-story-section-head > div > p:not(.kicker) {
    max-width: min(42rem, 100%);
  }

  .start-story-editorial .start-story-roads__image {
    grid-column: 1;
    grid-row: 2;
    max-width: min(760px, 92%);
    justify-self: center;
  }

  .start-story-editorial .start-story-expansion .start-story-section-head {
    grid-column: 1;
    grid-row: 1;
  }

  .start-story-editorial .start-story-language-grid {
    grid-column: 1;
    grid-row: 2;
  }

  .start-story-editorial .start-story-wide-image {
    grid-column: 1;
    grid-row: 2;
  }

  .start-story-editorial .start-story-global-notes {
    grid-column: 1;
    grid-row: 3;
  }

  .start-story-editorial .start-story-stat-list,
  .start-story-editorial .start-story-global-notes {
    border-left: 0;
    border-top: 1px solid var(--start-rule);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-left: 0;
    padding-top: 1.4rem;
  }

  .start-story-editorial .start-story-global-notes {
    border-color: var(--start-rule);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .start-story-editorial .start-story-language-grid,
  .start-story-editorial .start-story-mosaic__grid,
  .start-story-editorial .route-card-grid--start-next {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .start-story-editorial .start-story-language-grid article:nth-child(n) {
    margin-top: 0;
  }
}

@media (max-width: 900px) {
  .start-story-editorial .section__inner,
  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner {
    max-width: min(720px, 100%);
  }

  .start-story-editorial .start-story-stat-list {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-global-notes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .start-story-editorial .start-story-roads .start-story-section-head,
  .start-story-editorial .start-story-section-head,
  .start-story-editorial .start-story-next .section__header {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-roads .start-story-section-head > div {
    padding-top: 0;
  }

  .start-story-editorial .start-story-roads__image {
    max-width: min(640px, 96%);
    transform: rotate(-0.8deg);
  }
}

@media (max-width: 820px) {
  .start-story-editorial .section {
    padding-inline: clamp(1rem, 5vw, 1.35rem);
  }

  .start-story-editorial h2 {
    font-size: clamp(2.25rem, 10vw, 4rem);
  }

  .start-story .start-story-editorial .section .start-story-chapter-number {
    font-size: clamp(6rem, 28vw, 8.75rem);
  }

  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner,
  .start-story-editorial .start-story-expansion__inner,
  .start-story-editorial .start-story-mosaic .section__inner,
  .start-story-editorial .start-story-global__inner,
  .start-story-editorial .start-story-next .section__inner {
    padding-block: clamp(2.6rem, 10vw, 4rem);
  }

  .start-story-editorial .start-story-section-head,
  .start-story-editorial .start-story-next .section__header {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-roads .start-story-section-head > div {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-opening__image {
    transform: none;
  }

  .start-story-editorial .start-story-opening__image img {
    width: min(86vw, 24rem);
  }

  .start-story-editorial .start-story-rikidozan__image img {
    width: min(86vw, 31rem);
  }

  .start-story-editorial .start-story-roads__image {
    margin-top: clamp(1.5rem, 7vw, 2.6rem);
    max-width: 100%;
    transform: none;
  }

  .start-story-editorial .start-story-road-grid {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-road,
  .start-story-editorial .start-story-road:last-child {
    border-left: 0;
    grid-template-columns: 1fr;
    padding-inline: 0;
  }

  .start-story-editorial .start-story-road figure {
    min-height: 10rem;
  }

  .start-story-editorial .start-story-road img {
    height: clamp(12rem, 56vw, 18rem);
  }

  .start-story-editorial .start-story-vs {
    margin: -1.1rem 0;
    justify-self: center;
  }

  .start-story-editorial .start-story-stat-list,
  .start-story-editorial .start-story-global-notes,
  .start-story-editorial .start-story-language-grid,
  .start-story-editorial .start-story-mosaic__grid,
  .start-story-editorial .route-card-grid--start-next {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-stat-list {
    border-color: var(--start-rule);
  }

  .start-story-editorial .start-story-language-grid {
    gap: 0.8rem;
  }

  .start-story-editorial .start-story-language-grid article,
  .start-story-editorial .start-story-language-grid article:nth-child(n) {
    margin-top: 0;
    min-height: auto;
    transform: none;
  }

  .start-story-editorial .start-story-mosaic__grid article,
  .start-story-editorial .start-story-mosaic__grid article:first-child {
    border-left: 0;
    border-top: 1px solid var(--start-rule);
    min-height: auto;
  }

  .start-story-editorial .route-card-grid--start-next .feature-card {
    min-height: 11rem;
  }
}

@media (max-width: 640px) {
  .start-story-editorial .section {
    padding-inline: clamp(0.9rem, 4.8vw, 1.15rem);
  }

  .start-story-editorial h2,
  .start-story-editorial .start-story-roads .start-story-section-head h2,
  .start-story-editorial .start-story-rikidozan h2 {
    font-size: clamp(2rem, 12vw, 3.45rem);
  }

  .start-story .start-story-editorial .section .start-story-chapter-number {
    font-size: clamp(5.4rem, 30vw, 7.5rem);
  }

  .start-story-editorial .start-story-opening__copy p:not(.kicker):not(.start-story-chapter-number),
  .start-story-editorial .start-story-rikidozan__copy > p:not(.kicker):not(.start-story-date):not(.start-story-chapter-number),
  .start-story-editorial .start-story-section-head > div > p:not(.kicker),
  .start-story-editorial .start-story-global__copy > p:not(.kicker):not(.start-story-chapter-number) {
    font-size: 0.98rem;
    line-height: 1.5;
  }

  .start-story-editorial .start-story-global-notes {
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-language-grid figure {
    height: clamp(9rem, 48vw, 13rem);
  }
}

@media (max-width: 480px) {
  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner,
  .start-story-editorial .start-story-expansion__inner,
  .start-story-editorial .start-story-mosaic .section__inner,
  .start-story-editorial .start-story-global__inner,
  .start-story-editorial .start-story-next .section__inner {
    padding-block: clamp(2.1rem, 10vw, 3.2rem);
  }

  .start-story-editorial .start-story-opening__image img {
    width: min(92vw, 20rem);
  }

  .start-story-editorial .start-story-rikidozan__image img {
    width: min(92vw, 24rem);
  }

  .start-story-editorial .start-story-roads__image {
    margin-inline: -0.25rem;
    max-width: calc(100% + 0.5rem);
  }

  .start-story-editorial .start-story-stat-list div,
  .start-story-editorial .start-story-global-notes p {
    gap: 0.18rem 0.7rem;
  }

  .start-story-editorial .start-story-stat-list .material-symbols-outlined,
  .start-story-editorial .start-story-global-notes .material-symbols-outlined {
    font-size: 1.45rem;
  }
}

/* Start Here publication treatment: one continuous archival surface. */
.start-story-editorial,
[data-theme="modern-showa"] .start-story-editorial {
  background: transparent !important;
  color: var(--start-ink);
  overflow: hidden;
  position: relative;
}

.start-story-editorial::before,
[data-theme="modern-showa"] .start-story-editorial::before {
  content: "";
  display: none;
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.start-story-editorial .section,
.start-story-editorial .start-story-opening,
.start-story-editorial .start-story-rikidozan,
.start-story-editorial .start-story-roads,
.start-story-editorial .start-story-expansion,
.start-story-editorial .start-story-mosaic,
.start-story-editorial .start-story-global,
.start-story-editorial .start-story-next,
[data-theme="modern-showa"] .start-story-editorial .section,
[data-theme="modern-showa"] .start-story-editorial .start-story-opening,
[data-theme="modern-showa"] .start-story-editorial .start-story-rikidozan,
[data-theme="modern-showa"] .start-story-editorial .start-story-roads,
[data-theme="modern-showa"] .start-story-editorial .start-story-expansion,
[data-theme="modern-showa"] .start-story-editorial .start-story-mosaic,
[data-theme="modern-showa"] .start-story-editorial .start-story-global,
[data-theme="modern-showa"] .start-story-editorial .start-story-next {
  background: transparent;
  color: var(--start-ink);
  overflow: visible;
}

.start-story-editorial .section {
  padding-inline: clamp(1.15rem, 3.4vw, 3.2rem);
}

.start-story-editorial .section::after {
  display: none;
}

.start-story-editorial .section + .section::before {
  background:
    linear-gradient(90deg, transparent, rgba(7, 7, 7, 0.24) 8%, rgba(7, 7, 7, 0.24) 92%, transparent),
    linear-gradient(90deg, transparent, rgba(var(--accent-red-rgb), 0.3) 46%, rgba(var(--accent-red-rgb), 0.3) 54%, transparent);
  content: "";
  height: 1px;
  left: 50%;
  max-width: 1360px;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: calc(100% - clamp(2rem, 7vw, 7rem));
  z-index: 2;
}

.start-story-editorial .section__inner,
.start-story-editorial .start-story-opening__inner,
.start-story-editorial .start-story-rikidozan__inner,
.start-story-editorial .start-story-roads .section__inner,
.start-story-editorial .start-story-expansion__inner,
.start-story-editorial .start-story-global__inner {
  max-width: min(1320px, 100%);
}

.start-story-editorial .start-story-opening__inner {
  padding-block: clamp(5.5rem, 8vw, 8.5rem) clamp(4rem, 7vw, 7rem);
}

.start-story-editorial .start-story-rikidozan__inner,
.start-story-editorial .start-story-roads .section__inner,
.start-story-editorial .start-story-expansion__inner,
.start-story-editorial .start-story-global__inner {
  padding-block: clamp(4.6rem, 7vw, 7.25rem);
}

.start-story-editorial .start-story-mosaic .section__inner,
.start-story-editorial .start-story-next .section__inner {
  padding-block: clamp(4rem, 6.2vw, 6.4rem);
}

.start-story-editorial .kicker,
.start-story-editorial .start-story-date,
.start-story-editorial .feature-card__eyebrow {
  color: var(--start-red);
}

.start-story-editorial .start-story-expansion h2,
[data-theme="modern-showa"] .start-story-editorial .start-story-expansion h2,
.start-story-editorial .start-story-expansion .start-story-section-head > div > p:not(.kicker),
.start-story-editorial .start-story-expansion .start-story-quote,
.start-story-editorial .start-story-language-grid h3,
[data-theme="modern-showa"] .start-story-editorial .start-story-language-grid h3,
.start-story-editorial .start-story-language-grid span {
  color: inherit;
}

.start-story-editorial .start-story-expansion .start-story-section-head > div > p:not(.kicker),
.start-story-editorial .start-story-language-grid span {
  color: var(--start-paper-text);
}

.start-story-editorial .start-story-language-grid {
  align-items: stretch;
  border-bottom: 1px solid var(--start-rule);
  border-top: 1px solid var(--start-rule);
  gap: 0;
  perspective: none;
}

.start-story-editorial .start-story-language-grid article,
.start-story-editorial .start-story-language-grid article:nth-child(n),
[data-theme="modern-showa"] .start-story-editorial .start-story-language-grid article {
  background: rgba(255, 255, 255, 0.08);
  border: 0;
  border-left: 1px solid var(--start-rule);
  box-shadow: none;
  min-height: 0;
  transform: none;
}

.start-story-editorial .start-story-language-grid article:first-child {
  border-left: 0;
}

.start-story-editorial .start-story-language-grid article::before {
  display: none;
}

.start-story-editorial .start-story-language-grid article:hover,
.start-story-editorial .start-story-language-grid article:focus-within {
  border-color: var(--start-rule);
  box-shadow: none;
  transform: none;
}

.start-story-editorial .start-story-language-grid figure {
  background:
    linear-gradient(180deg, rgba(7, 7, 7, 0.9), rgba(7, 7, 7, 0.72)),
    #050505;
  height: clamp(10.5rem, 14vw, 15rem);
}

.start-story-editorial .start-story-language-grid img {
  filter: grayscale(1) contrast(1.08) brightness(0.82) sepia(0.12);
}

.start-story-editorial .start-story-language-grid article:hover img {
  transform: none;
}

.start-story-editorial .start-story-language-grid div {
  padding: clamp(1.15rem, 1.9vw, 1.7rem);
}

.start-story-editorial .start-story-language-grid div > p {
  margin-bottom: 0.45rem;
}

.start-story-editorial .start-story-mosaic__grid,
.start-story-editorial .route-card-grid--start-next {
  border-bottom: 1px solid var(--start-rule);
  border-top: 1px solid var(--start-rule);
}

.start-story-editorial .start-story-mosaic__grid article,
[data-theme="modern-showa"] .start-story-editorial .start-story-mosaic__grid article,
.start-story-editorial .route-card-grid--start-next .feature-card,
[data-theme="modern-showa"] .start-story-editorial .route-card-grid--start-next .feature-card {
  background: rgba(255, 255, 255, 0.07);
  box-shadow: none;
}

.start-story-editorial .route-card-grid--start-next .feature-card {
  border: 0;
  border-left: 1px solid var(--start-rule);
}

.start-story-editorial .route-card-grid--start-next .feature-card:first-child {
  border-left: 0;
}

.start-story-editorial .route-card-grid--start-next .feature-card:hover,
.start-story-editorial .route-card-grid--start-next .feature-card:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.07);
  transform: none;
}

.start-story-editorial .start-story-wide-image {
  background: #050505;
  border: 1px solid rgba(7, 7, 7, 0.22);
  box-shadow: none;
}

.start-story-editorial .start-story-wide-image:hover img {
  transform: none;
}

.start-story-editorial .start-story-global-notes {
  border-left: 1px solid var(--start-rule);
}

.start-story-editorial .start-story-global-notes p {
  border-bottom: 1px solid rgba(7, 7, 7, 0.12);
  padding-bottom: 0.8rem;
}

.start-story-editorial .start-story-global-notes p:last-child {
  border-bottom: 0;
}

.start-story-editorial .start-story-next .section__header {
  align-items: end;
  grid-template-columns: minmax(11rem, auto) minmax(0, 0.62fr) minmax(17rem, 0.38fr);
}

.start-story-editorial .start-story-next .section__header h2,
[data-theme="modern-showa"] .start-story-editorial .start-story-next .section__header h2 {
  font-size: clamp(2.4rem, 4vw, 4.8rem);
  max-width: 11ch;
}

.start-story-editorial .start-story-next .section__header > p {
  align-self: end;
  justify-self: end;
  max-width: 21rem;
}

@media (max-width: 1180px) {
  .start-story-editorial,
  [data-theme="modern-showa"] .start-story-editorial {
    background: #ffffff !important;
  }

  .start-story-editorial .section__inner,
  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner,
  .start-story-editorial .start-story-expansion__inner,
  .start-story-editorial .start-story-global__inner {
    max-width: min(880px, 100%);
  }

  .start-story-editorial .start-story-language-grid article:nth-child(odd),
  .start-story-editorial .start-story-mosaic__grid article:nth-child(odd),
  .start-story-editorial .route-card-grid--start-next .feature-card:nth-child(odd) {
    border-left: 0;
  }

  .start-story-editorial .start-story-next .section__header {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .start-story-editorial .start-story-next .section__header > p {
    align-self: start;
    justify-self: start;
    max-width: min(42rem, 100%);
  }
}

@media (max-width: 820px) {
  .start-story-editorial .section + .section::before {
    width: calc(100% - 2rem);
  }

  .start-story-editorial .start-story-opening__inner,
  .start-story-editorial .start-story-rikidozan__inner,
  .start-story-editorial .start-story-roads .section__inner,
  .start-story-editorial .start-story-expansion__inner,
  .start-story-editorial .start-story-mosaic .section__inner,
  .start-story-editorial .start-story-global__inner,
  .start-story-editorial .start-story-next .section__inner {
    padding-block: clamp(3.1rem, 13vw, 5rem);
  }

  .start-story-editorial .start-story-language-grid,
  .start-story-editorial .start-story-mosaic__grid,
  .start-story-editorial .route-card-grid--start-next {
    border-top: 1px solid var(--start-rule);
  }

  .start-story-editorial .start-story-language-grid article,
  .start-story-editorial .start-story-language-grid article:first-child,
  .start-story-editorial .start-story-mosaic__grid article,
  .start-story-editorial .start-story-mosaic__grid article:first-child,
  .start-story-editorial .route-card-grid--start-next .feature-card,
  .start-story-editorial .route-card-grid--start-next .feature-card:first-child {
    border-left: 0;
    border-top: 1px solid var(--start-rule);
  }

  .start-story-editorial .start-story-language-grid article:first-child,
  .start-story-editorial .start-story-mosaic__grid article:first-child,
  .start-story-editorial .route-card-grid--start-next .feature-card:first-child {
    border-top: 0;
  }
}

/* Start Here Figma Make-inspired publication layout. */
.start-story-publication,
[data-theme="modern-showa"] .start-story-publication {
  --publication-paper: transparent;
  --publication-paper-warm: transparent;
  --publication-ink: #050505;
  --publication-muted: rgba(5, 5, 5, 0.72);
  --publication-rule: rgba(5, 5, 5, 0.18);
  --publication-red: #b52620;

  background: transparent !important;
  color: var(--publication-ink);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

/* Dark mode: flip ink to light, rules to subtle white, red to the dark accent */
[data-theme="archival-dark"] .start-story-publication,
[data-theme="dark"] .start-story-publication {
  --publication-ink: #e8e3d9;
  --publication-muted: rgba(232, 227, 217, 0.72);
  --publication-rule: rgba(232, 227, 217, 0.18);
  --publication-red: var(--accent-red);
}

.start-here-background {
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;

  background-image: url("./assets/backgrounds/backgrounds-newspaper.webp");
  background-position: center top;
  background-repeat: repeat-y;
  background-size: cover;

  opacity: 1;
  filter: none;
  pointer-events: none;
  z-index: 0;
}

.start-here-background::after {
  content: none !important;
  display: none !important;
  inset: 0;
  pointer-events: none;
  position: absolute;
}

[data-theme="archival-dark"] .start-here-background,
[data-theme="dark"] .start-here-background {
  filter: grayscale(1) contrast(1.24) brightness(0.58);
  opacity: 1;
}

.start-story-publication::before {
  content: none !important;
  display: none !important;
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.start-story-publication::after,
.start-story-editorial::before,
.start-story-editorial::after,
.start-story-publication .section::after,
.start-story-editorial .section::after {
  content: none !important;
  display: none !important;
}

.start-story-publication > *:not(.start-here-background) {
  position: relative;
  z-index: 1;
}

.start-here-page {
  isolation: isolate;
  position: relative;
}

.start-here-page::before {
  background-image: url("./assets/backgrounds/backgrounds-newspaper.webp");
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100% auto;
  content: "";
  inset: 0;
  opacity: 0.25;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.start-here-page::after {
  background: rgba(0, 0, 0, 0.68);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

[data-theme="modern-showa"] .start-here-page::after {
  background: rgba(173, 159, 131, 0.25);
}

[data-theme="archival-dark"] .start-here-page::before,
[data-theme="dark"] .start-here-page::before {
  filter: grayscale(1) contrast(1.28) brightness(1.24);
  opacity: 0.92;
}

[data-theme="archival-dark"] .start-here-page::after,
[data-theme="dark"] .start-here-page::after {
  background:
    radial-gradient(circle at 55% 34%, rgba(245, 241, 232, 0.12), transparent 38%),
    rgba(0, 0, 0, 0.48);
}

.start-here-page > *:not(.start-here-background):not(.styles-archive-hero) {
  position: relative;
  z-index: 1;
}

.start-here-page .start-story-publication,
.start-here-page .start-story-editorial,
.start-here-page section,
.start-here-page .section,
.start-here-page .showa-paper-section,
.start-here-page .paper-section,
.start-here-page .start-section,
.start-here-page .story-section,
.start-here-page .editorial-section,
.start-here-page .content-section,
.start-here-page .section-inner,
.start-here-page .section__inner,
.start-here-page .story-block,
.start-here-page .story-panel,
.start-here-page .editorial-panel,
.start-here-page .start-here-content,
.start-here-page .start-here-section,
.start-here-page .start-publication__spread,
.start-here-page .start-publication__copy,
.start-here-page .start-publication-style-strip,
.start-here-page .start-publication-style-strip article,
.start-here-page .start-publication-newsgrid,
.start-here-page .start-publication-newsgrid article,
.start-here-page .start-publication-newsgrid div,
.start-here-page .start-publication-journey,
.start-here-page .start-publication-journey a,
.start-here-page .route-card-grid--start-next,
.start-here-page .route-card-grid--start-next .feature-card {
  background: transparent !important;
  background-color: transparent !important;
}

.start-here-page section::before,
.start-here-page section::after,
.start-here-page .section::before,
.start-here-page .section::after,
.start-here-page .showa-paper-section::before,
.start-here-page .showa-paper-section::after,
.start-here-page .paper-section::before,
.start-here-page .paper-section::after,
.start-here-page .start-section::before,
.start-here-page .start-section::after,
.start-here-page .story-section::before,
.start-here-page .story-section::after,
.start-here-page .editorial-section::before,
.start-here-page .editorial-section::after,
.start-here-page .content-section::before,
.start-here-page .content-section::after,
.start-here-page .story-block::before,
.start-here-page .story-block::after,
.start-here-page .story-panel::before,
.start-here-page .story-panel::after,
.start-here-page .editorial-panel::before,
.start-here-page .editorial-panel::after,
.start-here-page .start-story-publication::before,
.start-here-page .start-story-publication::after,
.start-here-page .start-story-editorial::before,
.start-here-page .start-story-editorial::after {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.start-here-page .start-here-background {
  opacity: 1;
  filter: none;
}

[data-theme="archival-dark"] .start-here-page .start-here-background,
[data-theme="dark"] .start-here-page .start-here-background {
  filter: grayscale(1) contrast(1.24) brightness(0.58);
  opacity: 1;
}

.start-here-page .start-story-publication > *:not(.start-here-background) {
  position: relative;
  z-index: 1;
}

.start-story-publication,
.start-story-publication .section,
.start-story-publication .section__inner,
.start-story-publication .start-publication__spread,
.start-story-publication .start-publication__copy,
.start-story-publication .start-publication-style-strip,
.start-story-publication .start-publication-newsgrid,
.start-story-publication .start-publication-newsgrid article,
.start-story-publication .start-publication-newsgrid div,
.start-story-publication .start-publication-journey,
.start-story-publication .start-publication-journey a,
.start-story-publication .route-card-grid--start-next .feature-card {
  background: transparent !important;
  background-color: transparent !important;
}

.start-story-publication .start-publication-style-strip article {
  background: #050505 !important;
}

.start-here-page .start-story-editorial {
  background-color: transparent !important;
  background-image: none !important;
}

.start-story-publication .section {
  background: transparent;
  border: 0;
  color: var(--publication-ink);
  overflow: visible;
  padding-inline: clamp(1.15rem, 4.4vw, 5rem);
  position: relative;
  z-index: 1;
}

.start-story-publication .section::after {
  display: none;
}

.start-story-publication .section + .section::before {
  background:
    linear-gradient(90deg, transparent, rgba(5, 5, 5, 0.22) 11%, rgba(5, 5, 5, 0.22) 89%, transparent),
    linear-gradient(90deg, transparent, rgba(var(--accent-red-rgb), 0.44) 48%, rgba(var(--accent-red-rgb), 0.44) 52%, transparent);
  content: "";
  height: 1px;
  left: 50%;
  max-width: 1420px;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: calc(100% - clamp(2rem, 10vw, 12rem));
}

.start-story-publication .section[data-start-reveal] .section__inner,
.start-story-publication .section[data-start-reveal].is-visible .section__inner {
  opacity: 1;
  transform: none;
}

.start-story-publication .section__inner {
  max-width: min(1420px, 100%);
}

.start-publication__spread {
  display: grid;
  gap: clamp(1.8rem, 4vw, 5rem);
  margin-inline: auto;
  padding-block: clamp(4.5rem, 7.5vw, 8.5rem);
  position: relative;
  z-index: 1;
}

.start-publication__copy {
  display: grid;
  gap: 0;
  max-width: 35rem;
  position: relative;
  z-index: 4;
}

.start-publication__copy--wide {
  max-width: 64rem;
}

.start-story-publication .kicker,
.start-publication__date,
.start-publication-photo figcaption,
.start-publication-style-strip span,
.start-publication-newsgrid p,
.start-publication-journey span {
  color: var(--publication-red);
  font-family: var(--display);
  font-size: clamp(0.76rem, 0.78vw, 0.9rem);
  font-weight: 800;
  letter-spacing: 0.075em;
  line-height: 1.1;
  text-transform: uppercase;
}

.start-publication__number {
  color: var(--publication-red);
  display: block;
  font-family: var(--display);
  font-size: clamp(8rem, 14vw, 17rem);
  font-weight: 800;
  justify-self: start;
  letter-spacing: 0;
  line-height: 0.72;
  /* Inline the calc so it's not dependent on variable inheritance */
  margin: 0 0 0 calc(clamp(3rem, 6vw, 7.6rem) * -0.15 - 15px);
  text-shadow: -7px 0 0 #000;
}
@media (max-width: 760px) {
  .start-publication__number {
    margin-left: calc(clamp(2.4rem, 13vw, 4.6rem) * -0.15);
    text-shadow: -4px 0 0 #000;
  }
}
@media (max-width: 480px) {
  .start-publication__number {
    margin-left: calc(clamp(2.05rem, 12vw, 3.35rem) * -0.15);
  }
}

.start-story-publication h2 {
  color: var(--publication-ink);
  font-family: var(--display);
  font-size: clamp(3rem, 6vw, 7.6rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.9;
  margin: 0;
  max-width: 12ch;
  text-transform: uppercase;
}

.start-story-publication h3 {
  color: var(--publication-ink);
  font-family: var(--display);
  font-size: clamp(1.5rem, 2vw, 2.35rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.92;
  margin: 0;
  text-transform: uppercase;
}

.start-story-publication p {
  margin: 0;
}

.start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull) {
  color: var(--publication-muted);
  font-size: clamp(1rem, 1.08vw, 1.18rem);
  font-weight: 750;
  line-height: 1.52;
  max-width: 43rem;
}

.start-publication__pull {
  color: var(--publication-red);
  font-family: var(--display);
  font-size: clamp(1rem, 1.15vw, 1.22rem);
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.15;
  margin-top: clamp(0.3rem, 0.9vw, 0.75rem);
  text-transform: uppercase;
}

.start-publication-photo {
  margin: 0;
  position: relative;
  z-index: 2;
}

.start-publication-photo img {
  display: block;
  filter: grayscale(1) contrast(1.08) brightness(0.9) sepia(0.14);
  height: auto;
  max-width: 100%;
}

.start-publication-photo--matsuda img,
.start-publication-photo--riki img,
.start-publication-photo--belief img {
  filter: grayscale(1) sepia(0.39) saturate(1.16) hue-rotate(348deg) contrast(1.06) brightness(0.93);
}

[data-theme="modern-showa"] .start-publication-photo--matsuda img,
[data-theme="modern-showa"] .start-publication-photo--riki img,
[data-theme="modern-showa"] .start-publication-photo--belief img {
  filter: grayscale(1) contrast(1.08) brightness(0.9) sepia(0.14);
}

.start-publication-photo::before,
.start-publication-photo::after {
  content: "";
  display: none;
  height: 0;
  pointer-events: none;
  position: absolute;
  width: 0;
  z-index: 4;
}

.start-publication-photo figcaption {
  bottom: 1rem;
  color: rgba(245, 241, 232, 0.78);
  position: absolute;
  right: 1rem;
  z-index: 5;
}

.start-publication__spread--origin {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(0, 760px);
  min-height: 1312px;
}

.start-publication__spread--origin h2 {
  max-width: 15ch;
}

.start-publication-photo--matsuda {
  justify-self: center;
  margin-left: 70px;
  margin-top: 140px;
  max-width: none;
  transform: rotate(6deg);
}

.start-publication-photo--matsuda::before {
  right: -2.4rem;
  top: 2rem;
  transform: rotate(31deg);
}

.start-publication-photo--matsuda::after {
  bottom: 2rem;
  left: -2rem;
  transform: rotate(-34deg);
}

.start-publication-photo--matsuda img {
  height: auto;
  width: min(960px, 58vw);
}

.start-publication-photo--matsuda figcaption {
  display: none;
}

.start-publication__spread--rikidozan {
  align-items: center;
  grid-template-columns: minmax(31rem, 0.58fr) minmax(25rem, 0.42fr);
  min-height: clamp(46rem, 62vw, 62rem);
}

.start-publication__photo-stack {
  min-height: clamp(35rem, 47vw, 50rem);
  position: relative;
}

.start-publication-photo--riki {
  left: 0;
  max-width: min(1290px, 55vw);
  position: absolute;
  top: calc(7% - 40px);
  transform: rotate(-5deg);
  z-index: 3;
}

.start-publication-photo--riki img {
  width: min(1290px, 100%);
}

.start-publication-photo--riki::before {
  right: -1.8rem;
  top: 2.6rem;
  transform: rotate(34deg);
}

.start-publication-photo--riki::after {
  bottom: 2.4rem;
  left: -1.4rem;
  transform: rotate(-33deg);
}

.start-publication-photo--crowd {
  bottom: 2%;
  left: 38%;
  max-width: min(62.4rem, 67.6vw);
  position: absolute;
  transform: rotate(5deg);
  z-index: 2;
}

.start-publication-photo--crowd img {
  border: 10px solid rgba(224, 210, 184, 0.92);
  box-shadow: 0 1.1rem 2.5rem rgba(58, 40, 20, 0.26);
  height: clamp(26rem, 36.4vw, 41.6rem);
  object-fit: cover;
  width: 100%;
}

.start-publication-photo--crowd::before {
  right: -2rem;
  top: 1.1rem;
  transform: rotate(24deg);
}

.start-publication-photo--crowd::after {
  bottom: -0.4rem;
  left: 2rem;
  transform: rotate(12deg);
}

.start-publication__notes {
  background: var(--publication-red);
  display: grid;
  gap: 1.1rem;
  margin: 0 0 0 calc(var(--pub-h2-indent) * -1);
  max-width: 36rem;
  padding: clamp(1rem, 1.5vw, 1.4rem);
}

.start-publication__notes div {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  gap: 0.2rem 1.4rem;
  grid-template-columns: 2.2rem 1fr;
  padding-top: 0.9rem;
}

.start-publication__notes div:first-child {
  border-top: none;
  padding-top: 0;
}

.start-publication__notes .material-symbols-outlined {
  align-self: start;
  color: #fff;
  font-size: 2.2rem;
  grid-row: span 2;
  line-height: 1;
}

.start-publication__notes dt {
  color: #fff;
  font-family: var(--display);
  font-size: 0.96rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1;
  text-transform: uppercase;
}

.start-publication__notes dd {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.95rem;
  font-weight: 750;
  line-height: 1.35;
  margin: 0;
}

.start-publication__spread--belief {
  align-items: start;
  grid-template-columns: minmax(24rem, 0.44fr) minmax(0, 0.56fr);
  min-height: clamp(40rem, 54vw, 56rem);
}

.start-publication__copy--belief {
  padding-top: clamp(0.5rem, 2vw, 2rem);
}

.start-publication__copy--belief h2 {
  color: var(--publication-red);
  max-width: 12ch;
}

.start-publication-photo--belief {
  aspect-ratio: 1268 / 891;
  background: transparent;
  box-shadow: none;
  justify-self: start;
  margin-top: 160px;
  max-width: none;
  width: 861px;
  overflow: visible;
  transform: none;
}

.start-publication-photo--belief img {
  box-shadow: none;
  height: auto;
  max-width: none;
  object-fit: unset;
  transform: none;
  width: 100%;
}

.start-publication-photo--belief::before {
  left: -1.8rem;
  top: 1.8rem;
  transform: rotate(-23deg);
}

.start-publication-photo--belief::after {
  bottom: 1.8rem;
  right: -1.8rem;
  transform: rotate(-33deg);
}

.start-publication-quote {
  align-items: center;
  align-self: end;
  color: var(--publication-ink);
  display: flex;
  font-family: var(--display);
  font-weight: 800;
  gap: clamp(1.5rem, 2.5vw, 3rem);
  grid-column: 1 / -1;
  line-height: 1;
  margin: clamp(-2rem, -2vw, -1rem) 0 0 0;
  max-width: none;
  text-transform: uppercase;
  width: 100%;
}

.start-publication-quote__text {
  border-left: 4px solid var(--publication-red);
  padding-left: 1.4rem;
}

.start-publication-quote__text p {
  border-left: none;
  padding-left: 0;
}

.start-publication-quote__cite {
  display: block;
  font-family: var(--display);
  font-size: clamp(0.8rem, 0.9vw, 1rem);
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-top: 10px;
  margin-left: -8px;
  text-transform: uppercase;
}

.start-publication-quote__cite span {
  background-color: var(--publication-red);
  color: #050505;
  display: inline-block;
  padding: 5px 0.25em;
}

img.start-publication-quote__tv {
  filter: grayscale(1) contrast(1.08) brightness(0.9) sepia(0.14);
  flex-shrink: 0;
  height: auto;
  transform: rotate(-15deg);
  width: 864px;
}

.start-publication-quote p {
  flex-shrink: 0;
  margin: 0;
}

.start-publication-quote > p {
  border-left: 4px solid var(--publication-red);
  padding-left: 1.4rem;
}

.start-publication-quote p > span {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-color: var(--publication-red);
  box-shadow: 0.12em 0 0 var(--publication-red), -0.12em 0 0 var(--publication-red);
  color: #050505;
}

.start-publication__spread--schools {
  align-items: stretch;
  min-height: clamp(36rem, 48vw, 52rem);
}

.start-publication-schools-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.schools-group-bg {
  bottom: 0;
  left: max(5%, calc(40vw - 170px));
  opacity: 0;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  right: clamp(0.95rem, 4.4vw, 5rem);
  top: 0;
  transition: opacity 0.9s ease 100ms;
  z-index: 3;
}

.schools-group-bg img {
  display: block;
  height: auto;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

@media (min-width: 1025px) {
  .start-publication-chapter--schools .schools-group-bg img {
    transform: translateY(-30px);
  }

  .start-publication-style-strip article + article {
    border-left: 1px solid rgba(245, 245, 240, 0.16);
  }
}

.start-publication-chapter--schools.is-visible .schools-group-bg {
  opacity: 1;
}

.start-publication-style-strip {
  border-bottom: 1px solid var(--publication-rule);
  border-top: 1px solid var(--publication-rule);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  position: relative;
  z-index: 1;
}

.start-publication-chapter--schools .section__inner {
  z-index: auto;
}

.start-publication-chapter--schools .start-publication-style-strip {
  margin-left: calc(var(--pub-h2-indent) * -1);
  position: relative;
  z-index: 1;
}

.start-publication-chapter--schools .start-publication__copy {
  margin-top: 5px;
  position: relative;
  z-index: 5;
}

.start-publication-style-strip article {
  background: rgba(255, 255, 255, 0.06);
  border-left: 1px solid var(--publication-rule);
  min-height: clamp(17rem, 20vw, 21rem);
  padding: clamp(1rem, 1.8vw, 1.65rem);
}

.start-publication-chapter--schools .schools-group-bg {
  z-index: 20;
}

.start-publication-chapter--schools .start-publication__copy {
  isolation: isolate;
  position: relative;
  z-index: 30;
}

.start-publication-chapter--schools .start-publication__copy h2 > span {
  background: var(--publication-red);
  box-shadow: var(--pub-h2-indent) 0 0 var(--publication-red), calc(var(--pub-h2-indent) * -1) 0 0 var(--publication-red);
}

.start-publication-chapter--schools .start-publication-style-strip {
  position: relative;
  z-index: 10;
}

.start-publication-style-strip article:first-child {
  border-left: 0;
}

.start-publication-style-strip h3 {
  color: var(--publication-red);
  font-size: clamp(1.35rem, 1.6vw, 1.9rem);
  margin-top: 1.15rem;
}

.start-publication-style-strip p {
  color: #f5f5f0;
  font-size: 0.95rem;
  font-weight: 750;
  line-height: 1.4;
  margin-top: 0.85rem;
}

.start-publication-style-strip .style-strip__label {
  color: var(--publication-red);
  font-family: var(--display);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-top: 1.4rem;
  text-transform: uppercase;
}

.start-publication-style-strip .style-strip__names {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
}

.start-publication-style-strip .style-strip__names li {
  border-top: 1px solid var(--publication-rule);
  color: rgba(245, 245, 240, 0.7);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.3;
  padding: 0.35rem 0;
}

.start-publication__spread--baba-quote {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 3vw, 3rem);
  padding-block: clamp(4rem, 7vw, 7rem);
}

.start-publication-chapter--baba-quote .start-publication-quote {
  margin: 0;
}

.start-publication__spread--nineties {
  align-items: center;
  grid-template-columns: minmax(25rem, 0.58fr) minmax(25rem, 0.42fr);
  min-height: clamp(44rem, 58vw, 60rem);
}

.start-publication-chapter--nineties .start-publication__number {
  transform: translateX(-40px);
}

.start-publication-photo--nineties {
  align-self: center;
  justify-self: start;
  max-width: 100%;
  width: 100%;
}

.start-publication-photo--nineties img {
  filter: none;
  height: auto;
  width: 100%;
}

.start-publication-newsgrid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.start-publication-newsgrid article {
  background: #050505;
  border: 1px solid var(--publication-rule);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: clamp(14rem, 18vw, 20rem);
  overflow: hidden;
  padding: clamp(1rem, 1.6vw, 1.45rem);
}

.start-publication-newsgrid h3 {
  font-size: clamp(1.25rem, 1.7vw, 2rem);
  margin-top: 0.45rem;
}

.start-publication__spread--modern {
  align-items: center;
  grid-template-columns: minmax(0, 0.55fr) minmax(25rem, 0.45fr);
  min-height: clamp(38rem, 50vw, 54rem);
}

.start-publication-photo--modern {
  grid-column: 1;
  grid-row: 1 / span 2;
  overflow: hidden;
}

.start-publication-photo--modern img {
  filter: grayscale(1) contrast(1.18) brightness(0.64) sepia(0.15);
  height: auto;
  margin-left: 90px;
  margin-top: -50px;
  object-fit: contain;
  width: 80%;
}

.start-publication-photo--modern::before,
.start-publication-photo--modern::after {
  display: none;
}

.start-publication__spread--modern .start-publication__copy {
  grid-column: 2;
}

.start-publication-modern-list {
  align-self: start;
  border-top: 1px solid var(--publication-rule);
  color: var(--publication-red);
  display: grid;
  font-family: var(--display);
  font-size: clamp(0.82rem, 0.95vw, 1rem);
  font-weight: 800;
  gap: 0.6rem;
  grid-column: 2;
  letter-spacing: 0.07em;
  list-style: none;
  margin: 0;
  padding: 1.1rem 0 0;
  text-transform: uppercase;
}

.start-publication__spread--journey {
  grid-template-columns: minmax(24rem, 0.42fr) minmax(0, 0.58fr);
  min-height: clamp(34rem, 45vw, 48rem);
}

.start-publication-journey {
  align-self: end;
  border-bottom: 1px solid var(--publication-rule);
  border-top: 1px solid var(--publication-rule);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.start-publication-journey a {
  color: var(--publication-ink);
  display: grid;
  gap: 1.3rem;
  min-height: 11rem;
  padding: clamp(1rem, 1.6vw, 1.5rem);
  position: relative;
  text-decoration: none;
}

.start-publication-journey a + a {
  border-left: 1px solid var(--publication-rule);
}

.start-publication-journey a::before {
  background: var(--publication-red);
  content: "";
  height: 3px;
  left: clamp(1rem, 1.6vw, 1.5rem);
  position: absolute;
  right: calc(100% - clamp(3.1rem, 4vw, 4rem));
  top: 0;
  transition: right 220ms ease;
}

.start-publication-journey a:hover,
.start-publication-journey a:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.07);
  outline: none;
}

.start-publication-journey a:hover::before,
.start-publication-journey a:focus-visible::before {
  right: clamp(1rem, 1.6vw, 1.5rem);
}

.start-publication-journey strong {
  align-self: end;
  font-family: var(--display);
  font-size: clamp(1.3rem, 1.7vw, 2.1rem);
  font-weight: 800;
  line-height: 0.92;
  text-transform: uppercase;
}

@media (max-width: 1240px) {
  .start-story-publication .section__inner {
    max-width: min(980px, 100%);
  }

  .start-publication__spread,
  .start-publication__spread--origin,
  .start-publication__spread--rikidozan,
  .start-publication__spread--belief,
  .start-publication__spread--schools,
  .start-publication__spread--nineties,
  .start-publication__spread--modern,
  .start-publication__spread--journey {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  /* Schools left column fills full width when stacked */
  .start-publication-schools-left {
    max-width: 100%;
  }

  .start-publication__copy,
  .start-publication__copy--wide {
    max-width: min(56rem, 100%);
  }

  .start-story-publication h2 {
    max-width: min(15ch, 100%);
  }

  .start-publication__photo-stack {
    min-height: clamp(34rem, 62vw, 46rem);
    order: 2;
  }

  .start-publication-photo--riki {
    max-width: min(637px, 58vw);
  }

  .start-publication-photo--crowd {
    left: 36%;
    max-width: min(44rem, 58vw);
  }

  .start-publication__spread--modern .start-publication__copy,
  .start-publication-modern-list,
  .start-publication-photo--modern {
    grid-column: 1;
  }

  .start-publication-photo--modern {
    grid-row: auto;
    order: 2;
  }

  .start-publication-modern-list {
    order: 3;
  }

  .start-publication-style-strip,
  .start-publication-journey {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .start-publication-style-strip article:nth-child(odd),
  .start-publication-journey a:nth-child(odd) {
    border-left: 0;
  }

  .start-publication-style-strip article:nth-child(n + 3),
  .start-publication-journey a:nth-child(n + 3) {
    border-top: 1px solid var(--publication-rule);
  }

  /* Belief photo: reset fixed sizing so it fits the stacked column */
  .start-publication-photo--belief {
    margin-left: 0;
    margin-top: 0;
    max-width: 100%;
    width: 100%;
  }

}

@media (max-width: 900px) {
  /* Portrait tablets - grid already stacked from 1240px rule.
     These rules refine sizing and spacing for the mid range. */

  .start-publication__number {
    font-size: clamp(5.8rem, 20vw, 9rem);
  }

  /* Style-strip cards: reduce min-height so 5 stacked cards don't make a wall of text */
  .start-publication-style-strip article {
    min-height: clamp(10rem, 14vw, 16rem);
  }

  /* Nineties newsgrid stays 2-col but cards can be shorter */
  .start-publication-newsgrid article {
    min-height: clamp(10rem, 14vw, 16rem);
  }

  /* Belief photo: enforce reasonable size in single-column */
  .start-publication-photo--belief {
    margin-left: 0;
    margin-top: 0;
    max-width: min(600px, 100%);
    width: 100%;
  }

  /* Origin photo: cap width on mid-tablet */
  .start-publication-photo--matsuda {
    margin-left: 0;
    max-width: 100%;
  }

  /* Riki photo stack: scale down absolute photos */
  .start-publication-photo--riki {
    max-width: min(520px, 52vw);
  }

  .start-publication-photo--crowd {
    left: 32%;
    max-width: min(38rem, 52vw);
  }
}

@media (max-width: 760px) {
  .start-publication-schools-left {
    max-width: 100%;
  }

  .start-story-publication .section {
    padding-inline: clamp(0.95rem, 5vw, 1.35rem);
  }

  .start-publication__spread {
    padding-block: clamp(3.2rem, 13vw, 5rem);
  }

  .start-publication__number {
    font-size: clamp(6.4rem, 28vw, 10rem);
  }

  .start-story-publication h2 {
    font-size: clamp(2.4rem, 13vw, 4.6rem);
  }

  .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull) {
    font-size: 1rem;
    line-height: 1.5;
  }

  .start-publication-photo figcaption {
    position: static;
    margin-top: 0.65rem;
  }

  .start-publication-photo::before,
  .start-publication-photo::after {
    height: 1.25rem;
    width: 5.8rem;
  }

  .start-publication-photo--matsuda {
    transform: rotate(3deg);
  }

  .start-publication__photo-stack {
    display: grid;
    gap: 1.2rem;
    min-height: 0;
  }

  .start-publication-photo--riki,
  .start-publication-photo--crowd {
    inset: auto;
    max-width: 100%;
    position: relative;
    transform: rotate(-2deg);
  }

  .start-publication-photo--crowd {
    transform: rotate(2deg);
  }

  .start-publication-photo--riki img,
  .start-publication-photo--crowd img {
    height: auto;
    width: 100%;
  }

  .start-publication-quote {
    margin-top: 0;
    max-width: 100%;
  }

  /* Keep the crowd photo in the quote stack on mobile. */
  img.start-publication-quote__tv {
    display: block;
  }

  /* Quote text: full width, slightly smaller font */
  .start-publication-quote p {
    font-size: clamp(2rem, 10vw, 3.2rem);
    max-width: 100%;
  }

  .start-publication-style-strip,
  .start-publication-newsgrid,
  .start-publication-journey {
    grid-template-columns: 1fr;
  }

  .start-publication-style-strip article,
  .start-publication-style-strip article:first-child,
  .start-publication-journey a,
  .start-publication-journey a:first-child {
    border-left: 0;
    border-top: 1px solid var(--publication-rule);
  }

  .start-publication-style-strip article:first-child,
  .start-publication-journey a:first-child {
    border-top: 0;
  }

}

@media (max-width: 480px) {
  .start-publication__number {
    font-size: clamp(5.6rem, 32vw, 7.8rem);
  }

  .start-story-publication h2 {
    font-size: clamp(2.05rem, 12vw, 3.35rem);
  }

  .start-publication-style-strip article,
  .start-publication-journey a {
    min-height: auto;
  }

}


/* ═══════════════════════════════════════════════════
   START HERE - JAPANESE EDITORIAL ENHANCEMENTS
   ═══════════════════════════════════════════════════ */

/* 1. Vertical spine text ──────────────────────────── */
.publication-spine {
  color: var(--publication-red);
  font-family: var(--display);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  line-height: 1;
  margin: 0;
  opacity: 0.45;
  pointer-events: none;
  position: fixed;
  right: clamp(0.5rem, 2vw, 2rem);
  text-transform: uppercase;
  top: 50%;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  z-index: 50;
}

@media (max-width: 900px) {
  .publication-spine { display: none; }
}

/* 2. Chapter JP label ─────────────────────────────── */
.chapter-jp-label {
  color: var(--publication-red);
  font-family: var(--display);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1;
  margin: 0 0 0.1rem;
  opacity: 0.7;
  text-transform: uppercase;
}

/* 3. Red top border on each chapter ──────────────── */
.page-start-here .site-footer {
  background: #050505;
  position: relative;
  z-index: 10;
}

.start-publication-chapter {
  border-top: 2px solid rgba(var(--accent-red-rgb), 0.65);
  position: relative;
}

/* 4. Enhanced pull quote ─────────────────────────── */
.start-publication-quote {
  align-items: center;
  border: none;
  display: flex;
  gap: clamp(1.5rem, 2.5vw, 3rem);
  grid-column: 1 / -1;
  margin: calc(clamp(-2rem, -2vw, -1rem) + 300px) 0 0 0;
  max-width: none;
  padding: 0;
  position: relative;
  width: 100%;
}

.start-publication-quote::before {
  display: none;
}

.start-publication-quote p {
  color: var(--publication-ink);
  flex-shrink: 0;
  font-family: var(--display);
  font-size: clamp(2.4rem, 4.2vw, 5rem);
  font-weight: 800;
  line-height: 0.88;
  margin: 0;
  max-width: 22ch;
  text-transform: uppercase;
}

/* 5. Hanko stamp mark ────────────────────────────── */
.chapter-hanko {
  display: none;
}

.chapter-hanko::before,
.chapter-hanko::after {
  background: var(--publication-red);
  border-radius: 50%;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.chapter-hanko::before {
  height: 0.55rem;
  width: 0.55rem;
}

.chapter-hanko::after {
  height: 0.2rem;
  opacity: 0.5;
  width: 0.2rem;
}

/* 6. Newspaper opacity ───────────────────────────── */
.start-here-page::before {
  opacity: 0.85;
}

[data-theme="modern-showa"] .start-here-page::before {
  filter: contrast(1.8) brightness(0.85);
  opacity: 0.8;
}


/* H2 per-line red highlight ──────────────────────── */
/* Shared indent token - matches the h2 box-shadow extension so paragraph
   boxes and h2 highlights share the same visual left edge. */
.start-story-publication {
  --pub-h2-indent: calc(clamp(3rem, 6vw, 7.6rem) * 0.15);
}
@media (max-width: 760px) {
  .start-story-publication {
    --pub-h2-indent: calc(clamp(2.4rem, 13vw, 4.6rem) * 0.15);
  }
}
@media (max-width: 480px) {
  .start-story-publication {
    --pub-h2-indent: calc(clamp(2.05rem, 12vw, 3.35rem) * 0.15);
  }
}

.start-story-publication h2 > span {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-color: var(--publication-red);
  box-shadow: var(--pub-h2-indent) 0 0 var(--publication-red), calc(var(--pub-h2-indent) * -1) 0 0 var(--publication-red);
  color: #050505;
}


/* Per-paragraph dark box ─────────────────────────── */
.start-story-publication .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull):not(.chapter-jp-label) {
  background: #050505;
  color: #f5f5f0;
  justify-self: start;
  margin-left: calc(var(--pub-h2-indent) * -1);
  padding: 0.5em 0.65em;
  width: fit-content;
  /* Cap right edge to align with h2 right edge (49rem ≈ 12ch at desktop h2 font-size).
     Add the indent offset so the right edge stays at the same x as the h2. */
  max-width: calc(49rem + var(--pub-h2-indent) - 20px);
}
@media (max-width: 900px) {
  .start-story-publication .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull):not(.chapter-jp-label) {
    max-width: calc(100% + var(--pub-h2-indent));
  }
}

/* ── Publication chapter staggered reveal ─────────────── */
@media (prefers-reduced-motion: no-preference) {
  [data-pub-reveal] .start-publication__number {
    opacity: 0;
    transform: translateX(-24px);
    transition: opacity 0.55s ease, transform 0.55s ease;
    transition-delay: 0ms;
  }

  [data-pub-reveal] .start-publication__copy h2 {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s ease, transform 0.55s ease;
    transition-delay: 140ms;
  }

  [data-pub-reveal] .start-publication__copy > p:not(.start-publication__number):not(.kicker) {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }

  [data-pub-reveal] .start-publication__copy > p:not(.start-publication__number):not(.kicker):nth-of-type(2) {
    transition-delay: 260ms;
  }

  [data-pub-reveal] .start-publication__copy > p:not(.start-publication__number):not(.kicker):nth-of-type(3) {
    transition-delay: 340ms;
  }

  [data-pub-reveal] .start-publication__notes {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    transition-delay: 420ms;
  }

  [data-pub-reveal] .start-publication-photo {
    opacity: 0;
    transition: opacity 0.7s ease;
    transition-delay: 300ms;
  }

  /* Revealed state */
  [data-pub-reveal].is-visible .start-publication__number {
    opacity: 1;
    transform: translateX(0);
  }

  [data-pub-reveal].is-visible .start-publication__copy h2,
  [data-pub-reveal].is-visible .start-publication__copy > p:not(.start-publication__number):not(.kicker),
  [data-pub-reveal].is-visible .start-publication__notes {
    opacity: 1;
    transform: translateY(0);
  }

  [data-pub-reveal].is-visible .start-publication-photo {
    opacity: 1;
  }

  /* Style-strip card stagger */
  [data-pub-reveal] .start-publication-style-strip article {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }
  [data-pub-reveal] .start-publication-style-strip article:nth-child(1) { transition-delay: 200ms; }
  [data-pub-reveal] .start-publication-style-strip article:nth-child(2) { transition-delay: 280ms; }
  [data-pub-reveal] .start-publication-style-strip article:nth-child(3) { transition-delay: 360ms; }
  [data-pub-reveal] .start-publication-style-strip article:nth-child(4) { transition-delay: 440ms; }
  [data-pub-reveal] .start-publication-style-strip article:nth-child(5) { transition-delay: 520ms; }

  [data-pub-reveal].is-visible .start-publication-style-strip article {
    opacity: 1;
    transform: translateY(0);
  }

  /* Nineties newsgrid cards - staggered fade-up */
  [data-pub-reveal] .start-publication-newsgrid article {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }

  [data-pub-reveal] .start-publication-newsgrid article:nth-child(1) { transition-delay: 160ms; }
  [data-pub-reveal] .start-publication-newsgrid article:nth-child(2) { transition-delay: 260ms; }
  [data-pub-reveal] .start-publication-newsgrid article:nth-child(3) { transition-delay: 360ms; }
  [data-pub-reveal] .start-publication-newsgrid article:nth-child(4) { transition-delay: 460ms; }

  [data-pub-reveal].is-visible .start-publication-newsgrid article {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── TV + quote reveal (separate observer - quote sits 300px below photo) ── */
@media (prefers-reduced-motion: no-preference) {
  /* TV image enters tilted-left and settles into its resting rotation */
  [data-quote-reveal] img.start-publication-quote__tv {
    opacity: 0;
    transform: rotate(-18deg) translateX(-20px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 80ms;
  }

  /* Quote text slides in from the right */
  [data-quote-reveal] .start-publication-quote__text {
    opacity: 0;
    transform: translateX(28px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 260ms;
  }

  [data-quote-reveal].is-visible img.start-publication-quote__tv {
    opacity: 1;
    transform: rotate(-15deg) translateX(0);
  }

  [data-quote-reveal].is-visible .start-publication-quote__text {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ── Timeline section reveal ─────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  [data-timeline-reveal] .timeline-era-nav {
    opacity: 0;
    transform: translateX(-20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    transition-delay: 0ms;
  }

  [data-timeline-reveal] .timeline-workspace {
    opacity: 0;
    transition: opacity 0.6s ease;
    transition-delay: 180ms;
  }

  [data-timeline-reveal].is-visible .timeline-era-nav {
    opacity: 1;
    transform: translateX(0);
  }

  [data-timeline-reveal].is-visible .timeline-workspace {
    opacity: 1;
  }
}

@media (max-width: 880px) and (prefers-reduced-motion: no-preference) {
  [data-timeline-reveal] .timeline-era-nav,
  [data-timeline-reveal] .timeline-workspace {
    opacity: 1;
    transform: none;
    transition-delay: 0ms;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE FILTER BOTTOM SHEET
   Shared by Venues and Wrestlers pages.
   On desktop these elements are hidden or pass-through; on tablet/mobile they
   activate a slide-up bottom sheet pattern.
═══════════════════════════════════════════════════════════════════════════ */

/* Hide mobile-only elements on all viewports by default */
.filter-sheet__handle,
.filter-sheet__head,
.filter-sheet__footer,
.filter-sheet__close,
.filter-sheet-trigger {
  display: none;
}

/* filter-sheet__body is a transparent pass-through wrapper on desktop */
.filter-sheet__body {
  display: contents;
}

/* Overlay is hidden by default; shown only inside the mobile media query */
.filter-sheet-overlay {
  display: none;
}

.filter-sheet-overlay[hidden] {
  display: none !important;
}

/* ── Tablet/mobile: activate bottom-sheet behaviour ──────────────────────── */
@media (max-width: 1120px) {
  :root {
    --filter-sheet-padding-x: clamp(1rem, 4.5vw, 1.25rem);
    --filter-sheet-padding-y: clamp(0.9rem, 3.6vw, 1.15rem);
    --filter-sheet-section-gap: 0.85rem;
    --filter-sheet-surface:
      linear-gradient(180deg, rgba(245, 245, 240, 0.04), rgba(245, 245, 240, 0.015)),
      #10100f;
    --filter-sheet-section-surface: rgba(245, 245, 240, 0.045);
    --filter-sheet-section-border: rgba(245, 245, 240, 0.16);
  }

  :root:not([data-theme="archival-dark"]):not([data-theme="dark"]),
  [data-theme="showa-light"],
  [data-theme="modern-showa"] {
    --filter-sheet-surface:
      radial-gradient(circle at 14% 0%, rgba(var(--accent-red-rgb), 0.035), transparent 13rem),
      var(--paper-solid);
    --filter-sheet-section-surface: var(--paper-solid-dark);
    --filter-sheet-section-border: rgba(17, 17, 17, 0.14);
  }

  /* Hide keyboard shortcut hint - no keyboards on touch devices */
  .keyboard-info {
    display: none !important;
  }

  /* ── Filter trigger button ──────────────────────────────────────── */
  .filter-sheet-trigger {
    align-items: center;
    background: rgba(245, 245, 240, 0.06);
    border: 1px solid rgba(245, 245, 240, 0.22);
    border-radius: var(--radius-none);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    font-size: 0.92rem;
    font-weight: 800;
    gap: 0.45rem;
    height: var(--lens-preview-control-height, var(--control-height-sm));
    min-height: var(--lens-preview-control-height, var(--control-height-sm));
    padding: 0 0.85rem;
    position: relative;
    white-space: nowrap;
  }

  .filter-sheet-trigger .material-symbols-outlined {
    font-size: 1.25rem;
    line-height: 1;
  }

  .filter-sheet-trigger:hover,
  .filter-sheet-trigger:focus-visible {
    background: rgba(245, 245, 240, 0.12);
    color: var(--text-primary);
    outline: none;
  }

  :root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .filter-sheet-trigger,
  [data-theme="showa-light"] .filter-sheet-trigger,
  [data-theme="modern-showa"] .filter-sheet-trigger {
    background: rgba(23, 19, 15, 0.04);
    border-color: rgba(23, 19, 15, 0.18);
    color: var(--text-secondary);
  }

  :root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .filter-sheet-trigger:hover,
  :root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .filter-sheet-trigger:focus-visible,
  [data-theme="showa-light"] .filter-sheet-trigger:hover,
  [data-theme="showa-light"] .filter-sheet-trigger:focus-visible,
  [data-theme="modern-showa"] .filter-sheet-trigger:hover,
  [data-theme="modern-showa"] .filter-sheet-trigger:focus-visible {
    background: rgba(23, 19, 15, 0.08);
    color: var(--text-primary);
  }

  /* Active-filter count badge */
  .filter-sheet-trigger__badge {
    align-items: center;
    background: var(--accent-red);
    border-radius: var(--radius-pill);
    color: #fff;
    display: flex;
    font-size: 0.75rem;
    font-weight: 700;
    height: 1.2rem;
    justify-content: center;
    line-height: 1;
    min-width: 1.2rem;
    padding-inline: 0.24rem;
    position: absolute;
    right: -6px;
    top: -6px;
  }

  .filter-sheet-trigger__badge[hidden] {
    display: none !important;
  }

  .masks-preview-strip .filter-sheet-trigger__badge {
    display: none !important;
  }

  /* ── Full-screen backdrop ───────────────────────────────────────── */
  .filter-sheet-overlay {
    background: rgba(0, 0, 0, 0.62);
    bottom: 0;
    display: block;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity var(--motion-standard);
    z-index: var(--z-overlay);
  }

  .filter-sheet-overlay.is-open {
    opacity: 1;
  }

  .filter-sheet-open .wrestlers-shell,
  .filter-sheet-open .venues-shell,
  .filter-sheet-open .masks-shell {
    position: relative;
    z-index: calc(var(--z-drawer) + 1);
  }

  /* ── The sheet itself ───────────────────────────────────────────── */
  [data-filter-sheet] {
    background: var(--filter-sheet-surface) !important;
    border-left: none !important;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
    border-right: none !important;
    border-top: 1px solid var(--filter-sheet-section-border) !important;
    bottom: 0 !important;
    box-shadow: var(--modal-shadowbox-shadow) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    height: min(88dvh, 52rem) !important;
    left: 0 !important;
    max-height: calc(100dvh - 0.75rem) !important;
    min-height: min(34rem, 78dvh) !important;
    order: unset !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: auto !important;
    transform: translateY(calc(100% + 2px)) !important;
    transition: transform var(--motion-sheet) !important;
    width: 100% !important;
    z-index: var(--z-drawer) !important;
  }

  [data-filter-sheet].is-open {
    transform: translateY(0) !important;
  }

  /* ── Drag handle pill ───────────────────────────────────────────── */
  .filter-sheet__handle {
    background: var(--border-subtle, rgba(245, 245, 240, 0.2));
    border-radius: var(--radius-pill);
    display: block;
    flex-shrink: 0;
    height: 0.25rem;
    margin: 0.55rem auto 0;
    width: 2.5rem;
  }

  /* ── Sheet header (mobile-only title + close button) ───────────── */
  .filter-sheet__head {
    position: relative;
  }

  .filter-sheet__head,
  [data-filter-sheet] .venues-sidebar__head {
    align-items: center;
    background: var(--filter-sheet-surface);
    border-bottom: 1px solid var(--filter-sheet-section-border);
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    min-height: 3.75rem;
    padding: 0.75rem calc(var(--filter-sheet-padding-x) + 2.75rem) 0.625rem var(--filter-sheet-padding-x);
    position: relative;
  }

  .filter-sheet__title,
  [data-filter-sheet] .venues-sidebar__head h2 {
    color: var(--text-primary);
    font-family: var(--display);
    font-size: 1.32rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0;
    text-transform: none;
  }

  /* ── Close (X) button ───────────────────────────────────────────── */
  .filter-sheet__close {
    align-items: center;
    background: transparent;
    border: 1px solid var(--filter-sheet-section-border);
    border-radius: 50%;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    height: 2rem;
    justify-content: center;
    position: absolute;
    right: var(--filter-sheet-padding-x);
    top: 50%;
    transform: translateY(-50%);
    width: 2rem;
  }

  .filter-sheet__close .material-symbols-outlined {
    font-size: 1.1rem;
    line-height: 1;
  }

  /* Hide desktop-only controls inside the sheet on mobile */
  [data-filter-sheet] .venues-clear,
  [data-filter-sheet] .venues-view-all {
    display: none;
  }

  /* ── Scrollable body ────────────────────────────────────────────── */
  .filter-sheet__body {
    background: var(--filter-sheet-surface);
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--filter-sheet-section-gap);
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: var(--filter-sheet-padding-y) var(--filter-sheet-padding-x) calc(var(--filter-sheet-padding-y) + 0.15rem);
  }

  .filter-sheet__body > * {
    flex-shrink: 0;
  }

  [data-filter-sheet] .lens-buttons,
  [data-filter-sheet] .era-filter-control,
  [data-filter-sheet] .venue-filter-stack {
    flex-shrink: 0;
  }

  [data-filter-sheet] .lens-buttons,
  [data-filter-sheet] .venue-filter-stack {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
    overflow: visible;
  }

  [data-filter-sheet] .lens-button,
  [data-filter-sheet] .venue-filter-group,
  [data-filter-sheet] .era-filter-control {
    background: var(--filter-sheet-section-surface);
    border: 1px solid var(--filter-sheet-section-border);
    border-radius: var(--radius-none) !important;
    overflow: hidden;
  }

  [data-filter-sheet] .era-filter-control {
    padding: 0;
    width: 100%;
  }

  [data-filter-sheet] .era-filter-control > .kicker {
    padding: 0.85rem 0.85rem 0;
  }

  [data-filter-sheet] .archive-filter-group,
  [data-filter-sheet] .era-filter-button {
    border-radius: var(--radius-none) !important;
  }

  [data-filter-sheet] .archive-filter-group {
    background: var(--filter-sheet-section-surface);
    border: 1px solid var(--filter-sheet-section-border);
    box-sizing: border-box;
    overflow: hidden;
    padding: 0.85rem;
    width: 100%;
  }

  [data-filter-sheet] .archive-filter-group__title {
    margin-bottom: 0.65rem;
  }

  [data-filter-sheet] .archive-filter-dropdown__panel,
  [data-filter-sheet] .archive-filter-dropdown.is-open .archive-filter-dropdown__panel {
    width: 100%;
  }

  [data-filter-sheet] .lens-button {
    border-left: 1px solid var(--filter-sheet-section-border);
    flex: initial;
    min-height: 4.5rem;
    padding: 1rem;
  }

  [data-filter-sheet] .venue-filter-group:nth-child(odd) {
    border-right: 1px solid var(--filter-sheet-section-border);
  }

  [data-filter-sheet] .venue-filter-option {
    min-height: 2.75rem;
  }

  /* ── Sheet footer (Clear all / Show results) ────────────────────── */
  .filter-sheet__footer {
    background: var(--filter-sheet-surface);
    border-top: 1px solid var(--filter-sheet-section-border);
    display: flex;
    flex-shrink: 0;
    gap: 0.75rem;
    padding: 0.75rem var(--filter-sheet-padding-x) calc(0.75rem + env(safe-area-inset-bottom, 0px));
  }

  .filter-sheet__btn {
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 500;
    height: 2.625rem;
  }

  .filter-sheet__btn--clear {
    background: transparent;
    border: 1px solid var(--filter-sheet-section-border);
    color: var(--text-primary);
    flex: 1;
  }

  .filter-sheet__btn--apply {
    background: var(--accent-red);
    border: none;
    color: #fff;
    flex: 2;
    font-weight: 600;
  }

  /* ── Venues toolbar: single row with filter trigger ─────────────── */
  /* Override the ≤760px column-direction rule */
  .venues-toolbar {
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
  }

  .venues-toolbar .venues-toolbar-search {
    flex: 1 1 auto !important;
    margin-right: 30px !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
  }

  /* ── Wrestlers toolbar: single row with filter trigger ──────────── */
  /* Override the ≤780px width/layout rules */
  .wrestler-tools {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }

  .wrestler-tools .search-wrap {
    flex: 1 !important;
    min-width: 0 !important;
    width: auto !important;
  }

  /* Body scroll lock when any bottom sheet is open */
  .filter-sheet-open {
    overflow: hidden;
  }

}

@media (max-width: 760px) {
  .venues-toolbar .venues-toolbar-search {
    display: none !important;
  }

  .filter-sheet-trigger {
    height: 2.75rem;
    min-height: 2.75rem;
  }
}
/* ── End mobile filter bottom sheet ──────────────────────────────── */

/* ── Phase 3: shared control normalization ───────────────────────── */
.search-wrap:focus-within,
.venues-toolbar-search:focus-within,
.masks-search:focus-within {
  border-color: var(--focus-border-color);
  box-shadow: var(--focus-ring-strong);
}

.lens-preview-search__clear {
  border-radius: var(--control-radius);
  min-height: 2rem;
  min-width: 2rem;
}

.lens-preview-search__clear .material-symbols-outlined,
.search-icon,
.venues-toolbar-search .material-symbols-outlined {
  font-size: var(--icon-size-control);
}

.lens-preview-search__input::placeholder,
.venues-toolbar-search input::placeholder,
.masks-search input::placeholder {
  color: var(--control-placeholder);
  opacity: 1;
}

.archive-filter-dropdown__trigger,
.venues-sort select {
  min-height: var(--control-height-sm);
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover);
}

.archive-filter-dropdown__trigger:hover,
.archive-filter-dropdown__trigger:focus-visible,
.venues-sort select:hover,
.venues-sort select:focus-visible {
  border-color: var(--focus-border-color);
}

.archive-filter-dropdown__trigger:focus-visible,
.venues-sort select:focus-visible,
.era-filter-button:focus-visible,
.match-filter-button:focus-visible,
.archive-filter-option:focus-within,
.archive-filter-dropdown__panel .venue-filter-option:focus-within,
.venue-filter-option input:focus-visible {
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.era-filter-button,
.archive-filter-option,
.archive-filter-dropdown__panel .venue-filter-option {
  min-height: var(--chip-height);
}

.era-filter-button[aria-pressed="true"],
.archive-filter-option:has(input:checked),
.archive-filter-dropdown__panel .venue-filter-option:has(input:checked) {
  background: var(--chip-bg-active);
  border-color: var(--chip-border-color-active);
  color: var(--chip-text-active);
}

.filter-sheet-trigger__badge,
.archive-filter-dropdown__count {
  font-variant-numeric: tabular-nums;
}

.filter-sheet__footer {
  gap: var(--filter-sheet-footer-gap, var(--space-3));
}

.filter-sheet-trigger {
  gap: var(--control-gap-md);
}

.filter-sheet__btn,
.filter-sheet-trigger,
.filter-sheet__close {
  touch-action: manipulation;
}

.venues-view-toggle__btn {
  min-height: var(--control-height-sm);
}

.venues-view-toggle__btn .material-symbols-outlined {
  font-size: var(--icon-size-control);
}

.venues-view-toggle__btn:focus-visible {
  box-shadow: var(--focus-ring-strong);
  outline: none;
  position: relative;
  z-index: 1;
}

.venues-view-toggle__btn[aria-pressed="true"],
.venues-view-toggle__btn--active {
  background: var(--control-bg-active);
  color: var(--control-text-active);
}

/* Card image interaction: desktop hover, touch select */
.card-touch-badge {
  display: none;
  pointer-events: none;
}

.venue-card__image {
  overflow: hidden;
  position: relative;
}

[data-theme="showa-light"] .venue-card__image,
[data-theme="modern-showa"] .venue-card__image {
  margin: 0;
  width: 100%;
}

[data-theme="showa-light"] .venue-card,
[data-theme="modern-showa"] .venue-card {
  border-radius: 0;
}

.wrestler-card .wrestler-image img,
.rivalry-card .wrestler-image img,
.venue-card .venue-image-frame img,
[data-theme] .wrestler-card .wrestler-image img,
[data-theme] .rivalry-card .wrestler-image img,
[data-theme] .venue-card .venue-image-frame img {
  filter: grayscale(1) contrast(1.05);
  opacity: 0.9;
  transition:
    filter 220ms ease,
    opacity 220ms ease,
    transform 220ms ease;
}

.rivalry-card.is-active .wrestler-image img,
.rivalry-card[aria-selected="true"] .wrestler-image img,
.venue-card--active .venue-image-frame img,
.venue-card[aria-selected="true"] .venue-image-frame img,
.rivalry-card:focus-visible .wrestler-image img,
.venue-card:focus-visible .venue-image-frame img,
[data-theme] .rivalry-card.is-active .wrestler-image img,
[data-theme] .rivalry-card[aria-selected="true"] .wrestler-image img,
[data-theme] .venue-card--active .venue-image-frame img,
[data-theme] .venue-card[aria-selected="true"] .venue-image-frame img,
[data-theme] .rivalry-card:focus-visible .wrestler-image img,
[data-theme] .venue-card:focus-visible .venue-image-frame img {
  filter: grayscale(0) contrast(1);
  opacity: 1;
}

.wrestler-card.is-active .wrestler-image img,
.wrestler-card[aria-selected="true"] .wrestler-image img,
.wrestler-card:focus-visible .wrestler-image img,
[data-theme] .wrestler-card.is-active .wrestler-image img,
[data-theme] .wrestler-card[aria-selected="true"] .wrestler-image img,
[data-theme] .wrestler-card:focus-visible .wrestler-image img {
  filter: var(--wrestler-archive-filter, grayscale(0) contrast(1));
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .rivalry-card:hover .wrestler-image img,
  .venue-card:hover .venue-image-frame img,
  [data-theme] .rivalry-card:hover .wrestler-image img,
  [data-theme] .venue-card:hover .venue-image-frame img {
    filter: grayscale(0) contrast(1);
    opacity: 1;
  }

  .wrestler-card:hover .wrestler-image img,
  [data-theme] .wrestler-card:hover .wrestler-image img {
    filter: var(--wrestler-archive-filter, grayscale(0) contrast(1));
    opacity: 1;
  }
}

@media (max-width: 1120px), (hover: none), (pointer: coarse) {
  .wrestler-card:not(.is-active):not([aria-selected="true"]) .wrestler-image img,
  .rivalry-card:not(.is-active):not([aria-selected="true"]) .wrestler-image img,
  .venue-card:not(.venue-card--active):not([aria-selected="true"]) .venue-image-frame img {
    filter: grayscale(1) contrast(1.05);
    opacity: 0.9;
  }

  .wrestler-card__portrait .card-touch-badge,
  .rivalry-card__portrait .card-touch-badge,
  .venue-card__image .card-touch-badge {
    background: rgba(0, 0, 0, 0.78);
    border-left: 3px solid var(--accent-red);
    color: #fff;
    display: inline-flex;
    font-family: var(--display);
    font-size: clamp(0.58rem, 1.9vw, 0.68rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1;
    opacity: 0.86;
    padding: 0.28rem 0.38rem;
    position: absolute;
    right: 0.55rem;
    text-transform: uppercase;
    top: 0.55rem;
    transition:
      opacity 180ms ease,
      transform 180ms ease,
      visibility 180ms ease;
    z-index: 4;
  }

}

@media (max-width: 420px) {
  .wrestler-card__portrait .card-touch-badge,
  .rivalry-card__portrait .card-touch-badge,
  .venue-card__image .card-touch-badge {
    font-size: 0.56rem;
    padding: 0.24rem 0.32rem;
    right: 0.45rem;
    top: 0.45rem;
  }
}

/* Venues: swap the image treatments between light and dark themes. */
[data-theme="showa-light"] .venue-card .venue-image-frame img,
[data-theme="modern-showa"] .venue-card .venue-image-frame img {
  filter: grayscale(100%) contrast(112%) brightness(92%);
  opacity: 1;
}

[data-theme="showa-light"] .venue-card:hover .venue-image-frame img,
[data-theme="showa-light"] .venue-card:focus-visible .venue-image-frame img,
[data-theme="showa-light"] .venue-card--active .venue-image-frame img,
[data-theme="showa-light"] .venue-card[aria-selected="true"] .venue-image-frame img,
[data-theme="modern-showa"] .venue-card:hover .venue-image-frame img,
[data-theme="modern-showa"] .venue-card:focus-visible .venue-image-frame img,
[data-theme="modern-showa"] .venue-card--active .venue-image-frame img,
[data-theme="modern-showa"] .venue-card[aria-selected="true"] .venue-image-frame img,
[data-theme="showa-light"] .venue-detail__hero img,
[data-theme="modern-showa"] .venue-detail__hero img {
  filter: none;
  opacity: 1;
}

[data-theme="archival-dark"] .venue-card .venue-image-frame img,
[data-theme="dark"] .venue-card .venue-image-frame img {
  filter: grayscale(100%) contrast(1.18) brightness(0.92);
  opacity: 0.92;
}

[data-theme="archival-dark"] .venue-card:hover .venue-image-frame img,
[data-theme="archival-dark"] .venue-card:focus-visible .venue-image-frame img,
[data-theme="archival-dark"] .venue-card--active .venue-image-frame img,
[data-theme="archival-dark"] .venue-card[aria-selected="true"] .venue-image-frame img,
[data-theme="dark"] .venue-card:hover .venue-image-frame img,
[data-theme="dark"] .venue-card:focus-visible .venue-image-frame img,
[data-theme="dark"] .venue-card--active .venue-image-frame img,
[data-theme="dark"] .venue-card[aria-selected="true"] .venue-image-frame img,
[data-theme="archival-dark"] .venue-detail__hero img,
[data-theme="dark"] .venue-detail__hero img {
  filter: none;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .wrestler-card .wrestler-image img,
  .rivalry-card .wrestler-image img,
  .venue-card .venue-image-frame img,
  .card-touch-badge {
    transition: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE/TABLET DETAIL MODALS
   Venue and wrestler detail panes remain side columns on desktop. On
   tablet/mobile they become full-screen card-style modals opened from cards.
═══════════════════════════════════════════════════════════════════════════ */

.detail-modal-close {
  display: none;
}

@keyframes detailCardExpand {
  0% {
    clip-path: inset(0 round 0.65rem);
    opacity: 0.78;
    transform:
      translate3d(var(--detail-enter-x, 0px), var(--detail-enter-y, 0px), 0)
      scale(var(--detail-enter-scale-x, 0.88), var(--detail-enter-scale-y, 0.88));
  }

  64% {
    clip-path: inset(0 round 0.28rem);
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1.012);
  }

  100% {
    clip-path: inset(0 round 0);
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes detailCardCollapse {
  0% {
    clip-path: inset(0 round 0);
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }

  100% {
    clip-path: inset(0 round 0.65rem);
    opacity: 0.72;
    transform:
      translate3d(var(--detail-enter-x, 0px), var(--detail-enter-y, 0px), 0)
      scale(var(--detail-enter-scale-x, 0.88), var(--detail-enter-scale-y, 0.88));
  }
}

@keyframes detailCardContentSettle {
  0%,
  34% {
    opacity: 0;
    transform: translateY(0.8rem) scale(0.985);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes detailCardContentFade {
  0% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  100% {
    opacity: 0;
    transform: translateY(0.35rem) scale(0.985);
  }
}

@keyframes detailPlainFadeOut {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(0.35rem);
  }
}

@media (max-width: 1120px) {
  body.detail-modal-open {
    overflow: hidden;
  }

  .detail-modal-open .wrestlers-shell,
  .detail-modal-open .venues-shell,
  .detail-modal-open .masks-shell,
  .detail-modal-open .timeline-page {
    position: relative;
    z-index: 0;
  }

	  [data-wrestler-detail],
	  [data-venue-detail],
	  [data-mask-detail],
	  [data-timeline-detail] {
    --ds-modal-card-radius: 0.85rem;
	    --detail-modal-stroke: var(--modal-shadowbox-stroke);
	    --ds-modal-card-stroke: var(--detail-modal-stroke);
	    --ds-modal-card-surface:
	      linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), rgba(var(--text-primary-rgb), 0.015)),
	      var(--modal-shadowbox-surface);
	    --ds-modal-card-shadow: var(--modal-shadowbox-shadow);
	    --detail-modal-shadow: var(--ds-modal-card-shadow);
    --detail-modal-inline-pad: clamp(0.85rem, 3vw, 1.25rem);
    --detail-modal-block-start: calc(0.85rem + env(safe-area-inset-top, 0px));
    --detail-modal-block-end: calc(1.1rem + env(safe-area-inset-bottom, 0px));
    --detail-modal-shell-width: 44rem;
    --detail-modal-max-width: min(var(--detail-modal-shell-width), 100%);
    --detail-modal-panel-min-height: calc(100dvh - var(--detail-modal-block-start) - var(--detail-modal-block-end));
    --detail-modal-backdrop: var(--modal-shadowbox-backdrop);
    border: 0 !important;
    border-radius: 0 !important;
    bottom: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    height: 100dvh !important;
    left: 0 !important;
    max-height: none !important;
    opacity: 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: var(--detail-modal-block-start) var(--detail-modal-inline-pad) var(--detail-modal-block-end) !important;
    pointer-events: none;
    position: fixed !important;
    right: 0 !important;
    scrollbar-color: var(--accent-red) transparent;
    scrollbar-width: thin;
    top: 0 !important;
    transform: translateY(0.75rem);
    transition:
      opacity 180ms ease,
      transform 220ms cubic-bezier(0.32, 0.72, 0, 1);
    visibility: hidden;
    width: 100% !important;
    z-index: 5000 !important;
  }

  [data-wrestler-detail] {
    background: var(--detail-modal-backdrop);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: block !important;
  }

	  [data-wrestler-detail].is-modal-open::after,
	  [data-mask-detail].is-modal-open::after {
	    background: var(--ds-modal-card-surface);
	    border: 1px solid var(--detail-modal-stroke);
	    border-radius: var(--ds-modal-card-radius);
	    box-shadow: var(--detail-modal-shadow);
	    content: "";
    inset:
      var(--detail-modal-block-start)
      max(
        calc(var(--detail-modal-inline-pad, 1rem) + env(safe-area-inset-right, 0px)),
        calc((100vw - var(--detail-modal-shell-width, 44rem)) / 2 + env(safe-area-inset-right, 0px))
      )
      var(--detail-modal-block-end)
      max(
        calc(var(--detail-modal-inline-pad, 1rem) + env(safe-area-inset-left, 0px)),
        calc((100vw - var(--detail-modal-shell-width, 44rem)) / 2 + env(safe-area-inset-left, 0px))
      );
    pointer-events: none;
    position: fixed;
	    z-index: 0;
	  }

	  [data-mask-detail].is-modal-open::after {
	    content: "";
	  }

	  [data-wrestler-detail].is-modal-open::before,
	  [data-venue-detail].is-modal-open::before,
	  [data-mask-detail].is-modal-open::before {
	    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), transparent);
	    bottom: 0;
	    content: "";
	    height: clamp(3.5rem, 12vh, 7rem);
	    left: 0;
	    pointer-events: none;
	    position: fixed;
	    right: 0;
	    z-index: 0;
	  }

  [data-mask-detail] {
    background: var(--detail-modal-backdrop);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: block !important;
  }

  [data-venue-detail] {
    background: var(--detail-modal-backdrop);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }

  [data-timeline-detail] {
    background: var(--detail-modal-backdrop);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: block !important;
    z-index: 5000 !important;
  }

  [data-timeline-detail] .detail-modal-close {
    z-index: 5010;
  }

  [data-timeline-detail].is-modal-open,
  [data-timeline-detail].is-modal-open .timeline-detail__content,
  [data-timeline-detail].is-modal-open .timeline-detail__body,
  [data-timeline-detail].is-modal-open .timeline-detail__copy {
    min-width: 0;
    touch-action: pan-y;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__content {
    max-width: var(--detail-modal-max-width);
  }

  @media (min-width: 701px) and (orientation: portrait) {
    [data-timeline-detail].is-modal-open .timeline-detail__preview-button {
      display: none;
    }
  }

	  [data-wrestler-detail].is-modal-open,
	  [data-venue-detail].is-modal-open,
	  [data-mask-detail].is-modal-open,
	  [data-timeline-detail].is-modal-open {
	    isolation: isolate;
	    opacity: 1;
	    pointer-events: auto;
	    transform: translateY(0);
	    visibility: visible;
	  }

	  [data-wrestler-detail].is-modal-open.is-modal-entering,
	  [data-venue-detail].is-modal-open.is-modal-entering,
	  [data-mask-detail].is-modal-open.is-modal-entering,
	  [data-timeline-detail].is-modal-open.is-modal-entering {
	    animation: detailCardExpand 340ms cubic-bezier(0.2, 0.86, 0.18, 1) both;
	    transform-origin: center center;
	    will-change: opacity, transform, clip-path;
	  }

	  [data-wrestler-detail].is-modal-open.is-modal-closing,
	  [data-venue-detail].is-modal-open.is-modal-closing,
	  [data-mask-detail].is-modal-open.is-modal-closing,
	  [data-timeline-detail].is-modal-open.is-modal-closing {
	    animation: detailCardCollapse 260ms cubic-bezier(0.55, 0.06, 0.68, 0.19) both;
	    pointer-events: none;
	    transform-origin: center center;
	    will-change: opacity, transform, clip-path;
	  }

	  [data-venue-detail].is-modal-open.is-modal-plain-closing {
	    animation: detailPlainFadeOut 180ms ease both;
	    pointer-events: none;
	    will-change: opacity, transform;
	  }

  [data-venue-detail][data-empty] {
    display: none !important;
  }

  .detail-modal-close {
    align-items: center;
    background: rgba(var(--bg-primary-rgb), 0.92);
    border: 1px solid #000000;
    border-radius: 999px;
    color: var(--text-primary);
    cursor: pointer;
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    padding: 0;
    position: fixed;
    right: max(
      calc(var(--detail-modal-inline-pad, 1rem) + env(safe-area-inset-right, 0px)),
      calc((100vw - var(--detail-modal-shell-width, 44rem)) / 2 + 0.45rem + env(safe-area-inset-right, 0px))
    );
    top: calc(0.45rem + env(safe-area-inset-top, 0px));
    width: 2.75rem;
    z-index: 1170;
  }

  .detail-modal-close .material-symbols-outlined {
    font-size: 1.45rem;
    line-height: 1;
  }

  .detail-modal-close:hover,
  .detail-modal-close:focus-visible {
    border-color: var(--accent-red);
    box-shadow: var(--focus-ring);
    outline: none;
  }

	  [data-wrestler-detail].is-modal-open > :not(.detail-modal-close) {
	    box-sizing: border-box;
	    margin-left: auto;
	    margin-right: auto;
	    max-width: var(--detail-modal-max-width);
	    position: relative;
	    z-index: 1;
	  }

	  [data-mask-detail].is-modal-open > :not(.detail-modal-close) {
	    box-sizing: border-box;
	    margin-left: auto;
	    margin-right: auto;
	    max-width: var(--detail-modal-max-width);
	    position: relative;
	    z-index: 1;
	  }

	  [data-wrestler-detail].is-modal-open.is-modal-entering > :not(.detail-modal-close),
	  [data-mask-detail].is-modal-open.is-modal-entering > :not(.detail-modal-close),
	  [data-venue-detail].is-modal-open.is-modal-entering .venue-detail__content,
	  [data-timeline-detail].is-modal-open.is-modal-entering .timeline-detail__content {
	    animation: detailCardContentSettle 430ms cubic-bezier(0.2, 0.86, 0.18, 1) both;
	  }

	  [data-wrestler-detail].is-modal-open.is-modal-closing > :not(.detail-modal-close),
	  [data-mask-detail].is-modal-open.is-modal-closing > :not(.detail-modal-close),
	  [data-venue-detail].is-modal-open.is-modal-closing .venue-detail__content,
	  [data-timeline-detail].is-modal-open.is-modal-closing .timeline-detail__content {
	    animation: detailCardContentFade 190ms ease both;
	  }

	  [data-venue-detail].is-modal-open.is-modal-plain-closing .venue-detail__content {
	    animation: detailCardContentFade 160ms ease both;
	  }

	  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__portrait,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__portrait {
	    border: 1px solid var(--detail-modal-stroke);
	    border-bottom: 0;
	    border-radius: var(--ds-modal-card-radius) var(--ds-modal-card-radius) 0 0;
	    min-height: clamp(18rem, 54vw, 25rem);
	  }

	  [data-mask-detail].is-modal-open .wrestler-detail-panel__portrait {
	    border-left: 1px solid var(--detail-modal-stroke);
	    border-right: 1px solid var(--detail-modal-stroke);
	    border-top: 1px solid var(--detail-modal-stroke);
	  }

  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__summary,
  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__section,
  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__actions,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__summary,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__section,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__actions {
	    background: var(--ds-modal-card-surface);
	    border-left: 1px solid var(--detail-modal-stroke);
	    border-right: 1px solid var(--detail-modal-stroke);
	  }

	  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__summary,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__summary {
	    border-top: 0 solid var(--detail-modal-stroke) !important;
	    border-bottom: 1px solid var(--detail-modal-stroke) !important;
	  }

	  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__facts,
	  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__section,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__facts,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__section {
	    border-top-color: var(--detail-modal-stroke) !important;
	  }

	  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__actions {
	    background: var(--ds-modal-card-surface);
	    border-bottom: 1px solid var(--detail-modal-stroke);
	    border-radius: 0 0 var(--ds-modal-card-radius) var(--ds-modal-card-radius);
	    padding-bottom: 1.15rem;
	  }

	  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__modal-end {
	    border-bottom: 1px solid var(--detail-modal-stroke);
	    border-radius: 0 0 var(--ds-modal-card-radius) var(--ds-modal-card-radius);
	    padding-bottom: calc(1.35rem + env(safe-area-inset-bottom, 0px));
	  }

	  [data-mask-detail].is-modal-open .wrestler-detail-panel__summary {
	    border-bottom: 0 !important;
	    border-radius: 0 0 var(--ds-modal-card-radius) var(--ds-modal-card-radius);
	    box-shadow: none;
	    padding-bottom: calc(1.35rem + env(safe-area-inset-bottom, 0px));
	  }

	  [data-venue-detail].is-modal-open .venue-detail__content {
	    background: var(--ds-modal-card-surface);
    border: 1px solid var(--ds-modal-card-stroke);
    border-radius: var(--ds-modal-card-radius);
    box-shadow: var(--detail-modal-shadow);
	    margin: 0 auto;
	    max-width: var(--detail-modal-max-width);
    min-height: var(--detail-modal-panel-min-height);
	    overflow: hidden;
	    position: relative;
	    z-index: 1;
	  }

  [data-venue-detail].is-modal-open .venue-detail__header,
  [data-venue-detail].is-modal-open .venue-detail__stats,
  [data-venue-detail].is-modal-open .venue-detail__section {
    background: var(--modal-shadowbox-surface);
  }

	  [data-venue-detail].is-modal-open .venue-detail__hero {
	    border-radius: var(--ds-modal-card-radius) var(--ds-modal-card-radius) 0 0;
	  }

  [data-theme="archival-dark"] .venue-detail,
  [data-theme="archival-dark"] .venue-detail__content,
  [data-theme="archival-dark"] .venue-detail__header,
  [data-theme="archival-dark"] .venue-detail__stats,
  [data-theme="archival-dark"] .venue-detail__section,
  [data-theme="dark"] .venue-detail,
  [data-theme="dark"] .venue-detail__content,
  [data-theme="dark"] .venue-detail__header,
  [data-theme="dark"] .venue-detail__stats,
  [data-theme="dark"] .venue-detail__section {
    background: var(--modal-shadowbox-surface);
    background-image: none;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__content {
    background: var(--ds-modal-card-surface);
    border: 1px solid var(--ds-modal-card-stroke);
    border-radius: var(--ds-modal-card-radius);
    box-shadow: var(--detail-modal-shadow);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-width: var(--detail-modal-max-width);
    min-height: var(--detail-modal-panel-min-height);
    overflow: hidden;
	    width: 100%;
	  }

	  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__name,
	  [data-mask-detail].is-modal-open .wrestler-detail-panel__name,
	  [data-venue-detail].is-modal-open .venue-detail__header h2 {
	    color: var(--text-primary);
	  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo {
    border: 0;
    border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.18);
    border-radius: 0.85rem 0.85rem 0 0;
    flex: 0 0 auto;
    margin: 0;
    min-height: clamp(18rem, 54vw, 25rem);
  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence {
    margin-bottom: 0;
    overflow: hidden !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence::after {
    display: none;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__image {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1.15rem;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__date {
    color: var(--accent-red);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__body h3 {
    color: var(--accent-red);
    font-size: clamp(1.7rem, 2.4vw, 2.45rem);
    font-weight: 800;
    line-height: 0.9;
    margin: 0;
    text-transform: uppercase;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__copy {
    border-top: 1px solid rgba(var(--text-primary-rgb), 0.14);
    display: grid;
    gap: 1.05rem;
    margin-top: 1rem;
    padding-top: 1.05rem;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__label {
    color: var(--accent-red);
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.05;
    margin: 0 0 0.85rem;
    position: relative;
    text-transform: uppercase;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__label::after {
    background: var(--accent-red);
    content: "";
    display: block;
    height: 2px;
    margin-top: 0.45rem;
    width: 32px;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__copy p:not(.timeline-detail__label) {
    color: rgba(var(--text-primary-rgb), 0.84);
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.55;
  }

	  [data-theme="archival-dark"] .detail-modal-close,
	  [data-theme="dark"] .detail-modal-close {
	    background: rgba(5, 5, 5, 0.9);
	    border-color: rgba(245, 245, 240, 0.32);
	    color: var(--text-primary);
	  }

	  [data-theme="showa-light"] [data-wrestler-detail],
	  [data-theme="showa-light"] [data-venue-detail],
	  [data-theme="showa-light"] [data-mask-detail],
	  [data-theme="modern-showa"] [data-wrestler-detail],
	  [data-theme="modern-showa"] [data-venue-detail],
		  [data-theme="modern-showa"] [data-mask-detail] {
		    --detail-modal-stroke: var(--modal-shadowbox-stroke);
		    --ds-modal-card-stroke: var(--detail-modal-stroke);
		    --ds-modal-card-surface:
		      linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), rgba(var(--text-primary-rgb), 0.015)),
		      var(--modal-shadowbox-surface);
		    --ds-modal-card-shadow: var(--modal-shadowbox-shadow);
		    --detail-modal-shadow: var(--ds-modal-card-shadow);
		    background: var(--modal-shadowbox-backdrop);
		  }

		  [data-theme="showa-light"] [data-wrestler-detail].is-modal-open::after,
		  [data-theme="showa-light"] [data-mask-detail].is-modal-open::after,
	  [data-theme="modern-showa"] [data-wrestler-detail].is-modal-open::after,
	  [data-theme="modern-showa"] [data-mask-detail].is-modal-open::after {
	    border: 1px solid var(--detail-modal-stroke);
	  }

	  [data-theme="showa-light"] [data-mask-detail].is-modal-open .wrestler-detail-panel__name,
	  [data-theme="modern-showa"] [data-mask-detail].is-modal-open .wrestler-detail-panel__name {
	    color: var(--text-primary);
	  }

	  @media (prefers-reduced-motion: reduce) {
	    [data-wrestler-detail],
	    [data-venue-detail],
	    [data-mask-detail],
	    [data-timeline-detail],
	    .jp-tokyo-modal,
	    .jp-tokyo-modal.is-opening .jp-tokyo-modal__card,
	    [data-wrestler-detail].is-modal-open.is-modal-entering,
	    [data-venue-detail].is-modal-open.is-modal-entering,
	    [data-mask-detail].is-modal-open.is-modal-entering,
	    [data-timeline-detail].is-modal-open.is-modal-entering,
	    [data-wrestler-detail].is-modal-open.is-modal-closing,
	    [data-venue-detail].is-modal-open.is-modal-closing,
	    [data-mask-detail].is-modal-open.is-modal-closing,
	    [data-venue-detail].is-modal-open.is-modal-plain-closing,
	    [data-timeline-detail].is-modal-open.is-modal-closing,
	    [data-wrestler-detail].is-modal-open.is-modal-entering > :not(.detail-modal-close),
	    [data-mask-detail].is-modal-open.is-modal-entering > :not(.detail-modal-close),
	    [data-venue-detail].is-modal-open.is-modal-entering .venue-detail__content,
	    [data-wrestler-detail].is-modal-open.is-modal-closing > :not(.detail-modal-close),
	    [data-mask-detail].is-modal-open.is-modal-closing > :not(.detail-modal-close),
	    [data-venue-detail].is-modal-open.is-modal-closing .venue-detail__content,
	    [data-venue-detail].is-modal-open.is-modal-plain-closing .venue-detail__content,
	    [data-timeline-detail].is-modal-open.is-modal-closing .timeline-detail__content,
	    [data-timeline-detail].is-modal-open .timeline-detail__photo,
	    [data-timeline-detail].is-modal-open .timeline-detail__body {
	      animation: none;
	      transition: none;
	    }
  }
}

@media (min-width: 761px) and (max-width: 1400px) {
  [data-venues-page][data-view="map"] .jp-map-note {
    display: none;
  }

  [data-venues-page][data-view="map"] .jp-legend {
    bottom: auto;
    left: 0;
    right: 0;
    top: 0;
  }
}

@media (min-width: 701px) and (max-width: 1120px) and (orientation: landscape) {
  [data-timeline-detail] {
    border-radius: 0 !important;
    border-style: solid !important;
    border-width: 1px !important;
    bottom: auto !important;
    box-sizing: border-box !important;
    height: auto !important;
    left: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    opacity: 1 !important;
    overflow-y: auto !important;
    padding: 0 0 1.15rem !important;
    pointer-events: auto !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    visibility: visible !important;
    width: 100% !important;
    z-index: auto !important;
  }

  [data-theme="archival-dark"] [data-timeline-detail],
  [data-theme="dark"] [data-timeline-detail] {
    border-color: rgba(245, 245, 240, 0.24) !important;
  }

  [data-theme="modern-showa"] [data-timeline-detail] {
    border-color: var(--border-subtle) !important;
  }

  [data-timeline-detail] .detail-modal-close {
    display: none !important;
  }

  .timeline-page.timeline-page--collapsed .timeline-detail__photo {
    margin-top: 0;
  }
}

@media (max-width: 1120px) {
  .wrestlers-stage,
  .venues-main {
    --lens-preview-control-height: clamp(2.75rem, 4.8vw, 3.05rem);
  }

  .wrestlers-stage > .lens-preview-strip,
  .venues-main__sticky.lens-preview-strip {
    align-items: center !important;
    display: grid !important;
    gap: clamp(1.05rem, 2.4vw, 1.45rem) clamp(0.85rem, 2vw, 1.35rem) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(1.35rem, 3.2vw, 2rem) !important;
  }

  .lens-preview-strip__intro,
  .venues-main__intro {
    display: contents !important;
  }

  .lens-preview-strip__intro > *,
  .venues-main__intro > * {
    position: relative;
    z-index: 1;
  }

  .lens-preview-strip__label,
  .venues-main__subtitle {
    align-self: center;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    letter-spacing: 0.08em;
    line-height: 1.05;
    margin: 0 !important;
    max-width: min(44vw, 18rem);
    text-align: right;
    white-space: normal;
  }

  .lens-preview-strip h1,
  .lens-preview-strip h3,
  .venues-main__intro h1 {
    align-self: center;
    font-size: clamp(2rem, 5vw, 3rem);
    grid-column: 1;
    grid-row: 1;
    line-height: 0.92;
    margin: 0 !important;
    white-space: normal;
  }

  .wrestler-tools,
  .venues-toolbar {
    align-items: center !important;
    display: flex !important;
    gap: clamp(0.65rem, 1.8vw, 1rem) !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    height: var(--lens-preview-control-height) !important;
    justify-self: stretch !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .wrestler-tools .search-wrap,
  .venues-toolbar .venues-toolbar-search {
    flex: 1 1 auto !important;
    height: var(--lens-preview-control-height) !important;
    margin-right: 0 !important;
    max-width: none !important;
    min-height: var(--lens-preview-control-height) !important;
    min-width: 0 !important;
    padding-inline: clamp(0.75rem, 2vw, 1rem);
    width: auto !important;
  }

  .filter-sheet-trigger {
    height: var(--lens-preview-control-height);
    min-height: var(--lens-preview-control-height);
    padding-inline: clamp(0.85rem, 2.2vw, 1.1rem);
  }

  .venues-view-toggle,
  .venues-view-toggle__btn {
    height: var(--lens-preview-control-height);
  }

  .venues-view-toggle {
    margin-left: auto;
  }

  .venues-view-toggle__btn {
    width: auto;
  }
}

@media (max-width: 1120px) {
  .wrestlers-stage > .lens-preview-strip .lens-preview-strip__label,
  [data-venues-page] .venues-main__subtitle {
    display: none !important;
  }
}

@media (max-width: 1120px) {
  .site-header {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    min-height: var(--site-header-height);
    padding-block: 0;
  }

  .site-header__actions {
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.55rem;
    justify-content: flex-end;
    width: auto;
  }

  .preferences-menu {
    position: static;
    right: auto;
    top: auto;
  }

  .site-nav-toggle {
    display: inline-flex;
    height: 2.375rem;
    width: 2.375rem;
  }

  .preferences-menu__button {
    height: 2.375rem;
    width: 2.375rem;
  }

  .site-nav {
    background: var(--bg-primary);
    border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.18);
    box-shadow: 0 10px 32px rgba(var(--shadow-rgb), 0.52);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    justify-content: flex-start;
    left: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transition:
      max-height 280ms ease,
      opacity 200ms ease;
    z-index: 100;
  }

  .site-nav.is-open {
    max-height: 36rem;
    opacity: 1;
    pointer-events: auto;
  }

  .site-nav a {
    align-items: center;
    border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.1);
    box-sizing: border-box;
    display: flex;
    font-size: 1rem;
    min-height: 3.2rem;
    padding: 0.9rem 1.4rem;
    white-space: nowrap;
    width: 100%;
  }

  .site-nav a:last-child {
    border-bottom: 0;
  }

  .site-nav a::after {
    bottom: 0;
    height: 100%;
    top: 0;
    transform: scaleY(0);
    transform-origin: top;
    width: 3px;
  }

  .site-nav a[aria-current="page"]::after,
  .site-nav a:hover::after,
  .site-nav a:focus-visible::after {
    transform: scaleY(1);
  }

  .site-nav a:hover,
  .site-nav a:focus-visible {
    background: rgba(var(--text-primary-rgb), 0.07);
    color: var(--accent-red-readable);
  }

  .site-logo__mark {
    width: min(160px, 48vw);
  }

  [data-theme="modern-showa"] .site-nav.is-open {
    background: var(--bg-primary);
    border-bottom-color: rgba(var(--text-primary-rgb), 0.14);
    box-shadow: 0 10px 32px rgba(var(--text-primary-rgb), 0.15);
  }

  [data-theme="modern-showa"] .site-nav.is-open a {
    border-bottom-color: rgba(var(--text-primary-rgb), 0.1);
    color: var(--text-primary);
  }

  [data-theme="modern-showa"] .site-nav.is-open a[aria-current="page"],
  [data-theme="modern-showa"] .site-nav.is-open a[aria-current="page"]:hover,
  [data-theme="modern-showa"] .site-nav.is-open a[aria-current="page"]:focus-visible {
    color: var(--accent-red);
  }
}

/* Venues map responsive refinement: tablet/mobile only, map view only. */
@media (min-width: 761px) and (max-width: 1120px) {
  [data-venues-page][data-view="map"].venues-page {
    padding: clamp(0.85rem, 1.9vw, 1.35rem);
  }

  [data-venues-page][data-view="map"] .venues-shell {
    gap: clamp(0.65rem, 1.4vw, 0.95rem);
  }

  [data-venues-page][data-view="map"] .venues-main {
    --lens-preview-control-height: clamp(2.75rem, 4.8vw, 3.05rem);
    gap: 0.7rem;
    min-height: calc(100dvh - var(--site-header-height) - clamp(1.7rem, 3.8vw, 2.7rem));
  }

  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip {
    gap: clamp(1.05rem, 2.4vw, 1.45rem) clamp(0.85rem, 2vw, 1.35rem) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: clamp(1.35rem, 3.2vw, 2rem) !important;
  }

  [data-venues-page][data-view="map"] .venues-main__intro {
    display: contents !important;
  }

  [data-venues-page][data-view="map"] .venues-main__subtitle {
    display: none !important;
  }

  [data-venues-page][data-view="map"] .venues-main__intro h1 {
    font-size: clamp(2rem, 5vw, 3rem);
    grid-column: 1;
    grid-row: 1;
    line-height: 0.92;
    margin: 0 !important;
  }

  [data-venues-page][data-view="map"] .venues-toolbar {
    align-items: center !important;
    display: flex !important;
    gap: 0.65rem !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    height: var(--lens-preview-control-height) !important;
    min-width: 0;
    width: 100% !important;
  }

  [data-venues-page][data-view="map"] .venues-toolbar .venues-toolbar-search {
    flex: 1 1 auto;
    max-width: none !important;
    min-width: 0;
    width: auto !important;
  }

  [data-venues-page][data-view="map"] .filter-sheet-trigger {
    flex: 0 0 auto;
    justify-self: start;
  }

  [data-venues-page][data-view="map"] .venues-view-toggle {
    flex: 0 0 auto;
    justify-self: start;
    margin-left: 0;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas {
    min-height: clamp(620px, 71dvh, 780px) !important;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas::after {
    display: none;
  }

  [data-venues-page][data-view="map"] .jp-map-svg {
    height: 100%;
    max-height: none;
    padding: clamp(4.8rem, 7vw, 5.25rem) clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2vw, 1.35rem);
    transform: translate(18px, -6px) scale(1.01);
  }

  [data-venues-page][data-view="map"] .jp-inset {
    left: clamp(1rem, 2.4vw, 1.5rem);
    top: clamp(4.55rem, 6.5vw, 5rem);
    width: min(410px, 42vw);
  }

  [data-venues-page][data-view="map"] .jp-inset-svg {
    height: auto;
  }

  [data-venues-page][data-view="map"] .jp-legend {
    bottom: auto;
    left: 0;
    min-width: 190px;
    right: 0;
    top: 0;
  }
}

@media (max-width: 760px) {
  [data-venues-page].venues-page {
    padding-inline: 0.85rem;
  }

  [data-venues-page] .venues-main {
    padding: 0 !important;
  }

[data-venues-page][data-view="map"].venues-page {
  padding-inline: 0.85rem;
  padding-bottom: clamp(0.65rem, 2.5vw, 0.85rem);
}

  [data-venues-page][data-view="map"] .venues-shell,
  [data-venues-page][data-view="map"] .venues-main,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
    width: 100%;
  }

  [data-venues-page][data-view="map"] .venues-main {
    gap: 0.9rem;
    min-height: calc(100dvh - var(--site-header-height) - 1.5rem);
    padding: 0 !important;
  }

  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip {
    align-items: start !important;
    display: grid !important;
    gap: clamp(1.05rem, 2.4vw, 1.45rem) clamp(0.85rem, 2vw, 1.35rem) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    padding: clamp(1.35rem, 3.2vw, 2rem) !important;
  }

  [data-venues-page][data-view="map"] .venues-main__subtitle {
    display: none !important;
  }

  [data-venues-page][data-view="map"] .venues-main__intro h1 {
    font-size: clamp(2rem, 5vw, 3rem);
    grid-column: 1;
    grid-row: 1;
    line-height: 0.92;
    margin: 0 !important;
  }

  [data-venues-page][data-view="map"] .venues-toolbar {
    align-items: stretch !important;
    display: grid !important;
    flex-direction: initial !important;
    flex-wrap: initial !important;
    gap: 0.65rem !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  [data-venues-page][data-view="map"] .venues-toolbar .venues-toolbar-search {
    display: flex !important;
    grid-column: 1 / -1;
    grid-row: 1;
    height: 2.65rem !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 2.65rem !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-venues-page][data-view="map"] .filter-sheet-trigger,
  [data-venues-page][data-view="map"] .venues-view-toggle,
  [data-venues-page][data-view="map"] .venues-view-toggle__btn {
    height: 2.65rem;
    min-height: 2.65rem;
  }

  [data-venues-page][data-view="map"] .filter-sheet-trigger {
    box-sizing: border-box;
    grid-column: 1;
    grid-row: 2;
    justify-content: center;
    min-width: 0;
    padding-inline: 0.55rem;
    width: 100%;
  }

  [data-venues-page][data-view="map"] .venues-view-toggle {
    box-sizing: border-box;
    border: 0;
    display: contents;
    grid-column: auto;
    margin-left: 0;
    min-width: 0;
    width: 100%;
  }

  [data-venues-page][data-view="map"] .venues-view-toggle__btn {
    border: 1px solid rgba(245, 245, 240, 0.22);
    flex: 1 1 0;
    gap: 0;
    min-width: 0;
    padding-inline: 0.45rem;
    width: 100%;
  }

  [data-venues-page][data-view="map"] .venues-view-toggle__btn:first-child {
    grid-column: 2;
    grid-row: 2;
  }

  [data-venues-page][data-view="map"] .venues-view-toggle__btn:last-child {
    grid-column: 3;
    grid-row: 2;
  }

  [data-venues-page][data-view="map"] .venues-view-toggle__btn .material-symbols-outlined {
    display: none;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas {
    margin-top: 0.15rem;
    min-height: min(72dvh, 42rem);
  }

  [data-venues-page][data-view="map"] .jp-map-svg {
    height: 100%;
    max-height: none;
    padding: 4.7rem 0.45rem 0.75rem;
  }
}

@media (max-width: 640px) {
  [data-venues-page][data-view="map"] .venues-map-canvas {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: clamp(430px, 66vh, 560px);
  }

  [data-venues-page][data-view="map"] .venues-map-canvas::after {
    display: none;
    left: 0.85rem;
    top: 0.85rem;
  }

  [data-venues-page][data-view="map"] .jp-map-svg {
    flex: 0 0 100%;
    height: 100%;
    max-height: none;
    padding: 5.15rem 0.35rem 0.45rem;
    transform: translate(38px, -8px) scale(1.15);
    transform-origin: center center;
    width: 100%;
  }
}

@media (max-width: 760px) {
  [data-venues-page] .venues-main__sticky.lens-preview-strip {
    align-items: start !important;
    display: grid !important;
    gap: clamp(1.05rem, 2.4vw, 1.45rem) clamp(0.85rem, 2vw, 1.35rem) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    padding: clamp(1.35rem, 3.2vw, 2rem) !important;
  }

  [data-venues-page] .venues-main__intro {
    display: contents !important;
  }

  [data-venues-page] .venues-main__subtitle {
    display: none !important;
  }

  [data-venues-page] .venues-main__intro h1 {
    font-size: clamp(2rem, 5vw, 3rem);
    grid-column: 1;
    grid-row: 1;
    line-height: 0.92;
    margin: 0 !important;
  }

  [data-venues-page] .venues-toolbar {
    align-items: stretch !important;
    display: grid !important;
    flex-direction: initial !important;
    flex-wrap: initial !important;
    gap: 0.65rem !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  [data-venues-page] .venues-toolbar .venues-toolbar-search {
    display: flex !important;
    grid-column: 1 / -1;
    grid-row: 1;
    height: 2.65rem !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 2.65rem !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-venues-page] .filter-sheet-trigger,
  [data-venues-page] .venues-view-toggle,
  [data-venues-page] .venues-view-toggle__btn {
    height: 2.65rem;
    min-height: 2.65rem;
  }

  [data-venues-page] .filter-sheet-trigger {
    box-sizing: border-box;
    grid-column: 1;
    grid-row: 2;
    justify-content: center;
    min-width: 0;
    padding-inline: 0.55rem;
    width: 100%;
  }

  [data-venues-page] .venues-view-toggle {
    box-sizing: border-box;
    border: 0;
    display: contents;
    grid-column: auto;
    margin-left: 0;
    min-width: 0;
    width: 100%;
  }

  [data-venues-page] .venues-view-toggle__btn {
    border: 1px solid rgba(245, 245, 240, 0.22);
    flex: 1 1 0;
    gap: 0.4rem !important;
    min-width: 0;
    padding-inline: 0.45rem;
    width: 100%;
  }

  [data-venues-page] .venues-view-toggle__btn:first-child {
    grid-column: 2;
    grid-row: 2;
  }

  [data-venues-page] .venues-view-toggle__btn:last-child {
    grid-column: 3;
    grid-row: 2;
  }

  [data-venues-page] .venues-view-toggle__btn .material-symbols-outlined {
    display: inline-flex !important;
    font-size: 1.1rem;
  }

  [data-wrestlers-page] .wrestler-tools {
    align-items: stretch !important;
    box-sizing: border-box !important;
    display: grid !important;
    flex-direction: initial !important;
    flex-wrap: initial !important;
    gap: 0.65rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  [data-wrestlers-page] .lens-preview-strip__label {
    display: none !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap {
    box-sizing: border-box !important;
    display: flex !important;
    grid-column: 1 / -1;
    grid-row: 1;
    height: 2.65rem !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 2.65rem !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-view-toggle,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    height: 2.65rem;
    min-height: 2.65rem;
  }

  [data-wrestlers-page] .filter-sheet-trigger {
    box-sizing: border-box;
    grid-column: 1;
    grid-row: 2;
    justify-content: center;
    min-width: 0;
    padding-inline: 0.55rem;
    width: 100%;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    border: 0;
    box-sizing: border-box;
    display: contents;
    grid-column: auto;
    margin-left: 0;
    min-width: 0;
    width: 100%;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    box-sizing: border-box;
    border: 1px solid rgba(245, 245, 240, 0.22);
    flex: 1 1 0;
    gap: 0.4rem !important;
    min-width: 0;
    padding-inline: 0.45rem;
    width: 100%;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .material-symbols-outlined,
  [data-wrestlers-page] .wrestlers-view-toggle__rivalries-icon {
    display: inline-flex !important;
    font-size: 1.1rem;
    height: 1.1rem;
    width: 1.1rem;
  }
}

@media (min-width: 561px) and (max-width: 1120px) {
  [data-wrestlers-page] .wrestler-tools {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    display: contents !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin-left: 0;
    min-width: 0;
    width: 100%;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (max-width: 560px) {
  [data-wrestlers-page] .wrestler-tools {
    gap: 0.5rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: calc(100vw - 4.6rem) !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    max-width: none !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    gap: 0.3rem !important;
    padding-inline: 0.35rem;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__label,
  [data-wrestlers-page] .filter-sheet-trigger__label {
    font-size: 0.68rem;
  }
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

@media (max-width: 1240px) {
  .route-main,
  .start-here-page,
  .start-story-publication,
  .start-story-publication .section,
  .start-story-publication .section__inner {
    max-width: 100%;
    overflow-x: clip;
  }

  .start-story-publication .start-publication__spread,
  .start-story-publication .start-publication__copy,
  .start-story-publication .start-publication__copy--wide,
  .start-story-publication .start-publication-quote,
  .start-story-publication .start-publication-quote__text,
  .start-story-publication .start-publication-photo,
  .start-story-publication .start-publication-style-strip,
  .start-story-publication .start-publication-newsgrid,
  .start-story-publication .start-publication-journey {
    max-width: 100%;
    min-width: 0;
  }

  .start-story-publication .start-publication__copy,
  .start-story-publication .start-publication__copy--wide {
    width: 100%;
  }

  .start-story-publication .start-publication-photo--belief {
    width: 100%;
  }

  .start-story-publication .start-publication-photo--belief img {
    max-width: 100%;
  }

  .start-story-publication .start-publication-quote {
    width: 100%;
  }

  img.start-publication-quote__tv {
    max-width: 58vw;
    width: min(864px, 58vw);
  }

  .start-story-publication .start-publication-quote p {
    flex-shrink: 1;
    min-width: 0;
  }
}

.start-publication__spread--modern {
  --modern-photo-crop-x: clamp(3rem, 5vw, 7rem);
  align-items: center;
  grid-template-columns: minmax(0, 0.54fr) minmax(0, 0.46fr);
  isolation: isolate;
  min-height: clamp(42rem, 58vw, 65rem);
  overflow: visible;
}

.start-here-page .start-story-publication .start-publication-chapter--modern::before {
  display: none !important;
}

.start-publication__spread--modern .start-publication__copy {
  align-self: center;
  box-sizing: border-box;
  grid-column: 1;
  grid-row: 1;
  max-width: min(48rem, 56vw);
  padding-left: var(--pub-h2-indent);
  z-index: 5;
}

.start-publication__spread--modern .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull):not(.chapter-jp-label) {
  max-width: min(calc(39.2rem + var(--pub-h2-indent) - 16px), calc(80% + var(--pub-h2-indent)));
}

.start-publication-photo--modern {
  bottom: 0;
  grid-column: 1 / -1;
  grid-row: 1;
  height: clamp(34rem, 48vw, 54rem);
  justify-self: end;
  left: calc((100vw - 100%) / -2);
  margin: 0;
  max-width: none !important;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: auto;
  width: 100vw;
  z-index: 3;
}

.start-publication-photo--modern img {
  display: block;
  filter: none;
  height: auto;
  margin: 0;
  max-width: none;
  -webkit-mask-image: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.18) 8%, rgba(0, 0, 0, 0.62) 20%, #000 38%, #000 100%);
  mask-image: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.18) 8%, rgba(0, 0, 0, 0.62) 20%, #000 38%, #000 100%);
  object-fit: cover;
  object-position: right bottom;
  transform: translateX(calc(var(--modern-photo-crop-x) * -1));
  width: calc(100% + var(--modern-photo-crop-x));
}

@media (max-width: 1240px) {
  .start-publication__spread--modern {
    min-height: clamp(38rem, 67vw, 54rem);
  }

  .start-publication__spread--modern .start-publication__copy {
    max-width: min(42rem, 62vw);
  }

  .start-publication-photo--modern {
    bottom: 0;
    height: clamp(32rem, 50vw, 46rem);
    order: initial;
    width: 100vw;
  }
}

@media (max-width: 760px) {
  .start-publication__spread--modern {
    --modern-photo-crop-x: clamp(3.5rem, 18vw, 6rem);
    grid-template-columns: 1fr;
    min-height: clamp(42rem, 132vw, 58rem);
    padding-bottom: clamp(14rem, 46vw, 22rem);
  }

  .start-publication__spread--modern .start-publication__copy {
    max-width: 100%;
    width: 100%;
  }

  .start-publication-photo--modern {
    bottom: 0;
    height: clamp(26rem, 112vw, 38rem);
    width: 100vw;
  }
}

/* Start Here responsive reading pass. Desktop keeps the poster-spread layout;
   tablet and phone become chapter-like editorial stacks. */
@media (max-width: 1024px) {
  .start-story-publication {
    --pub-h2-indent: calc(clamp(2.65rem, 8.4vw, 4.8rem) * 0.15);
    --start-section-pad: clamp(1.35rem, 4.4vw, 2.6rem);
  }

  .start-story-publication .section {
    overflow: hidden;
    padding-inline: var(--start-section-pad);
  }

  .start-story-publication .start-publication-chapter--schools,
  .start-story-publication .start-publication-chapter--schools .section__inner {
    overflow: visible;
    overflow-x: visible;
  }

  .start-story-publication .start-publication-chapter--schools {
    margin-top: calc(clamp(3rem, 8vw, 5.5rem) + 50px);
  }

  .start-story-publication .section + .section::before {
    width: calc(100% - clamp(2rem, 9vw, 4.8rem));
  }

  .start-publication__spread,
  .start-publication__spread--origin,
  .start-publication__spread--rikidozan,
  .start-publication__spread--belief,
  .start-publication__spread--schools,
  .start-publication__spread--nineties {
    align-items: start;
    gap: clamp(1.6rem, 4vw, 2.8rem);
    grid-template-columns: 1fr;
    min-height: 0;
    padding-block: clamp(4rem, 8vw, 6.2rem);
  }

  .start-publication__copy,
  .start-publication__copy--wide,
  .start-publication__copy--belief,
  .start-publication__spread--modern .start-publication__copy {
    box-sizing: border-box;
    justify-self: center;
    max-width: min(43rem, 100%);
    padding-left: var(--pub-h2-indent);
    width: 100%;
  }

  .start-story-publication h2 {
    font-size: clamp(2.65rem, 8.4vw, 4.8rem);
    line-height: 0.9;
    max-width: min(13ch, 100%);
  }

  .start-publication__number {
    font-size: clamp(6.2rem, 20vw, 10rem);
    margin-left: calc(var(--pub-h2-indent) * -1);
    text-shadow: -5px 0 0 #000;
  }

  .start-story-publication .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull):not(.chapter-jp-label),
  .start-publication__spread--modern .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull):not(.chapter-jp-label) {
    font-size: clamp(1rem, 1.7vw, 1.12rem);
    line-height: 1.58;
    max-width: min(40rem, 100%);
  }

  .start-publication-photo--matsuda {
    justify-self: center;
    margin: clamp(0.5rem, 2vw, 1.2rem) auto 0;
    max-width: min(56rem, 96vw);
    transform: rotate(3deg);
  }

  .start-publication-photo--matsuda img {
    max-height: clamp(46rem, 92vw, 66rem);
    width: 100%;
  }

  .start-publication__photo-stack {
    display: grid;
    justify-items: center;
    min-height: 0;
    order: 2;
  }

  .start-publication-photo--riki,
  .start-publication-photo--crowd {
    inset: auto;
    margin: 0 auto;
    max-width: min(43rem, 100%);
    position: relative;
  }

  .start-publication-photo--riki {
    max-width: min(40rem, 90vw);
    overflow: visible;
    transform: rotate(-2deg);
  }

  .start-publication-photo--riki img {
    aspect-ratio: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
    width: 100%;
  }

  .start-publication-photo--crowd {
    display: none;
  }

  .start-publication-photo--belief {
    justify-self: center;
    margin: 0 auto;
    max-width: 100%;
    order: 2;
    overflow: hidden;
    width: 100%;
  }

  .start-publication-photo--belief img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
    width: 100%;
  }

  .start-publication-quote {
    box-sizing: border-box;
    display: grid;
    gap: clamp(0.85rem, 2vw, 1.2rem);
    justify-self: center;
    margin: 0 auto;
    max-width: min(43rem, 100%);
    order: 3;
    padding-left: var(--pub-h2-indent);
    width: 100%;
  }

  img.start-publication-quote__tv {
    display: block;
    filter: grayscale(1) contrast(1.08) brightness(0.9) sepia(0.14);
    justify-self: center;
    margin-left: calc(var(--pub-h2-indent) * -1);
    max-width: min(39rem, calc(100% + var(--pub-h2-indent)));
    transform: rotate(-3deg);
    width: min(39rem, calc(100% + var(--pub-h2-indent)));
  }

  .start-publication-quote__text {
    border-left-width: 3px;
    margin-top: clamp(-2.25rem, -4vw, -1.25rem);
    padding-left: clamp(0.9rem, 2.2vw, 1.25rem);
    position: relative;
    z-index: 2;
  }

  .start-publication-quote p {
    font-size: clamp(2.2rem, 8vw, 4rem);
    line-height: 0.92;
    max-width: 100%;
    white-space: normal;
  }

  .start-publication-chapter--schools.is-visible .schools-group-bg {
    opacity: 1;
  }

  [data-theme="modern-showa"] .schools-group-bg {
    mix-blend-mode: multiply;
    opacity: 1;
  }

  .start-publication-schools-left {
    gap: clamp(1.5rem, 3vw, 2.2rem);
    min-width: 0;
    position: relative;
    width: 100%;
    z-index: 5;
  }

  .start-publication-chapter--schools .start-publication-style-strip {
    margin-left: 0;
  }

  .start-story-publication .start-publication-style-strip {
    display: flex;
    gap: 0;
    justify-self: center;
    margin-right: calc((100vw - 100%) / -2);
    max-width: none !important;
    overflow-x: auto;
    padding-block: 0.4rem;
    scroll-snap-type: x mandatory;
    scrollbar-color: var(--publication-red) transparent;
    width: calc(100% + ((100vw - 100%) / 2));
  }

  .start-story-publication .start-publication-style-strip::after {
    content: "";
    flex: 0 0 var(--start-section-pad);
  }

  .start-publication-style-strip article,
  .start-publication-style-strip article:first-child,
  .start-publication-style-strip article:nth-child(odd),
  .start-publication-style-strip article:nth-child(n + 3) {
    border: 1px solid rgba(245, 245, 240, 0.18);
    flex: 0 0 min(18rem, 44vw);
    min-height: auto;
    padding: clamp(1rem, 2.6vw, 1.35rem);
    scroll-snap-align: start;
  }

  .start-publication__spread--nineties {
    grid-template-columns: 1fr;
  }

  .start-publication-chapter--nineties .start-publication__number {
    transform: none;
  }

  .start-publication__spread--nineties .start-publication__copy {
    max-width: 100%;
  }

  .start-publication-photo--nineties {
    justify-self: center;
    max-width: 100%;
    order: 2;
  }

  .start-publication-photo--nineties img {
    height: auto;
    max-height: none;
    object-fit: contain;
    width: 100%;
  }

  .start-publication__spread--modern {
    --modern-photo-crop-x: clamp(3rem, 8vw, 5rem);
    min-height: 74rem;
    overflow: visible;
  }

  .start-publication__spread--modern .start-publication__copy {
    justify-self: start;
    max-width: min(38rem, 58vw);
    padding-left: var(--pub-h2-indent);
  }

  .start-publication-photo--modern {
    bottom: 0;
    height: clamp(30rem, 56vw, 42rem);
    left: calc((100vw - 100%) / -2);
    overflow: hidden;
    right: auto;
    width: 100vw;
  }

  .start-publication-photo--modern img {
    height: 100%;
    object-fit: cover;
    object-position: right bottom;
    transform: translateX(calc(clamp(3rem, 8vw, 5rem) * -1));
    width: calc(100% + clamp(3rem, 8vw, 5rem));
  }

  .start-publication__notes {
    margin-left: calc(var(--pub-h2-indent) * -1);
    max-width: none;
    width: calc(100% + var(--pub-h2-indent));
  }

}

@media (max-width: 760px) {
  .start-here-page > .start-archive-hero {
    top: var(--site-header-height);
  }

  html,
  body,
  .page-start-here,
  .start-here-page,
  .start-story-publication {
    max-width: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    touch-action: pan-y;
  }

  .start-story-publication .start-publication-chapter--schools {
    overflow-x: clip;
    overflow-y: visible;
    overflow-clip-margin: 180px;
  }

  .start-story-publication .start-publication-chapter--schools .start-publication-style-strip {
    overflow-x: auto;
    touch-action: pan-x pan-y;
  }

  .start-story-publication {
    --pub-h2-indent: calc(clamp(2.05rem, 10.8vw, 3rem) * 0.15);
    --start-section-pad: clamp(0.95rem, 5vw, 1.35rem);
  }

  .start-story-publication .section {
    padding-inline: var(--start-section-pad);
  }

  .start-publication__spread,
  .start-publication__spread--origin,
  .start-publication__spread--rikidozan,
  .start-publication__spread--belief,
  .start-publication__spread--schools,
  .start-publication__spread--nineties {
    gap: clamp(1.15rem, 5vw, 1.8rem);
    padding-block: clamp(3.35rem, 12vw, 4.6rem);
  }

  .start-publication__copy,
  .start-publication__copy--wide,
  .start-publication__copy--belief,
  .start-publication__spread--modern .start-publication__copy,
  .start-publication-quote {
    max-width: 100%;
    padding-left: var(--pub-h2-indent);
  }

  .start-story-publication h2 {
    font-size: clamp(2.05rem, 10.8vw, 3rem);
    line-height: 0.9;
    max-width: min(12ch, 100%);
  }

  .start-publication__number {
    font-size: clamp(4.95rem, 25vw, 7.2rem);
    margin-left: calc(var(--pub-h2-indent) * -1);
    text-shadow: -4px 0 0 #000;
  }

  .start-story-publication .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull):not(.chapter-jp-label),
  .start-publication__spread--modern .start-publication__copy > p:not(.kicker):not(.start-publication__number):not(.start-publication__date):not(.start-publication__pull):not(.chapter-jp-label) {
    font-size: 0.98rem;
    line-height: 1.58;
  }

  .start-publication-photo--matsuda {
    max-width: min(38rem, 94vw);
    transform: rotate(2deg);
  }

  .start-publication-photo--matsuda img {
    max-height: min(46rem, 118vw);
    width: 100%;
  }

  .start-publication-photo--riki {
    max-width: min(28rem, 88vw);
  }

  .start-publication-photo--riki img {
    aspect-ratio: auto;
    height: auto;
    object-fit: contain;
  }

  .start-publication-photo--belief img {
    aspect-ratio: 4 / 3;
  }

  .start-publication__notes {
    margin-left: calc(var(--pub-h2-indent) * -1);
    max-width: none;
    width: calc(100% + var(--pub-h2-indent));
  }

  .start-publication-quote p {
    font-size: clamp(1.85rem, 8.8vw, 2.7rem);
  }

  .start-publication-quote {
    padding-left: 0;
  }

  img.start-publication-quote__tv {
    display: none;
  }

  .start-publication-quote__text {
    margin-left: var(--pub-h2-indent);
    margin-top: -1.15rem;
    width: calc(100% - var(--pub-h2-indent));
  }

  .start-story-publication .start-publication-style-strip {
    box-sizing: border-box;
    gap: 0.85rem;
    left: auto;
    margin-left: calc(var(--start-section-pad) * -1);
    margin-right: 0;
    max-width: none !important;
    padding-inline: var(--start-section-pad) 0;
    position: relative;
    scroll-padding-left: var(--start-section-pad);
    width: 100vw;
  }

  .start-publication-chapter--schools .start-publication__copy {
    transform: translateY(30px);
  }

  .start-publication-style-strip article,
  .start-publication-style-strip article:first-child,
  .start-publication-style-strip article:nth-child(odd),
  .start-publication-style-strip article:nth-child(n + 3) {
    flex: 0 0 min(17.5rem, 84vw);
  }

  .start-publication-style-strip h3 {
    font-size: clamp(1.25rem, 6vw, 1.75rem);
  }

  .start-publication-chapter--schools.is-visible .schools-group-bg {
    opacity: 0.85;
  }

  .start-publication-chapter--schools .schools-group-bg {
    bottom: -50px;
    transform: translate(50px, -50px);
  }

  .start-publication-chapter--schools .schools-group-bg img {
    transform: none;
  }

  [data-theme="modern-showa"] .schools-group-bg {
    mix-blend-mode: multiply;
    opacity: 1;
  }

  .start-publication-schools-left {
    position: relative;
    z-index: 5;
  }

  .start-publication__spread--nineties {
    grid-template-columns: 1fr;
  }

  .start-publication-photo--nineties {
    justify-self: center;
    max-width: min(52rem, 95vw);
    order: 2;
  }

  .start-publication-photo--nineties img {
    height: auto;
  }

  .start-publication__spread--modern {
    --modern-photo-crop-x: clamp(3.5rem, 18vw, 6rem);
    min-height: 0;
    padding-bottom: clamp(16rem, 66vw, 27rem);
  }

  .start-publication__spread--modern .start-publication__copy {
    max-width: 100%;
    width: 100%;
  }

  .start-publication-photo--modern {
    bottom: 0;
    height: clamp(26rem, 112vw, 38rem);
    left: calc((100vw - 100%) / -2);
    overflow: hidden;
    right: auto;
    width: 100vw;
  }

  .start-publication-photo--modern img {
    height: 100%;
    object-fit: cover;
    object-position: right bottom;
    transform: translateX(calc(clamp(4rem, 20vw, 7rem) * -1));
    width: calc(100% + clamp(4rem, 20vw, 7rem));
  }

}

@media (max-width: 420px) {
  .start-story-publication h2 {
    font-size: clamp(1.95rem, 10.2vw, 2.6rem);
  }

  .start-publication__number {
    font-size: clamp(4.35rem, 23vw, 6.4rem);
  }

  .start-publication-style-strip article,
  .start-publication-style-strip article:first-child,
  .start-publication-style-strip article:nth-child(odd),
  .start-publication-style-strip article:nth-child(n + 3) {
    flex-basis: min(16rem, 82vw);
  }

  .start-publication-photo--modern {
    height: clamp(27rem, 118vw, 38rem);
    width: 100vw;
  }
}

/* Section 06 composition reset: keep the full trio image readable and pinned to the lower-right. */
.start-here-page .start-story-publication .start-publication-chapter--modern {
  overflow: hidden;
}

.start-here-page .start-publication__spread--modern {
  min-height: clamp(44rem, 62vw, 66rem);
  overflow: visible;
}

.start-here-page .start-publication__spread--modern .start-publication__copy {
  position: relative;
  z-index: 5;
}

.start-here-page .start-publication-photo--modern {
  bottom: 0;
  height: auto;
  left: auto;
  max-width: none !important;
  overflow: visible;
  right: calc((100vw - 100%) / -2);
  width: min(64vw, 68rem);
  z-index: 3;
}

.start-here-page .start-publication-photo--modern img {
  display: block;
  filter: none;
  height: auto;
  margin: 0;
  max-width: none;
  object-fit: contain;
  object-position: right bottom;
  transform: none;
  width: 100%;
  -webkit-mask-image: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.18) 8%, rgba(0, 0, 0, 0.62) 20%, #000 38%, #000 100%);
  mask-image: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.18) 8%, rgba(0, 0, 0, 0.62) 20%, #000 38%, #000 100%);
}

@media (max-width: 1024px) {
  .start-here-page .start-publication__spread--modern {
    min-height: clamp(58rem, 118vw, 76rem);
    padding-bottom: clamp(24rem, 58vw, 34rem);
  }

  .start-here-page .start-publication__spread--modern .start-publication__copy {
    max-width: 100%;
  }

  .start-here-page .start-publication-photo--modern {
    right: calc((100vw - 100%) / -2);
    width: min(104vw, 58rem);
  }
}

@media (min-width: 761px) and (max-width: 1024px) and (orientation: portrait) {
  .start-here-page .start-publication__spread--modern {
    min-height: clamp(64rem, 126vw, 82rem);
    padding-bottom: clamp(28rem, 64vw, 38rem);
  }

  .start-here-page .start-publication-photo--modern {
    transform: translateY(clamp(3.5rem, 8vw, 5.5rem));
  }
}

@media (max-width: 760px) {
  .start-here-page .start-publication__spread--modern {
    min-height: clamp(54rem, 178vw, 72rem);
    padding-bottom: clamp(20rem, 82vw, 34rem);
  }

  .start-here-page .start-publication__spread--modern .start-publication__copy {
    max-width: 100%;
  }

  .start-here-page .start-publication-photo--modern {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 100vw;
  }
}

.start-glossary,
.start-learning-paths {
  position: relative;
  padding: clamp(4rem, 8vw, 8rem) 0;
  background: rgba(11, 12, 14, 0.9);
  border-top: 1px solid rgba(232, 48, 48, 0.24);
}

.start-glossary {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 9px),
    rgba(12, 13, 15, 0.94);
}

.start-glossary .section__inner,
.start-learning-paths .section__inner {
  max-width: 1180px;
}

.start-glossary__head,
.start-learning-paths__head {
  max-width: 760px;
  margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.start-glossary__eyebrow,
.start-glossary__category,
.start-glossary__filter,
.start-learning-paths__eyebrow,
.start-learning-paths__badge,
.start-learning-paths__step,
.start-learning-paths__match-meta {
  font-family: var(--font-display);
  text-transform: uppercase;
}

.start-glossary__eyebrow,
.start-glossary__category,
.start-learning-paths__eyebrow,
.start-learning-paths__badge,
.start-learning-paths__step {
  color: var(--color-red);
}

.start-glossary__head h2,
.start-learning-paths__head h2 {
  max-width: 12ch;
  margin: 0.35rem 0 1rem;
  color: var(--color-paper);
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 7vw, 5.8rem);
  line-height: 0.88;
  text-transform: uppercase;
}

.start-glossary__head > p:last-child,
.start-learning-paths__head > p:last-child {
  max-width: 58ch;
  color: rgba(245, 238, 226, 0.74);
  font-size: 1.02rem;
  line-height: 1.7;
}

.start-glossary__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 clamp(1.4rem, 3vw, 2.3rem);
}

.start-glossary__filter {
  min-height: 2.35rem;
  padding: 0.55rem 0.72rem 0.48rem;
  color: rgba(245, 238, 226, 0.72);
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.72rem;
  letter-spacing: 0;
}

.start-glossary__filter:hover,
.start-glossary__filter:focus-visible,
.start-glossary__filter.is-active {
  color: var(--color-paper);
  background: rgba(232, 48, 48, 0.15);
  border-color: rgba(232, 48, 48, 0.55);
}

.start-glossary__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.start-learning-paths__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.start-glossary__card,
.start-learning-paths__card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 1rem;
  padding: 1.1rem;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
    rgba(18, 18, 20, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 8px;
}

.start-glossary__card {
  gap: 0.72rem;
  padding: 1rem;
}

.start-glossary__category,
.start-learning-paths__badge {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0;
}

.start-glossary__card h3,
.start-learning-paths__card h3 {
  margin: 0;
  color: var(--color-paper);
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.start-glossary__language {
  margin: -0.35rem 0 0;
  color: rgba(245, 238, 226, 0.52);
  font-size: 0.82rem;
  line-height: 1.35;
}

.start-glossary__short {
  margin: 0;
  color: rgba(245, 238, 226, 0.86);
  font-weight: 700;
  line-height: 1.45;
}

.start-glossary__definition,
.start-learning-paths__summary {
  margin: 0;
  color: rgba(245, 238, 226, 0.7);
  font-size: 0.92rem;
  line-height: 1.55;
}

.start-glossary__related {
  margin: auto 0 0;
  padding-top: 0.2rem;
  color: rgba(245, 238, 226, 0.5);
  font-size: 0.78rem;
  line-height: 1.45;
}

.start-learning-paths__matches {
  display: grid;
  gap: 0.65rem;
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}

.start-learning-paths__match {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.15rem 0.65rem;
  min-height: 3.75rem;
  padding: 0.7rem;
  color: inherit;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
}

.start-learning-paths__match:hover,
.start-learning-paths__match:focus-visible {
  background: rgba(232, 48, 48, 0.13);
  border-color: rgba(232, 48, 48, 0.45);
}

.start-learning-paths__step {
  grid-row: span 2;
  font-size: 0.76rem;
}

.start-learning-paths__match-title {
  color: var(--color-paper);
  font-weight: 700;
  line-height: 1.25;
}

.start-learning-paths__match-meta {
  color: rgba(245, 238, 226, 0.55);
  font-size: 0.68rem;
  letter-spacing: 0;
}

[data-theme="modern-showa"] .start-glossary,
[data-theme="modern-showa"] .start-learning-paths {
  background: rgba(247, 239, 223, 0.92);
  border-top-color: rgba(161, 38, 38, 0.2);
}

[data-theme="modern-showa"] .start-glossary {
  background:
    repeating-linear-gradient(135deg, rgba(91, 60, 36, 0.055) 0 1px, transparent 1px 9px),
    rgba(247, 239, 223, 0.92);
}

[data-theme="modern-showa"] .start-glossary__head h2,
[data-theme="modern-showa"] .start-glossary__card h3,
[data-theme="modern-showa"] .start-learning-paths__head h2,
[data-theme="modern-showa"] .start-learning-paths__card h3,
[data-theme="modern-showa"] .start-learning-paths__match-title {
  color: var(--color-ink);
}

[data-theme="modern-showa"] .start-glossary__head > p:last-child,
[data-theme="modern-showa"] .start-glossary__definition,
[data-theme="modern-showa"] .start-learning-paths__head > p:last-child,
[data-theme="modern-showa"] .start-learning-paths__summary {
  color: rgba(39, 31, 24, 0.72);
}

[data-theme="modern-showa"] .start-glossary__short {
  color: rgba(39, 31, 24, 0.88);
}

[data-theme="modern-showa"] .start-glossary__language,
[data-theme="modern-showa"] .start-glossary__related {
  color: rgba(39, 31, 24, 0.58);
}

[data-theme="modern-showa"] .start-glossary__filter {
  color: rgba(39, 31, 24, 0.7);
  background: rgba(255, 255, 255, 0.48);
  border-color: rgba(91, 60, 36, 0.16);
}

[data-theme="modern-showa"] .start-glossary__filter:hover,
[data-theme="modern-showa"] .start-glossary__filter:focus-visible,
[data-theme="modern-showa"] .start-glossary__filter.is-active {
  color: var(--color-ink);
  background: rgba(161, 38, 38, 0.12);
  border-color: rgba(161, 38, 38, 0.42);
}

[data-theme="modern-showa"] .start-glossary__card,
[data-theme="modern-showa"] .start-learning-paths__card {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(244, 230, 202, 0.5)),
    rgba(255, 251, 241, 0.82);
  border-color: rgba(91, 60, 36, 0.18);
}

[data-theme="modern-showa"] .start-learning-paths__match {
  background: rgba(255, 255, 255, 0.54);
  border-color: rgba(91, 60, 36, 0.15);
}

[data-theme="modern-showa"] .start-learning-paths__match-meta {
  color: rgba(39, 31, 24, 0.58);
}

@media (max-width: 1100px) {
  .start-glossary__grid,
  .start-learning-paths__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .start-glossary__grid,
  .start-learning-paths__grid {
    grid-template-columns: 1fr;
  }

  .start-glossary__card,
  .start-learning-paths__card {
    padding: 1rem;
  }
}

/* Styles hero: keep the phone image stage as tall as the tablet treatment. */
@media (max-width: 560px) {
  .styles-page > .styles-archive-hero::before {
    --archive-hero-image-position: 68% calc(14% - 42px);
    --archive-hero-image-size: min(36rem, 132vw) auto;
  }

  .styles-page > .styles-archive-hero.styles-hero--collapsed::before {
    --archive-hero-image-position-collapsed: 64% calc(18% - 24px);
    --archive-hero-image-size-collapsed: min(30rem, 112vw) auto;
  }
}

/* Section 04: title > wrestler photo > cards. Keep the column itself out of
   the stacking contest so the title and cards can layer independently. */
.start-publication-chapter--schools .section__inner,
.start-publication-chapter--schools .start-publication-schools-left {
  z-index: auto !important;
}

.start-publication-chapter--schools .start-publication-style-strip {
  position: relative;
  z-index: 10 !important;
}

.start-publication-chapter--schools .schools-group-bg {
  z-index: 20 !important;
}

.start-publication-chapter--schools .start-publication__copy {
  isolation: isolate;
  position: relative;
  z-index: 30 !important;
}

.start-publication-chapter--schools .start-publication__copy h2 > span {
  background-color: var(--publication-red) !important;
  box-shadow: var(--pub-h2-indent) 0 0 var(--publication-red), calc(var(--pub-h2-indent) * -1) 0 0 var(--publication-red) !important;
}

@media (min-width: 761px) and (max-width: 1120px) {
  .start-story-publication .start-publication-style-strip {
    gap: 0.85rem;
  }

  .start-publication-chapter--rikidozan .start-publication__notes {
    max-width: min(40rem, 100%);
    width: min(40rem, 100%);
  }

  .start-publication-chapter--schools .schools-group-bg {
    transform: translate(40px, -150px);
    z-index: 5 !important;
  }
}

/* Start Here mobile frame guard: the page itself should never pan sideways.
   Section 04's card rail remains the only horizontal scroller. */
@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden !important;
    overscroll-behavior-x: none;
  }

  .page-start-here,
  .page-start-here .route-main,
  .start-here-page,
  .start-story-publication,
  .start-story-publication .section,
  .start-story-publication .section__inner,
  .page-start-here .site-footer {
    max-width: 100%;
    overflow-x: clip !important;
  }

  .start-story-publication .start-publication-chapter--schools .start-publication-style-strip {
    box-sizing: border-box;
    margin-left: calc(var(--start-section-pad) * -1);
    margin-right: 0;
    max-width: 100vw !important;
    overflow-x: auto !important;
    padding-inline: var(--start-section-pad) 0;
    overscroll-behavior-inline: contain;
    touch-action: pan-x pan-y;
    width: 100vw;
  }
}

/* Responsive type and touch target polish. Keep the existing layouts intact
   while giving tablet/mobile text and controls a more comfortable floor. */
@media (max-width: 1120px) {
  :root,
  html:root,
  [data-theme="showa-light"],
  [data-theme="modern-showa"],
  [data-theme="archival-dark"],
  [data-theme="dark"],
  html[data-theme="showa-light"],
  html[data-theme="modern-showa"],
  html[data-theme="archival-dark"],
  html[data-theme="dark"] {
    --type-body: 1rem;
    --type-body-sm: 0.9rem;
    --type-label: 0.84rem;
    --leading-body: 1.62;
  }

  body {
    font-size: 16px;
    line-height: 1.62;
  }

  p,
  li,
  dd,
  .text-body,
  .route-hero__content > p,
  .route-mini-hero p:last-child,
  .hero__tagline,
  .hero__intro,
  .hero__subcopy,
  .section__header > p,
  .paper-section p,
  .home-entry-item > p,
  .home-match-spotlight p,
  .styles-archive-hero__subtitle,
  .style-detail-definition,
  .style-key-match__body p,
  .match-featured-hero__hook,
  .match-featured-hero__why,
  .match-featured-hero .match-featured-hero__hook,
  .match-featured-hero .match-featured-hero__why,
  .match-guide-card__body p,
  .timeline-detail__body p,
  .wrestler-card__body p,
  .rivalry-card__body p,
  .venues-main__copy,
  .venue-card__body p,
  .venues-map-list-item__body p {
    font-size: 16px;
    line-height: 1.62;
  }

  .site-nav-toggle,
  .preferences-menu__button,
  .theme-toggle,
  .filter-sheet__close {
    min-height: 44px;
    min-width: 44px;
  }

  .site-nav-toggle,
  .preferences-menu__button,
  .theme-toggle {
    height: 44px;
    width: 44px;
  }

  .filter-sheet__close {
    height: 44px;
    width: 44px;
  }

  .preferences-menu__button .material-symbols-outlined,
  .site-nav-toggle .material-symbols-outlined {
    font-size: 1.35rem;
  }

  .theme-toggle {
    border-radius: 999px;
    gap: 0;
    padding: 0;
  }

  .theme-toggle__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .theme-toggle__svg {
    height: 1.35rem;
    width: 1.35rem;
  }

  .preferences-menu__option {
    font-size: 0.86rem;
    line-height: 1.18;
    min-height: 44px;
    padding-block: 0.65rem;
  }

  .button,
  .match-btn,
  .watch-button,
  .venue-cta,
  .venues-load-more,
  .filter-sheet-trigger,
  .match-featured__control,
  .match-filter-menu__button,
  .match-filter-menu__option {
    font-size: 0.9rem;
    line-height: 1.12;
    min-height: 48px;
  }

  .button {
    padding-block: 0.95rem;
  }

  .site-nav a,
  .footer-nav a {
    align-items: center;
    display: inline-flex;
    font-size: 0.9rem;
    line-height: 1.1;
    min-height: 44px;
    padding-block: 0.5rem;
  }

  .timeline-era-button,
  .style-nav-button,
  .lens-button,
  .era-filter-button,
  .match-filter-button,
  .timeline-rail__button,
  .timeline-detail__preview-button {
    min-height: 44px;
  }

  .timeline-detail__preview-button {
    min-width: 44px;
  }

  .timeline-era-button {
    padding-block: 1.05rem;
  }

  .timeline-era-button__range {
    font-size: 0.84rem;
    line-height: 1.1;
  }

  .timeline-era-button__title,
  .style-nav-button__name {
    font-size: clamp(1rem, 2.25vw, 1.12rem);
    line-height: 1.12;
  }

  .timeline-era-button__description {
    font-size: 0.84rem;
    line-height: 1.38;
  }

  .timeline-rail__date,
  .wrestler-card__year,
  .match-card__year {
    font-size: clamp(1.15rem, 4vw, 1.45rem);
    line-height: 1;
  }

  .timeline-rail__title,
  .wrestler-card__name,
  .match-card__title,
  .match-guide-card__title {
    font-size: clamp(1.08rem, 3.6vw, 1.35rem);
    line-height: 1.04;
  }

  .lens-button {
    line-height: 1.2;
    padding-block: 0.95rem;
  }

  .lens-button__title {
    font-size: 1rem;
    line-height: 1.1;
  }

  .lens-button__support {
    font-size: 0.86rem;
    line-height: 1.25;
  }

  .era-filter-button,
  .match-filter-button {
    font-size: 0.86rem;
    letter-spacing: 0.03em;
    line-height: 1.1;
    padding: 0.78rem 0.9rem;
  }

  .match-grid-status {
    font-size: 16px;
    line-height: 1.25;
  }
}

@media (max-width: 600px) {
  .site-header__actions {
    gap: 0.6rem;
  }

  .hero h1,
  .route-hero h1,
  .styles-archive-hero h1 {
    line-height: 0.98;
  }

  .hero h1 {
    font-size: clamp(3rem, 13.8vw, 4.35rem);
  }

  .hero-title-line:first-child {
    white-space: normal;
  }

  .hero-title-line {
    white-space: normal;
  }

  .hero-title-line:nth-child(2) {
    white-space: nowrap;
  }

  .button,
  .hero__actions .button,
  .match-btn,
  .watch-button {
    min-height: 48px;
    width: 100%;
  }

  .hero-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 100%;
    width: 100%;
  }

  .hero-kpi-strip div:nth-child(odd) {
    border-left: 0;
  }

  .hero-kpi-strip div {
    grid-template-rows:
      1.9rem
      minmax(1.65rem, auto)
      minmax(0.78rem, auto)
      minmax(3.75rem, auto);
    min-height: 9.85rem;
    padding: 1.05rem 0.8rem 1.15rem;
    row-gap: 0.24rem;
  }

  .hero-kpi-strip__icon {
    font-size: 1.85rem;
  }

  .hero-kpi-strip__value {
    font-size: clamp(1.08rem, 4.7vw, 1.42rem);
  }

  .hero-kpi-strip__label {
    font-size: 0.58rem;
    line-height: 1.05;
  }

  .hero-kpi-strip__description {
    font-size: 0.58rem;
    line-height: 1.34;
    max-width: 21ch;
  }

  .match-filter-button,
  .era-filter-button {
    flex: 1 1 auto;
  }
}

.styles-exhibit-page {
  background:
    radial-gradient(circle at 16% 16%, rgba(var(--accent-red-rgb), 0.18), transparent 28rem),
    linear-gradient(180deg, #080807 0%, #151311 42%, #070706 100%);
  min-height: 100vh;
}

.styles-exhibit {
  background:
    radial-gradient(circle at 78% 4%, rgba(var(--accent-red-rgb), 0.12), transparent 26rem),
    linear-gradient(180deg, rgba(7, 7, 6, 0.96), rgba(15, 14, 12, 0.98));
  background-size: auto, auto;
  border-top: 1px solid rgba(232, 227, 217, 0.18);
  color: var(--text-primary);
  min-height: calc(100vh - var(--site-header-height));
  padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 3vw, 2.75rem) clamp(5rem, 8vw, 7rem);
  position: relative;
}

.styles-exhibit-page.styles-page--collapsed {
  overflow: visible;
}

.styles-exhibit-page.styles-page--collapsed .styles-exhibit {
  bottom: 0;
  left: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: clamp(6rem, 9vw, 8rem);
  padding-top: clamp(1.5rem, 3vw, 3rem);
  position: fixed;
  right: 0;
  top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height));
  z-index: 210;
}

.styles-exhibit-page.styles-page--collapsed .styles-exhibit__shell {
  padding-bottom: clamp(3rem, 5vw, 5rem);
}

.styles-exhibit::before {
  content: "";
  display: none;
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.styles-exhibit__shell {
  margin-inline: auto;
  max-width: min(1640px, 100%);
  position: relative;
  z-index: 1;
}

.styles-exhibit__intro {
  align-items: end;
  display: grid;
  gap: clamp(1rem, 2vw, 2rem);
  grid-template-columns: minmax(0, 0.55fr) minmax(18rem, 0.45fr);
  margin-bottom: clamp(1.4rem, 3vw, 2.8rem);
}

.styles-exhibit__eyebrow,
.styles-exhibit-kicker,
.styles-exhibit-section-label {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.styles-exhibit__dek {
  color: rgba(232, 227, 217, 0.72);
  font-size: clamp(1rem, 1.45vw, 1.22rem);
  line-height: 1.45;
  margin: 0;
  max-width: 42rem;
}

.styles-exhibit-selector {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(7, minmax(9rem, 1fr));
  margin-bottom: clamp(1.25rem, 2.8vw, 2.4rem);
  margin-top: 0;
  overflow-x: auto;
  padding-bottom: 0.35rem;
  scrollbar-width: thin;
}

.styles-exhibit-tile {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
    #11100e;
  border: 1px solid rgba(232, 227, 217, 0.18);
  color: var(--text-primary);
  cursor: pointer;
  display: grid;
  gap: 0.45rem;
  min-height: 9rem;
  min-width: 9rem;
  padding: 1rem;
  position: relative;
  text-align: left;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.styles-exhibit-tile + .styles-exhibit-tile {
  margin-left: -1px;
}

.styles-exhibit-tile::before {
  background: var(--accent-red-strong);
  content: "";
  height: 3px;
  left: 1rem;
  opacity: 0;
  position: absolute;
  right: 1rem;
  top: 0.7rem;
  transform: scaleX(0.32);
  transform-origin: left;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.styles-exhibit-tile:hover,
.styles-exhibit-tile:focus-visible {
  border-color: var(--accent-red-strong);
  box-shadow: inset 0 0 0 1px var(--accent-red-strong);
  outline: none;
  z-index: 2;
}

.styles-exhibit-tile.is-active {
  background:
    linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.28), rgba(16, 15, 13, 0.95)),
    #17120f;
  border-color: rgba(var(--accent-red-rgb), 0.8);
  color: #fff;
}

.styles-exhibit-tile.is-active::before {
  opacity: 1;
  transform: scaleX(1);
}

.styles-exhibit-tile__number {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(1.55rem, 2.8vw, 2.6rem);
  font-weight: 800;
  line-height: 0.9;
}

.styles-exhibit-tile__name {
  font-family: var(--display);
  font-size: clamp(1rem, 1.45vw, 1.32rem);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.styles-exhibit-tile__room {
  align-self: end;
  color: rgba(232, 227, 217, 0.58);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
}

.styles-exhibit-room {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.styles-exhibit-room.is-transitioning {
  opacity: 0.38;
  transform: translateY(0.8rem);
}

.styles-exhibit-layout {
  align-items: start;
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: minmax(18rem, 0.85fr) minmax(26rem, 1.55fr) minmax(18rem, 0.9fr);
}

.styles-exhibit-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    rgba(11, 10, 9, 0.92);
  border: 1px solid rgba(232, 227, 217, 0.18);
  box-shadow: 0 1.6rem 4rem rgba(0, 0, 0, 0.34);
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.45rem);
  position: relative;
}

.styles-exhibit-panel::after,
.styles-exhibit-feature__image::after {
  background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px);
  background-size: 9px 9px;
  content: "";
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.18;
  pointer-events: none;
  position: absolute;
}

.styles-exhibit-quote {
  color: #fff;
  font-family: var(--display);
  font-size: clamp(2rem, 3.1vw, 3.65rem);
  font-weight: 800;
  line-height: 0.92;
  margin: 1rem 0 1.2rem;
  text-transform: uppercase;
}

.styles-exhibit-philosophy,
.styles-exhibit-atmosphere,
.styles-exhibit-feature__copy {
  color: rgba(232, 227, 217, 0.76);
  font-size: 1rem;
  line-height: 1.56;
  margin: 0;
}

.styles-exhibit-atmosphere {
  margin-top: 1rem;
}

.styles-exhibit-entry-grid {
  border-top: 1px solid rgba(232, 227, 217, 0.16);
  display: grid;
  gap: 0.8rem;
  margin-top: 1.35rem;
  padding-top: 1.2rem;
}

.styles-exhibit-entry {
  display: grid;
  gap: 0.28rem;
}

.styles-exhibit-entry span {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.styles-exhibit-entry strong {
  color: rgba(232, 227, 217, 0.84);
  font-size: 0.95rem;
  line-height: 1.35;
}

.styles-exhibit-feature {
  display: grid;
  gap: 1rem;
}

.styles-exhibit-feature__image {
  aspect-ratio: 16 / 10;
  background: #050505;
  border: 1px solid rgba(232, 227, 217, 0.2);
  overflow: hidden;
  position: relative;
}

.styles-exhibit-feature__image img {
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 420ms ease;
  width: 100%;
}

.styles-exhibit-feature:hover .styles-exhibit-feature__image img {
  transform: scale(1.06);
}

.styles-exhibit-feature__overlay {
  background: linear-gradient(180deg, transparent 10%, rgba(0, 0, 0, 0.88) 100%);
  bottom: 0;
  display: grid;
  gap: 0.35rem;
  left: 0;
  padding: clamp(1rem, 2vw, 1.6rem);
  position: absolute;
  right: 0;
  z-index: 1;
}

.styles-exhibit-feature__year {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(2rem, 4vw, 4.5rem);
  font-weight: 800;
  line-height: 0.78;
}

.styles-exhibit-feature__title {
  color: #fff;
  font-family: var(--display);
  font-size: clamp(1.65rem, 3vw, 3.4rem);
  font-weight: 800;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.styles-exhibit-feature__meta {
  color: rgba(232, 227, 217, 0.72);
  font-size: 0.8rem;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
}

.styles-exhibit-cta {
  gap: 0.45rem;
  font-family: var(--display);
  font-size: 0.9rem;
  justify-self: start;
  text-decoration: none;
}

.styles-exhibit-cta__icon {
  font-size: 1.1rem;
  line-height: 1;
  transition: transform 180ms ease;
}

.styles-exhibit-cta:hover,
.styles-exhibit-cta:focus-visible {
  border-color: var(--accent-red-strong);
}

.styles-exhibit-cta:hover .styles-exhibit-cta__icon,
.styles-exhibit-cta:focus-visible .styles-exhibit-cta__icon {
  transform: translateX(2px);
}

.styles-exhibit-moments,
.styles-exhibit-mini-timeline,
.styles-exhibit-module {
  border-top: 1px solid rgba(232, 227, 217, 0.16);
  display: grid;
  gap: 0.85rem;
  margin-top: 1rem;
  padding-top: 1rem;
}

.styles-exhibit-moments {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.styles-exhibit-module:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.styles-exhibit-moments .styles-exhibit-section-label {
  grid-column: 1 / -1;
}

.styles-exhibit-moment {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(232, 227, 217, 0.13);
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.5rem;
  transition:
    border-color 180ms ease,
    transform 180ms ease;
}

.styles-exhibit-moment:hover {
  border-color: rgba(var(--accent-red-rgb), 0.65);
  transform: translateY(-2px);
}

.styles-exhibit-moment img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}

.styles-exhibit-moment strong,
.styles-exhibit-moment span {
  display: block;
  line-height: 1.15;
}

.styles-exhibit-moment strong {
  color: #fff;
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  text-transform: uppercase;
}

.styles-exhibit-moment span {
  color: rgba(232, 227, 217, 0.58);
  font-size: 0.76rem;
  font-weight: 800;
}

.styles-exhibit-mini-timeline ul,
.styles-exhibit-principles,
.styles-exhibit-wrestlers,
.styles-exhibit-influence,
.styles-exhibit-related {
  display: grid;
  gap: 0.65rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.styles-exhibit-mini-timeline li,
.styles-exhibit-principles li,
.styles-exhibit-wrestlers li,
.styles-exhibit-influence li,
.styles-exhibit-related li {
  border-left: 3px solid rgba(var(--accent-red-rgb), 0.82);
  color: rgba(232, 227, 217, 0.78);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
  padding-left: 0.75rem;
}

.styles-exhibit-wrestlers {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.styles-exhibit-wrestlers li,
.styles-exhibit-related li {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(232, 227, 217, 0.12);
  padding: 0.7rem;
}

.styles-exhibit-influence li {
  position: relative;
}

.styles-exhibit-influence li:not(:last-child)::after {
  background: rgba(var(--accent-red-rgb), 0.45);
  bottom: -0.65rem;
  content: "";
  height: 0.65rem;
  left: -3px;
  position: absolute;
  width: 3px;
}

@media (max-width: 1260px) {
  .styles-exhibit-layout {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.75fr);
  }

  .styles-exhibit-panel--center {
    grid-column: 1 / -1;
    grid-row: 1;
  }
}

@media (max-width: 860px) {
  .styles-exhibit__intro {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .styles-exhibit-selector {
    display: flex;
  }

  .styles-exhibit-tile {
    flex: 0 0 min(68vw, 17rem);
  }

  .styles-exhibit-layout {
    grid-template-columns: 1fr;
  }

  .styles-exhibit-panel--center {
    grid-column: auto;
    grid-row: auto;
  }

  .styles-exhibit-moments {
    display: flex;
    overflow-x: auto;
  }

  .styles-exhibit-moments .styles-exhibit-section-label {
    flex: 0 0 100%;
  }

  .styles-exhibit-moment {
    flex: 0 0 11rem;
  }
}

@media (max-width: 560px) {
  .styles-exhibit {
    padding-inline: 0.8rem;
  }

  .styles-exhibit-panel {
    padding: 0.9rem;
  }

  .styles-exhibit-feature__image {
    aspect-ratio: 4 / 5;
  }

  .styles-exhibit-wrestlers {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .styles-exhibit-room,
  .styles-exhibit-tile,
  .styles-exhibit-tile::before,
  .styles-exhibit-feature__image img,
  .styles-exhibit-cta,
  .styles-exhibit-moment {
    transition-duration: 0ms;
  }
}

[data-theme="showa-light"] .styles-exhibit-page,
[data-theme="modern-showa"] .styles-exhibit-page {
  background: #f6f6f6;
}

[data-theme="showa-light"] .styles-exhibit,
[data-theme="modern-showa"] .styles-exhibit {
  background: #f6f6f6;
  background-size: auto;
  border-top-color: rgba(var(--text-primary-rgb), 0.16);
  color: var(--text-primary);
}

[data-theme="showa-light"] .styles-exhibit::before,
[data-theme="modern-showa"] .styles-exhibit::before {
  display: none;
}

[data-theme="showa-light"] .styles-exhibit__dek,
[data-theme="modern-showa"] .styles-exhibit__dek {
  color: var(--text-secondary);
}

[data-theme="showa-light"] .styles-exhibit-tile,
[data-theme="modern-showa"] .styles-exhibit-tile {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), rgba(var(--text-primary-rgb), 0.012)),
    #ffffff;
  border-color: rgba(var(--text-primary-rgb), 0.18);
  color: var(--text-primary);
}

[data-theme="showa-light"] .styles-exhibit-tile:hover,
[data-theme="showa-light"] .styles-exhibit-tile:focus-visible,
[data-theme="modern-showa"] .styles-exhibit-tile:hover,
[data-theme="modern-showa"] .styles-exhibit-tile:focus-visible {
  background: rgba(var(--text-primary-rgb), 0.035);
  border-color: var(--accent-red-strong);
}

[data-theme="showa-light"] .styles-exhibit-tile.is-active,
[data-theme="modern-showa"] .styles-exhibit-tile.is-active {
  background: #111110;
  border-color: #111110;
  color: #ffffff;
}

[data-theme="showa-light"] .styles-exhibit-tile__room,
[data-theme="modern-showa"] .styles-exhibit-tile__room {
  color: rgba(var(--text-primary-rgb), 0.56);
}

[data-theme="showa-light"] .styles-exhibit-tile.is-active .styles-exhibit-tile__room,
[data-theme="modern-showa"] .styles-exhibit-tile.is-active .styles-exhibit-tile__room {
  color: rgba(255, 255, 255, 0.58);
}

[data-theme="showa-light"] .styles-exhibit-panel,
[data-theme="modern-showa"] .styles-exhibit-panel {
  background: #ffffff;
  border-color: rgba(var(--text-primary-rgb), 0.18);
  box-shadow: none;
}

[data-theme="showa-light"] .styles-exhibit-panel::after,
[data-theme="showa-light"] .styles-exhibit-feature__image::after,
[data-theme="modern-showa"] .styles-exhibit-panel::after,
[data-theme="modern-showa"] .styles-exhibit-feature__image::after {
  display: none;
}

[data-theme="showa-light"] .styles-exhibit-quote,
[data-theme="modern-showa"] .styles-exhibit-quote {
  color: var(--text-primary);
}

[data-theme="showa-light"] .styles-exhibit-philosophy,
[data-theme="showa-light"] .styles-exhibit-atmosphere,
[data-theme="showa-light"] .styles-exhibit-feature__copy,
[data-theme="modern-showa"] .styles-exhibit-philosophy,
[data-theme="modern-showa"] .styles-exhibit-atmosphere,
[data-theme="modern-showa"] .styles-exhibit-feature__copy {
  color: var(--text-secondary);
}

[data-theme="showa-light"] .styles-exhibit-entry-grid,
[data-theme="showa-light"] .styles-exhibit-moments,
[data-theme="showa-light"] .styles-exhibit-mini-timeline,
[data-theme="showa-light"] .styles-exhibit-module,
[data-theme="modern-showa"] .styles-exhibit-entry-grid,
[data-theme="modern-showa"] .styles-exhibit-moments,
[data-theme="modern-showa"] .styles-exhibit-mini-timeline,
[data-theme="modern-showa"] .styles-exhibit-module {
  border-top-color: rgba(var(--text-primary-rgb), 0.16);
}

[data-theme="showa-light"] .styles-exhibit-entry strong,
[data-theme="modern-showa"] .styles-exhibit-entry strong {
  color: rgba(var(--text-primary-rgb), 0.78);
}

[data-theme="showa-light"] .styles-exhibit-moment,
[data-theme="modern-showa"] .styles-exhibit-moment {
  background: rgba(var(--text-primary-rgb), 0.035);
  border-color: rgba(var(--text-primary-rgb), 0.14);
}

[data-theme="showa-light"] .styles-exhibit-moment:hover,
[data-theme="modern-showa"] .styles-exhibit-moment:hover {
  border-color: rgba(var(--accent-red-rgb), 0.72);
}

[data-theme="showa-light"] .styles-exhibit-moment strong,
[data-theme="modern-showa"] .styles-exhibit-moment strong {
  color: var(--text-primary);
}

[data-theme="showa-light"] .styles-exhibit-moment span,
[data-theme="modern-showa"] .styles-exhibit-moment span {
  color: rgba(var(--text-primary-rgb), 0.58);
}

[data-theme="showa-light"] .styles-exhibit-mini-timeline li,
[data-theme="showa-light"] .styles-exhibit-principles li,
[data-theme="showa-light"] .styles-exhibit-wrestlers li,
[data-theme="showa-light"] .styles-exhibit-influence li,
[data-theme="showa-light"] .styles-exhibit-related li,
[data-theme="modern-showa"] .styles-exhibit-mini-timeline li,
[data-theme="modern-showa"] .styles-exhibit-principles li,
[data-theme="modern-showa"] .styles-exhibit-wrestlers li,
[data-theme="modern-showa"] .styles-exhibit-influence li,
[data-theme="modern-showa"] .styles-exhibit-related li {
  color: rgba(var(--text-primary-rgb), 0.78);
}

[data-theme="showa-light"] .styles-exhibit-wrestlers li,
[data-theme="showa-light"] .styles-exhibit-related li,
[data-theme="modern-showa"] .styles-exhibit-wrestlers li,
[data-theme="modern-showa"] .styles-exhibit-related li {
  background: rgba(var(--text-primary-rgb), 0.035);
  border-color: rgba(var(--text-primary-rgb), 0.13);
}

html[data-theme="showa-light"] .styles-exhibit .styles-exhibit-tile:not(.is-active),
html[data-theme="modern-showa"] .styles-exhibit .styles-exhibit-tile:not(.is-active) {
  background-color: #ffffff;
  background-image: linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), rgba(var(--text-primary-rgb), 0.012));
  border-color: rgba(var(--text-primary-rgb), 0.18);
  color: var(--text-primary);
}

html[data-theme="showa-light"] .styles-exhibit .styles-exhibit-tile.is-active,
html[data-theme="modern-showa"] .styles-exhibit .styles-exhibit-tile.is-active {
  background-color: #111110;
  background-image: none;
  border-color: #111110;
  color: #ffffff;
}

html[data-theme="showa-light"] .styles-exhibit .styles-exhibit-tile:hover,
html[data-theme="showa-light"] .styles-exhibit .styles-exhibit-tile:focus-visible,
html[data-theme="modern-showa"] .styles-exhibit .styles-exhibit-tile:hover,
html[data-theme="modern-showa"] .styles-exhibit .styles-exhibit-tile:focus-visible {
  border: 1px solid var(--accent-red-strong) !important;
  border-color: var(--accent-red-strong) !important;
  box-shadow: inset 0 0 0 1px var(--accent-red-strong);
}

html[data-theme="showa-light"] .styles-exhibit .styles-exhibit-tile:not(.is-active):hover,
html[data-theme="showa-light"] .styles-exhibit .styles-exhibit-tile:not(.is-active):focus-visible,
html[data-theme="modern-showa"] .styles-exhibit .styles-exhibit-tile:not(.is-active):hover,
html[data-theme="modern-showa"] .styles-exhibit .styles-exhibit-tile:not(.is-active):focus-visible {
  border: 1px solid var(--accent-red-strong) !important;
  border-color: var(--accent-red-strong) !important;
}

html[data-theme="showa-light"] .styles-exhibit .styles-exhibit-tile:not(.is-active) .styles-exhibit-tile__room,
html[data-theme="modern-showa"] .styles-exhibit .styles-exhibit-tile:not(.is-active) .styles-exhibit-tile__room {
  color: rgba(var(--text-primary-rgb), 0.56);
}

/* Beyond the Ring exhibit hub */
.beyond-hub-page {
  background:
    radial-gradient(circle at 78% 10%, rgba(var(--accent-red-rgb), 0.12), transparent 28rem),
    linear-gradient(180deg, #020202 0%, #080807 44%, #030303 100%);
  color: #f4efe5;
}

.beyond-hub-exhibit {
  position: relative;
}

.beyond-hub-page.styles-page--collapsed {
  overflow: visible;
}

.beyond-hub-page.styles-page--collapsed .beyond-hub-exhibit {
  background:
    radial-gradient(circle at 78% 10%, rgba(var(--accent-red-rgb), 0.12), transparent 28rem),
    linear-gradient(180deg, #020202 0%, #080807 44%, #030303 100%);
  bottom: 0;
  left: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: clamp(4rem, 7vw, 6rem);
  position: fixed;
  right: 0;
  top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height));
  z-index: 210;
}

.beyond-hub-hero {
  --archive-hero-overlay: linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.8) 36%, rgba(0, 0, 0, 0.28) 66%, rgba(0, 0, 0, 0.78) 100%);
  --archive-hero-accent-glow: radial-gradient(circle at 84% 14%, rgba(255, 255, 255, 0.2), transparent 18rem);
  --archive-hero-image: url("./assets/hero-images/hero/liger-hero.webp");
  --archive-hero-image-position: calc(56% + 160px) calc(18% - 30px);
  --archive-hero-image-position-collapsed: calc(56% + 140px) calc(18% - 30px);
  --archive-hero-image-filter: grayscale(100%) sepia(0.16) contrast(1.35) brightness(0.54);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.1) contrast(1.32) brightness(0.42);
  --archive-hero-image-opacity: 0.94;
}

.beyond-hub-hero .styles-archive-hero__inner {
  align-content: center;
}

.beyond-hub-hero h1 {
  font-size: clamp(4.15rem, 9.7vw, 8.5rem);
  max-width: 11ch;
}

.beyond-hub-hero h1 span {
  display: block;
}

.beyond-hub-hero.styles-hero--collapsed h1 {
  font-size: clamp(2.1rem, 3vw, 3.6rem);
  max-width: none;
  white-space: nowrap;
}

.beyond-hub-hero.styles-hero--collapsed h1 span {
  display: inline;
}

.beyond-hub-hero__eyebrow {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(0.9rem, 1.1vw, 1.1rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
  margin: 0 0 clamp(1.05rem, 1.6vw, 1.35rem);
  text-transform: uppercase;
}

.beyond-hub-hero .styles-archive-hero__subtitle {
  color: var(--accent-red-strong);
  max-height: none;
  max-width: 36rem;
}

.beyond-hub-hero .styles-archive-hero__vertical {
  font-size: clamp(3.3rem, 4.7vw, 5.25rem);
  letter-spacing: 0;
  line-height: 1.02;
}

.beyond-hub-hero.styles-hero--collapsed .styles-archive-hero__vertical {
  font-size: clamp(1.55rem, 2.35vw, 2.85rem);
}

.beyond-hub-stats {
  border: 1px solid rgba(244, 239, 229, 0.2);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(2rem, 4vw, 3rem) 0 0;
  max-width: min(74rem, calc(100vw - 5rem));
}

.beyond-hub-stats div {
  align-items: center;
  border-left: 1px solid rgba(244, 239, 229, 0.14);
  display: grid;
  min-height: 5rem;
  padding: 1rem clamp(1rem, 2.2vw, 1.7rem);
}

.beyond-hub-stats div:first-child {
  border-left: 0;
}

.beyond-hub-stats dt {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.9;
  text-transform: uppercase;
}

.beyond-hub-stats dd {
  color: rgba(244, 239, 229, 0.72);
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin: 0.25rem 0 0;
  text-transform: uppercase;
}

.beyond-scroll-cue {
  align-items: center;
  color: rgba(244, 239, 229, 0.76);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.8rem;
  font-weight: 800;
  gap: 0.55rem;
  letter-spacing: 0.12em;
  margin-top: 1rem;
  text-decoration: none;
  text-transform: uppercase;
}

.beyond-scroll-cue::before,
.beyond-scroll-cue::after {
  color: var(--accent-red-strong);
  content: "⌄";
  font-size: 1.2rem;
  line-height: 1;
}

.beyond-scroll-cue:hover,
.beyond-scroll-cue:focus-visible {
  color: #ffffff;
  outline: none;
}

.beyond-hub-hero.styles-hero--collapsed .beyond-hub-hero__eyebrow,
.beyond-hub-hero.styles-hero--collapsed .beyond-hub-stats,
.beyond-hub-hero.styles-hero--collapsed .beyond-scroll-cue {
  max-height: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

.beyond-hub-section,
.beyond-culture-band,
.beyond-hub-quote {
  margin-inline: auto;
  max-width: min(1500px, calc(100vw - 4rem));
}

.beyond-hub-section {
  padding: clamp(3.2rem, 6vw, 5.4rem) 0 clamp(2rem, 4vw, 3rem);
}

.beyond-section-heading {
  margin-bottom: clamp(1.4rem, 3vw, 2rem);
}

.beyond-section-heading h2,
.beyond-culture-band h2 {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(2.4rem, 5.2vw, 4.8rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.beyond-section-heading > p,
.beyond-culture-band__content > p,
.beyond-culture-preview p {
  color: rgba(244, 239, 229, 0.72);
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
}

.beyond-category-layout {
  align-items: start;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.beyond-category-grid {
  display: grid;
  gap: clamp(1rem, 1.8vw, 1.45rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.beyond-category-card {
  background: #050505;
  border: 1px solid rgba(244, 239, 229, 0.24);
  color: #f4efe5;
  display: grid;
  min-height: clamp(20rem, 30vw, 27rem);
  overflow: hidden;
  padding: clamp(1.15rem, 2vw, 1.65rem);
  position: relative;
  text-decoration: none;
  touch-action: manipulation;
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    transform var(--card-transition);
}

.beyond-category-card::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.48)),
    linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: auto, 100% 7px;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.beyond-category-card__number {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(3.25rem, 6.2vw, 5.8rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.78;
  opacity: 0.94;
  position: absolute;
  text-shadow: 0 0 18px rgba(var(--shadow-rgb), 0.42);
  top: clamp(1rem, 1.7vw, 1.45rem);
  left: clamp(1.1rem, 1.8vw, 1.6rem);
  z-index: 2;
}

.beyond-category-card__media {
  inset: 0;
  opacity: 0.92;
  position: absolute;
}

.beyond-category-card__media img {
  filter: grayscale(100%) contrast(1.16) brightness(0.8);
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 260ms ease, filter 260ms ease, opacity 260ms ease;
  width: 100%;
}

.beyond-category-card__content {
  align-self: end;
  display: grid;
  gap: 0.72rem;
  justify-items: start;
  position: relative;
  z-index: 2;
}

.beyond-category-card__title {
  background: rgba(191, 38, 31, 0.78);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  box-shadow:
    0.18em 0 0 rgba(191, 38, 31, 0.78),
    -0.18em 0 0 rgba(191, 38, 31, 0.78);
  color: var(--on-accent);
  font-family: var(--display);
  font-size: clamp(2.4rem, 4.6vw, 4.25rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.86;
  max-width: 10ch;
  padding-block: 10px;
  text-transform: uppercase;
  width: fit-content;
}

.beyond-category-card__copy {
  color: rgba(244, 239, 229, 0.86);
  display: none;
  font-size: clamp(0.9rem, 1vw, 1rem);
  font-weight: 750;
  line-height: 1.4;
  max-width: 24rem;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.65);
}

.beyond-category-card__action {
  align-items: center;
  color: var(--accent-red-strong);
  display: none;
  font-family: var(--display);
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.45rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.beyond-category-card__action::after {
  content: "→";
  font-size: 1.15rem;
  transform: translateX(0);
  transition: transform 180ms ease;
}

.beyond-category-card--coming-soon {
  cursor: default;
}

.beyond-category-card--coming-soon:hover,
.beyond-category-card--coming-soon:focus-visible {
  transform: none;
}

.beyond-category-card--coming-soon .beyond-category-card__action::after {
  content: "";
}

.beyond-category-card__status {
  align-items: center;
  background: rgba(5, 5, 5, 0.72);
  border: 1px solid rgba(244, 239, 229, 0.28);
  color: rgba(244, 239, 229, 0.86);
  display: inline-flex;
  font-family: var(--display);
  font-size: clamp(0.76rem, 1vw, 0.9rem);
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 0.55rem 0.7rem 0.48rem;
  position: absolute;
  right: clamp(1rem, 1.5vw, 1.35rem);
  text-transform: uppercase;
  top: clamp(1rem, 1.5vw, 1.35rem);
  z-index: 3;
}

.beyond-category-card--coming-soon .beyond-category-card__media img {
  opacity: 0.72;
}

.beyond-category-card--shop .beyond-category-card__media img {
  filter: grayscale(100%) contrast(1.02) brightness(1.38);
  opacity: 1;
}

.beyond-category-card--shop::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.28)),
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: auto, 100% 7px;
}

.beyond-category-card:hover,
.beyond-category-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: 0 0 0 2px var(--accent-red);
  outline: none;
  z-index: 3;
}

.beyond-category-card:hover,
.beyond-category-card:focus-visible {
  transform: translateY(-3px);
}

.beyond-category-card:hover .beyond-category-card__media img,
.beyond-category-card:focus-visible .beyond-category-card__media img,
.beyond-category-card.is-active .beyond-category-card__media img {
  filter: grayscale(100%) contrast(1.22) brightness(0.88);
  transform: scale(1.04);
}

.beyond-category-card--shop:hover .beyond-category-card__media img,
.beyond-category-card--shop:focus-visible .beyond-category-card__media img,
.beyond-category-card--shop.is-active .beyond-category-card__media img {
  filter: grayscale(100%) contrast(1.06) brightness(1.46);
}

.beyond-category-card:hover .beyond-category-card__action::after,
.beyond-category-card:focus-visible .beyond-category-card__action::after,
.beyond-category-card.is-active .beyond-category-card__action::after {
  transform: translateX(0.35rem);
}

.beyond-category-card--coming-soon:hover,
.beyond-category-card--coming-soon:focus-visible {
  transform: none;
}

.beyond-promotion-section {
  padding-top: clamp(1.4rem, 3vw, 2.4rem);
}

.beyond-promotion-grid {
  display: grid;
  gap: clamp(1rem, 1.8vw, 1.35rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.beyond-promotion-card {
  background:
    linear-gradient(135deg, rgba(191, 38, 31, 0.16), transparent 38%),
    #070707;
  border: 1px solid rgba(244, 239, 229, 0.2);
  display: grid;
  gap: 0.85rem;
  min-height: 18rem;
  padding: clamp(1.35rem, 2.6vw, 2rem);
  position: relative;
}

.beyond-promotion-card::after {
  background:
    linear-gradient(90deg, rgba(244, 239, 229, 0.08), transparent 36%),
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: auto, 100% 8px;
  content: "";
  inset: 0;
  opacity: 0.6;
  pointer-events: none;
  position: absolute;
}

.beyond-promotion-card > * {
  position: relative;
  z-index: 1;
}

.beyond-promotion-card__meta {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.beyond-promotion-card h3 {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(2.25rem, 4vw, 3.65rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.88;
  margin: 0;
  text-transform: uppercase;
}

.beyond-promotion-card p:not(.beyond-promotion-card__meta) {
  color: rgba(244, 239, 229, 0.76);
  font-weight: 700;
  line-height: 1.52;
  margin: 0;
  max-width: 39rem;
}

.beyond-promotion-card a {
  align-self: end;
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.beyond-promotion-card a::after {
  content: " →";
}

.beyond-category-preview {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)),
    #090909;
  border: 1px solid rgba(244, 239, 229, 0.22);
  min-height: 24rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  position: sticky;
  top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height) + 1rem);
}

.beyond-category-preview__image {
  aspect-ratio: 4 / 3;
  background: #111;
  margin: 1rem 0 1.25rem;
  overflow: hidden;
}

.beyond-category-preview__image img {
  filter: grayscale(100%) contrast(1.18) brightness(0.74);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.beyond-category-preview h3,
.beyond-culture-preview h3 {
  color: #ffffff;
  font-family: var(--display);
  font-size: clamp(1.8rem, 2.4vw, 2.5rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.95;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.beyond-category-preview p:last-child {
  color: rgba(244, 239, 229, 0.72);
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
}

.beyond-culture-band {
  border: 1px solid rgba(244, 239, 229, 0.22);
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  grid-template-columns: minmax(16rem, 0.42fr) minmax(0, 1fr);
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
  overflow: hidden;
  padding: clamp(1rem, 2vw, 1.35rem);
  position: relative;
}

.beyond-culture-band::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.96), rgba(0, 0, 0, 0.56), rgba(0, 0, 0, 0.9)),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: auto, 100% 7px;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.beyond-culture-band__media {
  display: grid;
  gap: 0.65rem;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  inset: 0;
  opacity: 0.42;
  position: absolute;
}

.beyond-culture-band__media img {
  filter: grayscale(100%) contrast(1.15) brightness(0.58);
  height: 100%;
  min-height: 18rem;
  object-fit: cover;
  width: 100%;
}

.beyond-culture-band__content,
.beyond-culture-band__timeline,
.beyond-culture-preview {
  position: relative;
  z-index: 2;
}

.beyond-culture-band__content {
  align-self: end;
  display: grid;
  gap: 0.85rem;
  padding: clamp(1rem, 2vw, 1.2rem);
}

.beyond-feature-button {
  border-color: var(--accent-red-strong);
  color: #ffffff;
  justify-self: start;
  margin-top: 0.5rem;
}

.beyond-culture-band__timeline {
  align-self: end;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: clamp(1rem, 2vw, 1.2rem) 0;
}

.beyond-era-point {
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(244, 239, 229, 0.24);
  color: rgba(244, 239, 229, 0.72);
  cursor: pointer;
  font-family: var(--display);
  min-height: 5rem;
  padding: 1.15rem 0.75rem 0;
  position: relative;
  text-align: center;
  text-transform: uppercase;
}

.beyond-era-point::before {
  background: #3f3f3f;
  border: 2px solid #060606;
  border-radius: 999px;
  content: "";
  height: 0.72rem;
  left: 50%;
  position: absolute;
  top: -0.43rem;
  transform: translateX(-50%);
  width: 0.72rem;
}

.beyond-era-point span,
.beyond-era-point strong {
  display: block;
}

.beyond-era-point span {
  color: #ffffff;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 800;
  line-height: 1;
}

.beyond-era-point strong {
  color: rgba(244, 239, 229, 0.7);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  line-height: 1.1;
  margin-top: 0.3rem;
}

.beyond-era-point:hover,
.beyond-era-point:focus-visible,
.beyond-era-point.is-active {
  color: #ffffff;
  outline: none;
}

.beyond-era-point:hover::before,
.beyond-era-point:focus-visible::before,
.beyond-era-point.is-active::before {
  background: var(--accent-red-strong);
  box-shadow: 0 0 0 4px rgba(var(--accent-red-rgb), 0.24);
}

.beyond-culture-preview {
  align-self: end;
  background: rgba(0, 0, 0, 0.78);
  border-left: 3px solid var(--accent-red-strong);
  grid-column: 2;
  padding: 1rem 1.15rem;
}

.beyond-culture-preview__era {
  color: var(--accent-red-strong) !important;
  font-family: var(--display);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin-bottom: 0.4rem !important;
  text-transform: uppercase;
}

.beyond-hub-quote {
  border-top: 1px solid rgba(var(--accent-red-rgb), 0.45);
  color: rgba(244, 239, 229, 0.82);
  display: grid;
  justify-items: center;
  margin-bottom: clamp(4rem, 7vw, 6rem);
  padding-top: clamp(1.25rem, 3vw, 2rem);
  text-align: center;
}

.beyond-hub-quote p:first-child {
  color: #ffffff;
  font-size: clamp(1.2rem, 2.2vw, 2rem);
  font-weight: 700;
  margin: 0;
}

.beyond-hub-quote p:last-child {
  color: rgba(244, 239, 229, 0.7);
  font-style: italic;
  font-weight: 700;
  margin: 0.55rem 0 0;
}

[data-theme="modern-showa"] .beyond-hub-page,
[data-theme="showa-light"] .beyond-hub-page {
  background: var(--bg-primary);
  color: var(--text-primary);
}

[data-theme="modern-showa"] .beyond-hub-page.styles-page--collapsed .beyond-hub-exhibit,
[data-theme="showa-light"] .beyond-hub-page.styles-page--collapsed .beyond-hub-exhibit {
  background: var(--bg-primary);
}

.beyond-hub-page.styles-page--collapsed .beyond-category-preview {
  top: 0;
}

[data-theme="modern-showa"] .beyond-section-heading h2,
[data-theme="showa-light"] .beyond-section-heading h2,
[data-theme="modern-showa"] .beyond-hub-quote p:first-child,
[data-theme="showa-light"] .beyond-hub-quote p:first-child {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .beyond-section-heading > p,
[data-theme="showa-light"] .beyond-section-heading > p,
[data-theme="modern-showa"] .beyond-hub-quote p:last-child,
[data-theme="showa-light"] .beyond-hub-quote p:last-child {
  color: var(--text-secondary);
}

[data-theme="modern-showa"] .beyond-category-card__number,
[data-theme="showa-light"] .beyond-category-card__number {
  color: var(--accent-red);
  text-shadow: 0 1px 0 rgba(var(--highlight-rgb), 0.2);
}

[data-theme="modern-showa"] .beyond-category-card__title,
[data-theme="showa-light"] .beyond-category-card__title {
  color: var(--text-primary);
}

@media (max-width: 1120px) {
  .beyond-category-layout {
    grid-template-columns: 1fr;
  }

  .beyond-hub-hero.styles-hero--collapsed .styles-archive-hero__vertical {
    font-size: clamp(0.9rem, 2.35vw, 1.35rem);
  }

  .beyond-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .beyond-category-preview {
    display: none;
  }

  .beyond-culture-band {
    grid-template-columns: 1fr;
  }

  .beyond-culture-preview {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .beyond-hub-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 100%;
  }

  .beyond-hub-stats div:nth-child(odd) {
    border-left: 0;
  }

  .beyond-section-heading {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .beyond-category-grid {
    grid-template-columns: 1fr;
  }

  .beyond-promotion-grid {
    grid-template-columns: 1fr;
  }

  .beyond-category-card {
    min-height: 20rem;
  }

  .beyond-culture-band__timeline {
    gap: 0.4rem;
    grid-template-columns: 1fr;
  }

  .beyond-era-point {
    border-left: 1px solid rgba(244, 239, 229, 0.24);
    border-top: 0;
    min-height: 0;
    padding: 0.8rem 0.8rem 0.8rem 1.4rem;
    text-align: left;
  }

  .beyond-era-point::before {
    left: -0.38rem;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 560px) {
  .beyond-hub-section,
  .beyond-culture-band,
  .beyond-hub-quote {
    max-width: calc(100vw - 1.5rem);
  }

  .beyond-hub-hero {
    --archive-hero-overlay:
      linear-gradient(90deg, rgba(0, 0, 0, 0.98) 0%, rgba(0, 0, 0, 0.92) 40%, rgba(0, 0, 0, 0.32) 66%, rgba(0, 0, 0, 0.5) 100%);
    --archive-hero-image-position: calc(100% + 48px) 24%;
    --archive-hero-image-position-collapsed: calc(100% + 36px) 30%;
    --archive-hero-image-size: min(31rem, 132vw) auto;
    --archive-hero-image-size-collapsed: min(25rem, 108vw) auto;
    --archive-hero-image-filter: grayscale(100%) sepia(0.12) contrast(1.28) brightness(0.66);
    --archive-hero-image-opacity: 0.88;
  }

  .beyond-hub-hero h1 {
    font-size: clamp(3rem, 14.5vw, 4.1rem);
    line-height: 0.88;
    max-width: 8.5ch;
  }

  .beyond-hub-hero .styles-archive-hero__subtitle {
    font-size: 1rem;
    max-width: 21rem;
  }

  .beyond-hub-stats {
    margin-top: 1.25rem;
  }

  .beyond-hub-stats div {
    min-height: 4rem;
    padding: 0.85rem;
  }

  .beyond-category-card__title {
    font-size: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .beyond-category-card,
  .beyond-category-card__media img,
  .beyond-category-card__action::after {
    transition: none;
  }

  .beyond-category-card:hover,
  .beyond-category-card:focus-visible {
    transform: none;
  }
}

/* Beyond the Ring: Topic pages */

.beyond-topic-page {
  background:
    radial-gradient(circle at 82% 8%, rgba(var(--accent-red-rgb), 0.12), transparent 20rem),
    linear-gradient(180deg, #050505 0%, #101010 48%, #050505 100%);
  color: #f4efe5;
  min-height: 100vh;
  padding: clamp(1.5rem, 4vw, 4rem);
}

.beyond-topic-hero {
  align-items: stretch;
  border: 1px solid rgba(244, 239, 229, 0.18);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.72fr);
  height: clamp(24rem, 44vw, 35rem);
  margin: 0 auto clamp(1.2rem, 3vw, 2rem);
  max-width: 1320px;
  min-height: 0;
  overflow: hidden;
}

.beyond-topic-hero > div {
  align-content: end;
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
  min-width: 0;
  padding: clamp(1.2rem, 4vw, 3rem);
}

.beyond-topic-hero__eyebrow {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.beyond-topic-hero h1 {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(3.3rem, 8vw, 7.2rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.84;
  margin: 0;
  max-width: min(100%, 13ch);
  min-width: 0;
  overflow-wrap: break-word;
  text-transform: uppercase;
}

.beyond-topic-hero p:last-child {
  color: rgba(244, 239, 229, 0.76);
  font-size: clamp(1rem, 1.8vw, 1.24rem);
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
  max-width: min(100%, 48rem);
  min-width: 0;
  overflow-wrap: break-word;
}

.beyond-topic-hero img {
  display: block;
  filter: grayscale(100%) contrast(1.16) brightness(0.72);
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

.beyond-topic-grid {
  display: grid;
  gap: clamp(0.9rem, 1.8vw, 1.2rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1320px;
}

.beyond-topic-grid article {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(244, 239, 229, 0.16);
  display: grid;
  gap: 0.8rem;
  min-height: 17rem;
  padding: clamp(1rem, 2vw, 1.35rem);
}

.beyond-topic-grid span {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 0.84;
}

.beyond-topic-grid h2 {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(1.55rem, 2.6vw, 2.5rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.92;
  margin: 0;
  text-transform: uppercase;
}

.beyond-topic-grid p {
  color: rgba(244, 239, 229, 0.72);
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media (min-width: 981px) {
  .beyond-topic-hero h1 {
    font-size: clamp(3.3rem, 6.5vw, 5.8rem);
    line-height: 0.88;
  }
}

@media (max-width: 980px) {
  .beyond-topic-hero,
  .beyond-topic-grid {
    grid-template-columns: 1fr;
  }

  .beyond-topic-hero {
    height: auto;
    min-height: clamp(30rem, 76vw, 46rem);
  }

  .beyond-topic-hero img {
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .beyond-topic-page {
    padding-inline: 0.9rem;
  }

  .beyond-topic-hero h1 {
    font-size: clamp(2.55rem, 14.5vw, 3.5rem);
  }
}

/* Beyond the Ring: Video Games */

html:has(.video-games-page),
body:has(.video-games-page) {
  height: 100%;
  overflow: hidden;
}

.video-games-page {
  --game-panel-width: clamp(17rem, 18vw, 22rem);
  --game-detail-width: clamp(19rem, 22vw, 25rem);
  --game-red: #f22633;
  --game-gold: #e4bd67;
  --game-panel: rgba(8, 7, 6, 0.86);
  --game-panel-border: rgba(233, 202, 130, 0.2);
  background: #030202;
  color: #f3ead8;
  height: calc(100dvh - var(--site-header-height, 72px));
  min-height: 0;
  overflow: hidden;
}

.vault-room-page {
  --game-red: var(--red);
  --game-gold: var(--yellow);
  --vault-ink-rgb: 17, 17, 17;
  --vault-paper-rgb: 247, 245, 239;
  --vault-paper-border: rgba(var(--vault-ink-rgb), 0.14);
  --vault-paper-border-strong: rgba(var(--vault-ink-rgb), 0.24);
  --vault-paper-surface: var(--flag-white);
  --vault-paper-surface-muted: color-mix(in srgb, var(--flag-white) 88%, var(--ink));
  --vault-report-backdrop: rgba(17, 17, 17, 0.46);
  --vault-report-surface: #fffdf7;
  --vault-report-surface-muted: #f5f0e6;
  --vault-report-field-surface: #ffffff;
  --vault-report-ink: #17120d;
  --vault-report-muted: rgba(23, 18, 13, 0.66);
  --vault-report-border: rgba(23, 18, 13, 0.18);
  --vault-report-border-strong: rgba(23, 18, 13, 0.28);
  --vault-report-shadow: 0 24px 74px rgba(0, 0, 0, 0.22);
  --vault-paper-grain:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.28), rgba(var(--shadow-rgb), 0.035)),
    radial-gradient(circle at 18% 12%, rgba(var(--vault-ink-rgb), 0.035) 0 1px, transparent 1.2px),
    radial-gradient(circle at 72% 44%, rgba(var(--vault-ink-rgb), 0.025) 0 1px, transparent 1.3px),
    var(--vault-paper-surface);
}

.video-games-shell {
  display: grid;
  grid-template-columns: var(--game-panel-width) minmax(0, 1fr) var(--game-detail-width);
  height: 100%;
  min-height: 0;
  position: relative;
}

.video-games-shell.is-filters-collapsed {
  grid-template-columns: 0 minmax(0, 1fr) var(--game-detail-width);
}

.video-games-initial-filters-collapsed .video-games-shell {
  grid-template-columns: 0 minmax(0, 1fr) var(--game-detail-width);
}

.video-games-shell.is-details-collapsed {
  grid-template-columns: var(--game-panel-width) minmax(0, 1fr) 0;
}

.video-games-initial-details-collapsed .video-games-shell {
  grid-template-columns: var(--game-panel-width) minmax(0, 1fr) 0;
}

.video-games-shell.is-immersive {
  grid-template-columns: 0 minmax(0, 1fr) 0;
}

.video-games-initial-immersive .video-games-shell {
  grid-template-columns: 0 minmax(0, 1fr) 0;
}

.video-games-panel {
  background:
    linear-gradient(180deg, rgba(242, 38, 51, 0.08), transparent 18rem),
    var(--game-panel);
  border-inline: 1px solid var(--game-panel-border);
  box-shadow: 0 0 34px rgba(0, 0, 0, 0.56);
  height: 100%;
  min-width: 0;
  overscroll-behavior: contain;
  overflow: auto;
  padding: clamp(1rem, 1.4vw, 1.45rem);
  scrollbar-gutter: stable;
  position: relative;
  transition:
    opacity 220ms ease,
    transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 220ms ease;
  z-index: 5;
}

.vault-room-page .video-games-panel {
  background: var(--vault-paper-grain);
  background-size: auto, 17px 17px, 23px 23px, auto;
  border-color: var(--vault-paper-border);
  box-shadow: var(--shadow-panel, 0 12px 28px rgba(var(--shadow-rgb), 0.09));
  color: var(--ink);
}

.video-games-panel--filters,
.video-games-panel--details {
  display: flex;
  flex-direction: column;
}

.video-games-panel--filters {
  border-left: 0;
}

.video-games-panel--details {
  border-right: 0;
  padding-bottom: clamp(1.5rem, 3vh, 2.5rem);
}

.is-filters-collapsed .video-games-panel--filters {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-102%);
  visibility: hidden;
}

.video-games-initial-filters-collapsed .video-games-panel--filters {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-102%);
  visibility: hidden;
}

.is-details-collapsed .video-games-panel--details {
  opacity: 0;
  pointer-events: none;
  transform: translateX(102%);
  visibility: hidden;
}

.video-games-initial-details-collapsed .video-games-panel--details {
  opacity: 0;
  pointer-events: none;
  transform: translateX(102%);
  visibility: hidden;
}

.video-games-panel__head {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-bottom: 1rem;
}

.video-games-panel__head--details-title {
  display: block;
  padding: 0.35rem 0 0.9rem;
}

.video-games-panel__head > div {
  flex: 1 1 auto;
  min-width: 0;
}

.video-games-panel__eyebrow,
.video-games-filter-group__title,
.video-games-detail__section > p {
  color: var(--game-red);
  font-family: var(--display);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

.video-games-panel__head h1,
.video-games-panel__head h2 {
  color: #f5ead6;
  font-family: var(--display);
  font-size: clamp(1.95rem, 3vw, 2.85rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.86;
  margin: 0.35rem 0 0;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.vault-room-page .video-games-panel__head h1 {
  color: var(--ink);
}

.video-games-panel__head--details-title h2 {
  margin-top: 0;
}

.video-games-panel__head h2 {
  color: var(--game-red);
  font-size: clamp(1.7rem, 2.4vw, 2.7rem);
}

.video-games-panel__head p:not(.video-games-panel__eyebrow) {
  color: rgba(245, 234, 214, 0.78);
  font-size: 0.92rem;
  margin: 0.45rem 0 0;
}

.vault-room-page .video-games-panel__head p:not(.video-games-panel__eyebrow) {
  color: rgba(var(--vault-ink-rgb), 0.64);
}

.video-games-panel__toggle,
.video-games-panel-float,
.video-games-hotspot-card__close {
  align-items: center;
  background: rgba(10, 8, 6, 0.78);
  border: 1px solid rgba(233, 202, 130, 0.34);
  color: #f5ead6;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
}

.vault-room-page .video-games-panel__toggle,
.vault-room-page .video-games-panel-float {
  background: var(--vault-paper-surface);
  border-color: var(--vault-paper-border-strong);
  color: var(--ink);
}

.video-games-panel__toggle {
  aspect-ratio: 1;
  flex: 0 0 auto;
  margin-left: auto;
  width: 2.35rem;
}

.video-games-shell > .video-games-panel__toggle {
  border-radius: 0;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  margin-left: 0;
  position: absolute;
  top: clamp(1rem, 1.4vw, 1.45rem);
  z-index: 8;
}

.vault-room-page .video-games-shell > .video-games-panel__toggle {
  box-shadow: none;
}

.video-games-panel__toggle--filters-edge {
  border-left: 0;
  left: calc(var(--game-panel-width) - 2px);
}

.video-games-panel__toggle--filters-edge::after {
  background:
    linear-gradient(180deg, rgba(242, 38, 51, 0.08), transparent 18rem),
    var(--game-panel);
  content: "";
  inset-block: -1px;
  left: -1px;
  pointer-events: none;
  position: absolute;
  width: 2px;
}

.vault-room-page .video-games-panel__toggle--filters-edge::after,
.vault-room-page .video-games-panel__toggle--details-edge::after {
  background: var(--vault-paper-surface);
}

.video-games-panel__toggle--details-edge {
  border-right: 0;
  right: calc(var(--game-detail-width) - 2px);
}

.video-games-panel__toggle--details-edge::after {
  background:
    linear-gradient(180deg, rgba(242, 38, 51, 0.08), transparent 18rem),
    var(--game-panel);
  content: "";
  inset-block: -1px;
  pointer-events: none;
  position: absolute;
  right: -1px;
  width: 2px;
}

.is-filters-collapsed .video-games-panel__toggle--filters-edge,
.video-games-initial-filters-collapsed .video-games-panel__toggle--filters-edge,
.is-details-collapsed .video-games-panel__toggle--details-edge,
.video-games-initial-details-collapsed .video-games-panel__toggle--details-edge,
.video-games-shell.is-immersive .video-games-panel__toggle {
  display: none;
}

.video-games-panel__toggle:hover,
.video-games-panel__toggle:focus-visible,
.video-games-panel-float:hover,
.video-games-panel-float:focus-visible,
.video-games-room-immersive:hover,
.video-games-room-immersive:focus-visible,
.video-games-hotspot-card__close:hover,
.video-games-hotspot-card__close:focus-visible {
  border-color: var(--game-red);
  color: #ffffff;
  outline: none;
}

.vault-room-page .video-games-panel__toggle:hover,
.vault-room-page .video-games-panel__toggle:focus-visible,
.vault-room-page .video-games-panel-float:hover,
.vault-room-page .video-games-panel-float:focus-visible {
  background: var(--vault-paper-surface);
  border-color: var(--red);
  box-shadow: var(--focus-ring-strong);
  color: var(--red);
}

.video-games-panel-float {
  aspect-ratio: 1;
  border-radius: 0;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  position: absolute;
  top: clamp(1rem, 1.4vw, 1.45rem);
  width: 2.55rem;
  z-index: 8;
}

.video-games-panel-float .material-symbols-outlined,
.video-games-panel__toggle .material-symbols-outlined,
.video-games-room-immersive .material-symbols-outlined,
.video-games-hotspot-card__close .material-symbols-outlined {
  align-items: center;
  display: inline-flex;
  font-size: 1.25rem;
  height: 1.25rem;
  justify-content: center;
  line-height: 1;
  width: 1.25rem;
}

.video-games-panel-float[hidden] {
  display: none;
}

.video-games-room-immersive {
  --red-pulse-rest-opacity: 0.16;
  --red-pulse-peak-opacity: 0.46;
  align-items: center;
  background: rgba(8, 6, 5, 0.72);
  border: 1px solid rgba(233, 202, 130, 0.36);
  bottom: clamp(1rem, 1.4vw, 1.45rem);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  color: #f5ead6;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.5rem;
  justify-content: center;
  line-height: 1;
  min-height: 2.55rem;
  padding: 0.48rem 0.78rem 0.42rem;
  position: absolute;
  right: clamp(1rem, 1.4vw, 1.45rem);
  text-transform: uppercase;
  z-index: 8;
  isolation: isolate;
  overflow: hidden;
}

.video-games-room-immersive::before {
  animation: redPulseWash 4.8s ease-in-out infinite;
  background: rgba(var(--accent-red-rgb), 0.22);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.video-games-room-immersive:not([aria-pressed="true"]) {
  animation: rivalryStrokeSweep 11s linear infinite;
  background:
    linear-gradient(rgba(8, 6, 5, 0.72), rgba(8, 6, 5, 0.72)) padding-box,
    conic-gradient(
      from var(--rivalry-stroke-angle),
      transparent 0deg,
      transparent 32deg,
      rgba(var(--accent-red-rgb), 0.1) 64deg,
      rgba(var(--accent-red-rgb), 0.76) 108deg,
      rgba(var(--accent-red-rgb), 0.12) 150deg,
      transparent 184deg,
      transparent 214deg,
      rgba(var(--accent-red-rgb), 0.12) 244deg,
      rgba(var(--accent-red-rgb), 0.82) 288deg,
      rgba(var(--accent-red-rgb), 0.14) 332deg,
      transparent 360deg
    ) border-box;
  border-color: transparent;
}

.video-games-room-immersive > * {
  position: relative;
  z-index: 2;
}

.video-games-shell.is-immersive .video-games-room-immersive,
.video-games-room-immersive[aria-pressed="true"] {
  background:
    linear-gradient(180deg, rgba(242, 38, 51, 0.14), rgba(242, 38, 51, 0.05)),
    rgba(11, 8, 6, 0.84);
  border-color: rgba(242, 38, 51, 0.62);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(242, 38, 51, 0.18),
    0 0 18px rgba(242, 38, 51, 0.22);
  color: #ffffff;
}

.vault-room-page .video-games-room-immersive:hover,
.vault-room-page .video-games-room-immersive:focus-visible {
  animation-play-state: paused;
  background: var(--vault-paper-surface);
  border-color: var(--red);
  box-shadow: var(--focus-ring-strong);
  color: var(--red);
}

@media (prefers-reduced-motion: reduce) {
  .video-games-room-immersive::before {
    animation: none;
    opacity: var(--red-pulse-peak-opacity, 0.4);
  }

  .video-games-room-immersive:not([aria-pressed="true"]) {
    animation: none;
  }
}

.video-games-panel-float--filters {
  left: 0;
  border-left: 0;
}

.video-games-panel-float--details {
  right: 0;
  border-right: 0;
}

.video-games-panel-float--filters:not([hidden]),
.video-games-panel-float--details:not([hidden]) {
  animation: vaultDetailsButtonPulse 3.8s ease-out infinite;
  background:
    linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.16), rgba(var(--accent-red-rgb), 0.06)),
    rgba(10, 8, 6, 0.82);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(var(--accent-red-rgb), 0.22),
    0 0 12px rgba(var(--accent-red-rgb), 0.2);
  color: #ffffff;
}

.video-games-panel-float--filters:not([hidden]):hover,
.video-games-panel-float--filters:not([hidden]):focus-visible,
.video-games-panel-float--details:not([hidden]):hover,
.video-games-panel-float--details:not([hidden]):focus-visible {
  animation-play-state: paused;
}

@keyframes vaultDetailsButtonPulse {
  0% {
    box-shadow:
      0 10px 28px rgba(0, 0, 0, 0.42),
      0 0 0 0 rgba(var(--accent-red-rgb), 0.38),
      0 0 0 1px rgba(var(--accent-red-rgb), 0.22),
      0 0 12px rgba(var(--accent-red-rgb), 0.2);
  }

  72% {
    box-shadow:
      0 10px 28px rgba(0, 0, 0, 0.42),
      0 0 0 16px rgba(var(--accent-red-rgb), 0),
      0 0 0 1px rgba(var(--accent-red-rgb), 0.24),
      0 0 16px rgba(var(--accent-red-rgb), 0.24);
  }

  100% {
    box-shadow:
      0 10px 28px rgba(0, 0, 0, 0.42),
      0 0 0 0 rgba(var(--accent-red-rgb), 0),
      0 0 0 1px rgba(var(--accent-red-rgb), 0.2),
      0 0 12px rgba(var(--accent-red-rgb), 0.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .video-games-panel-float--filters:not([hidden]),
  .video-games-panel-float--details:not([hidden]) {
    animation: none;
  }
}

.vault-room-mode-tabs {
  border-top: 1px solid rgba(233, 202, 130, 0.14);
  display: grid;
  gap: 0.55rem;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 1rem;
  padding: 1rem 0 0;
  position: relative;
}

.vault-room-page .vault-room-mode-tabs {
  border-top-color: var(--vault-paper-border);
}

.vault-room-mode-tabs::after {
  background: rgba(233, 202, 130, 0.14);
  bottom: 0;
  content: "";
  height: 1px;
  left: calc(-1 * clamp(1rem, 1.4vw, 1.45rem));
  position: absolute;
  right: calc(-1 * clamp(1rem, 1.4vw, 1.45rem));
}

.vault-room-page .vault-room-mode-tabs::after {
  background: var(--vault-paper-border);
}

.vault-room-mode-tabs button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-bottom: 0;
  color: rgba(245, 234, 214, 0.7);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.45rem;
  justify-content: center;
  line-height: 1;
  min-height: 2.8rem;
  padding: 0.65rem 0.75rem 0.58rem;
  text-transform: uppercase;
}

.vault-room-page .vault-room-mode-tabs button {
  background: rgba(var(--highlight-rgb), 0.32);
  border: 1px solid var(--vault-paper-border);
  color: var(--ink);
}

.vault-room-mode-tabs button:hover,
.vault-room-mode-tabs button:focus-visible,
.vault-room-mode-tabs button.is-active {
  background: rgba(var(--accent-red-rgb), 0.18);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: #ffffff;
  outline: none;
}

.vault-room-page .vault-room-mode-tabs button:hover,
.vault-room-page .vault-room-mode-tabs button:focus-visible {
  background: var(--vault-paper-surface-muted);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  color: var(--red);
}

.vault-room-page .vault-room-mode-tabs button.is-active {
  background: var(--red);
  border-color: var(--red);
  color: var(--on-accent);
}

.vault-room-mode-tabs .material-symbols-outlined {
  align-items: center;
  color: rgba(var(--text-primary-rgb), 0.9);
  display: inline-flex;
  font-size: 1.25rem;
  height: 1.25rem;
  justify-content: center;
  line-height: 1;
  width: 1.25rem;
}

.vault-room-page .vault-room-mode-tabs .material-symbols-outlined {
  color: currentColor;
}

.vault-room-mode-tabs button:hover .material-symbols-outlined,
.vault-room-mode-tabs button:focus-visible .material-symbols-outlined,
.vault-room-mode-tabs button.is-active .material-symbols-outlined {
  color: #ffffff;
}

.video-games-inline-button {
  align-items: center;
  background: rgba(242, 38, 51, 0.1);
  border: 1px solid rgba(242, 38, 51, 0.32);
  color: #f5ead6;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.76rem;
  font-weight: 800;
  gap: 0.45rem;
  justify-content: center;
  letter-spacing: 0.04em;
  min-height: 2.55rem;
  padding: 0.65rem 0.8rem;
  text-transform: uppercase;
}

.vault-room-page .video-games-inline-button {
  background: rgba(var(--accent-red-rgb), 0.06);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  color: var(--red);
}

.vault-room-page .video-games-inline-button:hover,
.vault-room-page .video-games-inline-button:focus-visible {
  background: var(--red);
  border-color: var(--red);
  color: var(--on-accent);
  outline: none;
}

.video-games-inline-button .material-symbols-outlined {
  align-items: center;
  display: inline-flex;
  font-size: 1.25rem;
  height: 1.25rem;
  justify-content: center;
  line-height: 1;
  width: 1.25rem;
}

.vault-trail-context {
  --trail-context-border: rgba(var(--accent-red-rgb), 0.42);
  --trail-context-copy: rgba(245, 245, 240, 0.72);
  --trail-context-muted: rgba(245, 245, 240, 0.58);
  --trail-context-surface: rgba(7, 7, 7, 0.94);
  --trail-context-title: #f5f5f0;
  background:
    linear-gradient(135deg, rgba(var(--accent-red-rgb), 0.12), transparent 52%),
    var(--trail-context-surface);
  border: 1px solid var(--trail-context-border);
  color: var(--trail-context-title);
  display: grid;
  gap: 0.75rem;
  margin: 0 0 0.95rem;
  padding: 0.9rem;
}

.vault-room-page .vault-trail-context {
  --trail-context-border: rgba(var(--accent-red-rgb), 0.34);
  --trail-context-copy: rgba(var(--vault-ink-rgb), 0.72);
  --trail-context-muted: rgba(var(--vault-ink-rgb), 0.58);
  --trail-context-surface: var(--vault-paper-surface);
  --trail-context-title: var(--ink);
}

.vault-trail-context[hidden] {
  display: none;
}

.wrestlers-trail-context,
.masks-trail-context {
  margin-bottom: 1rem;
}

.vault-trail-context__head {
  align-items: flex-start;
  display: flex;
  gap: 0.7rem;
}

.vault-trail-context__icon {
  color: var(--red);
  flex: 0 0 1.65rem;
  height: 1.65rem;
  margin-top: 0.05rem;
  width: 1.65rem;
}

.vault-trail-context__icon path {
  fill: currentColor;
}

.vault-trail-context__head div {
  min-width: 0;
}

.vault-trail-context__head p {
  color: var(--red);
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.vault-trail-context__head h2 {
  color: var(--trail-context-title);
  font-family: var(--display);
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.95;
  margin: 0.24rem 0 0;
  text-transform: uppercase;
}

.vault-trail-context__copy {
  color: var(--trail-context-copy);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.45;
  margin: 0;
}

.vault-trail-context__meta {
  align-items: center;
  border-top: 1px solid var(--trail-context-border);
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
  padding-top: 0.72rem;
}

.vault-trail-context__meta span,
.vault-trail-context__meta button {
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.vault-trail-context__meta span {
  color: var(--trail-context-muted);
}

.vault-trail-context__meta button {
  background: transparent;
  border: 0;
  color: var(--red);
  cursor: pointer;
  padding: 0;
}

.vault-trail-context__meta button:hover,
.vault-trail-context__meta button:focus-visible {
  color: var(--trail-context-title);
  outline: none;
  text-decoration: underline;
  text-underline-offset: 0.18rem;
}

.video-games-filter-group {
  border-bottom: 1px solid rgba(233, 202, 130, 0.13);
  padding: 0.9rem 0;
}

.vault-room-page .video-games-filter-group {
  border-bottom-color: var(--vault-paper-border);
}

@media (min-width: 981px) {
  .vault-room-page .video-games-filter-group[data-filter-group="primary"] {
    border-bottom: 0;
    flex: 1 1 auto;
    min-height: clamp(28rem, 58vh, 42rem);
    padding-bottom: clamp(1.75rem, 3vh, 2.5rem);
  }
}

.video-games-filter-group__options {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.video-games-filter-group__options button {
  align-items: center;
  background: transparent;
  border: 0;
  color: rgba(245, 234, 214, 0.78);
  cursor: pointer;
  display: flex;
  font-family: var(--mono);
  font-size: 0.9rem;
  gap: 0.55rem;
  padding: 0.15rem 0;
  text-align: left;
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options {
  gap: 0.6rem;
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button {
  background: rgba(15, 11, 8, 0.62);
  border: 1px solid rgba(233, 202, 130, 0.18);
  color: rgba(245, 234, 214, 0.84);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.75rem;
  min-height: 3.25rem;
  padding: 0.5rem 0.65rem;
  text-transform: uppercase;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
  width: 100%;
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button {
  background: rgba(var(--highlight-rgb), 0.34);
  border-color: var(--vault-paper-border);
  color: var(--ink);
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:hover,
.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:focus-visible,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:hover,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:focus-visible {
  border-color: rgba(242, 38, 51, 0.62);
  color: #ffffff;
  outline: none;
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:hover,
.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:focus-visible,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:hover,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:focus-visible {
  background: var(--vault-paper-surface-muted);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  color: var(--red);
}

.video-games-filter-check {
  aspect-ratio: 1;
  border: 1px solid rgba(245, 234, 214, 0.48);
  display: inline-block;
  width: 0.95rem;
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-check,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-check {
  background:
    linear-gradient(135deg, rgba(245, 234, 214, 0.1), rgba(245, 234, 214, 0.02)),
    rgba(0, 0, 0, 0.24);
  border-color: rgba(245, 234, 214, 0.28);
  flex: 0 0 32px;
  width: 32px;
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-check,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-check {
  background: var(--vault-paper-surface);
  border-color: rgba(var(--vault-ink-rgb), 0.3);
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-icon,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-icon {
  align-items: center;
  color: rgba(var(--text-primary-rgb), 0.9);
  display: inline-flex;
  flex: 0 0 32px;
  font-size: 1.55rem;
  height: 32px;
  justify-content: center;
  line-height: 1;
  width: 32px;
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-icon,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-icon {
  color: var(--ink-soft);
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-icon .material-symbols-svg {
  display: block;
  height: 1.55rem;
  width: 1.55rem;
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-icon--logo img,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-icon--logo img {
  display: block;
  filter: brightness(0) saturate(100%) invert(91%) sepia(13%) saturate(426%) hue-rotate(353deg) brightness(105%) contrast(92%);
  height: 32px;
  object-fit: contain;
  opacity: 0.9;
  width: 32px;
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-icon--logo img,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-icon--logo img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(8%) saturate(442%) hue-rotate(1deg) brightness(96%) contrast(90%);
  opacity: 1;
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:hover .video-games-filter-icon,
.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:focus-visible .video-games-filter-icon,
.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:hover .video-games-filter-icon,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:focus-visible .video-games-filter-icon,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon {
  color: #ffffff;
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:hover .video-games-filter-icon--logo img,
.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:focus-visible .video-games-filter-icon--logo img,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:hover .video-games-filter-icon--logo img,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:focus-visible .video-games-filter-icon--logo img,
.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon--logo img,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon--logo img {
  filter: none;
  opacity: 1;
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:not([aria-pressed="true"]):hover .video-games-filter-icon--logo img,
.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:not([aria-pressed="true"]):focus-visible .video-games-filter-icon--logo img,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:not([aria-pressed="true"]):hover .video-games-filter-icon--logo img,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:not([aria-pressed="true"]):focus-visible .video-games-filter-icon--logo img {
  filter: brightness(0) saturate(100%) invert(22%) sepia(93%) saturate(2752%) hue-rotate(343deg) brightness(94%) contrast(93%);
}

.video-games-filter-group__options button[aria-pressed="true"] {
  color: #ffffff;
}

.vault-room-page .video-games-filter-group__options button[aria-pressed="true"] {
  color: var(--red);
}

.video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-check {
  background: var(--game-red);
  border-color: var(--game-red);
  box-shadow: inset 0 0 0 3px #120705;
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"],
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] {
  background: rgba(242, 38, 51, 0.12);
  border-color: var(--game-red);
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"],
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: var(--red);
  color: var(--red);
}

.video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-check,
.video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-check {
  background:
    linear-gradient(135deg, rgba(242, 38, 51, 0.42), rgba(228, 189, 103, 0.12)),
    rgba(0, 0, 0, 0.34);
  box-shadow: inset 0 0 0 2px #120705;
}

.vault-room-page.is-vault-room-matches .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options {
  gap: 0;
  margin-top: 0.75rem;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter {
  gap: 0;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-dropdown__trigger {
  background: rgba(15, 15, 15, 0.88);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: #f5ead6;
  font-size: 0.9rem;
  min-height: 3.35rem;
  padding-inline: 1rem;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-dropdown__trigger {
  background: var(--vault-paper-surface);
  border-color: var(--red);
  color: var(--ink);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-dropdown__count {
  color: rgba(245, 234, 214, 0.62);
  font-size: 0.82rem;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-dropdown__count {
  color: rgba(var(--vault-ink-rgb), 0.58);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-dropdown__panel {
  background: rgba(13, 13, 13, 0.92);
  border-color: rgba(245, 234, 214, 0.18);
  border-top: 0;
  gap: 0.45rem;
  max-height: min(42vh, 25rem);
  padding: 0.65rem;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-dropdown__panel {
  background: rgba(var(--vault-paper-rgb), 0.96);
  border-color: var(--vault-paper-border);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option {
  background: rgba(20, 20, 20, 0.88);
  border-color: rgba(245, 234, 214, 0.18);
  color: rgba(245, 234, 214, 0.82);
  font-size: 0.86rem;
  gap: 0.75rem;
  min-height: 3.3rem;
  padding: 0.55rem 0.85rem;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option {
  background: rgba(var(--highlight-rgb), 0.34);
  border-color: var(--vault-paper-border);
  color: var(--ink);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option:hover,
.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.12);
  border-color: rgba(var(--accent-red-rgb), 0.54);
  color: #ffffff;
  outline: none;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option:hover,
.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option:focus-visible {
  background: var(--vault-paper-surface-muted);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  color: var(--red);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option[aria-pressed="true"] {
  background: rgba(var(--accent-red-rgb), 0.68);
  border-color: rgba(var(--accent-red-rgb), 0.94);
  color: #ffffff;
  outline: none;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option[aria-pressed="true"] {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: var(--red);
  color: var(--red);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .video-games-filter-check {
  align-items: center;
  background: rgba(0, 0, 0, 0.18);
  border: 2px solid rgba(245, 234, 214, 0.42);
  border-radius: 4px;
  box-shadow: none;
  color: var(--on-accent);
  display: inline-grid;
  flex: 0 0 1.35rem;
  height: 1.35rem;
  justify-content: center;
  position: relative;
  width: 1.35rem;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .video-games-filter-check {
  background: var(--vault-paper-surface);
  border-color: rgba(var(--vault-ink-rgb), 0.3);
  color: var(--on-accent);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .video-games-filter-check::after {
  border: solid currentColor;
  border-width: 0 3px 3px 0;
  content: "";
  height: 0.75rem;
  margin-top: -0.12rem;
  transform: rotate(45deg) scale(0);
  transition: transform 120ms ease;
  width: 0.38rem;
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option[aria-pressed="true"] .video-games-filter-check {
  background: var(--accent-red);
  border-color: var(--accent-red);
  box-shadow: 0 0 0 1px rgba(var(--accent-red-rgb), 0.16);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option[aria-pressed="true"] .video-games-filter-check::after {
  transform: rotate(45deg) scale(1);
}

.video-games-room {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.video-games-stage {
  aspect-ratio: auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.video-games-stage::after {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 244, 214, 0.12), transparent 38%),
    rgba(4, 3, 3, 0.34);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 180ms ease;
  z-index: 12;
}

.video-games-shell.is-panel-transitioning .video-games-stage::after {
  opacity: 1;
}

.video-games-stage__surface {
  aspect-ratio: 6688 / 3764;
  height: var(--video-games-surface-height, 100%);
  left: calc(50% + var(--video-games-surface-x, 0px));
  min-height: 100%;
  min-width: 100%;
  overflow: hidden;
  position: absolute;
  top: calc(50% + var(--video-games-surface-y, 0px));
  transform: translate(-50%, -50%) scale(var(--video-games-surface-scale, 1));
  transform-origin: center center;
  transition:
    filter 180ms ease,
    opacity 180ms ease;
  width: var(--video-games-surface-width, 100%);
}

.video-games-shell.is-panel-transitioning .video-games-stage__surface {
  filter: saturate(0.92) contrast(0.96);
  opacity: 0.88;
}

.video-games-shell:not(.is-immersive) .video-games-stage__surface {
  --video-games-surface-y: clamp(1.6rem, 5.4vh, 3rem);
}

.video-games-shell:not(.is-immersive):not(.is-filters-collapsed):not(.is-details-collapsed) .video-games-stage__surface {
  --video-games-surface-y: 0px;
}

.vault-room-page .video-games-shell .video-games-stage__surface {
  --video-games-surface-y: 0px;
  top: 0;
  transform: translateX(calc(-50% + var(--video-games-surface-shift-x, 0%))) scale(var(--video-games-surface-scale, 1));
  transform-origin: top center;
}

@media (min-width: 1181px) and (hover: hover) and (pointer: fine) {
  .vault-room-page .video-games-shell.is-immersive .video-games-stage__surface,
  .video-games-initial-immersive .vault-room-page .video-games-stage__surface {
    top: -80px;
  }
}

.video-games-stage__image,
.video-games-stage__neon-glow,
.video-games-stage__lamp-glow,
.video-games-stage__shade {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.video-games-stage__image {
  filter: none;
  object-fit: cover;
}

.video-games-stage__window-rain {
  background:
    radial-gradient(ellipse at 42% 22%, rgba(163, 231, 246, 0.2), transparent 32%),
    radial-gradient(ellipse at 66% 72%, rgba(26, 92, 111, 0.18), transparent 38%),
    linear-gradient(90deg, rgba(2, 22, 28, 0.1), transparent 18% 80%, rgba(189, 242, 255, 0.08));
  border-radius: 2% 3% 2% 2% / 1% 2% 2% 1%;
  clip-path: polygon(1% 0, 100% 8%, 96% 100%, 0 99%);
  height: 33.85%;
  left: 13.54%;
  mix-blend-mode: screen;
  opacity: 0.82;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 3.1%;
  transform: perspective(36rem) rotateY(0.85deg) rotateX(0.2deg) skewY(0.2deg);
  transform-origin: 50% 50%;
  width: 5.42%;
  z-index: 2;
}

.video-games-stage__window-rain::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.video-games-stage__window-rain::after {
  background:
    radial-gradient(ellipse at 28% 22%, rgba(224, 255, 255, 0.28), transparent 15%),
    radial-gradient(ellipse at 62% 58%, rgba(91, 187, 207, 0.2), transparent 28%),
    linear-gradient(90deg, rgba(7, 32, 38, 0.15), transparent 22% 76%, rgba(198, 244, 255, 0.11));
  opacity: 0.76;
}

.video-games-stage__window-rain span {
  animation: videoGamesWindowDrop var(--d) cubic-bezier(0.33, 0.02, 0.72, 0.98) infinite;
  animation-delay: var(--delay);
  aspect-ratio: 1;
  background:
    radial-gradient(circle at 34% 25%, rgba(247, 255, 255, 0.95) 0 8%, transparent 10%),
    radial-gradient(ellipse at 42% 52%, rgba(203, 248, 255, 0.42), rgba(98, 183, 202, 0.24) 42%, rgba(7, 38, 46, 0.08) 72%, transparent 100%);
  border: max(0.35px, 0.08em) solid rgba(229, 253, 255, 0.26);
  border-radius: 999px;
  box-shadow:
    inset 0.02em 0.03em 0.04em rgba(255, 255, 255, 0.58),
    inset -0.03em -0.04em 0.05em rgba(19, 67, 78, 0.3),
    0 0 0.08em rgba(193, 247, 255, 0.2);
  filter: blur(0.08px) brightness(1.16);
  left: var(--x);
  opacity: var(--o, 0.82);
  position: absolute;
  top: var(--y);
  transform: translate(-50%, -50%);
  width: var(--r);
  z-index: 1;
}

.video-games-shell.is-immersive .video-games-stage__window-rain span,
.video-games-initial-immersive .video-games-stage__window-rain span {
  border-color: rgba(229, 253, 255, 0.38);
  box-shadow:
    inset 0.02em 0.03em 0.04em rgba(255, 255, 255, 0.68),
    inset -0.03em -0.04em 0.05em rgba(19, 67, 78, 0.28),
    0 0 0.14em rgba(193, 247, 255, 0.34),
    0 0 0.24em rgba(159, 231, 247, 0.18);
  filter: blur(0.06px) brightness(1.28);
  width: calc(var(--r) * 1.18);
}

@keyframes videoGamesWindowDrop {
  0% {
    opacity: 0;
    transform: translate(calc(-50% - var(--drift, 0%)), -120%) scale(var(--s0, 0.85));
  }

  11% {
    opacity: var(--o-in, 0.7);
  }

  39% {
    opacity: var(--o, 0.82);
  }

  74% {
    opacity: var(--o-out, 0.58);
  }

  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--drift, 0%)), var(--fall, 230%)) scale(var(--s1, 1.02));
  }
}

.video-games-stage__neon-glow {
  background:
    radial-gradient(ellipse at 64% 18.4%, rgba(255, 106, 76, 0.14), rgba(255, 37, 21, 0.06) 9%, transparent 18%),
    radial-gradient(ellipse at 63% 22%, rgba(255, 50, 30, 0.055), rgba(255, 31, 18, 0.018) 5.5%, transparent 12%),
    linear-gradient(180deg, transparent 8%, rgba(255, 39, 22, 0.032) 14%, rgba(255, 44, 25, 0.014) 19%, transparent 23.5%),
    radial-gradient(ellipse at 52.3% 15.85%, rgba(255, 245, 218, 0.58), rgba(255, 58, 36, 0.48) 0.9%, rgba(255, 22, 14, 0.18) 2.1%, transparent 4.8%),
    radial-gradient(ellipse at 60.5% 15.9%, rgba(255, 245, 218, 0.52), rgba(255, 64, 38, 0.44) 0.85%, rgba(255, 22, 13, 0.16) 2%, transparent 4.5%),
    radial-gradient(ellipse at 69.5% 15.6%, rgba(255, 245, 218, 0.56), rgba(255, 58, 34, 0.46) 0.88%, rgba(255, 19, 12, 0.17) 2.05%, transparent 4.7%),
    radial-gradient(ellipse at 78% 14.95%, rgba(255, 245, 218, 0.58), rgba(255, 56, 32, 0.46) 0.9%, rgba(255, 19, 11, 0.18) 2.2%, transparent 4.9%),
    radial-gradient(ellipse at 52.3% 15.85%, rgba(255, 38, 24, 0.34), rgba(255, 22, 14, 0.12) 3.4%, transparent 7.5%),
    radial-gradient(ellipse at 60.5% 15.9%, rgba(255, 58, 34, 0.32), rgba(255, 22, 13, 0.11) 3.2%, transparent 7%),
    radial-gradient(ellipse at 69.5% 15.6%, rgba(255, 44, 28, 0.34), rgba(255, 19, 12, 0.11) 3.3%, transparent 7.25%),
    radial-gradient(ellipse at 78% 14.95%, rgba(255, 38, 22, 0.36), rgba(255, 19, 11, 0.12) 3.5%, transparent 7.5%),
    linear-gradient(180deg, transparent 8%, rgba(255, 31, 18, 0.055) 15%, rgba(255, 39, 20, 0.035) 21%, transparent 30%);
  filter: blur(0.28px) drop-shadow(0 0 9px rgba(255, 244, 212, 0.2)) drop-shadow(0 0 13px rgba(255, 42, 28, 0.46)) drop-shadow(0 0 30px rgba(255, 30, 18, 0.2)) brightness(1.03);
  -webkit-mask-image:
    linear-gradient(90deg, transparent 44%, #000 49%, #000 84%, transparent 88%),
    linear-gradient(180deg, transparent 7%, #000 10%, #000 22.5%, transparent 26%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
  mask-image:
    linear-gradient(90deg, transparent 44%, #000 49%, #000 84%, transparent 88%),
    linear-gradient(180deg, transparent 7%, #000 10%, #000 22.5%, transparent 26%);
  mix-blend-mode: screen;
  opacity: 0.72;
  pointer-events: none;
  z-index: 1;
}

.video-games-stage__neon-glow::before,
.video-games-stage__neon-glow::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.video-games-stage__neon-glow::before {
  background:
    radial-gradient(ellipse at 60% 14%, rgba(255, 235, 198, 0.34), transparent 3.4%),
    radial-gradient(ellipse at 68% 14%, rgba(255, 245, 216, 0.3), transparent 3.2%),
    linear-gradient(90deg, transparent 50.5%, rgba(255, 57, 36, 0.18) 52%, transparent 53.5% 61%, rgba(255, 70, 44, 0.16) 62.5%, transparent 64.5% 70.8%, rgba(255, 48, 31, 0.15) 72%, transparent 74.5%),
    linear-gradient(180deg, transparent 11.8%, rgba(255, 83, 52, 0.13) 13.6%, rgba(255, 31, 18, 0.055) 17.2%, transparent 21.8%);
  filter: blur(1.2px);
  opacity: 0.66;
}

.video-games-stage__neon-glow::after {
  background:
    linear-gradient(90deg, transparent 50%, rgba(255, 206, 165, 0.2) 52%, rgba(255, 45, 28, 0.075) 83%, transparent 86%),
    linear-gradient(180deg, transparent 19%, rgba(255, 53, 33, 0.052) 20.4%, transparent 22.6%);
  filter: blur(0.55px);
  opacity: 0.4;
}

.video-games-stage__neon-glow.is-neon-flickering {
  animation: video-games-neon-flicker 1.72s steps(1, end) both;
}

@keyframes video-games-neon-flicker {
  0%,
  7.8%,
  8.5%,
  13.5%,
  39%,
  40.4%,
  49%,
  73%,
  74.4%,
  86%,
  91%,
  100% {
    filter: blur(0.28px) drop-shadow(0 0 9px rgba(255, 244, 212, 0.2)) drop-shadow(0 0 13px rgba(255, 42, 28, 0.46)) drop-shadow(0 0 30px rgba(255, 30, 18, 0.2)) brightness(1.03);
    opacity: 0.72;
  }

  8.1% {
    filter: blur(0.28px) drop-shadow(0 0 8px rgba(255, 244, 212, 0.16)) drop-shadow(0 0 10px rgba(255, 42, 28, 0.34)) drop-shadow(0 0 22px rgba(255, 30, 18, 0.15)) brightness(0.92);
    opacity: 0.64;
  }

  8.34% {
    filter: blur(0.28px) drop-shadow(0 0 12px rgba(255, 244, 212, 0.3)) drop-shadow(0 0 17px rgba(255, 42, 28, 0.66)) drop-shadow(0 0 38px rgba(255, 30, 18, 0.34)) brightness(1.18);
    opacity: 0.9;
  }

  39.5% {
    filter: blur(0.28px) drop-shadow(0 0 4px rgba(255, 244, 212, 0.06)) drop-shadow(0 0 6px rgba(255, 42, 28, 0.14)) drop-shadow(0 0 12px rgba(255, 30, 18, 0.06)) brightness(0.58);
    opacity: 0.34;
  }

  39.86% {
    filter: blur(0.28px) drop-shadow(0 0 7px rgba(255, 244, 212, 0.12)) drop-shadow(0 0 9px rgba(255, 42, 28, 0.26)) drop-shadow(0 0 18px rgba(255, 30, 18, 0.12)) brightness(0.78);
    opacity: 0.5;
  }

  40.14% {
    filter: blur(0.28px) drop-shadow(0 0 11px rgba(255, 244, 212, 0.24)) drop-shadow(0 0 15px rgba(255, 42, 28, 0.56)) drop-shadow(0 0 32px rgba(255, 30, 18, 0.28)) brightness(1.12);
    opacity: 0.84;
  }

  73.54% {
    filter: blur(0.28px) drop-shadow(0 0 5px rgba(255, 244, 212, 0.08)) drop-shadow(0 0 7px rgba(255, 42, 28, 0.18)) drop-shadow(0 0 14px rgba(255, 30, 18, 0.08)) brightness(0.68);
    opacity: 0.42;
  }

  73.88% {
    filter: blur(0.28px) drop-shadow(0 0 12px rgba(255, 244, 212, 0.29)) drop-shadow(0 0 16px rgba(255, 42, 28, 0.62)) drop-shadow(0 0 36px rgba(255, 30, 18, 0.31)) brightness(1.16);
    opacity: 0.88;
  }

  74.18% {
    filter: blur(0.28px) drop-shadow(0 0 6px rgba(255, 244, 212, 0.1)) drop-shadow(0 0 8px rgba(255, 42, 28, 0.22)) drop-shadow(0 0 16px rgba(255, 30, 18, 0.1)) brightness(0.76);
    opacity: 0.48;
  }

  88.2% {
    filter: blur(0.28px) drop-shadow(0 0 10px rgba(255, 244, 212, 0.22)) drop-shadow(0 0 14px rgba(255, 42, 28, 0.52)) drop-shadow(0 0 30px rgba(255, 30, 18, 0.24)) brightness(1.08);
    opacity: 0.8;
  }

  90.4% {
    filter: blur(0.28px) drop-shadow(0 0 11px rgba(255, 244, 212, 0.26)) drop-shadow(0 0 15px rgba(255, 42, 28, 0.58)) drop-shadow(0 0 34px rgba(255, 30, 18, 0.28)) brightness(1.13);
    opacity: 0.85;
  }
}

@media (prefers-reduced-motion: reduce) {
  .video-games-stage__window-rain span {
    animation: none;
  }

  .video-games-stage__neon-glow {
    animation: none;
  }

  .video-games-stage__neon-glow.is-neon-flickering {
    animation: none;
  }
}

.video-games-stage__lamp-glow {
  background:
    radial-gradient(ellipse at 65% 19%, rgba(255, 58, 34, 0.18), rgba(255, 32, 20, 0.08) 11%, transparent 30%),
    radial-gradient(ellipse at 71% 28%, rgba(255, 39, 24, 0.1), transparent 24%),
    linear-gradient(118deg, transparent 45%, rgba(255, 40, 24, 0.08) 54%, rgba(255, 23, 17, 0.035) 67%, transparent 79%),
    radial-gradient(ellipse at 40.8% 49.4%, rgba(255, 226, 151, 0.26), rgba(255, 185, 82, 0.1) 6.5%, transparent 15%),
    radial-gradient(ellipse at 39.6% 45.4%, rgba(255, 206, 121, 0.13), transparent 18%),
    radial-gradient(ellipse at 41.8% 62%, rgba(255, 164, 74, 0.09), transparent 22%),
    linear-gradient(112deg, transparent 29%, rgba(255, 190, 96, 0.06) 37%, rgba(255, 167, 74, 0.035) 48%, transparent 58%);
  mix-blend-mode: screen;
  opacity: 0.64;
  pointer-events: none;
  z-index: 1;
}

.video-games-stage__shade {
  background:
    radial-gradient(circle at 48% 48%, rgba(255, 28, 35, 0.16), transparent 18%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.18) 35%, rgba(0, 0, 0, 0.2) 62%, rgba(0, 0, 0, 0.48));
  pointer-events: none;
  transition: opacity 260ms ease;
  z-index: 1;
}

.video-games-stage__defs {
  height: 0;
  position: absolute;
  width: 0;
}

.video-games-crt-video {
  aspect-ratio: 1.29;
  clip-path: url("#video-games-crt-clip");
  filter: brightness(0.72) contrast(0.9) saturate(0.85) sepia(0.08);
  height: 22.15%;
  left: 42.55%;
  mix-blend-mode: screen;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 33.75%;
  transform: perspective(48rem) rotateY(-1.6deg) rotateX(0.35deg);
  transform-origin: 52% 50%;
  transition: opacity 180ms ease;
  width: 17.05%;
  z-index: 2;
}

.video-games-crt-video::before,
.video-games-crt-video::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.video-games-crt-video::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.08) 50%, rgba(0, 0, 0, 0.18) 50%),
    radial-gradient(circle at 50% 48%, transparent 54%, rgba(0, 0, 0, 0.38) 100%);
  background-size: 100% 3px, 100% 100%;
  mix-blend-mode: multiply;
}

.video-games-crt-video::after {
  background:
    radial-gradient(ellipse at 78% 13%, rgba(255, 239, 207, 0.22), transparent 8%),
    linear-gradient(90deg, rgba(255, 150, 100, 0.05), transparent 36%, rgba(255, 240, 190, 0.04)),
    radial-gradient(ellipse at 50% 50%, transparent 76%, rgba(4, 4, 3, 0.36) 100%);
}

.video-games-crt-video video {
  height: 112%;
  left: 50%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 180ms ease;
  width: 118%;
}

.video-games-crt-video img {
  height: 118%;
  left: 50%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 180ms ease;
  width: 122%;
}

.vault-room-page .video-games-crt-video img {
  transition: opacity 180ms ease, transform 680ms ease;
}

.video-games-page.is-crt-playing .video-games-crt-video {
  opacity: 0.92;
}

.video-games-page.is-crt-playing .video-games-crt-video img {
  opacity: 0;
}

.video-games-page.is-crt-playing .video-games-crt-video video {
  opacity: 1;
}

.video-games-page.is-crt-still .video-games-crt-video {
  opacity: 0.9;
}

.video-games-page.is-crt-still .video-games-crt-video img {
  opacity: 1;
}

.video-games-page.is-crt-still .video-games-crt-video video {
  opacity: 0;
}

.vault-room-page .video-games-crt-video {
  border-radius: 0.7% 0.9% 0.7% 0.7% / 1.6% 1.6% 1.2% 1.2%;
  clip-path: polygon(
    44.02% 0%,
    calc(100% - 6px) 0%,
    calc(100% - 2px) 25%,
    calc(100% - 2px) 50%,
    calc(100% - 2px) 75%,
    calc(100% - 5px) 100%,
    42.91% 100%,
    1.85% 95%,
    1.48% 90%,
    0.65% 75%,
    0% 50%,
    0.56% 25%,
    1.58% 10%,
    2.13% 5%
  );
  height: var(--vault-crt-height, 22.26355%);
  left: var(--vault-crt-left, 43.25658%);
  mix-blend-mode: normal;
  top: var(--vault-crt-top, 34.03294%);
  transform: none;
  width: calc(var(--vault-crt-width, 16.14833%) + var(--vault-crt-right-nudge, 8px));
}

.vault-room-page .video-games-crt-video video,
.vault-room-page .video-games-crt-video img {
  height: 100%;
  width: 100%;
}

.vault-room-page.is-vault-room-matches {
  --vault-crt-height: 22.26355%;
  --vault-crt-left: 43.25658%;
  --vault-crt-top: 34.03294%;
  --vault-crt-width: 16.14833%;
}

.vault-room-page.is-vault-room-games {
  --vault-crt-height: 22.26355%;
  --vault-crt-left: 43.25658%;
  --vault-crt-top: 34.03294%;
  --vault-crt-width: 16.14833%;
}

.vault-room-page.is-vault-room-games .video-games-crt-video {
  clip-path: polygon(
    44.02% 0%,
    calc(100% - 6px) 0%,
    calc(100% - 2px) 25%,
    calc(100% - 2px) 50%,
    calc(100% - 2px) 75%,
    calc(100% - 5px) 100%,
    42.91% 100%,
    1.85% 95%,
    1.48% 90%,
    0.65% 75%,
    0% 50%,
    0.56% 25%,
    1.58% 10%,
    2.13% 5%
  );
  filter: brightness(0.88) contrast(0.92) saturate(0.92) sepia(0.04);
}

.vault-room-page.is-vault-room-games .video-games-crt-video::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.05) 50%, rgba(0, 0, 0, 0.1) 50%),
    radial-gradient(circle at 50% 48%, transparent 58%, rgba(0, 0, 0, 0.3) 100%);
  background-size: 100% 4px, 100% 100%;
  opacity: 0.62;
}

.vault-room-page.is-vault-crt-vhs .video-games-crt-video {
  filter: brightness(1.08) grayscale(0.02) saturate(1.12) contrast(1.02);
  mix-blend-mode: normal;
}

.vault-room-page.is-vault-crt-vhs .video-games-crt-video img {
  filter: brightness(1.14) grayscale(0.06) saturate(1.02) contrast(1.04);
  mix-blend-mode: normal;
}

.vault-room-page.is-vault-crt-vhs .video-games-crt-video video {
  filter:
    brightness(1.06)
    grayscale(0.06)
    sepia(0.05)
    saturate(1.12)
    contrast(1.1);
  mix-blend-mode: normal;
}

.vault-room-page.is-vault-crt-thumbnail-zoom .video-games-crt-video img {
  transform: translate(-50%, -50%) scale(1.035);
}

.vault-room-page.is-vault-crt-preview-video .video-games-crt-video video {
  opacity: 1;
}

.vault-room-page.is-vault-crt-vhs .video-games-crt-video::after {
  background:
    linear-gradient(180deg, transparent 0 7%, rgba(246, 241, 231, 0.58) 8%, transparent 12% 31%, rgba(246, 241, 231, 0.28) 32%, transparent 38% 63%, rgba(25, 25, 23, 0.34) 64%, transparent 70% 100%),
    linear-gradient(90deg, rgba(246, 241, 231, 0.18), transparent 27%, rgba(246, 241, 231, 0.1) 51%, transparent 66% 100%),
    repeating-linear-gradient(180deg, rgba(246, 241, 231, 0.28) 0 1px, transparent 1px 3px, rgba(0, 0, 0, 0.22) 3px 5px);
  mix-blend-mode: screen;
  opacity: 0;
  transform: translateY(-8%);
}

.vault-room-page.is-vault-crt-tracking .video-games-crt-video::after {
  animation: vaultPreviewTracking 1450ms steps(8, end) both;
}

.vault-room-page.is-vault-crt-tracking .video-games-crt-video img,
.vault-room-page.is-vault-crt-tracking .video-games-crt-video video {
  animation: vaultPreviewJolt 1450ms steps(2, end) both;
}

@keyframes vaultPreviewTracking {
  0% {
    opacity: 0;
    transform: translateY(-12%) skewX(0deg) scaleY(1);
  }

  9% {
    opacity: 0.95;
    transform: translateY(11%) skewX(-3deg) scaleY(1.08);
  }

  22% {
    opacity: 0.38;
    transform: translateY(-6%) skewX(2.2deg) scaleY(0.94);
  }

  38% {
    opacity: 0.88;
    transform: translateY(24%) skewX(-2.4deg) scaleY(1.14);
  }

  55% {
    opacity: 0.52;
    transform: translateY(-1%) skewX(2deg) scaleY(0.9);
  }

  76% {
    opacity: 0.76;
    transform: translateY(17%) skewX(-1.8deg) scaleY(1.06);
  }

  100% {
    opacity: 0;
    transform: translateY(34%) skewX(0deg) scaleY(1);
  }
}

@keyframes vaultPreviewJolt {
  0% {
    filter: grayscale(0.03) saturate(1.08) contrast(1);
    transform: translate(-50%, -50%) translateZ(0);
  }

  16% {
    filter: grayscale(0.06) saturate(1.02) contrast(1.1);
    transform: translate(-50%, -50%) translate3d(0, -0.2%, 0);
  }

  34% {
    filter: grayscale(0.08) saturate(0.96) contrast(1.18);
    transform: translate(-50%, -50%) translate3d(0, 0.3%, 0);
  }

  58% {
    filter: grayscale(0.05) saturate(1.02) contrast(1.1);
    transform: translate(-50%, -50%) translate3d(0, 0, 0);
  }

  100% {
    filter: grayscale(0.03) saturate(1.08) contrast(1);
    transform: translate(-50%, -50%) translateZ(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .vault-room-page.is-vault-crt-tracking .video-games-crt-video img,
  .vault-room-page.is-vault-crt-tracking .video-games-crt-video video,
  .vault-room-page.is-vault-crt-tracking .video-games-crt-video::after {
    animation: none;
  }
}

.is-immersive .video-games-stage__shade,
.video-games-initial-immersive .video-games-stage__shade {
  opacity: 0.72;
}

.video-games-hotspot {
  align-items: center;
  background: rgba(8, 6, 5, 0.78);
  border: 1px solid rgba(233, 202, 130, 0.36);
  color: #f5ead6;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.42rem;
  left: var(--hotspot-x);
  letter-spacing: 0.04em;
  padding: 0.42rem 0.62rem;
  position: absolute;
  text-transform: uppercase;
  top: var(--hotspot-y);
  transform: translate(-50%, -50%);
  z-index: 3;
}

.video-games-hotspot .material-symbols-outlined {
  border: 1px solid rgba(245, 234, 214, 0.32);
  border-radius: 999px;
  font-size: 1.05rem;
  padding: 0.18rem;
}

.video-games-hotspot--icon {
  aspect-ratio: 1;
  border-radius: 999px;
  gap: 0;
  padding: 0.45rem;
}

.video-games-hotspot--icon .material-symbols-outlined {
  border: 0;
  font-size: 1.15rem;
  padding: 0;
}

.video-games-hotspot:hover,
.video-games-hotspot:focus-visible {
  border-color: var(--game-red);
  outline: none;
}

.video-games-poster-eye {
  align-items: center;
  aspect-ratio: 1;
  background: rgba(8, 6, 5, 0.62);
  border: 1px solid rgba(233, 202, 130, 0.38);
  border-radius: 999px;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.42);
  color: rgba(245, 234, 214, 0.9);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  left: var(--poster-eye-x);
  position: absolute;
  top: var(--poster-eye-y);
  transform: translate(-50%, calc(-50% + var(--poster-eye-offset-y, 0px))) scale(var(--poster-eye-scale, 1));
  transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
  width: clamp(1.45rem, 1.7vw, 2rem);
  z-index: 4;
}

.video-games-poster-eye .material-symbols-outlined {
  align-items: center;
  display: inline-flex;
  font-size: clamp(1.1rem, 1.38vw, 1.45rem);
  height: clamp(1.1rem, 1.38vw, 1.45rem);
  justify-content: center;
  line-height: 1;
  width: clamp(1.1rem, 1.38vw, 1.45rem);
}

@media (min-width: 1181px) {
  .video-games-poster-eye {
    width: 1.375rem;
  }

  .video-games-poster-eye .material-symbols-outlined {
    font-size: 1rem;
    height: 1rem;
    width: 1rem;
  }
}

.video-games-poster-eye:hover,
.video-games-poster-eye:focus-visible {
  border-color: var(--game-red);
  box-shadow: 0 0 20px rgba(242, 38, 51, 0.32);
  color: #ffffff;
  outline: none;
  --poster-eye-scale: 1.05;
}

@media (max-width: 1180px), (hover: none) and (pointer: coarse) {
  .video-games-poster-eye {
    background:
      radial-gradient(circle at 50% 50%, rgba(245, 234, 214, 0.12), transparent 44%),
      rgba(8, 6, 5, 0.78);
    border-color: rgba(245, 234, 214, 0.58);
    box-shadow:
      0 8px 22px rgba(0, 0, 0, 0.42),
      0 0 0 1px rgba(242, 38, 51, 0.24);
    min-width: 44px;
    width: 2.75rem;
  }

  .video-games-poster-eye .material-symbols-outlined {
    font-size: 1.35rem;
    height: 1.35rem;
    width: 1.35rem;
  }

  .video-games-page:not(.vault-room-page) .video-games-poster-eye[data-hotspot="poster-left-top"],
  .video-games-page:not(.vault-room-page) .video-games-poster-eye[data-hotspot="poster-left-lower"],
  .video-games-page:not(.vault-room-page) .video-games-poster-eye[data-hotspot="poster-right-yellow"] {
    display: none;
  }

  .video-games-page:not(.vault-room-page) .video-games-shell:not(.is-immersive) .video-games-poster-eye {
    opacity: 0;
    pointer-events: none;
  }

  .video-games-page:not(.vault-room-page) .video-games-hotspot-card {
    left: clamp(0.85rem, 4vw, 1.25rem);
    max-width: none;
    right: clamp(0.85rem, 4vw, 1.25rem);
    top: clamp(4.25rem, 12vw, 5.5rem);
  }

  .vault-room-page .video-games-stage__surface .video-games-poster-eye {
    width: 3.25rem;
  }

  .vault-room-page .video-games-poster-eye--rail-overlay {
    left: clamp(22px, var(--poster-eye-overlay-x, -999px), calc(100% - 22px));
  }
}

@media (max-width: 700px) {
  .video-games-page:not(.vault-room-page) .video-games-poster-eye[data-hotspot="poster-desk-left"],
  .video-games-page:not(.vault-room-page) .video-games-poster-eye[data-hotspot="poster-right-dark"] {
    display: none;
  }
}

.video-games-poster-eye--stage-anchor {
  opacity: 0;
  pointer-events: none;
}

.video-games-poster-eye--rail-overlay {
  left: var(--poster-eye-overlay-x, -999px);
  top: var(--poster-eye-overlay-y, -999px);
  z-index: 9;
}

.video-games-poster-eye--rail-overlay:not(.is-synced),
.video-games-poster-eye--rail-overlay.is-obscured,
.video-games-poster-eye.is-obscured-by-rail {
  opacity: 0;
  pointer-events: none;
}

@media (min-width: 1181px) {
  .vault-room-page:has(.video-games-shell.is-immersive) .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-great-muta"],
  .vault-room-page:has(.video-games-shell.is-immersive) .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-mil-mascaras"] {
    --poster-eye-offset-y: -15px;
  }

  .vault-room-page:has(.video-games-shell.is-immersive) .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-great-muta"]:hover,
  .vault-room-page:has(.video-games-shell.is-immersive) .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-great-muta"]:focus-visible,
  .vault-room-page:has(.video-games-shell.is-immersive) .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-mil-mascaras"]:hover,
  .vault-room-page:has(.video-games-shell.is-immersive) .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-mil-mascaras"]:focus-visible {
    transform: translate(-50%, calc(-50% - 15px)) scale(1.05) !important;
  }
}

.video-games-hotspot-card {
  background: rgba(8, 6, 5, 0.88);
  border: 1px solid rgba(233, 202, 130, 0.3);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.54);
  max-width: min(22rem, 34vw);
  opacity: 0;
  padding: 1rem;
  position: absolute;
  right: 2%;
  top: 8%;
  transform: translateY(-0.4rem);
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 5;
}

.video-games-hotspot-card.is-open {
  opacity: 1;
  transform: translateY(0);
}

.video-games-hotspot-card__close {
  aspect-ratio: 1;
  position: absolute;
  right: 0.45rem;
  top: 0.45rem;
  width: 2rem;
}

.video-games-hotspot-card h3 {
  color: #f5ead6;
  font-family: var(--display);
  font-size: 1.3rem;
  letter-spacing: 0;
  margin: 0.35rem 2rem 0.55rem 0;
  text-transform: uppercase;
}

.video-games-hotspot-card p {
  color: rgba(245, 234, 214, 0.78);
  line-height: 1.45;
  margin: 0;
}

.video-games-poster-shadowbox {
  align-items: center;
  background:
    radial-gradient(circle at 32% 18%, rgba(242, 38, 51, 0.16), transparent 28rem),
    rgba(2, 2, 2, 0.86);
  border: 0;
  box-shadow: none;
  display: grid;
  gap: clamp(1.25rem, 3vw, 3rem);
  grid-template-columns: minmax(18rem, 42vw) minmax(18rem, 32rem);
  inset: 0;
  justify-content: center;
  max-width: none;
  opacity: 0;
  padding: clamp(1.25rem, 3vw, 3rem);
  position: fixed;
  transform: none;
  transition: opacity 240ms ease;
  z-index: 90;
}

.video-games-poster-shadowbox[hidden] {
  display: none;
}

.video-games-poster-shadowbox.is-open {
  opacity: 1;
  transform: none;
}

.video-games-poster-shadowbox.is-without-image {
  grid-template-columns: minmax(18rem, 32rem);
}

.video-games-poster-shadowbox__image-wrap {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 0;
}

.video-games-poster-shadowbox__image {
  border: 1px solid rgba(233, 202, 130, 0.36);
  box-shadow: 0 28px 74px rgba(0, 0, 0, 0.7);
  display: block;
  max-height: min(82dvh, 58rem);
  max-width: 100%;
  object-fit: contain;
  opacity: 0;
  transform: translateY(1.25rem) scale(0.965);
  transform-origin: center center;
  transition: opacity 260ms ease, transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.video-games-poster-shadowbox__info {
  background:
    linear-gradient(180deg, rgba(242, 38, 51, 0.1), transparent 12rem),
    rgba(8, 7, 6, 0.88);
  border: 1px solid rgba(233, 202, 130, 0.26);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.5);
  opacity: 0;
  padding: clamp(1rem, 2vw, 1.45rem);
  transform: translateX(1rem);
  transition: opacity 260ms ease 90ms, transform 360ms cubic-bezier(0.16, 1, 0.3, 1) 90ms;
}

.vault-room-page .video-games-poster-shadowbox__info {
  background: var(--vault-paper-grain);
  background-size: auto, 17px 17px, 23px 23px, auto;
  border-color: var(--vault-paper-border);
  box-shadow: 0 18px 46px rgba(var(--shadow-rgb), 0.22);
  color: var(--ink);
}

.vault-room-page .video-games-poster-shadowbox__info [data-hotspot-kicker] {
  color: var(--red);
}

.video-games-poster-shadowbox.is-open .video-games-poster-shadowbox__image,
.video-games-poster-shadowbox.is-open .video-games-poster-shadowbox__info {
  opacity: 1;
  transform: none;
}

.video-games-poster-shadowbox .video-games-hotspot-card__close {
  align-items: center;
  background: rgb(8, 7, 6);
  border: 1px solid rgba(233, 202, 130, 0.58);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.48);
  color: #f5ead6;
  display: inline-flex;
  justify-content: center;
  position: fixed;
  right: clamp(1rem, 2.5vw, 2rem);
  top: calc(var(--site-header-height, 72px) + clamp(0.75rem, 2vw, 1.25rem));
  width: clamp(2.75rem, 5vw, 3.4rem);
  z-index: calc(var(--z-modal, 2000) + 2);
}

.vault-room-page .video-games-poster-shadowbox .video-games-hotspot-card__close {
  background: rgb(var(--vault-paper-rgb));
  border-color: var(--vault-paper-border-strong);
  color: var(--ink);
}

[data-theme="archival-dark"] .vault-room-page .video-games-poster-shadowbox .video-games-hotspot-card__close,
[data-theme="dark"] .vault-room-page .video-games-poster-shadowbox .video-games-hotspot-card__close {
  background: rgb(8, 7, 6);
  border-color: rgba(233, 202, 130, 0.58);
  color: #f5ead6;
}

.video-games-poster-shadowbox h3 {
  font-size: clamp(1.5rem, 2vw, 2.25rem);
  letter-spacing: 0;
  line-height: 0.96;
  margin: 0.45rem 2.6rem 0.75rem 0;
  text-transform: none;
  white-space: pre-line;
}

.vault-room-page .video-games-poster-shadowbox h3 {
  color: var(--ink);
}

.video-games-poster-shadowbox__context {
  color: var(--game-gold);
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.vault-room-page .video-games-poster-shadowbox__context {
  color: var(--red);
}

.video-games-poster-shadowbox__facts {
  display: grid;
  gap: 0.6rem;
  margin: 1rem 0 0;
}

.video-games-poster-shadowbox__facts div {
  align-items: center;
  border-top: 1px solid rgba(233, 202, 130, 0.16);
  display: grid;
  gap: 0.5rem;
  grid-template-columns: minmax(9.5rem, 0.5fr) minmax(0, 1fr);
  min-height: 2.55rem;
  padding-top: 0.52rem;
}

.vault-room-page .video-games-poster-shadowbox__facts div {
  border-top-color: var(--vault-paper-border);
}

.video-games-poster-shadowbox__facts dt,
.video-games-poster-shadowbox__facts dd {
  margin: 0;
}

.video-games-poster-shadowbox__facts dt {
  color: rgba(245, 234, 214, 0.52);
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.vault-room-page .video-games-poster-shadowbox__facts dt {
  color: var(--red);
}

.video-games-poster-shadowbox__facts dd {
  color: rgba(245, 234, 214, 0.86);
  font-size: 0.88rem;
}

.vault-room-page .video-games-poster-shadowbox__facts dd {
  color: var(--ink);
}

.video-games-poster-shadowbox__copy {
  border-top: 1px solid rgba(233, 202, 130, 0.16);
  margin-top: 1rem;
  padding-top: 1rem;
}

.vault-room-page .video-games-poster-shadowbox__copy {
  border-top-color: var(--vault-paper-border);
  color: rgba(var(--vault-ink-rgb), 0.74);
}

@media (prefers-reduced-motion: reduce) {
  .video-games-poster-shadowbox,
  .video-games-poster-shadowbox__image,
  .video-games-poster-shadowbox__info {
    transition: opacity 120ms ease;
  }

  .video-games-poster-shadowbox__image,
  .video-games-poster-shadowbox__info {
    transform: none;
  }
}

.video-games-selector {
  align-items: stretch;
  background:
    linear-gradient(180deg, rgba(7, 5, 4, 0.34), rgba(7, 5, 4, 0.68)),
    rgba(7, 5, 4, 0.48);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: clamp(9.75rem, 17vh, 11.5rem);
  position: relative;
  transition:
    background 220ms ease,
    box-shadow 220ms ease,
    opacity 200ms ease,
    transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 4;
}

.vault-room-page .video-games-selector {
  background:
    linear-gradient(180deg, rgba(7, 5, 4, 0.34), rgba(7, 5, 4, 0.68)),
    rgba(7, 5, 4, 0.48);
  box-shadow: none;
  color: var(--ink);
}

.video-games-selector::before,
.video-games-selector::after {
  bottom: 0;
  content: "";
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 2.55rem;
  transition: opacity 160ms ease;
  width: clamp(3.6rem, 7vw, 5.4rem);
  z-index: 4;
}

.video-games-selector::before {
  background: linear-gradient(90deg, rgba(7, 5, 4, 0.74), rgba(7, 5, 4, 0.56) 34%, rgba(7, 5, 4, 0));
  left: 2.8rem;
}

.vault-room-page .video-games-selector::before {
  background: linear-gradient(90deg, rgba(7, 5, 4, 0.74), rgba(7, 5, 4, 0.56) 34%, rgba(7, 5, 4, 0));
}

.video-games-selector::after {
  background: linear-gradient(90deg, rgba(7, 5, 4, 0), rgba(7, 5, 4, 0.56) 66%, rgba(7, 5, 4, 0.74));
  right: 2.8rem;
}

.vault-room-page .video-games-selector::after {
  background: linear-gradient(90deg, rgba(7, 5, 4, 0), rgba(7, 5, 4, 0.56) 66%, rgba(7, 5, 4, 0.74));
}

.video-games-selector.has-selector-left-fade::before,
.video-games-selector.has-selector-right-fade::after {
  opacity: 1;
}

.is-vault-games-mode .video-games-selector::before,
.is-vault-games-mode .video-games-selector::after {
  top: 0;
}

.is-vault-games-mode .video-games-selector::before {
  left: 2.8rem;
}

.is-vault-games-mode .video-games-selector::after {
  right: 2.8rem;
}

@media (min-width: 1100px) {
  .vault-room-page .video-games-shell:not(.is-immersive) .video-games-selector {
    height: clamp(19rem, 25.9vh, 21rem);
    min-height: clamp(19rem, 25.9vh, 21rem);
  }
}

@media (min-width: 1181px) and (hover: hover) and (pointer: fine) {
  .vault-room-page .video-games-shell:is(.is-filters-collapsed, .is-details-collapsed):not(.is-immersive) {
    --vault-one-panel-rail-height: clamp(19rem, 25.9vh, 21rem);
    --vault-one-panel-button-gap: clamp(0.8rem, 2vh, 1.35rem);
    --vault-one-panel-button-inline: clamp(1rem, 1.4vw, 1.45rem);
  }

  .vault-room-page .video-games-shell:is(.is-filters-collapsed, .is-details-collapsed):not(.is-immersive) .video-games-room {
    grid-template-rows: minmax(0, 1fr);
  }

  .vault-room-page .video-games-shell:is(.is-filters-collapsed, .is-details-collapsed):not(.is-immersive) .video-games-selector {
    background:
      linear-gradient(180deg, rgba(3, 2, 2, 0), rgba(3, 2, 2, 0.36) 28%, rgba(3, 2, 2, 0.6)),
      rgba(7, 5, 4, 0.22);
    bottom: 0;
    box-shadow: 0 -26px 44px rgba(0, 0, 0, 0.28);
    left: 0;
    position: absolute;
    right: 0;
    z-index: 6;
  }

  .vault-room-page .video-games-shell:is(.is-filters-collapsed, .is-details-collapsed):not(.is-immersive) .video-games-room-immersive {
    bottom: calc(var(--vault-one-panel-rail-height) + var(--vault-one-panel-button-gap));
    right: var(--vault-one-panel-button-inline);
  }
}

.is-immersive .video-games-room,
.video-games-initial-immersive .video-games-room {
  grid-template-rows: minmax(0, 1fr);
}

.is-immersive .video-games-stage,
.video-games-initial-immersive .video-games-stage {
  height: 100%;
}

.is-immersive .video-games-selector,
.video-games-initial-immersive .video-games-selector {
  animation: none;
  background:
    linear-gradient(180deg, rgba(3, 2, 2, 0), rgba(3, 2, 2, 0.42) 28%, rgba(3, 2, 2, 0.64)),
    rgba(7, 5, 4, 0.26);
  bottom: 0;
  box-shadow: 0 -26px 44px rgba(0, 0, 0, 0.34);
  left: clamp(0.65rem, 1.6vw, 1.4rem);
  min-height: clamp(7.25rem, 13vh, 9rem);
  opacity: 1;
  position: absolute;
  right: clamp(0.65rem, 1.6vw, 1.4rem);
  transform: translateY(0);
  z-index: 6;
}

.vault-room-page.is-vault-games-mode .video-games-shell.is-immersive .video-games-selector,
.video-games-initial-immersive .vault-room-page.is-vault-games-mode .video-games-selector {
  min-height: clamp(15.75rem, 35vh, 18.5rem);
}

.is-immersive .video-games-room-immersive,
.video-games-initial-immersive .video-games-room-immersive {
  bottom: calc(clamp(18rem, 27vh, 21rem) + clamp(0.8rem, 2vh, 1.35rem));
}

@keyframes videoGamesSelectorRise {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.video-games-selector__track {
  display: flex;
  gap: 0.75rem;
  grid-column: 2;
  grid-row: 2;
  overflow-x: auto;
  padding: 0.7rem;
  scroll-snap-type: x proximity;
  scrollbar-color: rgba(var(--accent-red-rgb), 0.72) transparent;
}

.is-vault-matches-mode .video-games-selector__track {
  overscroll-behavior-inline: contain;
  scroll-snap-type: none;
  will-change: scroll-position;
}

.is-vault-games-mode .video-games-selector__track {
  grid-row: 1 / -1;
  padding-block: 0.8rem;
  scroll-snap-type: none;
}

.is-vault-games-mode .video-games-selector__arrow {
  grid-row: 1 / -1;
}

.is-vault-games-mode .video-games-selector__groups {
  display: none;
}

.video-games-selector__track::-webkit-scrollbar {
  height: 0.55rem;
}

.video-games-selector__track::-webkit-scrollbar-thumb {
  background: rgba(var(--accent-red-rgb), 0.72);
}

.video-games-selector__track::-webkit-scrollbar-track {
  background: transparent;
}

.video-games-selector__groups {
  align-items: center;
  display: flex;
  gap: 0.35rem;
  grid-column: 2;
  grid-row: 1;
  overflow-x: auto;
  padding: 0.65rem 0.7rem 0;
  scrollbar-width: none;
}

.video-games-selector__groups::-webkit-scrollbar {
  display: none;
}

.video-games-selector__groups button {
  background: rgba(245, 234, 214, 0.06);
  border: 1px solid rgba(233, 202, 130, 0.16);
  color: rgba(245, 234, 214, 0.68);
  cursor: pointer;
  flex: 0 0 auto;
  font-family: var(--display);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.42rem 0.55rem 0.36rem;
  text-transform: uppercase;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
}

.vault-room-page .video-games-selector__groups button {
  background: var(--vault-paper-surface);
  border-color: var(--vault-paper-border);
  color: var(--ink);
}

.video-games-selector__groups button:hover,
.video-games-selector__groups button:focus-visible,
.video-games-selector__groups button.is-active {
  background: rgba(var(--accent-red-rgb), 0.18);
  border-color: rgba(var(--accent-red-rgb), 0.62);
  color: #ffffff;
  outline: none;
}

.vault-room-page .video-games-selector__groups button:hover,
.vault-room-page .video-games-selector__groups button:focus-visible {
  background: var(--vault-paper-surface-muted);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  color: var(--red);
}

.vault-room-page .video-games-selector__groups button.is-active {
  background: var(--red);
  border-color: var(--red);
  color: var(--on-accent);
}

.video-games-selector__groups button.is-in-view:not(.is-active) {
  background: rgba(233, 202, 130, 0.1);
  border-color: rgba(233, 202, 130, 0.46);
  color: rgba(245, 234, 214, 0.92);
}

.vault-room-page .video-games-selector__groups button.is-in-view:not(.is-active) {
  background: rgba(var(--accent-red-rgb), 0.06);
  border-color: rgba(var(--accent-red-rgb), 0.34);
  color: var(--red);
}

.video-games-selector__arrow {
  align-items: center;
  background: transparent;
  border: 0;
  color: #f5ead6;
  cursor: pointer;
  display: inline-flex;
  grid-row: 2;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 2.8rem;
  z-index: 5;
}

.vault-room-page .video-games-selector__arrow {
  color: var(--ink);
}

.video-games-selector__arrow .material-symbols-outlined {
  align-items: center;
  display: inline-flex;
  font-size: clamp(1.1rem, 1.38vw, 1.45rem);
  height: clamp(1.1rem, 1.38vw, 1.45rem);
  justify-content: center;
  line-height: 1;
  width: clamp(1.1rem, 1.38vw, 1.45rem);
}

.video-games-selector__arrow:hover,
.video-games-selector__arrow:focus-visible {
  color: #ffffff;
  outline: none;
}

.vault-room-page .video-games-selector__arrow:hover,
.vault-room-page .video-games-selector__arrow:focus-visible {
  color: var(--red);
}

.video-games-selector__arrow:disabled,
.video-games-selector__arrow[aria-disabled="true"] {
  color: rgba(245, 234, 214, 0.28);
  cursor: default;
  opacity: 0.48;
  pointer-events: none;
}

.video-games-selector__arrow:disabled .material-symbols-outlined,
.video-games-selector__arrow[aria-disabled="true"] .material-symbols-outlined {
  transform: none;
}

.video-games-game-card {
  --vault-promotion-color: var(--game-red);
  background: rgba(15, 11, 8, 0.88);
  border: 1px solid rgba(233, 202, 130, 0.18);
  color: #f5ead6;
  cursor: pointer;
  display: grid;
  flex: 0 0 clamp(8rem, 9vw, 10rem);
  gap: 0.35rem;
  padding: 0.5rem;
  scroll-snap-align: start;
  text-align: left;
}

.vault-room-page .video-games-game-card {
  background: var(--vault-paper-surface);
  border-color: var(--vault-paper-border);
  color: var(--ink);
}

.is-vault-games-mode .video-games-game-card {
  align-content: start;
  flex-basis: clamp(8.1rem, 9.2vw, 10.1rem);
  gap: 0.5rem;
  grid-template-rows: auto auto auto;
  height: auto;
  min-height: clamp(13.5rem, 21vh, 16rem);
}

.video-games-game-card:focus-visible,
.video-games-game-card.is-active {
  border-color: var(--game-red);
  box-shadow:
    0 0 0 1px var(--game-red),
    0 0 24px color-mix(in srgb, var(--game-red) 32%, transparent);
  outline: none;
}

.vault-room-page .video-games-game-card:focus-visible,
.vault-room-page .video-games-game-card.is-active {
  border-color: var(--red);
  box-shadow:
    0 0 0 1px var(--red),
    0 10px 22px rgba(var(--shadow-rgb), 0.12);
}

.video-games-game-card__cover {
  aspect-ratio: 3 / 4;
  background:
    linear-gradient(145deg, rgba(245, 234, 214, 0.08), rgba(242, 38, 51, 0.08)),
    #120d0b;
  overflow: hidden;
  position: relative;
}

.video-games-game-card__cover img {
  height: 100%;
  image-rendering: auto;
  object-fit: cover;
  width: 100%;
}

.is-vault-games-mode .video-games-game-card__cover {
  aspect-ratio: 428 / 600;
  height: auto;
}

.is-vault-games-mode .video-games-game-card__cover img {
  object-fit: contain;
}

.vault-room-card--match {
  background: #080605;
  backface-visibility: hidden;
  contain: layout paint style;
  flex-basis: clamp(10.25rem, 12vw, 13.5rem);
  gap: 0.45rem;
  padding: 0 0 0.55rem;
  position: relative;
  scroll-snap-align: none;
  transform: translateZ(0);
}

.vault-room-page .vault-room-card--match {
  background: var(--vault-paper-surface);
}

.vault-room-card--match .vault-room-card__thumb {
  aspect-ratio: 16 / 9;
}

.vault-room-card--match .vault-room-card__thumb::before {
  background:
    linear-gradient(90deg, rgba(245, 234, 214, 0.045) 0 1px, transparent 1px calc(100% - 1px), rgba(245, 234, 214, 0.035) calc(100% - 1px)),
    linear-gradient(180deg, rgba(245, 234, 214, 0.045) 0 1px, transparent 1px calc(100% - 1px), rgba(245, 234, 214, 0.035) calc(100% - 1px)),
    radial-gradient(circle at 50% 42%, rgba(245, 234, 214, 0.035), transparent 58%),
    repeating-linear-gradient(90deg, rgba(245, 234, 214, 0.018) 0 1px, transparent 1px 8px),
    linear-gradient(145deg, rgba(245, 234, 214, 0.028), rgba(34, 24, 22, 0.18)),
    #0a0807;
  content: "";
  inset: 0;
  opacity: 1;
  position: absolute;
  transform: none;
  z-index: 0;
}

.vault-room-card--match .vault-room-card__thumb img {
  backface-visibility: hidden;
  display: block;
  object-fit: cover;
  opacity: 0;
  position: relative;
  transform: translateZ(0);
  transition: none;
  z-index: 1;
}

.vault-room-card--match .vault-room-card__thumb img.is-loading {
  opacity: 0;
}

.vault-room-card--match .vault-room-card__thumb img.is-loaded {
  opacity: 1;
}

.vault-room-card--match:not(.is-loaded-card) .vault-room-card__badges,
.vault-room-card--match:not(.is-loaded-card) .vault-room-card__quick-watch {
  opacity: 0;
  pointer-events: none;
}

.vault-room-card--match.is-loaded-card .vault-room-card__badges,
.vault-room-card--match.is-loaded-card .vault-room-card__quick-watch {
  transition: none;
}

.vault-room-card__badges {
  align-items: flex-start;
  bottom: 0.36rem;
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  left: 0.36rem;
  position: absolute;
  z-index: 2;
}

.vault-room-card__badge {
  align-items: center;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.56rem;
  font-weight: 800;
  gap: 0.2rem;
  line-height: 0.72rem;
  min-height: 1.12rem;
  padding: 0.18rem 0.32rem;
  text-transform: uppercase;
}

.vault-room-card__badge--iconic {
  background: rgba(10, 58, 50, 0.9);
  border: 1px solid rgba(92, 206, 164, 0.78);
  color: #dffff1;
}

.vault-room-card__badge--five-star {
  background: rgba(7, 4, 3, 0.74);
  border: 1px solid rgba(233, 202, 130, 0.78);
  color: var(--vault-star-gold);
}

.vault-room-card__badge .material-symbols-outlined {
  display: block;
  font-size: 0.72rem;
  height: 0.72rem;
  line-height: 0.72rem;
  width: 0.72rem;
}

.vault-room-card__badge span:not(.material-symbols-outlined) {
  display: inline-block;
  line-height: 0.72rem;
}

.vault-room-card__quick-watch span,
.vault-room-card__badge span:not(.material-symbols-outlined) {
  transform: translateY(0.03rem);
}

.vault-room-card__quick-watch {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.94), rgba(176, 22, 36, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow:
    0 0 0 1px rgba(var(--accent-red-rgb), 0.72),
    0 10px 24px rgba(0, 0, 0, 0.42);
  color: #ffffff;
  display: inline-flex;
  font-family: var(--display);
  font-size: clamp(0.68rem, 2.6vw, 0.82rem);
  font-weight: 800;
  gap: 0.28rem;
  justify-content: center;
  left: 50%;
  line-height: 1;
  min-height: 2rem;
  padding: 0.46rem 0.62rem 0.4rem;
  pointer-events: auto;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  text-transform: uppercase;
  white-space: nowrap;
  z-index: 3;
}

.vault-room-card__quick-watch:hover {
  background: var(--game-red);
}

.vault-room-card__quick-watch span {
  display: inline-block;
  line-height: 1;
}

.vault-room-card--match .video-games-game-card__title,
.vault-room-card--match .video-games-game-card__meta {
  padding-inline: 0.5rem;
}

.vault-room-card--match .video-games-game-card__meta {
  color: rgba(245, 234, 214, 0.62);
}

.vault-room-page .vault-room-card--match .video-games-game-card__meta {
  color: rgba(var(--vault-ink-rgb), 0.62);
}

.vault-room-card__meta-stack {
  display: grid;
  gap: 0.18rem;
}

.vault-room-card__promotion,
.vault-room-card__date {
  display: block;
}

.vault-room-card__promotion {
  color: var(--vault-promotion-color, var(--game-red));
}

.vault-room-card__date {
  color: rgba(245, 234, 214, 0.6);
}

.vault-room-page .vault-room-card__date {
  color: rgba(var(--vault-ink-rgb), 0.58);
}

.vault-room-card--compact-meta .video-games-game-card__meta {
  color: color-mix(in srgb, var(--vault-promotion-color, var(--game-red)) 72%, #f5ead6);
}

.vault-room-page .vault-room-card--compact-meta .video-games-game-card__meta {
  color: color-mix(in srgb, var(--vault-promotion-color, var(--red)) 72%, var(--ink));
}

.video-games-game-card__cover--empty {
  align-items: center;
  border: 1px dashed rgba(245, 234, 214, 0.2);
  color: rgba(245, 234, 214, 0.5);
  display: flex;
  justify-content: center;
  padding: 0.65rem;
  text-align: center;
}

.vault-room-page .video-games-game-card__cover--empty {
  border-color: rgba(var(--vault-ink-rgb), 0.22);
  color: rgba(var(--vault-ink-rgb), 0.56);
}

.video-games-game-card__cover--empty span {
  font-family: var(--display);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
  text-transform: uppercase;
}

.video-games-game-card__title,
.video-games-game-card__meta {
  display: block;
  font-family: var(--display);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.video-games-game-card__title {
  color: #f5ead6;
  font-size: 0.92rem;
}

.vault-room-page .video-games-game-card__title {
  color: var(--ink);
}

.is-vault-games-mode .video-games-game-card__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 0.86rem;
  line-height: 0.96;
  overflow: hidden;
}

.video-games-game-card__meta {
  color: rgba(245, 234, 214, 0.62);
  font-size: 0.68rem;
}

.vault-room-page .video-games-game-card__meta {
  color: rgba(var(--vault-ink-rgb), 0.62);
}

.video-games-selector__empty {
  color: rgba(245, 234, 214, 0.7);
  margin: auto;
  padding: 1rem;
}

.vault-room-page .video-games-selector__empty {
  color: rgba(var(--vault-ink-rgb), 0.68);
}

.video-games-detail__screens {
  border: 1px solid rgba(233, 202, 130, 0.18);
  margin-bottom: 0.75rem;
  padding: 0.7rem 0.55rem 0.55rem;
  position: relative;
}

.video-games-detail__screen-frame {
  aspect-ratio: 3 / 4;
  background:
    linear-gradient(145deg, rgba(245, 234, 214, 0.08), rgba(242, 38, 51, 0.08)),
    #080605;
  border: 1px solid rgba(245, 234, 214, 0.12);
  margin-inline: auto;
  max-height: clamp(20rem, 58vh, 34rem);
  width: min(100%, clamp(15rem, 29vw, 25.5rem));
  overflow: hidden;
  position: relative;
}

.video-games-detail__screen-frame::before {
  color: rgba(245, 234, 214, 0.5);
  content: "Cover pending";
  display: none;
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  inset: 0;
  letter-spacing: 0;
  line-height: 1;
  place-items: center;
  position: absolute;
  text-transform: uppercase;
}

.video-games-detail__screen-frame.is-empty::before {
  display: grid;
}

.video-games-detail__screen-frame img {
  display: block;
  -webkit-filter: none;
  filter: none;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.vault-room-detail-frame--match {
  aspect-ratio: 16 / 9;
  max-height: clamp(12rem, 32vh, 20rem);
  width: min(100%, clamp(16rem, 31vw, 28rem));
}

.vault-room-detail-frame--match img {
  object-fit: cover;
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screens {
  display: none;
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-panel--details {
  padding-block: clamp(1.15rem, 1.8vw, 1.65rem) clamp(1.5rem, 3vh, 2.5rem);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screen-frame {
  border: 0;
  margin-inline: 0;
  width: 100%;
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screen-controls {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--game-red) 34%, transparent);
  margin-inline: clamp(1rem, 1.4vw, 1.45rem);
  margin-top: 0;
  padding: 0.55rem 0;
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-panel__head--details-title,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__facts,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .vault-room-match-cta,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__section {
  margin-inline: clamp(1rem, 1.4vw, 1.45rem);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-panel--details {
  border-left-color: rgba(245, 245, 240, 0.16);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-panel--details {
  border-left-color: var(--vault-paper-border);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screenshots-button,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__immersive-button {
  background: color-mix(in srgb, var(--game-red) 14%, rgba(8, 6, 5, 0.86));
  border-color: color-mix(in srgb, var(--game-red) 52%, rgba(245, 234, 214, 0.16));
  width: 100%;
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screenshots-button,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__immersive-button {
  background: rgba(var(--accent-red-rgb), 0.06);
  border-color: rgba(var(--accent-red-rgb), 0.44);
  color: var(--red);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screenshots-button:hover,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screenshots-button:focus-visible,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__immersive-button:hover,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__immersive-button:focus-visible {
  border-color: var(--game-red);
  box-shadow: 0 0 18px color-mix(in srgb, var(--game-red) 28%, transparent);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screenshots-button:hover,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__screenshots-button:focus-visible,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__immersive-button:hover,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__immersive-button:focus-visible {
  background: var(--red);
  border-color: var(--red);
  box-shadow: var(--focus-ring-strong);
  color: var(--on-accent);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-panel__head--details-title h2 {
  color: var(--game-red);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-panel__head--details-title p,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__facts dt,
.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__section > p {
  color: var(--game-red);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__facts {
  border-block-color: color-mix(in srgb, var(--game-red) 26%, transparent);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .video-games-detail__facts {
  border-block-color: var(--vault-paper-border);
}

.vault-room-page.is-vault-room-matches .video-games-detail__promotion-tag {
  align-items: center;
  color: var(--vault-promotion-color, var(--game-red));
  display: inline-flex;
}

.vault-room-page.is-vault-room-matches .vault-room-rating-section .vault-match-rating,
.vault-room-page.is-vault-room-matches .vault-room-rating-section .vault-match-rating .material-symbols-outlined,
.vault-room-page.is-vault-room-matches .vault-room-rating-section .vault-match-rating__text,
.vault-room-page.is-vault-room-matches .vault-room-rating-section .vault-match-rating__suffix {
  color: var(--vault-star-gold);
}

.vault-room-match-cta {
  display: none;
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .vault-room-match-cta {
  border-top: 1px solid color-mix(in srgb, var(--game-red) 26%, transparent);
  display: block;
  padding: clamp(1rem, 1.3vw, 1.25rem) 0 clamp(0.95rem, 1.2vw, 1.15rem);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .vault-room-match-cta {
  border-top-color: var(--vault-paper-border);
}

.vault-room-page.is-vault-room-games .vault-room-match-cta {
  margin-top: 0;
  padding: clamp(1rem, 1.3vw, 1.25rem) 0 clamp(0.95rem, 1.2vw, 1.15rem);
}

.vault-room-page:is(.is-vault-room-matches, .is-vault-room-games) .vault-room-match-cta[hidden] {
  display: none;
}

.vault-room-match-cta__button {
  align-items: center;
  animation: vaultCtaPulse 3.8s ease-in-out infinite;
  background: color-mix(in srgb, var(--game-red) 16%, rgba(8, 6, 5, 0.88));
  border: 1px solid color-mix(in srgb, var(--game-red) 58%, rgba(245, 234, 214, 0.16));
  color: #f5ead6;
  display: inline-flex;
  font-family: var(--display);
  font-size: clamp(0.9rem, 1.05vw, 1.05rem);
  font-weight: 800;
  gap: 0.65rem;
  justify-content: center;
  line-height: 1;
  min-height: 3.25rem;
  padding: 0.82rem 1rem 0.76rem;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

.vault-room-page .vault-room-match-cta__button {
  background: var(--red);
  border-color: var(--red);
  color: var(--on-accent);
}

@keyframes vaultCtaPulse {
  0%,
  100% {
    box-shadow: 0 0 0 color-mix(in srgb, var(--game-red) 0%, transparent);
  }

  50% {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--game-red) 18%, transparent),
      0 0 18px color-mix(in srgb, var(--game-red) 22%, transparent);
  }
}

.vault-room-match-cta__button:hover,
.vault-room-match-cta__button:focus-visible {
  animation-play-state: paused;
  border-color: var(--game-red);
  box-shadow: 0 0 22px color-mix(in srgb, var(--game-red) 30%, transparent);
  color: #ffffff;
  outline: none;
}

.vault-room-page .vault-room-match-cta__button:hover,
.vault-room-page .vault-room-match-cta__button:focus-visible {
  background: var(--red-dark);
  border-color: var(--red-dark);
  box-shadow: var(--focus-ring-strong);
  color: var(--on-accent);
}

.vault-room-match-cta__button .material-symbols-outlined {
  align-items: center;
  display: inline-flex;
  font-size: 1.42rem;
  height: 1.42rem;
  justify-content: center;
  line-height: 1;
  width: 1.42rem;
}

.vault-room-match-cta__button .material-symbols-svg {
  display: block;
  height: 1.42rem;
  width: 1.42rem;
}

.vault-room-match-cta__report {
  align-items: center;
  background: transparent;
  border: 0;
  color: rgba(245, 234, 214, 0.68);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 800;
  gap: 0.42rem;
  justify-content: center;
  letter-spacing: 0;
  margin-top: 0.7rem;
  min-height: 1.8rem;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

.vault-room-page .vault-room-match-cta__report {
  color: rgba(var(--vault-ink-rgb), 0.58);
}

.vault-room-match-cta__report:hover,
.vault-room-match-cta__report:focus-visible {
  color: #f5ead6;
  outline: none;
}

.vault-room-page .vault-room-match-cta__report:hover,
.vault-room-page .vault-room-match-cta__report:focus-visible {
  color: var(--red);
}

.vault-room-match-cta__report .material-symbols-outlined {
  align-items: center;
  display: inline-flex;
  font-size: 0.98rem;
  height: 0.98rem;
  justify-content: center;
  line-height: 1;
  width: 0.98rem;
}

.vault-room-match-cta__report[hidden] {
  display: none;
}

.vault-room-report-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2rem);
  position: fixed;
  z-index: 95;
}

.vault-room-report-modal[hidden] {
  display: none;
}

body.vault-report-modal-open {
  overflow: hidden;
}

.vault-room-report-modal__scrim {
  background: var(--vault-report-backdrop);
  border: 0;
  cursor: pointer;
  inset: 0;
  position: absolute;
}

.vault-room-report-modal__dialog {
  background:
    linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.08), transparent 9rem),
    var(--vault-report-surface);
  border: 1px solid var(--vault-report-border-strong);
  border-radius: 8px;
  box-shadow: var(--vault-report-shadow);
  color: var(--vault-report-ink);
  display: grid;
  gap: clamp(0.75rem, 1.4vw, 0.95rem);
  max-height: min(90dvh, 44rem);
  max-width: min(92vw, 34rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(1rem, 2vw, 1.5rem);
  position: relative;
  scrollbar-color: color-mix(in srgb, var(--red) 72%, transparent) transparent;
  width: 100%;
}

.vault-room-report-modal__dialog input[name="_honey"] {
  display: none;
}

.vault-room-report-modal__head {
  align-items: start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.vault-room-report-modal__head p,
.vault-room-report-modal__head h3,
.vault-room-report-field span {
  font-family: var(--display);
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.vault-room-report-modal__head p {
  color: var(--game-red);
  font-size: 0.72rem;
  font-weight: 800;
}

.vault-room-report-modal__head h3 {
  font-size: clamp(1.35rem, 2.7vw, 2rem);
  font-weight: 800;
  letter-spacing: 0;
}

.vault-room-report-modal__head button {
  align-items: center;
  background: var(--vault-report-surface-muted);
  border: 1px solid var(--vault-report-border);
  color: var(--vault-report-ink);
  cursor: pointer;
  display: inline-flex;
  height: 2.35rem;
  justify-content: center;
  width: 2.35rem;
}

.vault-room-report-modal__match {
  border-bottom: 1px solid var(--vault-report-border);
  color: var(--vault-report-muted);
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.25;
  margin: -0.2rem 0 0;
  padding-bottom: 0.75rem;
  text-transform: uppercase;
}

.vault-room-report-field {
  display: grid;
  gap: 0.45rem;
}

.vault-room-report-field span {
  color: var(--game-red);
  font-size: 0.68rem;
  font-weight: 800;
}

.vault-room-report-field input,
.vault-room-report-field select,
.vault-room-report-field textarea {
  background: var(--vault-report-field-surface);
  border: 1px solid var(--vault-report-border);
  color: var(--vault-report-ink);
  font: inherit;
  line-height: 1.35;
  min-height: 2.75rem;
  padding: 0.7rem 0.78rem;
  width: 100%;
}

.vault-room-report-field textarea {
  min-height: 7rem;
  resize: vertical;
}

.vault-room-report-field input::placeholder,
.vault-room-report-field textarea::placeholder {
  color: color-mix(in srgb, var(--vault-report-muted) 72%, transparent);
}

.vault-room-report-field input:focus,
.vault-room-report-field select:focus,
.vault-room-report-field textarea:focus,
.vault-room-report-modal__head button:focus-visible,
.vault-room-report-modal__submit:focus-visible,
.vault-room-report-modal__fallback:focus-visible {
  border-color: var(--red);
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.vault-room-report-modal__head button:hover,
.vault-room-report-modal__head button:focus-visible {
  background: var(--red);
  border-color: var(--red);
  color: var(--on-accent);
}

.vault-room-report-modal__status {
  color: var(--vault-report-muted);
  font-size: 0.88rem;
  line-height: 1.35;
  margin: 0;
  min-height: 1.2rem;
}

.vault-room-report-modal__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-start;
}

.vault-room-report-modal__submit {
  align-items: center;
  background: var(--red);
  border: 1px solid var(--red);
  color: var(--on-accent);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.86rem;
  font-weight: 800;
  gap: 0.5rem;
  justify-content: center;
  min-width: 13.5rem;
  min-height: 2.8rem;
  padding: 0.72rem 1.35rem;
  text-align: center;
  text-transform: uppercase;
}

.vault-room-report-modal__submit:hover,
.vault-room-report-modal__submit:focus-visible {
  background: var(--red-dark);
  border-color: var(--red-dark);
}

.vault-room-report-modal__submit:disabled {
  cursor: progress;
  opacity: 0.68;
}

.vault-room-report-modal__fallback {
  color: var(--vault-report-muted);
  font-family: var(--display);
  font-size: 0.76rem;
  font-weight: 800;
  flex-basis: 100%;
  text-transform: uppercase;
}

.vault-room-report-modal__fallback[hidden] {
  display: none;
}

.vault-room-report-modal__fallback:hover,
.vault-room-report-modal__fallback:focus-visible,
.vault-room-report-modal__dialog.is-submitted .vault-room-report-modal__status {
  color: var(--red);
}

@media (min-width: 641px) and (max-width: 1024px) {
  .vault-room-report-modal {
    padding: clamp(1.25rem, 4vw, 2.5rem);
  }

  .vault-room-report-modal__dialog {
    max-width: min(88vw, 38rem);
    padding: clamp(1.25rem, 2.8vw, 1.7rem);
  }
}

@media (max-width: 640px) {
  .vault-room-report-modal {
    align-items: flex-end;
    padding: 0;
  }

  .vault-room-report-modal__dialog {
    border-bottom: 0;
    border-inline: 0;
    border-radius: 8px 8px 0 0;
    max-height: calc(92dvh - env(safe-area-inset-bottom, 0px));
    max-width: 100%;
    padding:
      clamp(1rem, 5vw, 1.25rem)
      clamp(1rem, 5vw, 1.2rem)
      calc(clamp(1rem, 5vw, 1.25rem) + env(safe-area-inset-bottom, 0px));
  }

  .vault-room-report-modal__head {
    align-items: center;
  }

  .vault-room-report-modal__head h3 {
    font-size: 1.45rem;
  }

  .vault-room-report-modal__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .vault-room-report-modal__submit,
  .vault-room-report-modal__fallback {
    width: auto;
  }

  .vault-room-report-modal__fallback {
    display: inline-flex;
    justify-content: center;
    min-height: 2.4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vault-room-match-cta__button {
    animation: none;
  }
}

.video-games-detail__screen-frame.is-empty img {
  display: none;
}

.video-games-detail__screen-controls {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  margin-top: 0.55rem;
}

.video-games-detail__screenshots-button,
.video-games-detail__immersive-button {
  align-items: center;
  background: rgba(242, 38, 51, 0.1);
  border: 1px solid rgba(242, 38, 51, 0.3);
  color: #f5ead6;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.76rem;
  font-weight: 800;
  gap: 0.45rem;
  justify-content: center;
  line-height: 1;
  min-height: 2.25rem;
  padding: 0.48rem 0.72rem 0.42rem;
  text-transform: uppercase;
}

a.video-games-detail__screenshots-button {
  text-decoration: none;
}

.video-games-detail__immersive-button {
  margin-left: auto;
}

.video-games-detail__screenshots-button:hover,
.video-games-detail__screenshots-button:focus-visible,
.video-games-detail__immersive-button:hover,
.video-games-detail__immersive-button:focus-visible {
  border-color: var(--game-red);
  color: #ffffff;
  outline: none;
}

.video-games-detail__screenshots-button[hidden] {
  display: none;
}

.video-games-detail__screen-controls .material-symbols-outlined,
.video-games-screenshot-lightbox .material-symbols-outlined {
  align-items: center;
  display: inline-flex;
  font-size: 1.25rem;
  height: 1.25rem;
  justify-content: center;
  line-height: 1;
  width: 1.25rem;
}

.video-games-detail__screen-controls .material-symbols-svg,
.video-games-screenshot-lightbox .material-symbols-svg {
  display: block;
  height: 1.25rem;
  width: 1.25rem;
}

.video-games-screenshot-lightbox {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2rem);
  position: fixed;
  z-index: 90;
}

.video-games-screenshot-lightbox[hidden] {
  display: none;
}

.video-games-screenshot-lightbox__scrim {
  background: rgba(0, 0, 0, 0.88);
  border: 0;
  cursor: pointer;
  inset: 0;
  position: absolute;
}

.video-games-screenshot-lightbox__dialog {
  background: rgba(3, 2, 2, 0.99);
  border: 1px solid rgba(233, 202, 130, 0.26);
  box-shadow: 0 28px 88px rgba(0, 0, 0, 0.82);
  color: #f5ead6;
  max-width: min(94vw, 60.5rem);
  padding: clamp(0.8rem, 1.7vw, 1.15rem);
  position: relative;
  width: fit-content;
}

.video-games-screenshot-lightbox__head {
  align-items: start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.video-games-screenshot-lightbox__head p,
.video-games-screenshot-lightbox__head h3 {
  font-family: var(--display);
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.video-games-screenshot-lightbox__head p {
  color: var(--game-red);
  font-size: 0.68rem;
  font-weight: 800;
}

.video-games-screenshot-lightbox__head h3 {
  color: #f5ead6;
  font-size: clamp(1.1rem, 2.1vw, 1.65rem);
  font-weight: 800;
  margin-top: 0.2rem;
}

.video-games-screenshot-lightbox__head button,
.video-games-screenshot-lightbox__controls button {
  align-items: center;
  aspect-ratio: 1;
  background: rgba(242, 38, 51, 0.1);
  border: 1px solid rgba(242, 38, 51, 0.3);
  color: #f5ead6;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  padding: 0;
}

.video-games-screenshot-lightbox__head button {
  width: 2.2rem;
}

.video-games-screenshot-lightbox__frame {
  aspect-ratio: 4 / 3;
  background: #050403;
  border: 1px solid rgba(245, 234, 214, 0.12);
  margin-inline: auto;
  max-height: min(74vh, 37.125rem);
  overflow: hidden;
  width: min(90vw, 57.75rem, calc(min(74vh, 37.125rem) * 4 / 3));
}

.video-games-screenshot-lightbox__frame img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.video-games-screenshot-lightbox__controls {
  align-items: center;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: 2.2rem minmax(0, 1fr) 2.2rem;
  margin-top: 0.75rem;
}

.video-games-screenshot-lightbox__controls button {
  width: 2.2rem;
}

.video-games-screenshot-lightbox__head button:hover,
.video-games-screenshot-lightbox__head button:focus-visible,
.video-games-screenshot-lightbox__controls button:hover,
.video-games-screenshot-lightbox__controls button:focus-visible {
  border-color: var(--game-red);
  color: #ffffff;
  outline: none;
}

.video-games-screenshot-lightbox__controls span {
  color: rgba(245, 234, 214, 0.72);
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  justify-self: center;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.video-games-detail__facts {
  border-block: 1px solid rgba(233, 202, 130, 0.14);
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0.6rem 0;
}

.video-games-detail__facts div {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.35rem 0;
}

.video-games-detail__facts dt,
.video-games-detail__facts dd {
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}

.video-games-detail__facts dt {
  color: var(--game-gold);
}

.vault-room-page .video-games-detail__facts dt {
  color: var(--red);
}

.video-games-detail__facts dd {
  color: rgba(245, 234, 214, 0.78);
  text-align: right;
}

.vault-room-page .video-games-detail__facts dd {
  color: var(--ink);
}

.vault-room-page.is-vault-room-games .video-games-detail__facts {
  border-top: 0;
  gap: 0.45rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0.45rem;
  padding: 0.75rem 0;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact {
  align-items: start;
  background: transparent;
  border: 0;
  display: grid;
  gap: 0.22rem;
  justify-content: stretch;
  min-width: 0;
  padding: 0.55rem 0;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--platform,
.vault-room-page.is-vault-room-games .video-games-detail__fact--developer,
.vault-room-page.is-vault-room-games .video-games-detail__fact--publisher,
.vault-room-page.is-vault-room-games .video-games-detail__fact--roster,
.vault-room-page.is-vault-room-games .video-games-detail__fact--modes,
.vault-room-page.is-vault-room-games .video-games-detail__fact--best-for,
.vault-room-page.is-vault-room-games .video-games-detail__fact--learning-curve {
  grid-column: 1 / -1;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--players {
  order: 1;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--platform {
  order: 2;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--developer {
  order: 3;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--publisher {
  order: 4;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--roster {
  order: 5;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--modes {
  order: 6;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--best-for {
  order: 7;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--learning-curve {
  order: 8;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--source {
  order: 9;
}

.vault-room-page.is-vault-room-games .video-games-detail__facts dt {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}

.vault-room-page.is-vault-room-games .video-games-detail__facts dd {
  color: rgba(245, 234, 214, 0.84);
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  line-height: 1.28;
  text-align: left;
  text-transform: none;
}

.vault-room-page.is-vault-room-games .video-games-detail__facts dd {
  color: var(--ink);
}

.vault-room-page.is-vault-room-games .video-games-detail__facts dd a {
  color: var(--game-red);
  text-decoration: none;
}

.vault-room-page.is-vault-room-games .video-games-detail__facts dd a:hover,
.vault-room-page.is-vault-room-games .video-games-detail__facts dd a:focus-visible {
  color: var(--color-paper);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--release dd,
.vault-room-page.is-vault-room-games .video-games-detail__fact--platform dd,
.vault-room-page.is-vault-room-games .video-games-detail__fact--players dd,
.vault-room-page.is-vault-room-games .video-games-detail__fact--developer dd,
.vault-room-page.is-vault-room-games .video-games-detail__fact--publisher dd,
.vault-room-page.is-vault-room-games .video-games-detail__fact--source dd,
.vault-room-page.is-vault-room-games .video-games-detail__fact--learning-curve dd {
  font-size: 0.76rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--modes dd {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--modes dd span {
  background: transparent;
  border: 0;
  color: rgba(245, 234, 214, 0.86);
  display: inline-flex;
  font-size: 0.66rem;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.34rem 0.42rem;
  text-transform: uppercase;
}

.vault-room-page.is-vault-room-games .video-games-detail__fact--modes dd span {
  color: var(--ink-soft);
}

.video-games-detail__section {
  padding: 0.85rem 0;
}

.video-games-detail__section div {
  color: rgba(245, 234, 214, 0.78);
  line-height: 1.5;
  margin-top: 0.5rem;
}

.vault-room-page .video-games-detail__section div {
  color: rgba(var(--vault-ink-rgb), 0.74);
}

.vault-room-rating-section[hidden] {
  display: none;
}

.vault-room-rating-section .vault-match-rating {
  align-items: center;
  color: var(--vault-promotion-color, #b99a4b);
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.12rem;
  line-height: 1;
}

.vault-room-rating-section .vault-match-rating .material-symbols-outlined {
  align-items: center;
  color: var(--vault-promotion-color, #b99a4b);
  display: inline-flex;
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  height: 1.18rem;
  justify-content: center;
  line-height: 1;
  width: 1.18rem;
}

.vault-room-rating-section .vault-match-rating__text,
.vault-room-rating-section .vault-match-rating__suffix {
  color: color-mix(in srgb, var(--vault-promotion-color, #c5aa62) 72%, #f5ead6);
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .video-games-shell,
  .video-games-shell.is-filters-collapsed,
  .video-games-shell.is-details-collapsed,
  .video-games-shell.is-immersive {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    height: 100%;
    min-height: 0;
  }

  .video-games-panel {
    bottom: 0;
    max-width: min(22rem, calc(100vw - 3rem));
    position: absolute;
    top: 0;
    transform: none;
    width: min(22rem, calc(100vw - 3rem));
  }

  .video-games-panel--filters {
    left: 0;
  }

  .video-games-panel--details {
    right: 0;
  }

  .video-games-panel__toggle--filters-edge {
    left: calc(min(22rem, calc(100vw - 3rem)) - 2px);
  }

  .video-games-panel__toggle--details-edge {
    right: calc(min(22rem, calc(100vw - 3rem)) - 2px);
  }

  .video-games-panel[aria-hidden="true"] {
    pointer-events: none;
    visibility: hidden;
  }

  .video-games-room {
    grid-column: 1;
    min-height: 0;
  }

  .video-games-stage {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .video-games-stage {
    aspect-ratio: auto;
  }

  .video-games-stage__image {
    object-position: 48% 50%;
  }

  .video-games-hotspot span:last-child {
    display: none;
  }

  .video-games-selector {
    min-height: 7.5rem;
  }

  .video-games-game-card {
    flex-basis: 7.2rem;
  }
}

.vault-room-sheet-close,
.vault-room-filter-sheet-footer,
.vault-room-mobile-filter-trigger,
.vault-room-detail-modal-close,
.vault-room-sheet-overlay {
  display: none;
}

@media (max-width: 1180px), (hover: none) and (pointer: coarse) {
  html:has(.vault-room-page),
  body:has(.vault-room-page) {
    height: 100%;
    overflow: hidden;
  }

  .vault-room-page {
    height: calc(100dvh - var(--site-header-height, 72px));
    min-height: 0;
    overflow: hidden;
  }

  .vault-room-page .video-games-shell,
  .vault-room-page .video-games-shell.is-filters-collapsed,
  .vault-room-page .video-games-shell.is-details-collapsed,
  .vault-room-page .video-games-shell.is-immersive {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .vault-room-page .video-games-room {
    display: block;
    grid-column: 1;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .vault-room-page .video-games-stage {
    height: 100%;
    min-height: 0;
  }

  .vault-room-page .video-games-stage__surface {
    --video-games-surface-scale: 0.82;
  }

  .vault-room-page .video-games-selector {
    animation: none;
    background:
      linear-gradient(180deg, rgba(3, 2, 2, 0), rgba(3, 2, 2, 0.42) 28%, rgba(3, 2, 2, 0.66)),
      rgba(7, 5, 4, 0.3);
    bottom: 0;
    box-shadow: 0 -26px 44px rgba(0, 0, 0, 0.34);
    left: clamp(0.65rem, 3vw, 1.1rem);
    min-height: clamp(9.25rem, 27vh, 12.5rem);
    position: absolute;
    right: clamp(0.65rem, 3vw, 1.1rem);
    z-index: 7;
  }

  .vault-room-page.is-vault-detail-sheet-open .video-games-selector {
    opacity: 0;
    pointer-events: none;
    transform: translateY(1rem);
  }

  .vault-room-page .video-games-game-card {
    flex-basis: clamp(7.6rem, 31vw, 10rem);
  }

  .vault-room-page .vault-room-card--match {
    flex-basis: clamp(10rem, 50vw, 13rem);
  }

  .vault-room-page .video-games-shell > .video-games-panel__toggle,
  .vault-room-page .video-games-panel-float,
  .vault-room-page .video-games-room-immersive {
    display: none;
  }

  .vault-room-page .video-games-panel {
    max-width: none;
    width: 100%;
  }

  .vault-room-page .video-games-panel--filters,
  .vault-room-page .video-games-panel--details {
    background:
      linear-gradient(180deg, rgba(242, 38, 51, 0.1), transparent 16rem),
      rgb(8, 7, 6);
    border: 1px solid rgba(233, 202, 130, 0.24);
    bottom: 0;
    box-shadow: 0 -28px 78px rgba(0, 0, 0, 0.72);
    left: 0;
    max-width: none;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: auto;
    transform: translateY(104%);
    transition: opacity 220ms ease, transform 260ms ease, visibility 220ms ease;
    visibility: hidden;
    z-index: 70;
  }

  .vault-room-page .video-games-panel--filters {
    border-radius: 18px 18px 0 0;
    max-height: min(78dvh, 42rem);
    overflow: hidden;
    padding: 1rem clamp(1rem, 4vw, 1.25rem) calc(1rem + env(safe-area-inset-bottom, 0px));
  }

  .vault-room-page.is-vault-filter-sheet-open .video-games-panel--filters {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .vault-room-page .video-games-panel--filters .video-games-filter-group {
    max-height: min(46dvh, 25rem);
    overflow: auto;
    padding-bottom: 0.5rem;
  }

  .vault-room-page .video-games-panel--details {
    border: 0;
    border-radius: 0;
    bottom: 0;
    height: 100dvh;
    max-height: none;
    overflow: auto;
    padding: 0 clamp(1rem, 4vw, 1.25rem) calc(1rem + env(safe-area-inset-bottom, 0px));
    top: 0;
    z-index: 650;
  }

  .vault-room-page.is-vault-detail-sheet-open .video-games-panel--details {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .vault-room-page .video-games-panel--details .video-games-panel__head--details-title,
  .vault-room-page .video-games-panel--details .video-games-detail__facts,
  .vault-room-page .video-games-panel--details .vault-room-match-cta,
  .vault-room-page .video-games-panel--details .video-games-detail__section {
    margin-inline: 0;
  }

  .vault-room-page .video-games-panel--details .video-games-panel__head--details-title {
    padding-right: 3rem;
  }

  .vault-room-page .video-games-panel--details .video-games-detail__screens {
    border: 0;
    display: block;
    margin: 0 calc(clamp(1rem, 4vw, 1.25rem) * -1) 0.85rem;
    padding: 0;
  }

  .vault-room-page .video-games-panel--details .video-games-detail__screen-frame {
    background: transparent;
    border: 0;
    margin-inline: auto;
    max-height: min(45dvh, 28rem);
    width: min(100%, 26rem);
  }

  .vault-room-page .video-games-panel--details .video-games-detail__screen-frame img {
    object-fit: contain;
  }

  .vault-room-page .video-games-panel--details .video-games-detail__screen-controls {
    display: none;
  }

  .vault-room-page .video-games-panel--details .video-games-detail__screens {
    margin-top: 0;
  }

  .vault-room-page .video-games-panel--details .vault-room-detail-frame--match {
    max-height: none;
    width: 100%;
  }

  .vault-room-page .video-games-panel--details .video-games-panel__head--details-title {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0.8rem;
  }

  .vault-room-page .video-games-panel--details .vault-room-match-cta {
    margin-top: 0;
  }

  .vault-room-page .video-games-panel--details .video-games-panel__head h2 {
    font-size: clamp(1.35rem, 4.6vw, 2.1rem);
    line-height: 0.94;
    overflow-wrap: normal;
    white-space: nowrap;
  }

  .vault-room-page .video-games-panel__head {
    align-items: center;
    border-bottom: 1px solid rgba(233, 202, 130, 0.14);
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
  }

  .vault-room-sheet-close,
  .vault-room-detail-modal-close {
    align-items: center;
    aspect-ratio: 1;
    background: rgba(10, 8, 6, 0.78);
    border: 1px solid rgba(233, 202, 130, 0.34);
    color: #f5ead6;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    width: 2.6rem;
  }

  .vault-room-detail-modal-close {
    position: fixed;
    right: clamp(1rem, 4vw, 1.25rem);
    top: calc(clamp(1rem, 4vw, 1.25rem) + env(safe-area-inset-top, 0px));
    z-index: 660;
  }

  .vault-room-sheet-close .material-symbols-outlined,
  .vault-room-detail-modal-close .material-symbols-outlined,
  .vault-room-mobile-filter-trigger .material-symbols-outlined {
    align-items: center;
    display: inline-flex;
    font-size: 1.25rem;
    height: 1.25rem;
    justify-content: center;
    line-height: 1;
    width: 1.25rem;
  }

  .vault-room-filter-sheet-footer {
    border-top: 1px solid rgba(233, 202, 130, 0.14);
    display: block;
    padding-top: 0.85rem;
  }

  .vault-room-filter-sheet-apply {
    background: rgba(242, 38, 51, 0.16);
    border: 1px solid rgba(242, 38, 51, 0.58);
    color: #f5ead6;
    cursor: pointer;
    font-family: var(--display);
    font-size: 0.9rem;
    font-weight: 800;
    min-height: 3rem;
    text-transform: uppercase;
    width: 100%;
  }

  .vault-room-mobile-filter-trigger {
    align-items: center;
    background: rgba(8, 6, 5, 0.78);
    border: 1px solid rgba(233, 202, 130, 0.36);
    color: #f5ead6;
    cursor: pointer;
    display: inline-flex;
    font-family: var(--display);
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.45rem;
    left: clamp(0.75rem, 3vw, 1rem);
    min-height: 2.65rem;
    padding: 0.52rem 0.8rem 0.46rem;
    position: absolute;
    text-transform: uppercase;
    top: clamp(0.75rem, 3vw, 1rem);
    z-index: 8;
  }

  .vault-room-sheet-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.58));
    border: 0;
    cursor: pointer;
    display: block;
    inset: 0;
    opacity: 1;
    position: fixed;
    z-index: 60;
  }

  .vault-room-sheet-overlay[hidden] {
    display: none;
  }

  .vault-room-page .video-games-hotspot-card {
    left: clamp(0.75rem, 4vw, 1rem);
    max-width: none;
    right: clamp(0.75rem, 4vw, 1rem);
    top: clamp(3.85rem, 13vw, 4.35rem);
  }

  .vault-room-page .video-games-poster-shadowbox {
    align-content: start;
    align-items: start;
    gap: 1rem;
    grid-auto-rows: max-content;
    grid-template-columns: minmax(0, 1fr);
    inset: 0;
    left: 0;
    max-width: none;
    overflow-x: hidden;
    overflow-y: auto;
    padding:
      calc(var(--site-header-height, 72px) + 1rem)
      1rem
      calc(1rem + env(safe-area-inset-bottom, 0px));
    right: 0;
    top: 0;
  }

  .vault-room-page .video-games-poster-shadowbox__image-wrap {
    width: 100%;
  }

  .vault-room-page .video-games-poster-shadowbox__image {
    height: auto;
    margin-inline: auto;
    max-height: min(52dvh, calc(100dvh - var(--site-header-height, 72px) - 2rem));
    width: auto;
  }

  .vault-room-page .video-games-poster-shadowbox__facts div {
    grid-template-columns: minmax(5.5rem, 0.38fr) minmax(0, 1fr);
  }

  .vault-room-page .video-games-panel--filters,
  .vault-room-page .video-games-panel--details {
    background:
      linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.1), transparent 16rem),
      rgb(var(--vault-paper-rgb)) !important;
  }

  .vault-room-page.is-vault-room-matches .video-games-panel--details .video-games-detail__screens {
    margin: 0 calc(clamp(1rem, 4vw, 1.25rem) * -1) 0.85rem;
    padding: 0;
  }

  .vault-room-page.is-vault-room-matches .video-games-panel--details .vault-room-detail-frame--match {
    margin-inline: 0;
    max-height: none;
    width: 100%;
  }

  .vault-room-page.is-vault-room-matches .video-games-panel--details .vault-room-detail-frame--match img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }

}

@media (min-width: 900px) and (max-width: 1400px) and (orientation: landscape),
       (min-width: 900px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  .vault-room-page .video-games-poster-shadowbox {
    align-content: center;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 3rem);
    grid-auto-rows: auto;
    grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
    justify-items: stretch;
    padding:
      calc(var(--site-header-height, 72px) + clamp(1rem, 2vw, 1.5rem))
      clamp(1.5rem, 4vw, 4rem)
      clamp(1rem, 2vw, 1.5rem);
  }

  .vault-room-page .video-games-poster-shadowbox__image-wrap {
    height: calc(100dvh - var(--site-header-height, 72px) - clamp(2.5rem, 5vw, 4rem));
    max-height: none;
  }

  .vault-room-page .video-games-poster-shadowbox__image {
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    width: auto;
  }

  .vault-room-page .video-games-poster-shadowbox__info {
    align-self: center;
    max-height: calc(100dvh - var(--site-header-height, 72px) - clamp(2.5rem, 5vw, 4rem));
    overflow-y: auto;
    width: 100%;
  }

  .vault-room-page .video-games-poster-shadowbox__facts div {
    grid-template-columns: minmax(7.5rem, 0.44fr) minmax(0, 1fr);
  }

  .vault-room-page .video-games-poster-shadowbox__facts dt {
    line-height: 1.15;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .vault-room-page .video-games-poster-shadowbox__facts dd {
    overflow-wrap: anywhere;
  }
}

/* Pages render in their final state; motion is reserved for direct interaction. */
.start-story-editorial .section[data-start-reveal] .section__inner,
[data-pub-reveal] .start-publication__number,
[data-pub-reveal] .start-publication__copy h2,
[data-pub-reveal] .start-publication__copy > p,
[data-pub-reveal] .start-publication__notes,
[data-pub-reveal] .start-publication-photo,
[data-pub-reveal] .start-publication-style-strip article,
[data-pub-reveal] .start-publication-newsgrid article,
[data-quote-reveal] .start-publication-quote__text,
[data-timeline-reveal] .timeline-era-nav,
[data-timeline-reveal] .timeline-workspace {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  transition-delay: 0s !important;
}

[data-quote-reveal] img.start-publication-quote__tv {
  opacity: 1 !important;
  transform: rotate(-15deg) translateX(0) !important;
  transition: none !important;
  transition-delay: 0s !important;
}

.timeline-page .timeline-archive-hero .styles-archive-hero__copy,
.timeline-page .timeline-archive-hero h1 {
  transition: none !important;
}

.home-about-float::before,
.home-about-float.is-pulsing:not(:hover):not(:focus-visible),
.timeline-rail__item.is-active .timeline-rail__dot::before,
.timeline-rail__item.is-active .timeline-rail__dot::after,
.lens-button[data-lens-button="rivalries"]::after,
.rivalry-connector__dot::before,
.rivalry-connector__dot::after,
.wrestler-detail-panel__morph-progress,
[data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::before,
[data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::after,
.jp-beacon.is-active .jp-beacon-pulse,
.jp-inset-beacon.is-active .jp-beacon-pulse,
.video-games-room-immersive::before,
.video-games-room-immersive:not([aria-pressed="true"]),
.video-games-panel-float--filters:not([hidden]),
.video-games-panel-float--details:not([hidden]),
.video-games-stage__window-rain span,
.video-games-stage__neon-glow.is-neon-flickering,
.vault-room-match-cta__button,
.lineage-node.is-related .lineage-node-halo--outer,
.lineage-node:focus-visible .lineage-node-halo--outer,
.lineage-node.is-active .lineage-node-info-button__pulse--one,
.lineage-node.is-active .lineage-node-info-button__pulse--two,
[data-wrestlers-page] [data-wrestler-view-toggle="rivalries"]::after,
[data-wrestlers-page] .lens-button[data-lens-button="rivalries"] {
  animation: none !important;
}

[data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::before,
.video-games-room-immersive::before {
  opacity: var(--red-pulse-rest-opacity, 0.18);
}

@media (min-width: 900px) and (max-width: 1180px), (min-width: 900px) and (hover: none) and (pointer: coarse) {
  .vault-room-page.is-vault-tablet-detail-pane {
    --vault-room-tablet-filter-width: min(19rem, 28vw);
    --vault-room-tablet-detail-width: min(24rem, 34vw);
  }

  .vault-room-page.is-vault-tablet-detail-pane.is-vault-detail-sheet-open .video-games-selector {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel-float--details:not([hidden]) {
    display: inline-flex;
    position: fixed;
    right: 0;
    top: calc(var(--site-header-height, 72px) + clamp(1rem, 2vw, 1.45rem));
    z-index: 45;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel-float--filters:not([hidden]) {
    display: inline-flex;
    left: 0;
    position: fixed;
    top: calc(var(--site-header-height, 72px) + clamp(1rem, 2vw, 1.45rem));
    z-index: 45;
  }

  .vault-room-page.is-vault-tablet-detail-pane .vault-room-mobile-filter-trigger {
    display: none;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--filters {
    border-block: 0;
    border-left: 0;
    border-radius: 0;
    border-right: 1px solid rgba(233, 202, 130, 0.24);
    bottom: 0;
    box-shadow: 24px 0 64px rgba(0, 0, 0, 0.58);
    left: 0;
    max-height: none;
    max-width: var(--vault-room-tablet-filter-width);
    overflow: auto;
    padding: clamp(1rem, 1.5vw, 1.35rem);
    position: fixed;
    right: auto;
    top: var(--site-header-height, 72px);
    transform: translateX(-104%);
    width: var(--vault-room-tablet-filter-width);
  }

  .vault-room-page.is-vault-tablet-detail-pane.is-vault-filter-sheet-open .video-games-panel--filters {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
    visibility: visible;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--filters .video-games-filter-group {
    max-height: none;
    overflow: visible;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--filters .vault-room-filter-sheet-footer {
    display: none;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details {
    border: 0;
    border-radius: 0;
    bottom: 0;
    box-shadow: -24px 0 64px rgba(0, 0, 0, 0.58);
    height: 100dvh;
    left: auto;
    max-height: none;
    max-width: var(--vault-room-tablet-detail-width);
    padding: clamp(1rem, 1.5vw, 1.35rem);
    padding-top: 0;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(104%);
    width: var(--vault-room-tablet-detail-width);
    z-index: 650;
  }

  .vault-room-page.is-vault-tablet-detail-pane.is-vault-detail-sheet-open .video-games-panel--details {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .video-games-panel__head--details-title,
  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .video-games-detail__facts,
  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .vault-room-match-cta,
  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .video-games-detail__section {
    margin-inline: 0;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .video-games-panel__head--details-title {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0.8rem;
    padding-right: 3rem;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .vault-room-match-cta {
    margin-top: 0;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .video-games-panel__head h2 {
    font-size: clamp(1.4rem, 2.2vw, 2.05rem);
    line-height: 0.94;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .video-games-detail__screens {
    display: block;
    margin: 0 calc(clamp(1rem, 1.5vw, 1.35rem) * -1) 0.85rem;
    padding: 0;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .vault-room-detail-frame--match {
    max-height: none;
    width: 100%;
  }

  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details .video-games-panel__head {
    align-items: flex-start;
  }

  .vault-room-page.is-vault-tablet-detail-pane .vault-room-detail-modal-close {
    display: inline-flex;
    right: clamp(0.85rem, 1.6vw, 1.2rem);
    top: calc(clamp(0.85rem, 1.6vw, 1.2rem) + env(safe-area-inset-top, 0px));
    z-index: 660;
  }
}

@media (min-width: 701px) and (max-width: 1180px), (min-width: 701px) and (hover: none) and (pointer: coarse) {
  .vault-room-page .video-games-selector {
    min-height: clamp(8.5rem, 22vh, 11rem);
  }

  .vault-room-page.is-vault-games-mode .video-games-selector {
    min-height: clamp(15.75rem, 35vh, 18.5rem);
  }

  .vault-room-page .video-games-poster-eye {
    display: inline-flex;
  }
}

@media (min-width: 701px) and (max-width: 1180px) and (orientation: portrait) {
  .vault-room-page .video-games-poster-eye[data-hotspot="poster-left-top"],
  .vault-room-page .video-games-poster-eye[data-hotspot="poster-left-lower"],
  .vault-room-page .video-games-poster-eye[data-hotspot="poster-right-yellow"] {
    display: none;
  }
}

@media (max-width: 700px) {
  .vault-room-page .video-games-shell .video-games-stage__surface {
    --video-games-surface-scale: 0.9;
    --video-games-surface-shift-x: -1.35%;
    top: -30px;
  }

  .vault-room-page .vault-room-mobile-filter-trigger {
    left: auto;
    right: clamp(0.75rem, 3vw, 1rem);
  }

  .vault-room-page .video-games-selector {
    left: 0;
    right: auto;
    width: 100vw;
  }

  .vault-room-page .video-games-poster-eye--rail-overlay {
    left: clamp(22px, calc(var(--poster-eye-overlay-x, -999px) + 10px), calc(100% - 22px));
  }

  .vault-room-page .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-great-muta"] {
    left: clamp(22px, calc(var(--poster-eye-overlay-x, -999px) - 5px), calc(100% - 22px));
    top: calc(var(--poster-eye-mobile-aligned-top, calc(var(--poster-eye-overlay-y, -999px) - 20px)) + 20px);
  }

  .vault-room-page .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-rikidozan"] {
    left: 36px;
    top: calc(var(--poster-eye-overlay-y, -999px) - 50px);
  }

  .vault-room-page .video-games-poster-eye--rail-overlay[data-hotspot-overlay="figure-mil-mascaras"] {
    left: calc(100% - 59px);
    top: calc(var(--poster-eye-overlay-y, -999px) - 36px);
  }

  .vault-room-page .video-games-poster-eye[data-hotspot="poster-left-top"],
  .vault-room-page .video-games-poster-eye[data-hotspot="poster-left-lower"],
  .vault-room-page .video-games-poster-eye[data-hotspot="poster-desk-left"],
  .vault-room-page .video-games-poster-eye[data-hotspot="magazine-stack-left"],
  .vault-room-page .video-games-poster-eye[data-hotspot="magazine-stack-right"],
  .vault-room-page .video-games-poster-eye[data-hotspot="poster-right-dark"],
  .vault-room-page .video-games-poster-eye[data-hotspot="poster-right-yellow"] {
    display: none;
  }
}

.vault-room-page .vault-room-mode-tabs button:hover .material-symbols-outlined,
.vault-room-page .vault-room-mode-tabs button:focus-visible .material-symbols-outlined {
  color: currentColor;
}

.vault-room-page .vault-room-mode-tabs button.is-active .material-symbols-outlined,
.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon {
  color: var(--on-accent);
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"],
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] {
  background: var(--red);
  border-color: var(--red);
  color: var(--on-accent);
}

.vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-check,
.vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-check,
.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option[aria-pressed="true"] .video-games-filter-check {
  background: var(--on-accent);
  border-color: var(--on-accent);
  color: var(--red);
}

.vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option[aria-pressed="true"] {
  background: var(--red);
  border-color: var(--red);
  color: var(--on-accent);
}

.vault-room-page .video-games-selector__arrow:disabled,
.vault-room-page .video-games-selector__arrow[aria-disabled="true"] {
  color: rgba(var(--vault-ink-rgb), 0.28);
}

.vault-room-page .vault-room-card--match .vault-room-card__thumb::before {
  background:
    linear-gradient(90deg, rgba(var(--vault-ink-rgb), 0.04) 0 1px, transparent 1px calc(100% - 1px), rgba(var(--vault-ink-rgb), 0.035) calc(100% - 1px)),
    linear-gradient(180deg, rgba(var(--vault-ink-rgb), 0.04) 0 1px, transparent 1px calc(100% - 1px), rgba(var(--vault-ink-rgb), 0.035) calc(100% - 1px)),
    var(--vault-paper-surface-muted);
}

.vault-room-page .video-games-detail__facts div + div {
  border-top: 1px solid rgba(var(--vault-ink-rgb), 0.08);
}

.vault-room-page.is-vault-room-games .video-games-detail__facts dd a:hover,
.vault-room-page.is-vault-room-games .video-games-detail__facts dd a:focus-visible {
  color: var(--red-dark);
}

@media (max-width: 1180px), (hover: none) and (pointer: coarse) {
  .vault-room-page .video-games-selector,
  .vault-room-page .video-games-shell.is-immersive .video-games-selector,
  .video-games-initial-immersive .vault-room-page .video-games-selector {
    background:
      linear-gradient(180deg, rgba(3, 2, 2, 0), rgba(3, 2, 2, 0.42) 28%, rgba(3, 2, 2, 0.66)),
      rgba(7, 5, 4, 0.3);
    border: 1px solid rgba(233, 202, 130, 0.14);
    box-shadow: 0 -26px 44px rgba(0, 0, 0, 0.34);
  }

  .vault-room-page .video-games-panel--filters,
  .vault-room-page .video-games-panel--details {
    background:
      var(--vault-paper-grain),
      rgb(var(--vault-paper-rgb));
    background-size: auto, 17px 17px, 23px 23px, auto;
    border-color: var(--vault-paper-border);
    box-shadow: 0 -24px 58px rgba(var(--shadow-rgb), 0.22);
    color: var(--ink);
  }

  .vault-room-page .video-games-panel__head {
    border-bottom-color: var(--vault-paper-border);
  }

  .vault-room-sheet-close,
  .vault-room-detail-modal-close,
  .vault-room-mobile-filter-trigger {
    background: var(--vault-paper-surface);
    border-color: var(--vault-paper-border-strong);
    color: var(--ink);
  }

  .vault-room-sheet-close:hover,
  .vault-room-sheet-close:focus-visible,
  .vault-room-detail-modal-close:hover,
  .vault-room-detail-modal-close:focus-visible,
  .vault-room-mobile-filter-trigger:hover,
  .vault-room-mobile-filter-trigger:focus-visible {
    background: var(--red);
    border-color: var(--red);
    color: var(--on-accent);
    outline: none;
  }

  .vault-room-filter-sheet-footer {
    border-top-color: var(--vault-paper-border);
  }

  .vault-room-filter-sheet-apply {
    background: var(--red);
    border-color: var(--red);
    color: var(--on-accent);
  }

  .vault-room-sheet-overlay {
    background:
      radial-gradient(circle at 50% 20%, rgba(var(--accent-red-rgb), 0.16), transparent 18rem),
      rgba(0, 0, 0, 0.76);
  }
}

@media (min-width: 900px) and (max-width: 1180px), (min-width: 900px) and (hover: none) and (pointer: coarse) {
  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--filters,
  .vault-room-page.is-vault-tablet-detail-pane .video-games-panel--details {
    border-color: var(--vault-paper-border);
    box-shadow: 0 18px 50px rgba(var(--shadow-rgb), 0.18);
  }

  .vault-room-page.is-vault-tablet-detail-pane.is-vault-room-matches .video-games-panel--details .video-games-detail__screens {
    margin: 0 calc(clamp(1rem, 1.5vw, 1.35rem) * -1) 0.85rem;
    padding: 0;
  }

  .vault-room-page.is-vault-tablet-detail-pane.is-vault-room-matches .video-games-panel--details .vault-room-detail-frame--match {
    margin-inline: 0;
    max-height: none;
    width: 100%;
  }

  .vault-room-page.is-vault-tablet-detail-pane.is-vault-room-matches .video-games-panel--details .vault-room-detail-frame--match img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
}

[data-theme="archival-dark"] .vault-room-page {
  --game-red: #f22633;
  --game-gold: #e4bd67;
  --red: #f22633;
  --red-dark: #b01624;
  --ink: #f5ead6;
  --ink-soft: rgba(245, 234, 214, 0.78);
  --vault-ink-rgb: 245, 234, 214;
  --vault-paper-rgb: 8, 7, 6;
  --vault-paper-border: rgba(233, 202, 130, 0.2);
  --vault-paper-border-strong: rgba(233, 202, 130, 0.34);
  --vault-paper-surface: rgba(8, 7, 6, 0.86);
  --vault-paper-surface-muted: rgba(15, 11, 8, 0.88);
  --vault-report-backdrop:
    radial-gradient(circle at 50% 10%, rgba(242, 38, 51, 0.18), transparent 22rem),
    rgba(0, 0, 0, 0.78);
  --vault-report-surface: rgba(8, 7, 6, 0.96);
  --vault-report-surface-muted: rgba(18, 14, 10, 0.9);
  --vault-report-field-surface: rgba(15, 11, 8, 0.88);
  --vault-report-ink: #f5ead6;
  --vault-report-muted: rgba(245, 234, 214, 0.68);
  --vault-report-border: rgba(233, 202, 130, 0.22);
  --vault-report-border-strong: rgba(233, 202, 130, 0.36);
  --vault-report-shadow: 0 28px 88px rgba(0, 0, 0, 0.72);
  --vault-paper-grain:
    linear-gradient(180deg, rgba(242, 38, 51, 0.08), transparent 18rem),
    var(--game-panel);
}

[data-theme="archival-dark"] .vault-room-page .vault-room-mode-tabs button {
  background: transparent;
  border-color: transparent;
  color: rgba(245, 234, 214, 0.7);
}

[data-theme="archival-dark"] .vault-room-page .vault-room-mode-tabs button:hover,
[data-theme="archival-dark"] .vault-room-page .vault-room-mode-tabs button:focus-visible,
[data-theme="archival-dark"] .vault-room-page .vault-room-mode-tabs button.is-active {
  background: rgba(var(--accent-red-rgb), 0.18);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: #ffffff;
}

[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button {
  background: rgba(15, 11, 8, 0.62);
  border-color: rgba(233, 202, 130, 0.18);
  color: rgba(245, 234, 214, 0.84);
}

[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:hover,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:focus-visible,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:hover,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.12);
  border-color: rgba(var(--accent-red-rgb), 0.54);
  color: #ffffff;
}

[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-icon--logo img,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-icon--logo img {
  filter: brightness(0) saturate(100%) invert(91%) sepia(13%) saturate(426%) hue-rotate(353deg) brightness(105%) contrast(92%);
  opacity: 0.9;
}

[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:hover .video-games-filter-icon--logo img,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button:focus-visible .video-games-filter-icon--logo img,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:hover .video-games-filter-icon--logo img,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button:focus-visible .video-games-filter-icon--logo img,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="platform"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon--logo img,
[data-theme="archival-dark"] .vault-room-page .video-games-filter-group[data-filter-group="primary"] .video-games-filter-group__options button[aria-pressed="true"] .video-games-filter-icon--logo img {
  filter: none;
  opacity: 1;
}

[data-theme="archival-dark"] .vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option {
  background: rgba(20, 20, 20, 0.88);
  border-color: rgba(245, 234, 214, 0.18);
  color: rgba(245, 234, 214, 0.82);
}

[data-theme="archival-dark"] .vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option:hover,
[data-theme="archival-dark"] .vault-room-page.is-vault-room-matches .vault-room-promotion-filter .archive-filter-option:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.12);
  border-color: rgba(var(--accent-red-rgb), 0.54);
  color: #ffffff;
}

[data-theme="archival-dark"] .vault-room-page .video-games-panel__toggle:hover,
[data-theme="archival-dark"] .vault-room-page .video-games-panel__toggle:focus-visible,
[data-theme="archival-dark"] .vault-room-page .video-games-panel-float:hover,
[data-theme="archival-dark"] .vault-room-page .video-games-panel-float:focus-visible,
[data-theme="archival-dark"] .vault-room-page .video-games-room-immersive:hover,
[data-theme="archival-dark"] .vault-room-page .video-games-room-immersive:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.18);
  border-color: var(--game-red);
  box-shadow: none;
  color: #ffffff;
}

/* Beyond the Ring: Voices & Officials */
.voices-page {
  background:
    radial-gradient(circle at 82% 7rem, rgba(176, 36, 30, 0.14), transparent 24rem),
    radial-gradient(circle at 12% 22rem, rgba(208, 169, 78, 0.06), transparent 23rem),
    linear-gradient(180deg, #030303 0%, #0b0a09 42%, #030303 100%);
  color: #f4efe5;
  min-height: 100vh;
  overflow-x: hidden;
}

@media (min-width: 901px) {
  html:has(.voices-page),
  body:has(.voices-page) {
    min-height: 100dvh;
  }

  .voices-page {
    box-sizing: border-box;
    min-height: calc(100dvh - var(--site-header-height));
    overflow-x: hidden;
    overflow-y: visible;
    padding: 1rem clamp(1rem, 3vw, 2rem);
  }
}

.voices-hero {
  align-items: end;
  border-bottom: 1px solid rgba(244, 239, 229, 0.18);
  display: grid;
  grid-template-columns: minmax(20rem, 0.45fr) minmax(0, 1fr);
  min-height: clamp(21rem, 34vw, 31rem);
  overflow: hidden;
  padding: clamp(2.5rem, 5.4vw, 5rem) clamp(1.5rem, 5vw, 5rem) clamp(1.6rem, 3.4vw, 2.8rem);
  position: relative;
}

.voices-hero::before,
.voices-hero::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.voices-hero::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.98) 0%, rgba(0, 0, 0, 0.72) 34%, rgba(0, 0, 0, 0.2) 68%, rgba(0, 0, 0, 0.86) 100%),
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: auto, 100% 7px;
  z-index: 2;
}

.voices-hero::after {
  background:
    radial-gradient(circle at 62% 42%, rgba(244, 239, 229, 0.2), transparent 13rem),
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.6) 100%);
  mix-blend-mode: screen;
  opacity: 0.22;
  z-index: 3;
}

.voices-hero__copy {
  max-width: 38rem;
  min-width: 0;
  position: relative;
  z-index: 4;
}

.voices-hero__eyebrow,
.voices-archive__intro p {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  margin: 0 0 0.9rem;
  text-transform: uppercase;
}

.voices-hero h1 {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(4.2rem, 8.1vw, 8.7rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.84;
  margin: 0;
  max-width: 8.2ch;
  text-transform: uppercase;
}

.voices-hero__jp {
  color: rgba(244, 239, 229, 0.9);
  font-size: clamp(1.05rem, 1.8vw, 1.45rem);
  font-weight: 800;
  margin: clamp(1rem, 2vw, 1.4rem) 0 0;
}

.voices-hero__dek {
  color: rgba(244, 239, 229, 0.78);
  font-family: var(--display);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
  margin: 1rem 0 0;
  max-width: 35rem;
  text-transform: uppercase;
}

.voices-hero__collage {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(4, minmax(8rem, 1fr));
  inset: 0 0 0 30%;
  opacity: 0.9;
  position: absolute;
  z-index: 1;
}

.voices-hero__portrait,
.voice-card__portrait,
.voice-detail__portrait {
  background:
    radial-gradient(circle at 28% 18%, rgba(var(--accent-red-rgb), 0.18), transparent 7rem),
    linear-gradient(135deg, rgba(244, 239, 229, 0.12), transparent 48%),
    linear-gradient(180deg, rgba(244, 239, 229, 0.12), rgba(0, 0, 0, 0.38)),
    #171615;
  position: relative;
}

.voices-hero__portrait::before,
.voice-card__portrait::before,
.voice-detail__portrait::before {
  color: rgba(0, 0, 0, 0.55);
  content: attr(data-initials);
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: 0;
  position: absolute;
}

.voice-card__portrait.has-image::before,
.voice-card__portrait.has-image::after,
.voice-detail__portrait.has-image::before,
.voice-detail__portrait.has-image::after {
  opacity: 0;
}

.voice-portrait__image {
  filter: grayscale(100%) sepia(0.12) contrast(1.08) brightness(0.88);
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center 35%;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.voice-card__portrait.has-image .voice-portrait__image,
.voice-detail__portrait.has-image .voice-portrait__image {
  opacity: 1;
}

.voice-detail__portrait .voice-portrait__image {
  filter: none;
  opacity: 1;
}

.voice-detail__portrait .voice-portrait__image {
  object-position: center top;
}

.voice-card .voice-portrait__image {
  filter: grayscale(100%) contrast(125%) brightness(86%) sepia(0);
  opacity: 0.88;
}

.voice-card:hover .voice-portrait__image,
.voice-card:focus-visible .voice-portrait__image,
.voice-card.is-active .voice-portrait__image {
  filter: none;
  opacity: 1;
}

.voices-hero__portrait {
  border-inline: 1px solid rgba(244, 239, 229, 0.08);
  min-height: 100%;
}

.voices-hero__portrait::before {
  bottom: 10%;
  font-size: clamp(4rem, 8vw, 8rem);
  left: 12%;
  opacity: 0.28;
}

.voices-hero__portrait--one {
  transform: translateY(9%);
}

.voices-hero__portrait--two {
  filter: grayscale(100%) sepia(0.2) contrast(1.32) brightness(0.88);
  transform: translateY(2%);
}

.voices-hero__portrait--three {
  transform: translateY(6%);
}

.voices-hero__portrait--four {
  transform: translateY(12%);
}

.voices-layout {
  align-items: start;
  display: grid;
  gap: clamp(0.55rem, 0.85vw, 0.95rem);
  grid-template-columns: minmax(0, 1fr) clamp(330px, 24vw, 420px);
  height: auto;
  margin: 0 auto;
  max-width: 1720px;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.voices-archive {
  height: auto;
  min-width: 0;
  overscroll-behavior: auto;
  overflow-y: visible;
  scrollbar-color: rgba(var(--accent-red-rgb), 0.62) rgba(244, 239, 229, 0.08);
}

@media (min-width: 1121px) {
  .voices-archive {
    height: auto;
    margin-top: 20px;
    padding-right: clamp(0.85rem, 1vw, 1.15rem);
  }
}

.voices-archive::-webkit-scrollbar {
  width: 0.55rem;
}

.voices-archive::-webkit-scrollbar-thumb {
  background: rgba(var(--accent-red-rgb), 0.62);
}

.voices-archive::-webkit-scrollbar-track {
  background: rgba(244, 239, 229, 0.08);
}

.voices-archive__intro {
  border-bottom: 1px solid rgba(244, 239, 229, 0.14);
  display: grid;
  gap: clamp(0.45rem, 1vw, 0.75rem);
  margin-bottom: clamp(1.35rem, 2.2vw, 2rem);
  padding-bottom: clamp(1rem, 1.6vw, 1.25rem);
}

.voices-archive__intro h2 {
  color: rgba(244, 239, 229, 0.82);
  font-family: var(--display);
  font-size: clamp(1.05rem, 1.45vw, 1.45rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0;
  max-width: 56rem;
  overflow-wrap: anywhere;
  text-transform: uppercase;
  white-space: normal;
}

.voices-archive__intro h1 {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(3rem, 4.55vw, 5rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.88;
  margin: 0;
  max-width: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.voices-rails {
  display: grid;
  gap: clamp(1.6rem, 2.6vw, 2.5rem);
}

.voices-rail {
  min-width: 0;
}

.voices-rail__header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.7rem;
}

.voices-rail__header h2 {
  color: #e8dfce;
  font-family: var(--display);
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.voices-rail__body {
  align-items: center;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: minmax(0, 1fr) auto;
  position: relative;
}

.voices-rail__track {
  display: flex;
  gap: 0.65rem;
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 4.75rem), transparent 100%);
  mask-size: 100% 100%;
  min-width: 0;
  overflow-x: auto;
  padding: 0.25rem 0 0.65rem;
  scroll-snap-type: x proximity;
  scrollbar-color: rgba(var(--accent-red-rgb), 0.7) rgba(244, 239, 229, 0.08);
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 4.75rem), transparent 100%);
  -webkit-mask-size: 100% 100%;
}

.voices-rail__track.is-scrolled-to-end {
  mask-image: linear-gradient(90deg, transparent 0, #000 4.75rem, #000 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4.75rem, #000 100%);
}

.voices-rail__track::-webkit-scrollbar {
  height: 0.5rem;
}

.voices-rail__track::-webkit-scrollbar-thumb {
  background: rgba(var(--accent-red-rgb), 0.72);
}

.voices-rail__track::-webkit-scrollbar-track {
  background: rgba(244, 239, 229, 0.08);
}

.voices-rail__arrow {
  align-items: center;
  aspect-ratio: 1;
  background: #060606;
  border: 1px solid rgba(244, 239, 229, 0.28);
  border-radius: 999px;
  color: #f4efe5;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  width: 2.55rem;
}

.voices-rail__arrow .material-symbols-outlined {
  font-size: 1.25rem;
  line-height: 1;
}

.voices-rail__arrow[data-rail-prev] {
  display: none;
}

.voices-rail__arrow:hover,
.voices-rail__arrow:focus-visible {
  border-color: var(--accent-red-strong);
  color: #ffffff;
  outline: none;
}

.voice-card {
  --voice-card-accent: #b22922;
  background:
    linear-gradient(180deg, rgba(244, 239, 229, 0.06), rgba(244, 239, 229, 0.018)),
    #10100f;
  border: 1px solid rgba(244, 239, 229, 0.18);
  border-radius: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.34);
  color: #f4efe5;
  cursor: pointer;
  display: flex;
  flex: 0 0 clamp(12rem, 15.2vw, 14.8rem);
  flex-direction: column;
  min-height: clamp(19rem, 22vw, 22rem);
  overflow: hidden;
  padding: 0;
  position: relative;
  scroll-snap-align: start;
  text-align: left;
  touch-action: manipulation;
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    transform var(--card-transition);
}

.voice-card::before,
.voice-card::after {
  content: "";
  pointer-events: none;
  position: absolute;
}

.voice-card::before {
  background:
    linear-gradient(rgba(244, 239, 229, 0.045) 1px, transparent 1px),
    radial-gradient(circle, rgba(244, 239, 229, 0.18) 0 0.5px, transparent 1px);
  background-size:
    100% 5px,
    12px 12px;
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.2;
  z-index: 3;
}

.voice-card::after {
  background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.48) 100%);
  inset: 0;
  opacity: 0.9;
  z-index: 2;
}

.voice-card:hover::after,
.voice-card:focus-visible::after,
.voice-card.is-active::after {
  opacity: 0.65;
}

.voice-card:hover,
.voice-card:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.75);
  box-shadow:
    0 0 0 1px rgba(var(--accent-red-rgb), 0.35),
    0 18px 40px rgba(0, 0, 0, 0.46),
    0 0 30px rgba(var(--accent-red-rgb), 0.12);
  outline: none;
  transform: translateY(-0.12rem);
}

.voice-card.is-active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
  outline: none;
  transform: translateY(-0.12rem);
}

.voice-card__portrait,
.voice-card__body,
.voice-card__action {
  position: relative;
  z-index: 4;
}

.voice-card__portrait {
  align-items: center;
  align-self: stretch;
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--voice-card-accent) 32%, transparent), transparent 6rem),
    linear-gradient(135deg, rgba(244, 239, 229, 0.16), transparent 44%),
    linear-gradient(180deg, rgba(215, 203, 178, 0.16), rgba(0, 0, 0, 0.78)),
    #1a1917;
  border: 0;
  display: flex;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.voice-card__portrait::before {
  content: none;
}

.voice-card__portrait::after {
  content: none;
}

.voice-card__badge {
  background: transparent;
  flex: 0 1 auto;
  font-size: 0.68rem;
  line-height: 1;
  opacity: 0.9;
  padding: 0;
}

.voice-card:hover .org-label,
.voice-card:focus-visible .org-label,
.voice-card.is-active .org-label {
  opacity: 1;
}

.voice-card__era {
  align-items: center;
  background: rgba(244, 239, 229, 0.08);
  border-left: 2px solid var(--voice-card-accent);
  color: rgba(244, 239, 229, 0.72);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.7rem;
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.06em;
  margin-left: auto;
  min-height: 1.35rem;
  padding: 0 0.5rem;
  text-align: center;
  text-transform: uppercase;
}

.voice-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.42rem;
  padding: 0.92rem 0.9rem 0.85rem;
}

.voice-card__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem 0.5rem;
  justify-content: space-between;
  margin-bottom: 0.16rem;
}

.voice-card__name {
  color: #f4efe5;
  font-family: var(--display);
  font-size: clamp(1.45rem, 1.72vw, 2rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.88;
  text-transform: uppercase;
}

.voice-card__japanese {
  color: rgba(244, 239, 229, 0.64);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.15;
  margin: 0.28rem 0 0;
}

.voice-card__role {
  color: rgba(244, 239, 229, 0.68);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.voice-card__promotion {
  color: #b9a67c;
  font-family: var(--display);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.voice-card__action {
  align-items: center;
  border-top: 1px solid rgba(244, 239, 229, 0.13);
  color: var(--accent-red-strong);
  display: flex;
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  gap: 0.45rem;
  justify-content: space-between;
  letter-spacing: 0.08em;
  margin-top: auto;
  padding: 0.82rem 0.85rem;
  text-transform: uppercase;
}

.voice-promotion--ajpw {
  --voice-card-accent: #9d211a;
}

.voice-promotion--njpw {
  --voice-card-accent: #17406d;
}

.voice-promotion--fmw {
  --voice-card-accent: #5b2c79;
}

.voice-promotion--noah {
  --voice-card-accent: #236b63;
}

.voice-promotion--joshi {
  --voice-card-accent: #9d3658;
}

.voice-promotion--media {
  --voice-card-accent: #866322;
}

.voice-promotion--independent {
  --voice-card-accent: #6d5b43;
}

.voice-detail {
  align-self: start;
  height: auto;
  margin-top: 0;
  max-height: none;
  min-width: 0;
  overscroll-behavior: auto;
  overflow: visible;
  position: static;
  scrollbar-color: rgba(var(--accent-red-rgb), 0.62) rgba(244, 239, 229, 0.08);
}

.voice-detail::-webkit-scrollbar {
  width: 0.55rem;
}

.voice-detail::-webkit-scrollbar-thumb {
  background: rgba(var(--accent-red-rgb), 0.62);
}

.voice-detail::-webkit-scrollbar-track {
  background: rgba(244, 239, 229, 0.08);
}

.voice-detail__card {
  background: #090909;
  border: 1px solid rgba(244, 239, 229, 0.18);
  color: #f4efe5;
  min-height: 100%;
  overflow: hidden;
  padding: 0 0 1.2rem;
  position: relative;
}

.voice-detail__card::before {
  background: none;
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.voice-detail__card > * {
  position: relative;
  z-index: 2;
}

.voice-mobile-modal__close {
  align-items: center;
  background: transparent;
  border: 0;
  color: #f4efe5;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
}

.voice-mobile-modal__close .material-symbols-outlined {
  font-size: 2rem;
}

.voice-detail__masthead {
  align-items: stretch;
  border-bottom: 1px solid rgba(244, 239, 229, 0.14);
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  margin-bottom: 0;
  padding-bottom: 0;
}

.voice-detail__identity {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.78)),
    #000000;
  padding: 1.15rem;
}

.voice-detail__badge {
  background: transparent;
  display: inline-flex;
  font-family: var(--display);
  font-size: inherit;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  opacity: 0.9;
  padding: 0;
  text-transform: uppercase;
}

.voice-detail h2,
.voice-mobile-modal .voice-detail__card h2 {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: var(--type-title-lg);
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--leading-tight);
  margin: 0;
  max-width: none;
  text-transform: uppercase;
}

.voice-detail__japanese {
  color: #f4efe5;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0.45rem 0 0;
}

.voice-detail__role {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(0.95rem, 1.25vw, 1.12rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0.7rem 0 0;
  text-transform: uppercase;
}

.voice-detail__meta {
  align-items: center;
  color: rgba(244, 239, 229, 0.86);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--display);
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.35rem;
  line-height: 1.5;
  margin: 0.85rem 0 0;
  text-transform: uppercase;
}

.voice-detail__meta-separator {
  color: rgba(244, 239, 229, 0.48);
}

.voice-detail__portrait {
  align-items: flex-end;
  border: 0;
  display: flex;
  justify-self: stretch;
  min-height: clamp(240px, 22vw, 340px);
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.voice-detail__portrait::before {
  content: none;
}

.voice-detail__bio,
.voice-detail__section li {
  color: rgba(244, 239, 229, 0.78);
  font-weight: 700;
  line-height: 1.5;
}

.voice-detail__bio {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(244, 239, 229, 0.14);
  font-size: 0.98rem;
  margin: 0;
  padding: 1.15rem;
}

.voice-detail__section {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(244, 239, 229, 0.14);
  min-width: 0;
  padding: 1.15rem;
}

.voice-detail__section:last-child {
  border-bottom: 0;
}

.voice-detail__section h3 {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.1;
  margin: 0 0 0.62rem;
  text-transform: uppercase;
}

.voice-detail__section ul {
  display: grid;
  gap: 0.42rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.voice-detail__section li {
  font-size: 0.92rem;
  padding-left: 0.78rem;
  position: relative;
}

.voice-detail__section li::before {
  background: var(--accent-red-strong);
  border-radius: 999px;
  content: "";
  height: 0.25rem;
  left: 0;
  position: absolute;
  top: 0.68rem;
  width: 0.25rem;
}

[data-theme="showa-light"] .voices-page,
[data-theme="modern-showa"] .voices-page {
  background:
    radial-gradient(circle at 82% 7rem, rgba(var(--accent-red-rgb), 0.07), transparent 24rem),
    radial-gradient(circle at 12% 22rem, rgba(var(--sepia-rgb), 0.1), transparent 23rem),
    linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  color: var(--text-primary);
}

[data-theme="showa-light"] .voices-archive,
[data-theme="showa-light"] .voice-detail,
[data-theme="modern-showa"] .voices-archive,
[data-theme="modern-showa"] .voice-detail {
  scrollbar-color: rgba(var(--accent-red-rgb), 0.6) rgba(var(--text-primary-rgb), 0.08);
}

[data-theme="showa-light"] .voices-archive::-webkit-scrollbar-thumb,
[data-theme="showa-light"] .voice-detail::-webkit-scrollbar-thumb,
[data-theme="modern-showa"] .voices-archive::-webkit-scrollbar-thumb,
[data-theme="modern-showa"] .voice-detail::-webkit-scrollbar-thumb {
  background: rgba(var(--accent-red-rgb), 0.6);
}

[data-theme="showa-light"] .voices-archive::-webkit-scrollbar-track,
[data-theme="showa-light"] .voice-detail::-webkit-scrollbar-track,
[data-theme="modern-showa"] .voices-archive::-webkit-scrollbar-track,
[data-theme="modern-showa"] .voice-detail::-webkit-scrollbar-track {
  background: rgba(var(--text-primary-rgb), 0.08);
}

[data-theme="showa-light"] .voices-archive__intro,
[data-theme="modern-showa"] .voices-archive__intro {
  border-bottom-color: rgba(var(--text-primary-rgb), 0.16);
}

[data-theme="showa-light"] .voices-archive__intro h1,
[data-theme="showa-light"] .voices-rail__header h2,
[data-theme="modern-showa"] .voices-archive__intro h1,
[data-theme="modern-showa"] .voices-rail__header h2 {
  color: var(--text-primary);
}

[data-theme="showa-light"] .voices-archive__intro h2,
[data-theme="modern-showa"] .voices-archive__intro h2 {
  color: rgba(var(--text-primary-rgb), 0.72);
}

[data-theme="showa-light"] .voices-rail__arrow,
[data-theme="modern-showa"] .voices-rail__arrow {
  background: var(--bg-card);
  border-color: rgba(var(--text-primary-rgb), 0.22);
  color: var(--text-primary);
}

[data-theme="showa-light"] .voices-rail__arrow:hover,
[data-theme="showa-light"] .voices-rail__arrow:focus-visible,
[data-theme="modern-showa"] .voices-rail__arrow:hover,
[data-theme="modern-showa"] .voices-rail__arrow:focus-visible {
  background: var(--accent-red-strong);
  border-color: var(--accent-red-strong);
  color: var(--on-accent);
}

[data-theme="showa-light"] .voices-rail__track,
[data-theme="modern-showa"] .voices-rail__track {
  scrollbar-color: rgba(var(--accent-red-rgb), 0.62) rgba(var(--text-primary-rgb), 0.08);
}

[data-theme="showa-light"] .voices-rail__track::-webkit-scrollbar-thumb,
[data-theme="modern-showa"] .voices-rail__track::-webkit-scrollbar-thumb {
  background: rgba(var(--accent-red-rgb), 0.62);
}

[data-theme="showa-light"] .voices-rail__track::-webkit-scrollbar-track,
[data-theme="modern-showa"] .voices-rail__track::-webkit-scrollbar-track {
  background: rgba(var(--text-primary-rgb), 0.08);
}

[data-theme="showa-light"] .voice-card,
[data-theme="modern-showa"] .voice-card {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.46), rgba(var(--text-primary-rgb), 0.025)),
    var(--bg-card);
  border-color: rgba(var(--text-primary-rgb), 0.16);
  box-shadow: var(--shadow-card);
  color: var(--text-primary);
}

[data-theme="showa-light"] .voice-card::before,
[data-theme="modern-showa"] .voice-card::before {
  background:
    linear-gradient(rgba(var(--text-primary-rgb), 0.045) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.14) 0 0.5px, transparent 1px);
  opacity: 0.34;
}

[data-theme="showa-light"] .voice-card::after,
[data-theme="modern-showa"] .voice-card::after {
  background: linear-gradient(180deg, transparent 46%, rgba(var(--text-primary-rgb), 0.14) 100%);
  opacity: 0.72;
}

[data-theme="showa-light"] .voice-card:hover,
[data-theme="showa-light"] .voice-card:focus-visible,
[data-theme="modern-showa"] .voice-card:hover,
[data-theme="modern-showa"] .voice-card:focus-visible {
  border-color: var(--accent-red-strong);
  box-shadow: var(--shadow-card);
}

[data-theme="showa-light"] .voice-card.is-active,
[data-theme="modern-showa"] .voice-card.is-active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
}

[data-theme="showa-light"] .voice-card__portrait,
[data-theme="modern-showa"] .voice-card__portrait {
  background:
    radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--voice-card-accent) 18%, transparent), transparent 6rem),
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.08), transparent 44%),
    linear-gradient(180deg, rgba(var(--sepia-rgb), 0.08), rgba(var(--text-primary-rgb), 0.14)),
    #eeeeee;
  filter: none;
}

[data-theme="showa-light"] .voice-card__portrait::before,
[data-theme="modern-showa"] .voice-card__portrait::before {
  color: rgba(var(--text-primary-rgb), 0.16);
}

[data-theme="showa-light"] .voice-card__portrait::after,
[data-theme="modern-showa"] .voice-card__portrait::after {
  filter: grayscale(100%) contrast(1.08) brightness(0.92);
  opacity: 0.62;
}

[data-theme="showa-light"] .voice-card__era,
[data-theme="modern-showa"] .voice-card__era {
  background: rgba(var(--text-primary-rgb), 0.07);
  color: rgba(var(--text-primary-rgb), 0.68);
}

[data-theme="showa-light"] .voice-card__body,
[data-theme="modern-showa"] .voice-card__body {
  background: var(--bg-card);
}

[data-theme="showa-light"] .voice-card__name,
[data-theme="modern-showa"] .voice-card__name {
  color: var(--text-primary);
}

[data-theme="showa-light"] .voice-card__japanese,
[data-theme="modern-showa"] .voice-card__japanese {
  color: var(--text-secondary);
}

[data-theme="showa-light"] .voice-card__role,
[data-theme="modern-showa"] .voice-card__role {
  color: rgba(var(--text-primary-rgb), 0.68);
}

[data-theme="showa-light"] .voice-card__promotion,
[data-theme="modern-showa"] .voice-card__promotion {
  color: rgba(var(--text-primary-rgb), 0.62);
}

[data-theme="showa-light"] .voice-card__action,
[data-theme="modern-showa"] .voice-card__action {
  background: var(--bg-card);
  border-top-color: rgba(var(--text-primary-rgb), 0.14);
  color: var(--accent-red-strong);
}

[data-theme="showa-light"] .voice-detail__badge:not(.org-label),
[data-theme="modern-showa"] .voice-detail__badge:not(.org-label) {
  color: var(--on-accent);
}

[data-theme="showa-light"] .voice-detail__card,
[data-theme="modern-showa"] .voice-detail__card {
  background: var(--bg-card);
  border-color: rgba(var(--text-primary-rgb), 0.16);
  box-shadow: var(--shadow-card);
  color: var(--text-primary);
}

[data-theme="showa-light"] .voice-detail__card::before,
[data-theme="modern-showa"] .voice-detail__card::before {
  background: none;
  opacity: 0;
}

[data-theme="showa-light"] .voice-detail__identity,
[data-theme="modern-showa"] .voice-detail__identity {
  background: #ffffff;
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.12);
  color: var(--text-primary);
}

[data-theme="showa-light"] .voice-mobile-modal__close,
[data-theme="modern-showa"] .voice-mobile-modal__close {
  color: var(--text-primary);
}

[data-theme="showa-light"] .voice-detail h2,
[data-theme="modern-showa"] .voice-detail h2 {
  color: var(--text-primary);
}

[data-theme="showa-light"] .voice-detail__japanese,
[data-theme="modern-showa"] .voice-detail__japanese {
  color: var(--text-primary);
}

[data-theme="showa-light"] .voice-detail__role,
[data-theme="showa-light"] .voice-detail__section h3,
[data-theme="modern-showa"] .voice-detail__role,
[data-theme="modern-showa"] .voice-detail__section h3 {
  color: var(--accent-red-strong);
}

[data-theme="showa-light"] .voice-detail__meta,
[data-theme="modern-showa"] .voice-detail__meta {
  color: rgba(var(--text-primary-rgb), 0.72);
}

[data-theme="showa-light"] .voice-detail__meta-separator,
[data-theme="modern-showa"] .voice-detail__meta-separator {
  color: rgba(var(--text-primary-rgb), 0.42);
}

[data-theme="showa-light"] .voice-detail__portrait,
[data-theme="modern-showa"] .voice-detail__portrait {
  background:
    radial-gradient(circle at 28% 18%, rgba(var(--accent-red-rgb), 0.1), transparent 7rem),
    linear-gradient(135deg, rgba(var(--text-primary-rgb), 0.08), transparent 48%),
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.44), rgba(var(--text-primary-rgb), 0.12)),
    #eeeeee;
  border-color: rgba(var(--text-primary-rgb), 0.16);
  filter: none;
}

[data-theme="showa-light"] .voice-detail__portrait::before,
[data-theme="modern-showa"] .voice-detail__portrait::before {
  color: rgba(var(--text-primary-rgb), 0.16);
}

[data-theme="showa-light"] .voice-detail__bio,
[data-theme="showa-light"] .voice-detail__section li,
[data-theme="modern-showa"] .voice-detail__bio,
[data-theme="modern-showa"] .voice-detail__section li {
  color: rgba(var(--text-primary-rgb), 0.76);
}

[data-theme="showa-light"] .voice-detail__bio,
[data-theme="modern-showa"] .voice-detail__bio {
  background: transparent;
  border-bottom-color: rgba(var(--text-primary-rgb), 0.12);
}

[data-theme="showa-light"] .voice-detail__section,
[data-theme="modern-showa"] .voice-detail__section {
  background: transparent;
  border-bottom-color: rgba(var(--text-primary-rgb), 0.12);
}

[data-theme="showa-light"] .voice-mobile-modal__panel,
[data-theme="modern-showa"] .voice-mobile-modal__panel {
  --detail-modal-stroke: var(--modal-shadowbox-stroke);
  --ds-modal-card-stroke: var(--detail-modal-stroke);
  --ds-modal-card-surface:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.035), rgba(var(--text-primary-rgb), 0.015)),
    var(--modal-shadowbox-surface);
}

.voice-mobile-modal[hidden] {
  display: none;
}

.voice-modal-open {
  overflow: hidden;
}

.voice-mobile-modal {
  --ds-modal-card-radius: 0.85rem;
  --detail-modal-shell-width: 44rem;
  --detail-modal-max-width: min(var(--detail-modal-shell-width), 100%);
  --detail-modal-inline-pad: clamp(0.85rem, 3vw, 1.25rem);
  --detail-modal-block-start: calc(0.85rem + env(safe-area-inset-top, 0px));
  --detail-modal-block-end: calc(1.1rem + env(safe-area-inset-bottom, 0px));
  --detail-modal-panel-min-height: calc(100dvh - var(--detail-modal-block-start) - var(--detail-modal-block-end));
  --detail-modal-stroke: var(--modal-shadowbox-stroke);
  --ds-modal-card-surface:
    linear-gradient(180deg, rgba(244, 239, 229, 0.035), rgba(244, 239, 229, 0.015)),
    var(--modal-shadowbox-surface);
  --detail-modal-shadow: var(--modal-shadowbox-shadow);
  background: var(--modal-shadowbox-backdrop);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-sizing: border-box;
  display: block;
  height: 100dvh;
  inset: 0;
  opacity: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--detail-modal-block-start) var(--detail-modal-inline-pad) var(--detail-modal-block-end);
  pointer-events: none;
  position: fixed;
  scrollbar-color: var(--accent-red) transparent;
  scrollbar-width: thin;
  transform: translateY(0.75rem);
  transition:
    opacity 180ms ease,
    transform 220ms cubic-bezier(0.32, 0.72, 0, 1);
  visibility: hidden;
  width: 100%;
  z-index: 1160;
}

.voice-mobile-modal__backdrop {
  background: transparent;
  border: 0;
  cursor: pointer;
  inset: 0;
  position: fixed;
  z-index: 0;
}

.voice-mobile-modal__panel {
  background: var(--ds-modal-card-surface);
  border: 1px solid var(--detail-modal-stroke);
  border-radius: var(--ds-modal-card-radius);
  box-shadow: var(--detail-modal-shadow);
  box-sizing: border-box;
  margin: 0 auto;
  max-width: var(--detail-modal-max-width);
  min-height: var(--detail-modal-panel-min-height);
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}

.voice-mobile-modal.is-modal-open {
  isolation: isolate;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.voice-mobile-modal.is-modal-entering {
  animation: detailCardExpand 340ms cubic-bezier(0.2, 0.86, 0.18, 1) both;
  transform-origin: center center;
  will-change: opacity, transform, clip-path;
}

.voice-mobile-modal.is-modal-closing {
  animation: detailCardCollapse 260ms cubic-bezier(0.55, 0.06, 0.68, 0.19) both;
  pointer-events: none;
  transform-origin: center center;
  visibility: visible;
  will-change: opacity, transform, clip-path;
}

.voice-mobile-modal__close {
  align-items: center;
  background: rgba(var(--bg-primary-rgb), 0.92);
  border: 1px solid rgba(244, 239, 229, 0.28);
  border-radius: 999px;
  color: var(--text-primary);
  cursor: pointer;
  display: inline-flex;
  height: 2.75rem;
  justify-content: center;
  padding: 0;
  position: fixed;
  right: max(
    calc(var(--detail-modal-inline-pad, 1rem) + env(safe-area-inset-right, 0px)),
    calc((100vw - var(--detail-modal-shell-width, 44rem)) / 2 + 0.45rem + env(safe-area-inset-right, 0px))
  );
  top: calc(0.45rem + env(safe-area-inset-top, 0px));
  width: 2.75rem;
  z-index: 1170;
}

.voice-mobile-modal .voice-detail__portrait {
  border-bottom: 1px solid var(--detail-modal-stroke);
  border-radius: var(--ds-modal-card-radius) var(--ds-modal-card-radius) 0 0;
  min-height: clamp(18rem, 54vw, 25rem);
}

.voice-mobile-modal .voice-detail__card {
  background: var(--modal-shadowbox-surface);
  border-radius: var(--ds-modal-card-radius);
  min-height: var(--detail-modal-panel-min-height);
}

.voice-mobile-modal .voice-detail__card h2 {
  font-size: clamp(2.35rem, 10.8vw, 2.9rem);
  line-height: 0.9;
}

.voice-mobile-modal .voice-detail__portrait .voice-portrait__image {
  object-position: center 20%;
}

@media (max-width: 1180px) {
  .voices-layout {
    grid-template-columns: minmax(0, 1fr) clamp(300px, 31vw, 360px);
  }

  .voice-detail__masthead {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1120px) {
  .voices-layout {
    display: block;
    height: auto;
    max-width: calc(100vw - 1.5rem);
    overflow: visible;
  }

  .voice-detail {
    display: none;
  }

  .voices-archive {
    height: auto;
    overflow: visible;
    padding-right: 0;
  }

  .voices-rail__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .voices-rail__arrow {
    display: none;
  }

  .voice-mobile-modal .voice-detail__card {
    min-height: var(--detail-modal-panel-min-height);
  }
}

@media (max-width: 620px) {
  .voices-layout {
    padding-top: 1.5rem;
  }

  .voices-archive__intro h1 {
    font-size: clamp(2rem, 9vw, 3rem);
    line-height: 0.98;
    white-space: normal;
  }

  .voices-archive__intro h2 {
    font-size: clamp(1rem, 5vw, 1.25rem);
    max-width: 24rem;
  }

  .voices-rail__header {
    align-items: start;
    display: grid;
  }

  .voice-card {
    flex-basis: 12rem;
  }

  .voice-card__portrait {
    min-height: 145px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .voice-mobile-modal,
  .voice-mobile-modal.is-modal-entering,
  .voice-mobile-modal.is-modal-closing {
    animation: none;
    transition: none;
  }

  .voice-card {
    transition: none;
  }

  .voice-card:hover,
  .voice-card:focus-visible,
  .voice-card.is-active {
    transform: none;
  }
}

/* Lineage exhibit */
.lineage-page {
  background:
    radial-gradient(circle at 20% 12%, rgba(var(--accent-red-rgb), 0.16), transparent 26rem),
    linear-gradient(180deg, #090909 0%, #10100e 42%, #0b0b0a 100%);
  color: var(--text-primary);
  min-height: 100vh;
}

.lineage-page.lineage-page--collapsed {
  overflow: visible;
}

.lineage-archive-hero {
  --archive-hero-overlay: linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.76) 34%, rgba(0, 0, 0, 0.35) 68%, rgba(0, 0, 0, 0.82) 100%);
  --archive-hero-accent-glow: radial-gradient(circle at 76% 38%, rgba(var(--accent-red-rgb), 0.22), transparent 20rem);
  --archive-hero-image: url("./assets/hero-images/hero/baba-hero.webp");
  --archive-hero-image-position: calc(62% + 260px) calc(42% + 70px);
  --archive-hero-image-position-collapsed: calc(52% + 210px) calc(36% + 94px);
  --archive-hero-image-size: min(76rem, 72vw) auto;
  --archive-hero-image-size-collapsed: min(62rem, 58vw) auto;
  --archive-hero-image-filter: grayscale(100%) sepia(0.22) contrast(1.25) brightness(0.62);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.18) contrast(1.32) brightness(0.48);
}

@media (max-width: 560px) {
  .lineage-archive-hero::before {
    --archive-hero-image-position: calc(96% + 130px) 52%;
    --archive-hero-image-size: min(26rem, 116vw) auto;
  }

  .lineage-archive-hero.styles-hero--collapsed::before,
  .lineage-page > .lineage-archive-hero.styles-hero--collapsed::before {
    --archive-hero-image-position-collapsed: calc(98% + 30px) calc(52% + 45px);
    --archive-hero-image-size-collapsed: min(24rem, 108vw) auto;
  }
}

@media (min-width: 561px) and (max-width: 1024px) {
  .lineage-archive-hero.styles-hero--collapsed::before,
  .lineage-page > .lineage-archive-hero.styles-hero--collapsed::before {
    --archive-hero-image-position-collapsed: calc(52% + 170px) calc(36% + 75px);
  }
}

.lineage-archive-hero.styles-hero--collapsed .styles-archive-hero__inner {
  align-content: center;
  align-items: center;
  gap: clamp(1rem, 2.4vw, 2.75rem);
  grid-template-columns: minmax(0, 1fr) auto;
  max-width: min(1500px, calc(100vw - 3rem));
  padding-block: 0;
}

.lineage-archive-hero.styles-hero--collapsed .styles-archive-hero__copy {
  align-self: center;
  min-width: 0;
}

.lineage-archive-hero .styles-archive-hero__label {
  color: var(--accent-red);
  display: none;
  font-family: var(--font-heading);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.lineage-archive-hero h1 {
  max-width: 14ch;
}

.lineage-archive-hero.styles-hero--collapsed .styles-archive-hero__label {
  display: none;
}

.lineage-archive-hero.styles-hero--collapsed h1 {
  font-size: clamp(2rem, 3.7vw, 3.45rem);
  line-height: 0.9;
  max-width: none;
  white-space: normal;
}

.lineage-archive-hero.styles-hero--collapsed .styles-archive-hero__vertical {
  font-size: clamp(1.4rem, 2.1vw, 2.45rem);
}

.lineage-exhibit {
  position: relative;
}

.lineage-sticky-ui {
  position: sticky;
  top: var(--site-header-height);
  transition: top var(--styles-hero-transition) var(--styles-hero-ease);
  z-index: 180;
}

.lineage-controls {
  align-items: center;
  background: var(--bg-card);
  border-bottom: 1px solid rgba(232, 227, 217, 0.16);
  display: flex;
  gap: 0.85rem;
  justify-content: flex-start;
  min-height: 4.1rem;
  overflow: visible;
  padding: 0.7rem clamp(1rem, 2vw, 1.8rem);
  position: relative;
  z-index: 2;
}

.lineage-archive-hero.styles-hero--collapsed + .lineage-exhibit .lineage-sticky-ui {
  top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height));
  z-index: 230;
}

.lineage-filter-trigger {
  align-items: center;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(232, 227, 217, 0.18);
  border-radius: 0.32rem;
  color: rgba(232, 227, 217, 0.7);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.55rem;
  letter-spacing: 0.08em;
  min-height: 2.35rem;
  padding: 0.55rem 0.75rem;
  position: relative;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.lineage-filter-trigger:hover,
.lineage-filter-trigger:focus-visible,
.lineage-filter-trigger[aria-expanded="true"] {
  border-color: rgba(var(--accent-red-rgb), 0.68);
  color: var(--text-primary);
  outline: none;
}

.lineage-filter-trigger .material-symbols-outlined {
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: 1.15rem;
  transition: color 160ms ease;
}

.lineage-filter-trigger:hover .material-symbols-outlined,
.lineage-filter-trigger:focus-visible .material-symbols-outlined,
.lineage-filter-trigger[aria-expanded="true"] .material-symbols-outlined {
  color: var(--text-primary);
}

.lineage-filter-trigger__badge {
  align-items: center;
  background: var(--accent-red);
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.2rem;
  justify-content: center;
  line-height: 1;
  min-width: 1.2rem;
  padding-inline: 0.24rem;
  position: absolute;
  right: -0.48rem;
  top: -0.48rem;
}

.lineage-filter-trigger__badge[hidden] {
  display: none;
}

.lineage-filter-list {
  display: grid;
  gap: 0.55rem;
}

.lineage-filter {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(232, 227, 217, 0.16);
  border-radius: 0.32rem;
  color: rgba(232, 227, 217, 0.74);
  cursor: pointer;
  flex: 0 0 auto;
  font-family: var(--font-heading);
  font-size: 0.82rem;
  line-height: 1;
  padding: 0.62rem 0.9rem;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.lineage-filter:hover,
.lineage-filter:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.62);
  color: var(--text-primary);
  outline: none;
}

.lineage-filter.is-active {
  background: rgba(var(--accent-red-rgb), 0.18);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: var(--text-primary);
}

.lineage-filter-panel {
  background: var(--bg-card);
  border-right: 1px solid rgba(232, 227, 217, 0.2);
  bottom: 0;
  box-shadow: 1rem 0 2rem rgba(0, 0, 0, 0.34);
  left: 0;
  overflow-y: auto;
  padding: 1rem;
  position: fixed;
  top: var(--site-header-height);
  transform: translateX(-104%);
  transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
  width: min(22rem, 88vw);
  z-index: 270;
}

.lineage-filter-panel[hidden],
.lineage-filter-scrim[hidden] {
  display: none;
}

.lineage-filter-panel.is-open {
  transform: translateX(0);
}

.lineage-filter-panel__header {
  align-items: center;
  border-bottom: 1px solid rgba(232, 227, 217, 0.14);
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
}

.lineage-filter-panel__header p {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0;
  text-transform: uppercase;
}

.lineage-filter-panel__header button,
.lineage-detail__close {
  align-items: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(232, 227, 217, 0.18);
  color: var(--text-primary);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--font-heading);
  font-size: 1.45rem;
  justify-content: center;
  line-height: 1;
  min-height: 2.15rem;
  min-width: 2.15rem;
}

.lineage-filter-panel__header button .material-symbols-outlined,
.lineage-detail__close .material-symbols-outlined {
  font-size: 1.25rem;
  line-height: 1;
}

.lineage-filter-panel__header button:hover,
.lineage-filter-panel__header button:focus-visible,
.lineage-detail__close:hover,
.lineage-detail__close:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.7);
  outline: none;
}

.lineage-filter-panel .lineage-filter {
  width: 100%;
}

.lineage-filter-scrim {
  background: rgba(0, 0, 0, 0.48);
  bottom: 0;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: var(--site-header-height);
  transition: opacity 220ms ease;
  z-index: 260;
}

.lineage-filter-scrim.is-open {
  opacity: 1;
}

.lineage-insight-strip {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(var(--accent-red-rgb), 0.13), transparent 34%),
    rgba(10, 10, 9, 0.94);
  border-bottom: 1px solid rgba(232, 227, 217, 0.14);
  color: var(--text-primary);
  display: flex;
  gap: clamp(0.9rem, 2vw, 1.5rem);
  justify-content: space-between;
  min-height: 4rem;
  padding: 0.72rem clamp(1rem, 2vw, 1.8rem);
  position: relative;
  z-index: 5;
}

.lineage-insight-strip[hidden] {
  display: flex;
  pointer-events: none;
}

.lineage-insight-strip[hidden] .lineage-insight-strip__helper {
  visibility: visible;
}

.lineage-page.is-lineage-detail-open .lineage-insight-strip {
  padding-right: calc(min(26rem, 92vw) + clamp(1rem, 2vw, 1.8rem));
}

.lineage-page.is-lineage-detail-open .lineage-insight-strip__stats {
  gap: 0.35rem;
}

.lineage-page.is-lineage-detail-open .lineage-insight-strip__stat {
  min-width: 3.55rem;
  padding-left: 0.52rem;
}

.lineage-page.is-lineage-detail-open .lineage-insight-strip__stat dt {
  font-size: 1.05rem;
}

.lineage-page.is-lineage-detail-open .lineage-insight-strip__stat dd {
  font-size: 0.58rem;
  letter-spacing: 0.05em;
}

.lineage-insight-strip__path {
  align-items: center;
  display: flex;
  gap: 0.85rem;
  min-width: 0;
}

.lineage-insight-strip__label {
  color: rgba(232, 227, 217, 0.56);
  flex: 0 0 auto;
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0;
  text-transform: uppercase;
}

.lineage-insight-strip__helper {
  color: rgba(232, 227, 217, 0.68);
  font-family: var(--font-heading);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.3;
  margin: 0;
  text-transform: uppercase;
}

.lineage-insight-strip__chips {
  align-items: center;
  display: flex;
  gap: 0.48rem;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.lineage-insight-strip__chips::-webkit-scrollbar {
  display: none;
}

.lineage-insight-strip__chip {
  background: rgba(245, 245, 240, 0.035);
  border: 1px solid rgba(245, 245, 240, 0.14);
  color: rgba(245, 245, 240, 0.8);
  cursor: pointer;
  flex: 0 0 auto;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  min-height: 2rem;
  padding: 0.45rem 0.56rem;
  text-transform: uppercase;
}

.lineage-insight-strip__chip:hover,
.lineage-insight-strip__chip:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.64);
  color: var(--text-primary);
  outline: none;
}

.lineage-insight-strip__chip[aria-current="true"] {
  background: rgba(var(--accent-red-rgb), 0.16);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: var(--accent-red);
}

.lineage-insight-strip__clear {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(232, 227, 217, 0.18);
  color: rgba(232, 227, 217, 0.58);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.38rem;
  line-height: 1;
  margin-left: 0;
  min-height: 2rem;
  padding: 0.45rem 0.56rem;
  position: relative;
  text-transform: uppercase;
}

.lineage-insight-strip__action-divider {
  align-self: center;
  background: rgba(232, 227, 217, 0.34);
  display: block;
  flex: 0 0 auto;
  height: 2.35rem;
  width: 1px;
}

.lineage-insight-strip__clear:hover,
.lineage-insight-strip__clear:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.58);
  color: var(--text-primary);
  outline: none;
}

.lineage-insight-strip__clear--archive {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: rgba(var(--accent-red-rgb), 0.42);
  color: rgba(245, 245, 240, 0.82);
}

.lineage-insight-strip__clear--archive .material-symbols-outlined,
.lineage-insight-strip__clear--archive .material-symbols-svg {
  color: var(--accent-red);
}

.lineage-insight-strip__clear--archive:hover,
.lineage-insight-strip__clear--archive:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.16);
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: var(--text-primary);
}

.lineage-insight-strip__clear .material-symbols-outlined,
.lineage-insight-strip__clear .material-symbols-svg {
  flex: 0 0 auto;
  font-size: 1rem;
  height: 1rem;
  line-height: 1;
  width: 1rem;
}

.lineage-insight-strip__divider {
  align-items: center;
  color: rgba(232, 227, 217, 0.46);
  display: inline-flex;
  flex: 0 0 auto;
  height: 1rem;
  justify-content: center;
  line-height: 1;
  margin: 0 0.04rem;
  width: 1rem;
}

.lineage-insight-strip__divider-icon {
  display: block;
  fill: currentColor;
  height: 0.78rem;
  width: 0.78rem;
}

.lineage-insight-strip__stats {
  align-items: stretch;
  display: flex;
  flex: 0 0 auto;
  gap: 0.5rem;
  margin: 0;
}

.lineage-insight-strip__stat {
  border-left: 1px solid rgba(232, 227, 217, 0.16);
  min-width: 4.4rem;
  padding-left: 0.7rem;
}

.lineage-insight-strip__stat dt {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: 1.32rem;
  font-weight: 800;
  line-height: 0.82;
  margin: 0;
}

.lineage-insight-strip__stat dd {
  color: rgba(232, 227, 217, 0.58);
  font-family: var(--font-heading);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.1;
  margin: 0.18rem 0 0;
  text-transform: uppercase;
}

.lineage-toggle {
  align-items: center;
  border-left: 1px solid rgba(232, 227, 217, 0.16);
  color: rgba(232, 227, 217, 0.76);
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  gap: 0.55rem;
  padding-left: 1rem;
}

.lineage-toggle input {
  accent-color: var(--accent-red);
}

.lineage-stage {
  min-height: 980px;
  position: relative;
}

.lineage-graph-shell {
  background:
    linear-gradient(rgba(255, 255, 255, 0.026) 1px, transparent 1px),
    radial-gradient(circle, rgba(255, 255, 255, 0.09) 0 1px, transparent 1px),
    linear-gradient(180deg, rgba(18, 18, 16, 0.98), rgba(10, 10, 9, 0.98));
  background-size: 100% 7px, 9px 9px, auto;
  border-top: 1px solid rgba(232, 227, 217, 0.1);
  min-height: 980px;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  overflow-x: auto;
  overflow-y: auto;
  position: relative;
  scroll-margin-top: calc(var(--site-header-height) + var(--styles-hero-collapsed-height) + 4.1rem);
  scrollbar-color: rgba(232, 227, 217, 0.28) rgba(255, 255, 255, 0.04);
  touch-action: pan-x pan-y;
  contain: layout paint style;
  isolation: isolate;
}

[data-theme="showa-light"] .lineage-graph-shell,
[data-theme="modern-showa"] .lineage-graph-shell {
  background: #ffffff;
  border-top-color: rgba(23, 19, 15, 0.12);
  scrollbar-color: rgba(23, 19, 15, 0.24) rgba(23, 19, 15, 0.04);
}

[data-theme="showa-light"] .lineage-graph-shell::before,
[data-theme="modern-showa"] .lineage-graph-shell::before {
  background-image:
    radial-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
    radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-position: 0 0, 1px 2px;
  background-size: 3px 3px, 5px 5px;
  content: "";
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.6;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.lineage-graph {
  min-height: 980px;
  min-width: 2400px;
  position: relative;
  isolation: isolate;
  z-index: 1;
}

.lineage-graph.is-compact {
  min-width: 0;
}

.lineage-loading {
  color: rgba(232, 227, 217, 0.72);
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0;
  padding: 4rem;
  text-transform: uppercase;
}

.lineage-svg {
  display: block;
  min-height: 980px;
  overflow: visible;
  transform-origin: 0 0;
  width: auto;
  backface-visibility: hidden;
  shape-rendering: geometricPrecision;
}

.lineage-graph-nav {
  align-items: center;
  background: var(--bg-card);
  border: 1px solid rgba(232, 227, 217, 0.18);
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--font-heading);
  gap: 0.45rem;
  margin-left: auto;
  padding: 0.35rem;
  width: max-content;
}

.lineage-graph-nav button {
  align-items: center;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(232, 227, 217, 0.16);
  color: rgba(232, 227, 217, 0.82);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  min-height: 38px;
  min-width: 38px;
  padding: 0 0.65rem;
  text-transform: uppercase;
}

.lineage-graph-nav .lineage-graph-nav__icon-button {
  border-radius: 0 !important;
  min-width: 38px;
  padding: 0;
  width: 38px;
}

.lineage-graph-nav button > .material-symbols-outlined {
  font-size: 1.25rem;
  line-height: 1;
}

.lineage-graph-nav button:hover,
.lineage-graph-nav button:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.68);
  color: var(--text-primary);
  outline: none;
}

.lineage-graph-nav > span:not(.lineage-graph-nav__divider) {
  color: rgba(232, 227, 217, 0.7);
  font-size: 0.78rem;
  min-width: 3.4rem;
  text-align: center;
}

.lineage-graph-nav__divider {
  align-self: center;
  background: rgba(232, 227, 217, 0.18);
  display: inline-block;
  flex: 0 0 1px;
  height: 38px;
  margin: 0 10px;
  min-width: 0;
  width: 1px;
}

[data-theme="showa-light"] .lineage-controls,
[data-theme="modern-showa"] .lineage-controls {
  background: #ffffff;
  border-bottom-color: var(--border-subtle);
}

[data-theme="showa-light"] .lineage-insight-strip,
[data-theme="modern-showa"] .lineage-insight-strip {
  background:
    linear-gradient(90deg, rgba(var(--accent-red-rgb), 0.07), transparent 34%),
    #ffffff;
  border-bottom-color: rgba(23, 19, 15, 0.12);
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-insight-strip__label,
[data-theme="modern-showa"] .lineage-insight-strip__label,
[data-theme="showa-light"] .lineage-insight-strip__stat dd,
[data-theme="modern-showa"] .lineage-insight-strip__stat dd {
  color: rgba(33, 23, 15, 0.56);
}

[data-theme="showa-light"] .lineage-insight-strip__chip,
[data-theme="modern-showa"] .lineage-insight-strip__chip {
  background: rgba(23, 19, 15, 0.035);
  border-color: rgba(23, 19, 15, 0.14);
  color: rgba(23, 19, 15, 0.76);
}

[data-theme="showa-light"] .lineage-insight-strip__chip:hover,
[data-theme="showa-light"] .lineage-insight-strip__chip:focus-visible,
[data-theme="modern-showa"] .lineage-insight-strip__chip:hover,
[data-theme="modern-showa"] .lineage-insight-strip__chip:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.48);
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-insight-strip__chip[aria-current="true"],
[data-theme="modern-showa"] .lineage-insight-strip__chip[aria-current="true"] {
  background: rgba(var(--accent-red-rgb), 0.09);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  color: var(--accent-red);
}

[data-theme="showa-light"] .lineage-insight-strip__divider,
[data-theme="modern-showa"] .lineage-insight-strip__divider {
  color: rgba(33, 23, 15, 0.32);
}

[data-theme="showa-light"] .lineage-insight-strip__stat,
[data-theme="modern-showa"] .lineage-insight-strip__stat {
  border-left-color: rgba(23, 19, 15, 0.12);
}

[data-theme="showa-light"] .lineage-filter-trigger,
[data-theme="showa-light"] .lineage-relationship-legend,
[data-theme="showa-light"] .lineage-graph-nav,
[data-theme="showa-light"] .lineage-graph-nav button,
[data-theme="modern-showa"] .lineage-filter-trigger,
[data-theme="modern-showa"] .lineage-relationship-legend,
[data-theme="modern-showa"] .lineage-graph-nav,
[data-theme="modern-showa"] .lineage-graph-nav button {
  background: rgba(23, 19, 15, 0.04);
  border-color: rgba(23, 19, 15, 0.18);
  color: var(--text-secondary);
}

[data-theme="showa-light"] .lineage-filter-trigger,
[data-theme="showa-light"] .lineage-graph-nav button,
[data-theme="modern-showa"] .lineage-filter-trigger,
[data-theme="modern-showa"] .lineage-graph-nav button {
  height: 38px;
  min-height: 38px;
}

[data-theme="showa-light"] .lineage-filter-trigger:hover,
[data-theme="showa-light"] .lineage-filter-trigger:focus-visible,
[data-theme="showa-light"] .lineage-filter-trigger[aria-expanded="true"],
[data-theme="showa-light"] .lineage-graph-nav button:hover,
[data-theme="showa-light"] .lineage-graph-nav button:focus-visible,
[data-theme="modern-showa"] .lineage-filter-trigger:hover,
[data-theme="modern-showa"] .lineage-filter-trigger:focus-visible,
[data-theme="modern-showa"] .lineage-filter-trigger[aria-expanded="true"],
[data-theme="modern-showa"] .lineage-graph-nav button:hover,
[data-theme="modern-showa"] .lineage-graph-nav button:focus-visible {
  background: rgba(23, 19, 15, 0.08);
  border-color: rgba(23, 19, 15, 0.24);
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-filter-trigger .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-filter-trigger .material-symbols-outlined {
  color: rgba(var(--text-primary-rgb), 0.62);
}

[data-theme="showa-light"] .lineage-filter-trigger:hover .material-symbols-outlined,
[data-theme="showa-light"] .lineage-filter-trigger:focus-visible .material-symbols-outlined,
[data-theme="showa-light"] .lineage-filter-trigger[aria-expanded="true"] .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-filter-trigger:hover .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-filter-trigger:focus-visible .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-filter-trigger[aria-expanded="true"] .material-symbols-outlined {
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-relationship-legend h3,
[data-theme="modern-showa"] .lineage-relationship-legend h3 {
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-relationship-legend p,
[data-theme="showa-light"] .lineage-graph-nav > span:not(.lineage-graph-nav__divider),
[data-theme="modern-showa"] .lineage-relationship-legend p,
[data-theme="modern-showa"] .lineage-graph-nav > span:not(.lineage-graph-nav__divider) {
  color: var(--text-secondary);
}

[data-theme="showa-light"] .lineage-graph-nav__divider,
[data-theme="modern-showa"] .lineage-graph-nav__divider {
  background: rgba(23, 19, 15, 0.18);
}

[data-theme="showa-light"] .lineage-graph-nav .lineage-graph-info,
[data-theme="modern-showa"] .lineage-graph-nav .lineage-graph-info {
  background: rgba(23, 19, 15, 0.04);
  border-color: rgba(23, 19, 15, 0.18);
  height: 38px;
  min-height: 38px;
  width: 38px;
}

[data-theme="showa-light"] .lineage-graph-info .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-graph-info .material-symbols-outlined {
  color: rgba(var(--text-primary-rgb), 0.62);
}

[data-theme="showa-light"] .lineage-graph-info:hover .material-symbols-outlined,
[data-theme="showa-light"] .lineage-graph-info:focus-visible .material-symbols-outlined,
[data-theme="showa-light"] .lineage-graph-info:focus-within .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-graph-info:hover .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-graph-info:focus-visible .material-symbols-outlined,
[data-theme="modern-showa"] .lineage-graph-info:focus-within .material-symbols-outlined {
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-filter-panel,
[data-theme="modern-showa"] .lineage-filter-panel {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.32), rgba(var(--text-primary-rgb), 0.012)),
    var(--bg-panel);
  border-right-color: rgba(23, 19, 15, 0.18);
  box-shadow: 1rem 0 2rem rgba(23, 19, 15, 0.14);
}

[data-theme="showa-light"] .lineage-filter-panel__header,
[data-theme="modern-showa"] .lineage-filter-panel__header {
  border-bottom-color: rgba(23, 19, 15, 0.14);
}

[data-theme="showa-light"] .lineage-filter-panel__header button,
[data-theme="showa-light"] .lineage-filter,
[data-theme="modern-showa"] .lineage-filter-panel__header button,
[data-theme="modern-showa"] .lineage-filter {
  background: rgba(23, 19, 15, 0.04);
  border-color: rgba(23, 19, 15, 0.18);
  color: var(--text-secondary);
}

[data-theme="showa-light"] .lineage-filter:hover,
[data-theme="showa-light"] .lineage-filter:focus-visible,
[data-theme="showa-light"] .lineage-filter.is-active,
[data-theme="modern-showa"] .lineage-filter:hover,
[data-theme="modern-showa"] .lineage-filter:focus-visible,
[data-theme="modern-showa"] .lineage-filter.is-active {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: rgba(var(--accent-red-rgb), 0.42);
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-era-base,
[data-theme="modern-showa"] .lineage-era-base {
  fill: transparent;
}

[data-theme="showa-light"] .lineage-era-band,
[data-theme="modern-showa"] .lineage-era-band {
  stroke: rgba(23, 19, 15, 0.1);
}

[data-theme="showa-light"] .lineage-era-label,
[data-theme="modern-showa"] .lineage-era-label {
  fill: var(--accent-red);
}

[data-theme="showa-light"] .lineage-link,
[data-theme="modern-showa"] .lineage-link {
  opacity: 0.88;
  stroke-opacity: 0.86;
}

[data-theme="showa-light"] .lineage-link-halo,
[data-theme="modern-showa"] .lineage-link-halo {
  opacity: 0.16;
  stroke-opacity: 0.18;
}

[data-theme="showa-light"] .lineage-link-flow,
[data-theme="modern-showa"] .lineage-link-flow {
  filter: saturate(1.22) contrast(1.08);
  stroke-opacity: 0.92;
}

[data-theme="showa-light"] .lineage-node-card,
[data-theme="modern-showa"] .lineage-node-card {
  fill: #ffffff;
  stroke: rgba(23, 19, 15, 0.36);
}

[data-theme="showa-light"] .lineage-node-halo,
[data-theme="modern-showa"] .lineage-node-halo {
  fill: rgba(255, 250, 240, 0.2);
  stroke: rgba(23, 19, 15, 0.24);
}

[data-theme="showa-light"] .lineage-node-halo--inner,
[data-theme="modern-showa"] .lineage-node-halo--inner {
  stroke: rgba(23, 19, 15, 0.34);
}

[data-theme="showa-light"] .lineage-node-image,
[data-theme="modern-showa"] .lineage-node-image {
  filter: grayscale(1) sepia(0.08) contrast(1.12) brightness(0.92);
}

[data-theme="showa-light"] .lineage-node-title,
[data-theme="modern-showa"] .lineage-node-title {
  fill: var(--accent-red);
}

[data-theme="showa-light"] .lineage-node-meta,
[data-theme="modern-showa"] .lineage-node-meta {
  fill: rgba(33, 23, 15, 0.78);
}

[data-theme="showa-light"] .lineage-node-status,
[data-theme="modern-showa"] .lineage-node-status {
  fill: rgba(33, 23, 15, 0.42);
}

[data-theme="showa-light"] .lineage-node:hover .lineage-node-card,
[data-theme="showa-light"] .lineage-node.is-related .lineage-node-card,
[data-theme="showa-light"] .lineage-node:focus-visible .lineage-node-card,
[data-theme="modern-showa"] .lineage-node:hover .lineage-node-card,
[data-theme="modern-showa"] .lineage-node.is-related .lineage-node-card,
[data-theme="modern-showa"] .lineage-node:focus-visible .lineage-node-card {
  fill: #ffffff;
  stroke: rgba(23, 19, 15, 0.58);
}

[data-theme="showa-light"] .lineage-node.is-active .lineage-node-card,
[data-theme="modern-showa"] .lineage-node.is-active .lineage-node-card {
  stroke: var(--accent-red);
  stroke-width: 1.5;
}

[data-theme="showa-light"] .lineage-graph.is-focusing .lineage-node:not(.is-related),
[data-theme="modern-showa"] .lineage-graph.is-focusing .lineage-node:not(.is-related) {
  opacity: 0.06;
}

[data-theme="showa-light"] .lineage-graph.is-focusing .lineage-link:not(.is-related),
[data-theme="modern-showa"] .lineage-graph.is-focusing .lineage-link:not(.is-related) {
  opacity: 0.06;
}

[data-theme="showa-light"] .lineage-info-tooltip,
[data-theme="modern-showa"] .lineage-info-tooltip {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.32), rgba(var(--text-primary-rgb), 0.012)),
    var(--bg-panel);
  border-color: rgba(23, 19, 15, 0.18);
  box-shadow: 0 18px 34px rgba(23, 19, 15, 0.16);
  color: var(--text-secondary);
}

.lineage-era-base {
  fill: transparent;
}

.lineage-era-band {
  fill: transparent;
  stroke: rgba(232, 227, 217, 0.08);
  stroke-width: 1;
}

.lineage-era-label {
  fill: rgba(214, 168, 59, 0.9);
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

[data-theme="archival-dark"] .lineage-era-label,
[data-theme="dark"] .lineage-era-label {
  fill: var(--accent-gold);
}

.lineage-link {
  fill: none;
  opacity: 0.82;
  stroke: var(--lineage-link-color, var(--accent-red));
  stroke-linecap: round;
  stroke-opacity: 0.68;
  transition: none;
}

.lineage-link-halo {
  fill: none;
  opacity: 0;
  pointer-events: none;
  stroke: var(--lineage-link-color, var(--accent-red));
  stroke-linecap: round;
  stroke-opacity: 0.18;
  transition: none;
}

.lineage-link-flow {
  display: block;
  fill: none;
  opacity: 0;
  pointer-events: none;
  stroke-linecap: round;
  stroke-opacity: 0.92;
  transition: none;
}

.lineage-graph.is-ready .lineage-link-flow {
  opacity: 0;
}

.lineage-link.is-lineage-trace,
.lineage-link-halo.is-lineage-trace,
.lineage-link-flow.is-lineage-trace {
  animation: lineage-active-path-trace 980ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.lineage-node {
  cursor: pointer;
  outline: none;
  touch-action: manipulation;
}

.lineage-node-hitarea {
  fill: transparent;
  pointer-events: all;
}

.lineage-node-card {
  fill: rgba(14, 14, 13, 0.92);
  stroke: rgba(232, 227, 217, 0.25);
  stroke-width: 1;
  transition:
    fill var(--card-transition),
    stroke var(--card-transition),
    stroke-width var(--card-transition);
}

.lineage-node-halo {
  fill: rgba(232, 227, 217, 0.03);
  opacity: 0;
  pointer-events: none;
  stroke: rgba(232, 227, 217, 0.36);
  transition: none;
}

.lineage-node-halo--outer {
  stroke: var(--lineage-node-color, var(--accent-red));
  stroke-opacity: 0.34;
  stroke-width: 8;
}

.lineage-node-halo--inner {
  stroke: rgba(232, 227, 217, 0.52);
  stroke-opacity: 0.5;
  stroke-width: 2;
}

.lineage-node-card,
.lineage-node-halo,
.lineage-node-accent,
.lineage-node-image,
.lineage-node-placeholder,
.lineage-node-title,
.lineage-node-meta,
.lineage-node-status {
  pointer-events: none;
}

.lineage-node-accent {
  fill: var(--lineage-node-color, var(--accent-red));
  opacity: 0.88;
}

.lineage-node-image {
  filter: grayscale(1) sepia(0.12) contrast(1.18) brightness(0.74);
}

.lineage-node-placeholder {
  fill: var(--lineage-node-color, var(--accent-red));
  opacity: 0.88;
}

.lineage-node-title {
  fill: var(--accent-red);
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 800;
}

.lineage-node-meta {
  fill: rgba(232, 227, 217, 0.62);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
}

.lineage-node-status {
  fill: rgba(232, 227, 217, 0.36);
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lineage-graph.is-focusing .lineage-node:not(.is-related) {
  opacity: 0.09;
  transition: none;
}

.lineage-graph.is-focusing .lineage-link:not(.is-related) {
  opacity: 0.045;
  stroke-opacity: 0.28;
  transition: none;
}

.lineage-graph.is-ready.is-focusing .lineage-link-flow:not(.is-related) {
  opacity: 0;
  stroke-opacity: 0;
}

.lineage-graph.is-ready.is-focusing .lineage-link-flow.is-related {
  opacity: 1;
  stroke-opacity: 1;
}

.lineage-node.is-related .lineage-node-halo,
.lineage-node:focus-visible .lineage-node-halo {
  opacity: 0.85;
}

.lineage-node.is-related .lineage-node-halo--outer,
.lineage-node:focus-visible .lineage-node-halo--outer {
  animation: lineage-node-pulse 2.6s ease-in-out infinite;
}

.lineage-node.is-active .lineage-node-halo--outer {
  animation-duration: 2.1s;
}

[data-theme="showa-light"] .lineage-node.is-related .lineage-node-halo--outer,
[data-theme="showa-light"] .lineage-node:focus-visible .lineage-node-halo--outer,
[data-theme="modern-showa"] .lineage-node.is-related .lineage-node-halo--outer,
[data-theme="modern-showa"] .lineage-node:focus-visible .lineage-node-halo--outer {
  animation-name: lineage-node-pulse-light;
  fill: var(--lineage-node-color, var(--accent-red));
  fill-opacity: 0.08;
  stroke: var(--lineage-node-color, var(--accent-red));
  stroke-opacity: 0.3;
  transform-box: fill-box;
  transform-origin: center;
}

.lineage-node:hover .lineage-node-card,
.lineage-node.is-related .lineage-node-card,
.lineage-node:focus-visible .lineage-node-card {
  fill: rgba(20, 20, 19, 0.96);
  stroke: rgba(232, 227, 217, 0.64);
}

.lineage-node.is-active .lineage-node-card {
  stroke: var(--accent-red);
  stroke-width: 1.5;
}

.lineage-node.is-trail-context {
  opacity: 0.62;
}

.lineage-node.is-trail-continuation {
  opacity: 0.78;
}

.lineage-node.is-trail-core {
  opacity: 1;
}

.lineage-node-info-button {
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
}

.lineage-node.is-active .lineage-node-info-button {
  opacity: 1;
  pointer-events: auto;
}

.lineage-node-info-button__backdrop {
  fill: #141414;
  stroke: rgba(245, 245, 240, 0.18);
  stroke-width: 1;
}

.lineage-node-info-button__pulse {
  fill: none;
  opacity: 0;
  pointer-events: none;
  stroke: rgba(var(--accent-red-rgb), 0.82);
  stroke-width: 2.4;
  transform-box: fill-box;
  transform-origin: center;
}

.lineage-node.is-active .lineage-node-info-button__pulse--one {
  animation: lineageInfoButtonPulse 2.2s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.lineage-node.is-active .lineage-node-info-button__pulse--two {
  animation: lineageInfoButtonPulse 2.2s cubic-bezier(0.16, 1, 0.3, 1) 1.1s infinite;
}

.lineage-node.is-active .lineage-node-info-button__backdrop {
  stroke: rgba(245, 245, 240, 0.18);
}

.lineage-node-info-button__icon-frame {
  overflow: visible;
  pointer-events: none;
}

.lineage-node-info-button__icon {
  align-items: center;
  color: rgba(245, 245, 240, 0.72);
  display: flex;
  font-size: 20px;
  height: 20px;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
  width: 20px;
}

.lineage-node.is-active .lineage-node-info-button__icon {
  color: rgba(245, 245, 240, 0.72);
}

.lineage-node-info-button:focus,
.lineage-node-info-button:focus-visible,
.lineage-node-info-button:hover,
.lineage-node-info-button *,
.lineage-node-info-button__icon-frame,
.lineage-node-info-button__icon {
  box-shadow: none;
  outline: none;
}

.lineage-node-info-button:hover .lineage-node-info-button__backdrop,
.lineage-node-info-button:focus .lineage-node-info-button__backdrop,
.lineage-node-info-button:focus-visible .lineage-node-info-button__backdrop {
  stroke: rgba(245, 245, 240, 0.28);
}

.lineage-node-info-button:hover .lineage-node-info-button__icon,
.lineage-node-info-button:focus .lineage-node-info-button__icon,
.lineage-node-info-button:focus-visible .lineage-node-info-button__icon {
  color: rgba(245, 245, 240, 0.84);
}

[data-theme="showa-light"] .lineage-node-info-button__backdrop,
[data-theme="modern-showa"] .lineage-node-info-button__backdrop {
  fill: #f1f1f1;
  stroke: rgba(23, 19, 15, 0.18);
}

[data-theme="showa-light"] .lineage-node.is-active .lineage-node-info-button__pulse,
[data-theme="modern-showa"] .lineage-node.is-active .lineage-node-info-button__pulse {
  stroke: rgba(var(--accent-red-rgb), 0.68);
  stroke-width: 2;
}

[data-theme="showa-light"] .lineage-node.is-active .lineage-node-info-button__pulse--one,
[data-theme="modern-showa"] .lineage-node.is-active .lineage-node-info-button__pulse--one {
  animation-name: lineageInfoButtonPulseLight;
}

[data-theme="showa-light"] .lineage-node.is-active .lineage-node-info-button__pulse--two,
[data-theme="modern-showa"] .lineage-node.is-active .lineage-node-info-button__pulse--two {
  animation-name: lineageInfoButtonPulseLight;
}

[data-theme="showa-light"] .lineage-node.is-active .lineage-node-info-button__backdrop,
[data-theme="modern-showa"] .lineage-node.is-active .lineage-node-info-button__backdrop,
[data-theme="archival-dark"] .lineage-node.is-active .lineage-node-info-button__backdrop,
[data-theme="dark"] .lineage-node.is-active .lineage-node-info-button__backdrop {
  stroke: rgba(var(--text-primary-rgb), 0.18);
}

[data-theme="showa-light"] .lineage-node-info-button__icon,
[data-theme="modern-showa"] .lineage-node-info-button__icon {
  color: rgba(23, 19, 15, 0.62);
}

[data-theme="showa-light"] .lineage-node.is-active .lineage-node-info-button__icon,
[data-theme="modern-showa"] .lineage-node.is-active .lineage-node-info-button__icon,
[data-theme="archival-dark"] .lineage-node.is-active .lineage-node-info-button__icon,
[data-theme="dark"] .lineage-node.is-active .lineage-node-info-button__icon {
  color: rgba(var(--text-primary-rgb), 0.72);
}

.lineage-link.is-related {
  opacity: 0.94;
  stroke-opacity: 0.92;
}

.lineage-link.is-trail-context,
.lineage-link-halo.is-trail-context,
.lineage-link-flow.is-trail-context {
  opacity: 0.42 !important;
  stroke-opacity: 0.46 !important;
}

.lineage-link.is-trail-continuation,
.lineage-link-halo.is-trail-continuation,
.lineage-link-flow.is-trail-continuation {
  opacity: 0.64 !important;
  stroke-opacity: 0.68 !important;
}

.lineage-link.is-trail-core,
.lineage-link-halo.is-trail-core,
.lineage-link-flow.is-trail-core {
  opacity: 1 !important;
  stroke-opacity: 1 !important;
}

.lineage-link-halo.is-related {
  opacity: 0;
  stroke-opacity: 0;
}

.lineage-graph.is-ready .lineage-link-flow.is-related {
  opacity: 1;
  stroke-opacity: 1;
}

[data-theme="showa-light"] .lineage-graph.is-ready .lineage-link-flow,
[data-theme="modern-showa"] .lineage-graph.is-ready .lineage-link-flow {
  opacity: 0;
  stroke-opacity: 0.88;
}

[data-theme="showa-light"] .lineage-graph.is-ready .lineage-link-flow.is-related,
[data-theme="modern-showa"] .lineage-graph.is-ready .lineage-link-flow.is-related {
  opacity: 0.9;
  stroke-opacity: 0.94;
}

[data-theme="showa-light"] .lineage-graph.is-ready.is-focusing .lineage-link-flow:not(.is-related),
[data-theme="modern-showa"] .lineage-graph.is-ready.is-focusing .lineage-link-flow:not(.is-related) {
  opacity: 0;
  stroke-opacity: 0;
}

[data-theme="showa-light"] .lineage-graph.is-focusing .lineage-link:not(.is-related),
[data-theme="modern-showa"] .lineage-graph.is-focusing .lineage-link:not(.is-related) {
  opacity: 0.035;
  stroke-opacity: 0.22;
}

.lineage-relationship-legend {
  align-items: center;
  background: var(--bg-card);
  border: 1px solid rgba(232, 227, 217, 0.18);
  color: rgba(232, 227, 217, 0.72);
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  gap: 0.85rem;
  max-width: none;
  padding: 0.55rem 0.7rem;
  width: max-content;
}

.lineage-relationship-legend h3 {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.lineage-relationship-legend p {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  margin: 0;
  white-space: nowrap;
}

.lineage-relationship-legend i {
  background: var(--lineage-link-color);
  display: inline-block;
  height: 8px;
  width: calc(1.75rem + 2px);
}

.lineage-graph-nav .lineage-graph-info {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.04);
  border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 auto;
  height: 38px;
  justify-content: center;
  min-height: 38px;
  min-width: 38px;
  padding: 0;
  position: relative;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    color 160ms ease;
  width: 38px;
}

.lineage-graph-nav .lineage-graph-info:hover,
.lineage-graph-nav .lineage-graph-info:focus-visible,
.lineage-graph-nav .lineage-graph-info:focus-within {
  background: rgba(var(--accent-red-rgb), 0.08);
  border-color: rgba(var(--accent-red-rgb), 0.48);
  box-shadow: 0 0 0 3px rgba(var(--accent-red-rgb), 0.08);
  color: var(--text-primary);
}

.lineage-graph-info .material-symbols-outlined {
  color: rgba(var(--text-primary-rgb), 0.76);
  font-size: 1.25rem;
  line-height: 1;
  transition: color 160ms ease;
}

.lineage-graph-info:hover .material-symbols-outlined,
.lineage-graph-info:focus-visible .material-symbols-outlined,
.lineage-graph-info:focus-within .material-symbols-outlined {
  color: var(--text-primary);
}

.lineage-info-tooltip {
  background:
    linear-gradient(180deg, rgba(232, 227, 217, 0.055), rgba(232, 227, 217, 0.018)),
    var(--bg-card);
  border: 1px solid rgba(232, 227, 217, 0.18);
  box-sizing: border-box;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.38);
  color: rgba(232, 227, 217, 0.78);
  display: flex;
  flex-direction: column;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 700;
  gap: 0.35rem;
  line-height: 1.35;
  left: auto;
  max-width: min(18rem, calc(100vw - 2rem));
  min-width: 0;
  opacity: 0;
  padding: 0.7rem 0.8rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  text-align: left;
  text-transform: none;
  top: calc(100% + 0.6rem);
  transform: translateY(-0.2rem);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  visibility: hidden;
  white-space: normal;
  width: 18rem;
  z-index: 240;
}

.lineage-info-tooltip span {
  color: inherit;
  display: block;
  font-size: inherit;
  min-width: 0;
  text-align: left;
  white-space: normal;
  width: 100%;
}

.lineage-graph-info:hover .lineage-info-tooltip,
.lineage-graph-info:focus-visible .lineage-info-tooltip,
.lineage-graph-info:focus-within .lineage-info-tooltip {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

/* Editorial refinement for the lineage archive. */
[data-theme="archival-dark"] .lineage-graph-shell,
[data-theme="dark"] .lineage-graph-shell {
  background:
    radial-gradient(circle at 30% 10%, rgba(180, 35, 35, 0.08), transparent 32%),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    #0b0b0a;
  background-size: auto, 8px 8px, 8px 8px, auto;
  border-top-color: rgba(220, 210, 185, 0.12);
  scrollbar-color: rgba(238, 228, 202, 0.28) rgba(255, 255, 255, 0.035);
}

[data-theme="modern-showa"] .lineage-graph-shell,
[data-theme="showa-light"] .lineage-graph-shell {
  background:
    linear-gradient(rgba(40, 34, 26, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(40, 34, 26, 0.035) 1px, transparent 1px),
    #f6f2e8;
  background-size: 8px 8px, 8px 8px, auto;
}

[data-theme="modern-showa"] .lineage-graph-shell::before,
[data-theme="showa-light"] .lineage-graph-shell::before {
  opacity: 0.32;
}

[data-theme="archival-dark"] .lineage-graph,
[data-theme="dark"] .lineage-graph,
[data-theme="modern-showa"] .lineage-graph,
[data-theme="showa-light"] .lineage-graph {
  background: transparent;
}

[data-theme="archival-dark"] .lineage-controls,
[data-theme="dark"] .lineage-controls {
  backdrop-filter: blur(6px);
  background: rgba(12, 12, 11, 0.88);
  border-bottom-color: rgba(220, 210, 185, 0.14);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.025);
}

[data-theme="modern-showa"] .lineage-controls,
[data-theme="showa-light"] .lineage-controls {
  backdrop-filter: none;
  background: #ffffff;
  border-bottom-color: var(--border-subtle);
  box-shadow: none;
}

[data-theme="archival-dark"] .lineage-filter-trigger,
[data-theme="archival-dark"] .lineage-relationship-legend,
[data-theme="archival-dark"] .lineage-graph-nav,
[data-theme="archival-dark"] .lineage-graph-nav button,
[data-theme="dark"] .lineage-filter-trigger,
[data-theme="dark"] .lineage-relationship-legend,
[data-theme="dark"] .lineage-graph-nav,
[data-theme="dark"] .lineage-graph-nav button {
  background: rgba(18, 18, 16, 0.86);
  border-color: rgba(220, 210, 185, 0.14);
}

[data-theme="modern-showa"] .lineage-filter-trigger,
[data-theme="modern-showa"] .lineage-relationship-legend,
[data-theme="modern-showa"] .lineage-graph-nav,
[data-theme="modern-showa"] .lineage-graph-nav button,
[data-theme="showa-light"] .lineage-filter-trigger,
[data-theme="showa-light"] .lineage-relationship-legend,
[data-theme="showa-light"] .lineage-graph-nav,
[data-theme="showa-light"] .lineage-graph-nav button {
  background: #ffffff;
  border-color: var(--border-subtle);
}

[data-theme="archival-dark"] .lineage-era-band,
[data-theme="dark"] .lineage-era-band {
  fill: rgba(255, 255, 255, 0.018);
  stroke: rgba(220, 210, 185, 0.12);
}

[data-theme="modern-showa"] .lineage-era-band,
[data-theme="showa-light"] .lineage-era-band {
  fill: rgba(120, 92, 52, 0.024);
  stroke: rgba(80, 70, 55, 0.14);
}

[data-theme="archival-dark"] .lineage-era-label,
[data-theme="dark"] .lineage-era-label {
  fill: rgba(238, 228, 202, 0.84);
  letter-spacing: 0.12em;
}

[data-theme="modern-showa"] .lineage-era-label,
[data-theme="showa-light"] .lineage-era-label {
  fill: rgba(170, 30, 30, 0.88);
  letter-spacing: 0.12em;
}

.lineage-node {
  transition: opacity 160ms ease;
}

.lineage-node-card {
  filter: none;
  transition:
    fill var(--card-transition),
    stroke var(--card-transition),
    stroke-width var(--card-transition),
    filter var(--card-transition);
}

[data-theme="archival-dark"] .lineage-node-card,
[data-theme="dark"] .lineage-node-card {
  fill: rgba(18, 18, 16, 0.92);
  stroke: rgba(230, 220, 190, 0.18);
}

[data-theme="modern-showa"] .lineage-node-card,
[data-theme="showa-light"] .lineage-node-card {
  fill: #ffffff;
  stroke: rgba(80, 70, 55, 0.22);
}

.lineage-node:not(.is-lineage-only) .lineage-node-card {
  stroke-width: 1.15;
}

.lineage-node.is-lineage-only {
  opacity: 0.88;
}

[data-theme="archival-dark"] .lineage-node:hover .lineage-node-card,
[data-theme="archival-dark"] .lineage-node:focus-visible .lineage-node-card,
[data-theme="archival-dark"] .lineage-node.is-related .lineage-node-card,
[data-theme="dark"] .lineage-node:hover .lineage-node-card,
[data-theme="dark"] .lineage-node:focus-visible .lineage-node-card,
[data-theme="dark"] .lineage-node.is-related .lineage-node-card {
  fill: rgba(22, 22, 20, 0.96);
  filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.42));
  stroke: rgba(255, 80, 70, 0.48);
}

[data-theme="modern-showa"] .lineage-node:hover .lineage-node-card,
[data-theme="modern-showa"] .lineage-node:focus-visible .lineage-node-card,
[data-theme="modern-showa"] .lineage-node.is-related .lineage-node-card,
[data-theme="showa-light"] .lineage-node:hover .lineage-node-card,
[data-theme="showa-light"] .lineage-node:focus-visible .lineage-node-card,
[data-theme="showa-light"] .lineage-node.is-related .lineage-node-card {
  fill: #ffffff;
  filter: drop-shadow(0 10px 24px rgba(65, 45, 25, 0.16));
  stroke: rgba(185, 38, 34, 0.42);
}

[data-theme="archival-dark"] .lineage-node.is-active .lineage-node-card,
[data-theme="dark"] .lineage-node.is-active .lineage-node-card {
  stroke: rgba(255, 80, 70, 0.72);
}

[data-theme="modern-showa"] .lineage-node.is-active .lineage-node-card,
[data-theme="showa-light"] .lineage-node.is-active .lineage-node-card {
  stroke: rgba(185, 38, 34, 0.72);
}

[data-theme="archival-dark"] .lineage-node-title,
[data-theme="dark"] .lineage-node-title {
  fill: rgba(255, 74, 74, 0.94);
}

[data-theme="archival-dark"] .lineage-node-meta,
[data-theme="dark"] .lineage-node-meta {
  fill: rgba(235, 225, 200, 0.72);
}

[data-theme="modern-showa"] .lineage-node-title,
[data-theme="showa-light"] .lineage-node-title {
  fill: rgba(185, 38, 34, 0.96);
}

[data-theme="modern-showa"] .lineage-node-meta,
[data-theme="showa-light"] .lineage-node-meta {
  fill: rgba(55, 48, 40, 0.74);
}

.lineage-node-image {
  filter: grayscale(1) contrast(1.08);
}

[data-theme="archival-dark"] .lineage-node-image,
[data-theme="dark"] .lineage-node-image {
  filter: grayscale(1) sepia(0.08) contrast(1.12) brightness(0.78);
}

[data-theme="modern-showa"] .lineage-node-image,
[data-theme="showa-light"] .lineage-node-image {
  filter: grayscale(1) sepia(0.04) contrast(1.08) brightness(0.94);
}

[data-theme="archival-dark"] .lineage-link,
[data-theme="dark"] .lineage-link {
  opacity: 0.72;
}

[data-theme="archival-dark"] .lineage-link.is-related,
[data-theme="dark"] .lineage-link.is-related {
  filter: none;
}

[data-theme="modern-showa"] .lineage-link,
[data-theme="showa-light"] .lineage-link {
  filter: saturate(1.14) contrast(1.06);
  opacity: 0.88;
  stroke-opacity: 0.86;
}

.lineage-detail {
  background: var(--modal-shadowbox-surface);
  border: 1px solid var(--modal-shadowbox-stroke);
  border-left: 3px solid #f5f5f0;
  bottom: 0;
  box-shadow: none;
  color: var(--text-primary);
  height: calc(100vh - var(--site-header-height));
  max-height: none;
  overflow-y: auto;
  padding: 1.4rem 1.35rem;
  scroll-padding-top: 1.4rem;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: var(--site-header-height);
  transform: translateX(104%);
  transition:
    transform 280ms cubic-bezier(0.2, 0.9, 0.2, 1),
    visibility 280ms linear;
  visibility: hidden;
  width: min(26rem, 92vw);
  z-index: 270;
}

.lineage-page.lineage-page--collapsed .lineage-detail {
  height: calc(100vh - var(--site-header-height));
  top: var(--site-header-height);
}

.lineage-detail[hidden] {
  display: none;
}

.lineage-detail.is-open {
  pointer-events: auto;
  transform: translateX(0);
  visibility: visible;
}

.lineage-detail__close {
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 2;
}

.lineage-detail__hero {
  border-bottom: 1px solid rgba(245, 245, 240, 0.16);
  display: flex;
  flex-direction: column;
  gap: 0.82rem;
  padding: 0.2rem 0 1rem;
}

.lineage-detail__hero > .lineage-detail__eyebrow {
  padding-right: 3.1rem;
}

.lineage-detail__identity {
  align-items: flex-start;
  display: flex;
  gap: 0.9rem;
  max-width: min(31rem, 100%);
}

.lineage-detail__title-block {
  min-width: 0;
  width: 100%;
}

.lineage-detail__eyebrow,
.lineage-section__label {
  color: var(--accent-red);
  font-family: var(--font-heading);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.05;
  margin: 0 0 0.72rem;
  position: relative;
  text-transform: uppercase;
}

.lineage-section__label::after {
  background: var(--accent-red);
  content: "";
  display: block;
  height: 2px;
  margin-top: 0.45rem;
  width: 32px;
}

.lineage-detail h2 {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: clamp(2.35rem, 4vw, 3rem);
  line-height: 0.9;
  margin: 0;
  overflow-wrap: normal;
  text-transform: uppercase;
  word-break: normal;
}

.lineage-detail h2.lineage-detail__title--long {
  font-size: clamp(2rem, 3.25vw, 2.5rem);
  max-width: 100%;
}

.lineage-detail__jp {
  color: #f5f5f0;
  font-family: var(--font-heading);
  font-size: 0.98rem;
  font-weight: 800;
  margin: 0.38rem 0 0;
}

.lineage-detail__portrait {
  aspect-ratio: 1 / 1;
  background: linear-gradient(180deg, #2a2a2a 0%, #050505 100%);
  border: 1px solid rgba(245, 245, 240, 0.28);
  box-shadow: inset 0 0 0 1px rgba(5, 5, 5, 0.38);
  flex: 0 0 min(8.25rem, 39%);
  filter: grayscale(1) sepia(0.12) contrast(1.16) brightness(0.74);
  object-fit: cover;
  object-position: center 36%;
  width: min(8.25rem, 39%);
}

.lineage-detail__tags,
.lineage-mini-list,
.lineage-relationship-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lineage-tag,
.lineage-mini-list span {
  border: 1px solid rgba(245, 245, 240, 0.16);
  color: var(--text-secondary);
  font-family: var(--font-heading);
  font-size: 0.76rem;
  padding: 0.35rem 0.5rem;
}

.lineage-tag--status {
  border-color: var(--lineage-node-color, var(--accent-red));
  color: var(--text-primary);
}

.lineage-section {
  border-bottom: 1px solid rgba(245, 245, 240, 0.14);
  padding: 1rem 0;
}

.lineage-detail__summary-grid {
  border-bottom: 1px solid rgba(245, 245, 240, 0.14);
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1rem 0;
}

.lineage-detail__summary-grid .lineage-section {
  border-bottom: 0;
  padding: 0;
}

.lineage-section--connections {
  padding: 1rem 0 0.95rem;
}

.lineage-section:last-child {
  border-bottom: 0;
}

.lineage-section > p:not(.lineage-section__label) {
  color: var(--text-secondary);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.lineage-relationship-card {
  border-left: 2px solid var(--lineage-link-color, var(--accent-red));
  color: var(--text-secondary);
  flex: 1 1 9.5rem;
  font-family: var(--font-heading);
  padding: 0.3rem 0 0.3rem 0.6rem;
}

.lineage-relationship-card strong {
  color: var(--text-primary);
  display: block;
  font-size: 0.92rem;
}

.lineage-detail__cta {
  align-items: center;
  background: rgba(var(--accent-red-rgb), 0.78);
  border: 1px solid rgba(var(--accent-red-rgb), 0.85);
  color: #fff;
  display: inline-flex;
  font-family: var(--font-heading);
  font-size: 0.86rem;
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.08em;
  margin-top: 1rem;
  padding: 0.78rem 1rem;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

.lineage-detail__coming-soon {
  border: 1px solid rgba(245, 245, 240, 0.16);
  color: var(--text-secondary);
  font-family: var(--font-heading);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 1rem 0 0;
  padding: 0.78rem 1rem;
  text-align: center;
  text-transform: uppercase;
}

[data-theme="showa-light"] .lineage-detail,
[data-theme="modern-showa"] .lineage-detail {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(248, 246, 239, 0.972)),
    #ffffff;
  border: 1px solid var(--modal-shadowbox-stroke);
  border-left: 2px solid #000000;
  color: var(--text-primary);
}

[data-theme="archival-dark"] .lineage-detail,
[data-theme="dark"] .lineage-detail {
  background:
    linear-gradient(180deg, rgba(6, 6, 6, 0.982), rgba(3, 3, 3, 0.965)),
    #050505;
  border: 1px solid var(--modal-shadowbox-stroke);
  border-left: 3px solid #f5f5f0;
}

[data-theme="showa-light"] .lineage-detail__hero,
[data-theme="modern-showa"] .lineage-detail__hero {
  border-bottom-color: var(--border-subtle);
}

[data-theme="showa-light"] .lineage-detail__eyebrow,
[data-theme="showa-light"] .lineage-section__label,
[data-theme="modern-showa"] .lineage-detail__eyebrow,
[data-theme="modern-showa"] .lineage-section__label {
  color: var(--accent-red);
}

[data-theme="showa-light"] .lineage-detail h2,
[data-theme="modern-showa"] .lineage-detail h2 {
  color: var(--accent-red);
}

[data-theme="showa-light"] .lineage-detail__jp,
[data-theme="modern-showa"] .lineage-detail__jp {
  color: #000000;
}

[data-theme="showa-light"] .lineage-detail__portrait,
[data-theme="modern-showa"] .lineage-detail__portrait {
  background: #eeeeee;
  border: 1px solid #ffffff;
  box-shadow: 0 0 0 1px var(--border-subtle);
  filter: none;
}

[data-theme="showa-light"] .lineage-tag,
[data-theme="showa-light"] .lineage-mini-list span,
[data-theme="modern-showa"] .lineage-tag,
[data-theme="modern-showa"] .lineage-mini-list span {
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-tag--status,
[data-theme="modern-showa"] .lineage-tag--status {
  border-color: #b99a6d;
}

[data-theme="showa-light"] .lineage-section,
[data-theme="modern-showa"] .lineage-section {
  border-bottom-color: var(--border-subtle);
}

[data-theme="showa-light"] .lineage-detail__summary-grid,
[data-theme="modern-showa"] .lineage-detail__summary-grid {
  border-bottom-color: var(--border-subtle);
}

[data-theme="showa-light"] .lineage-section > p:not(.lineage-section__label),
[data-theme="showa-light"] .lineage-relationship-card,
[data-theme="modern-showa"] .lineage-section > p:not(.lineage-section__label),
[data-theme="modern-showa"] .lineage-relationship-card {
  color: var(--text-primary);
}

[data-theme="showa-light"] .lineage-relationship-card strong,
[data-theme="modern-showa"] .lineage-relationship-card strong {
  color: #000000;
}

[data-theme="showa-light"] .lineage-detail__coming-soon,
[data-theme="modern-showa"] .lineage-detail__coming-soon {
  border-color: var(--border-subtle);
  color: var(--text-muted);
}

[data-theme="showa-light"] .lineage-detail__close,
[data-theme="modern-showa"] .lineage-detail__close {
  background: #ffffff;
  border-color: var(--border-subtle);
  color: #000000;
}

[data-theme="archival-dark"] .lineage-detail__close,
[data-theme="dark"] .lineage-detail__close {
  background: #0a0a0a;
  border-color: rgba(245, 245, 240, 0.22);
  color: var(--text-primary);
}

@keyframes lineage-node-pulse {
  0%,
  100% {
    opacity: 0.48;
    stroke-opacity: 0.24;
  }

  50% {
    opacity: 0.92;
    stroke-opacity: 0.46;
  }
}

@keyframes lineage-node-pulse-light {
  0%,
  100% {
    fill-opacity: 0.04;
    opacity: 0.24;
    stroke-opacity: 0.18;
    transform: scale(1);
  }

  45% {
    fill-opacity: 0.14;
    opacity: 0.74;
    stroke-opacity: 0.4;
    transform: scale(1.03);
  }
}

@keyframes lineageInfoButtonPulse {
  0% {
    opacity: 0;
    transform: scale(0.72);
  }

  18% {
    opacity: 0.88;
  }

  100% {
    opacity: 0;
    transform: scale(3.15);
  }
}

@keyframes lineageInfoButtonPulseLight {
  0% {
    opacity: 0;
    transform: scale(0.76);
  }

  22% {
    opacity: 0.66;
  }

  100% {
    opacity: 0;
    transform: scale(2.85);
  }
}

@keyframes lineage-active-path-trace {
  0% {
    filter: none;
    opacity: 0.18;
    stroke-opacity: 0.24;
  }

  42% {
    filter: drop-shadow(0 0 9px rgba(255, 48, 58, 0.3));
    opacity: 1;
    stroke-opacity: 1;
  }

  100% {
    filter: none;
  }
}

@media (max-width: 900px) {
  .lineage-controls {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .lineage-insight-strip {
    display: none;
  }

  .lineage-stage,
  .lineage-graph,
  .lineage-graph-shell,
  .lineage-svg {
    min-height: 760px;
  }

  .lineage-graph {
    min-width: 1900px;
  }

  .lineage-relationship-legend,
  .lineage-graph-nav {
    width: max-content;
  }

  .lineage-relationship-legend {
    order: 3;
    width: 100%;
  }

  .lineage-detail {
    bottom: 0;
    height: calc(100vh - var(--site-header-height));
    max-height: none;
    top: var(--site-header-height);
    width: min(26rem, 92vw);
  }

}

@media (max-width: 520px) {
  .lineage-detail {
    padding: 1.15rem 1rem;
    width: 92vw;
  }

  .lineage-detail__hero {
    padding-right: 0;
  }

  .lineage-detail__hero > .lineage-detail__eyebrow {
    padding-right: 2.85rem;
  }

  .lineage-detail__identity,
  .lineage-detail__summary-grid {
    grid-template-columns: 1fr;
  }

  .lineage-detail__identity {
    align-items: flex-start;
    flex-direction: column;
  }

  .lineage-detail__portrait {
    flex-basis: auto;
    width: min(12rem, 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lineage-link,
  .lineage-link-flow,
  .lineage-node-card,
  .lineage-node-halo,
  .lineage-node-info-button__pulse,
  .lineage-filter,
  .lineage-filter-trigger,
  .lineage-filter-panel,
  .lineage-filter-scrim,
  .lineage-sticky-ui,
  .lineage-controls,
  .lineage-detail {
    animation: none;
    transition: none;
  }
}

/* Wrestlers mobile/tablet header polish: keep the shortcut row inside the header width. */
@media (max-width: 1120px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  [data-wrestlers-page] .wrestler-tools {
    box-sizing: border-box !important;
    display: grid !important;
    gap: 0.65rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestler-tools .search-wrap {
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] [data-wrestler-view-toggle="rivalries"] {
    isolation: isolate;
    overflow: hidden;
    position: relative;
  }

  [data-wrestlers-page] [data-wrestler-view-toggle="rivalries"]::after {
    animation: rivalryStrokeSweep 7s linear infinite;
    background:
      conic-gradient(
        from var(--rivalry-stroke-angle),
        transparent 0deg,
        transparent 28deg,
        rgba(var(--accent-red-rgb), 0.14) 60deg,
        rgba(var(--accent-red-rgb), 0.92) 106deg,
        rgba(var(--accent-red-rgb), 0.16) 150deg,
        transparent 180deg,
        transparent 208deg,
        rgba(var(--accent-red-rgb), 0.16) 240deg,
        rgba(var(--accent-red-rgb), 1) 286deg,
        rgba(var(--accent-red-rgb), 0.18) 330deg,
        transparent 360deg
      );
    content: "";
    inset: 0;
    opacity: 0.95;
    padding: 2px;
    pointer-events: none;
    position: absolute;
    z-index: 1;
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    mask-composite: exclude;
  }

  [data-wrestlers-page] [data-wrestler-view-toggle="rivalries"] > * {
    position: relative;
    z-index: 2;
  }
}

@media (max-width: 560px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    padding-inline: clamp(1rem, 5vw, 1.25rem) !important;
  }

  [data-wrestlers-page] .wrestler-tools {
    gap: 0.5rem !important;
  }

  [data-wrestlers-page] .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-view-toggle .venues-view-toggle__btn {
    gap: 0.28rem !important;
    padding-inline: 0.3rem !important;
  }
}

/* Masks archive */
.masks-page,
.mask-profile-page {
  --museum-gold: var(--accent-gold, #c8a24a);
  --mask-panel: color-mix(in srgb, var(--bg-card) 82%, #050403 18%);
  --mask-border: color-mix(in srgb, var(--museum-gold) 36%, transparent);
  background:
    radial-gradient(circle at 78% 5%, rgba(var(--accent-red-rgb), 0.16), transparent 28rem),
    radial-gradient(circle at 16% 10%, color-mix(in srgb, var(--museum-gold) 18%, transparent), transparent 24rem),
    var(--route-atmosphere, var(--bg-primary));
  color: var(--text-primary);
}

.masks-page a,
.mask-profile-page a {
  color: inherit;
}

.mask-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 32rem);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  min-height: clamp(35rem, 72vh, 46rem);
  padding: clamp(6rem, 10vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(3rem, 7vw, 6rem);
  overflow: hidden;
  border-bottom: 1px solid var(--mask-border);
}

.mask-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.52), transparent 58%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 7px);
  mix-blend-mode: multiply;
}

.mask-hero__glow {
  position: absolute;
  right: 8%;
  top: 12%;
  width: min(32rem, 58vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(214, 168, 59, 0.34), rgba(214, 168, 59, 0.08) 42%, transparent 70%);
  filter: blur(6px);
}

.mask-hero__vertical {
  position: absolute;
  right: clamp(1rem, 3vw, 2.25rem);
  top: 7rem;
  writing-mode: vertical-rl;
  font-family: var(--display);
  font-size: clamp(2.25rem, 6vw, 5rem);
  letter-spacing: 0.16em;
  color: color-mix(in srgb, var(--museum-gold) 34%, transparent);
}

.mask-hero__copy,
.mask-hero__artifact {
  position: relative;
  z-index: 1;
}

.mask-hero h1 {
  max-width: 10ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(4rem, 11vw, 9.5rem);
  line-height: 0.82;
  letter-spacing: 0;
  text-transform: uppercase;
}

.mask-hero__subtitle {
  margin: 1.25rem 0 0;
  font-family: var(--display);
  font-size: clamp(1.2rem, 2.2vw, 2rem);
  color: var(--museum-gold);
  text-transform: uppercase;
}

.mask-hero__chips,
.mask-tag-row,
.mask-history-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.mask-hero__chips {
  margin-top: 2rem;
}

.mask-hero__chips span,
.mask-tag-row span,
.mask-history-pills span {
  border: 1px solid var(--mask-border);
  background: rgba(22, 20, 18, 0.62);
  color: var(--text-secondary);
  padding: 0.42rem 0.7rem;
  font-family: var(--display);
  font-size: 0.72rem;
  line-height: 1;
  text-transform: uppercase;
}

.mask-hero__artifact {
  margin: 0;
  display: grid;
  place-items: center;
  min-height: 30rem;
}

.mask-hero__artifact::before {
  content: "";
  position: absolute;
  bottom: 7%;
  width: 82%;
  height: 18%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0, 0, 0, 0.72), transparent 70%);
  filter: blur(8px);
}

.mask-hero__artifact img {
  position: relative;
  width: min(25rem, 72vw);
  max-height: 34rem;
  object-fit: contain;
  filter: drop-shadow(0 1.4rem 2.6rem rgba(0, 0, 0, 0.72));
}

.mask-hero__artifact figcaption {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 90%;
  border-top: 1px solid var(--mask-border);
  padding-top: 0.45rem;
  color: var(--text-secondary);
  font-size: 0.78rem;
  text-align: center;
}

.mask-hero__seal {
  position: absolute;
  right: 2rem;
  top: 2rem;
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  border: 2px solid rgba(var(--accent-red-rgb), 0.85);
  color: rgba(var(--accent-red-rgb), 0.9);
  font-family: var(--display);
  font-size: 1.7rem;
  transform: rotate(-9deg);
}

.masks-toolbar,
.masks-section,
.mask-profile-hero,
.mask-profile-body,
.mask-profile-pagination {
  width: min(1180px, calc(100% - 2rem));
  margin-inline: auto;
}

.masks-toolbar {
  position: sticky;
  z-index: 5;
  top: var(--header-height, 4.5rem);
  display: grid;
  grid-template-columns: minmax(16rem, 1.1fr) minmax(0, 2fr) auto;
  gap: 0.9rem;
  align-items: center;
  margin-top: -1.5rem;
  border: 1px solid var(--mask-border);
  background: color-mix(in srgb, var(--mask-panel) 86%, transparent);
  padding: 0.8rem;
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(16px);
}

.masks-search {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.85rem;
  border: 1px solid color-mix(in srgb, var(--text-secondary) 20%, transparent);
  background: rgba(0, 0, 0, 0.18);
  padding: 0 0.8rem;
}

.masks-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text-primary);
  font: inherit;
}

.masks-filter-row {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.masks-filter-row button,
.texture-study__buttons button {
  flex: 0 0 auto;
  border: 1px solid var(--mask-border);
  background: transparent;
  color: var(--text-secondary);
  min-height: 2.5rem;
  padding: 0 0.8rem;
  font-family: var(--display);
  font-size: 0.72rem;
  text-transform: uppercase;
  cursor: pointer;
}

.masks-filter-row button[aria-pressed="true"],
.texture-study__buttons button[aria-pressed="true"] {
  background: rgba(var(--accent-red-rgb), 0.9);
  border-color: rgba(var(--accent-red-rgb), 0.9);
  color: #fff8ec;
}

.masks-sort {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-secondary);
  font-family: var(--display);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.masks-sort select {
  min-height: 2.85rem;
  border: 1px solid var(--mask-border);
  background: var(--mask-panel);
  color: var(--text-primary);
  padding: 0 0.7rem;
}

.masks-section {
  padding-block: clamp(3rem, 7vw, 6rem);
}

.masks-section__head {
  max-width: 46rem;
  margin-bottom: 1.6rem;
}

.masks-section__head--split {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  max-width: none;
  align-items: end;
}

.masks-section h2,
.mask-profile-section h2,
.mask-lineage-grid h3,
.texture-study__panel h3 {
  margin: 0;
  font-family: var(--display);
  text-transform: uppercase;
  letter-spacing: 0;
}

.masks-section h2 {
  font-size: clamp(2rem, 5vw, 4.75rem);
}

.masks-section__head p:not(.kicker) {
  color: var(--text-secondary);
}

.sacred-mask-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(15rem, 20rem);
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  scroll-snap-type: x proximity;
}

.sacred-mask-card,
.mask-card,
.related-mask-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--mask-border);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mask-panel) 90%, #000 10%), var(--mask-panel)),
    var(--mask-panel);
  text-decoration: none;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.18);
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    transform var(--card-transition);
}

.sacred-mask-card {
  display: grid;
  grid-template-rows: 14rem auto;
  min-height: 24rem;
  scroll-snap-align: start;
}

.mask-card::before,
.sacred-mask-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 38%, rgba(255, 255, 255, 0.08) 46%, transparent 54% 100%);
  transform: translateX(-100%);
  transition: transform 700ms ease;
}

.mask-card:hover::before,
.sacred-mask-card:hover::before,
.mask-card:focus-visible::before,
.sacred-mask-card:focus-visible::before {
  transform: translateX(100%);
}

.mask-card:hover,
.sacred-mask-card:hover,
.related-mask-card:hover,
.mask-card:focus-visible,
.sacred-mask-card:focus-visible,
.related-mask-card:focus-visible {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--museum-gold) 70%, transparent);
}

.mask-card__image,
.sacred-mask-card__image,
.related-mask-card__image {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 15rem;
  padding: 1.5rem;
  background:
    radial-gradient(circle at center, color-mix(in srgb, var(--museum-gold) 18%, transparent), transparent 62%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.36));
}

.mask-card__image img,
.sacred-mask-card__image img,
.related-mask-card__image img {
  width: 100%;
  height: 13rem;
  object-fit: contain;
  filter: drop-shadow(0 0.9rem 1.45rem rgba(0, 0, 0, 0.6));
  transition: transform 260ms ease;
}

.mask-card:hover img,
.sacred-mask-card:hover img {
  transform: scale(1.035);
}

.mask-image-pending,
.mask-image-placeholder {
  display: grid;
  place-items: center;
  min-height: 12rem;
  width: 100%;
  border: 1px dashed color-mix(in srgb, var(--museum-gold) 45%, transparent);
  color: var(--text-secondary);
  font-family: var(--display);
  text-transform: uppercase;
}

.mask-card__placard,
.sacred-mask-card__placard,
.related-mask-card__placard {
  position: relative;
  z-index: 1;
  margin: 0 1rem 1rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 32%),
    var(--paper-solid, #efe2c7);
  color: #1b1711;
  padding: 1rem;
}

.mask-card__placard::before,
.sacred-mask-card__placard::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background: var(--accent-red);
}

.mask-card__placard h3,
.sacred-mask-card__placard h3,
.related-mask-card__placard h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.35rem;
  line-height: 0.95;
  text-transform: uppercase;
}

.mask-card__meta,
.mask-card__summary,
.sacred-mask-card__placard p,
.related-mask-card__placard p {
  margin: 0.6rem 0 0;
  font-size: 0.82rem;
  line-height: 1.45;
}

.mask-card__meta {
  color: rgba(27, 23, 17, 0.72);
  font-family: var(--display);
  text-transform: uppercase;
}

.mask-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.8rem;
}

.mask-card__tags span {
  border-top: 1px solid rgba(27, 23, 17, 0.22);
  padding-top: 0.25rem;
  font-family: var(--display);
  font-size: 0.65rem;
  text-transform: uppercase;
}

.mask-card__cta {
  display: inline-flex;
  margin-top: 0.9rem;
  color: var(--accent-red);
  font-family: var(--display);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.mask-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.mask-card {
  display: grid;
  min-height: 31rem;
}

.mask-lineage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.mask-lineage-grid article,
.texture-study__panel,
.mask-profile-section {
  border: 1px solid var(--mask-border);
  background: color-mix(in srgb, var(--mask-panel) 88%, transparent);
  padding: 1.25rem;
}

.mask-lineage-grid span,
.texture-study__panel span {
  color: var(--museum-gold);
  font-family: var(--display);
}

.texture-study__layout {
  display: grid;
  grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr);
  gap: 1rem;
}

.texture-study__buttons {
  display: grid;
  gap: 0.55rem;
}

.texture-study__buttons button {
  justify-content: start;
  text-align: left;
}

.texture-study__panel p,
.mask-lineage-grid p {
  color: var(--text-secondary);
}

.mask-empty-state {
  --empty-state-border: var(--empty-state-border-dashed);
  --empty-state-padding: 2rem;
}

.mask-back-link {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  margin: clamp(5.5rem, 8vw, 7rem) 0 1rem max(1rem, calc((100vw - 1180px) / 2));
  color: var(--text-secondary);
  font-family: var(--display);
  text-decoration: none;
  text-transform: uppercase;
}

.mask-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  gap: 1.25rem;
  align-items: stretch;
}

.mask-artifact-viewer,
.mask-profile-placard {
  border: 1px solid var(--mask-border);
  background: color-mix(in srgb, var(--mask-panel) 88%, transparent);
}

.mask-artifact-viewer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6.5rem;
  min-height: clamp(28rem, 64vh, 42rem);
}

.mask-artifact-viewer__stage {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--museum-gold) 22%, transparent), transparent 42%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.42));
}

.mask-artifact-viewer__stage img {
  width: min(72%, 34rem);
  max-height: 36rem;
  object-fit: contain;
  filter: drop-shadow(0 1.4rem 2rem rgba(0, 0, 0, 0.7));
}

.mask-lightbox-trigger {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid var(--mask-border);
  background: rgba(0, 0, 0, 0.52);
  color: var(--text-primary);
  padding: 0.65rem 0.8rem;
  font-family: var(--display);
  text-transform: uppercase;
  cursor: pointer;
}

.mask-thumbnail-rail {
  display: grid;
  align-content: start;
  gap: 0.65rem;
  border-left: 1px solid var(--mask-border);
  padding: 0.75rem;
  overflow-y: auto;
}

.mask-thumbnail-rail button {
  display: grid;
  gap: 0.35rem;
  border: 1px solid color-mix(in srgb, var(--text-secondary) 20%, transparent);
  background: rgba(0, 0, 0, 0.18);
  color: var(--text-secondary);
  padding: 0.35rem;
  cursor: pointer;
}

.mask-thumbnail-rail button[aria-pressed="true"] {
  border-color: var(--museum-gold);
  color: var(--museum-gold);
}

.mask-thumbnail-rail img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}

.mask-thumbnail-rail span {
  font-family: var(--display);
  font-size: 0.62rem;
  text-transform: uppercase;
}

.mask-profile-placard {
  padding: clamp(1.25rem, 3vw, 2rem);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 36%),
    color-mix(in srgb, var(--paper-solid, #efe2c7) 92%, #fff 8%);
  color: #1a1610;
}

.mask-profile-placard .kicker {
  color: var(--accent-red);
}

.mask-profile-placard h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.4rem, 5vw, 5.25rem);
  line-height: 0.88;
  text-transform: uppercase;
}

.mask-profile-placard__japanese,
.mask-profile-placard__wrestler {
  color: rgba(26, 22, 16, 0.7);
}

.mask-profile-placard .mask-tag-row span,
.mask-profile-placard .mask-history-pills span {
  background: rgba(26, 22, 16, 0.08);
  color: #1a1610;
  border-color: rgba(26, 22, 16, 0.18);
}

.mask-profile-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 1.25rem 0;
}

.mask-profile-meta div {
  border-top: 1px solid rgba(26, 22, 16, 0.22);
  padding-top: 0.65rem;
}

.mask-profile-meta dt {
  font-family: var(--display);
  font-size: 0.68rem;
  text-transform: uppercase;
  color: rgba(26, 22, 16, 0.58);
}

.mask-profile-meta dd {
  margin: 0.2rem 0 0;
  font-weight: 700;
}

.mask-profile-body {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.mask-section-nav {
  position: sticky;
  top: calc(var(--header-height, 4.5rem) + 1rem);
  align-self: start;
  display: grid;
  gap: 0.35rem;
  border: 1px solid var(--mask-border);
  background: color-mix(in srgb, var(--mask-panel) 88%, transparent);
  padding: 0.8rem;
}

.mask-section-nav a {
  color: var(--text-secondary);
  font-family: var(--display);
  font-size: 0.74rem;
  text-decoration: none;
  text-transform: uppercase;
}

.mask-section-nav a:hover,
.mask-section-nav a:focus-visible {
  color: var(--museum-gold);
}

.mask-profile-content {
  display: grid;
  gap: 1rem;
}

.mask-profile-section {
  scroll-margin-top: 6rem;
}

.mask-profile-section h2 {
  font-size: clamp(1.6rem, 3vw, 2.75rem);
}

.mask-profile-section h3 {
  margin: 1.25rem 0 0.6rem;
  font-family: var(--display);
  text-transform: uppercase;
}

.mask-profile-section p,
.mask-detail-list,
.mask-match-list {
  color: var(--text-secondary);
}

.mask-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  padding: 0;
  list-style: none;
}

.mask-detail-list li,
.mask-match-list article,
.mask-evolution-timeline article {
  border-left: 2px solid var(--museum-gold);
  background: rgba(0, 0, 0, 0.16);
  padding: 0.8rem;
}

.mask-match-list,
.mask-evolution-timeline,
.related-mask-grid {
  display: grid;
  gap: 0.75rem;
}

.related-mask-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.related-mask-card__image {
  min-height: 10rem;
}

.related-mask-card__image img {
  height: 9rem;
}

.mask-profile-pagination {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding-block: 2rem 5rem;
}

.mask-profile-pagination a {
  border: 1px solid var(--mask-border);
  background: color-mix(in srgb, var(--mask-panel) 88%, transparent);
  padding: 1rem;
  font-family: var(--display);
  text-decoration: none;
  text-transform: uppercase;
}

.mask-profile-pagination a:last-child {
  text-align: right;
}

.mask-lightbox {
  width: min(92vw, 72rem);
  border: 1px solid var(--modal-shadowbox-stroke);
  background: var(--modal-shadowbox-surface);
  box-shadow: var(--modal-shadowbox-shadow);
  color: var(--text-primary);
  padding: 1rem;
}

.mask-lightbox:not([open]) {
  display: none !important;
}

.mask-lightbox::backdrop {
  background: var(--modal-shadowbox-backdrop);
}

.mask-lightbox img {
  display: block;
  width: 100%;
  max-height: 82vh;
  object-fit: contain;
}

.mask-lightbox__close {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
  border: 1px solid var(--mask-border);
  background: transparent;
  color: var(--text-primary);
  padding: 0.55rem 0.75rem;
  font-family: var(--display);
  text-transform: uppercase;
  cursor: pointer;
}

.mask-detail-lightbox {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: calc(100dvh - 2rem);
  max-width: calc(100vw - 2rem);
  overflow: hidden;
  padding: 0;
  width: min(92vw, 72rem);
}

.mask-detail-lightbox__topbar {
  align-items: center;
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.14);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.75rem;
}

.mask-detail-lightbox__topbar p {
  color: var(--text-primary);
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}

.mask-detail-lightbox .mask-lightbox__close {
  margin-bottom: 0;
}

.mask-detail-lightbox__stage {
  align-items: center;
  background:
    radial-gradient(circle at 50% 42%, rgba(200, 162, 74, 0.16), transparent 36%),
    #050505;
  display: flex;
  justify-content: center;
  min-height: 0;
  overflow: hidden;
  padding: clamp(0.75rem, 2vw, 1.5rem);
}

.mask-detail-lightbox__stage img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    ),
    linear-gradient(
      180deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    );
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    ),
    linear-gradient(
      180deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    );
  mask-composite: intersect;
  width: auto;
}

.mask-detail-lightbox__controls {
  align-items: center;
  background: var(--modal-shadowbox-surface);
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.14);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.75rem;
  justify-content: center;
  padding: 0.75rem;
  text-transform: uppercase;
}

.mask-detail-lightbox__controls[hidden] {
  display: none !important;
}

.mask-detail-lightbox__controls button {
  align-items: center;
  background: rgba(var(--text-primary-rgb), 0.04);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  color: var(--text-primary);
  cursor: pointer;
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  padding: 0;
  width: 2.5rem;
}

.mask-detail-lightbox__controls button:hover,
.mask-detail-lightbox__controls button:focus-visible {
  background: rgba(var(--accent-red-rgb), 0.14);
  border-color: rgba(var(--accent-red-rgb), 0.5);
  outline: none;
}

@media (max-height: 560px) {
  .mask-detail-lightbox {
    max-height: calc(100dvh - 0.75rem);
  }

  .mask-detail-lightbox__topbar,
  .mask-detail-lightbox__controls {
    padding: 0.5rem 0.75rem;
  }

  .mask-detail-lightbox__stage {
    padding: 0.5rem;
  }

  .mask-detail-lightbox__controls button {
    height: 2.25rem;
    width: 2.25rem;
  }
}

@media (max-width: 980px) {
  .mask-hero,
  .mask-profile-hero,
  .mask-profile-body,
  .texture-study__layout {
    grid-template-columns: 1fr;
  }

  .masks-toolbar {
    grid-template-columns: 1fr;
    position: relative;
    top: auto;
  }

  .mask-gallery-grid,
  .mask-lineage-grid,
  .related-mask-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mask-section-nav {
    position: relative;
    top: auto;
    display: flex;
    overflow-x: auto;
  }
}

@media (max-width: 680px) {
  .mask-hero {
    min-height: auto;
    padding-top: 6rem;
  }

  .mask-hero h1 {
    font-size: clamp(3.2rem, 18vw, 5.5rem);
  }

  .mask-hero__vertical {
    opacity: 0.42;
  }

  .mask-gallery-grid,
  .mask-lineage-grid,
  .related-mask-grid,
  .mask-profile-meta,
  .mask-detail-list,
  .mask-profile-pagination {
    grid-template-columns: 1fr;
  }

  .mask-artifact-viewer {
    grid-template-columns: 1fr;
  }

  .mask-thumbnail-rail {
    grid-auto-flow: column;
    grid-auto-columns: 5rem;
    border-left: 0;
    border-top: 1px solid var(--mask-border);
    overflow-x: auto;
  }

  .masks-section__head--split {
    display: block;
  }
}

/* Masks exhibit refinement */
.masks-page,
.mask-profile-page {
  background:
    radial-gradient(circle at 66% 9rem, rgba(220, 171, 70, 0.2), transparent 24rem),
    radial-gradient(circle at 12% 18rem, rgba(var(--accent-red-rgb), 0.14), transparent 22rem),
    linear-gradient(180deg, #070604 0%, var(--bg-primary) 38%, #080705 100%);
}

.masks-page::before,
.mask-profile-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.24;
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, rgba(214, 168, 59, 0.028) 0 1px, transparent 1px 9px);
  mix-blend-mode: screen;
}

.masks-page > *,
.mask-profile-page > * {
  position: relative;
  z-index: 1;
}

.mask-hero {
  grid-template-columns: minmax(24rem, 0.9fr) minmax(24rem, 1.12fr) 5.5rem;
  min-height: min(760px, calc(100vh - 4rem));
  margin: 0;
  border-block: 1px solid color-mix(in srgb, var(--museum-gold) 32%, transparent);
  background:
    linear-gradient(90deg, rgba(6, 5, 4, 0.98), rgba(14, 12, 9, 0.66) 44%, rgba(6, 5, 4, 0.92)),
    radial-gradient(circle at 66% 46%, rgba(229, 181, 82, 0.32), transparent 25rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 18%);
  box-shadow: inset 0 0 0 1px rgba(229, 181, 82, 0.08), inset 0 0 6rem rgba(0, 0, 0, 0.88);
}

.mask-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(212, 188, 133, 0.18) 0 1px, transparent 1px calc(100% - 1px), rgba(212, 188, 133, 0.16) calc(100% - 1px)),
    linear-gradient(180deg, rgba(212, 188, 133, 0.18) 0 1px, transparent 1px calc(100% - 1px), rgba(212, 188, 133, 0.16) calc(100% - 1px)),
    radial-gradient(circle at 12% 50%, rgba(255, 244, 213, 0.08), transparent 18rem);
}

.mask-hero__copy {
  max-width: 38rem;
}

.mask-hero .kicker {
  color: var(--accent-red);
  font-size: clamp(0.82rem, 1.4vw, 1rem);
  letter-spacing: 0.22em;
}

.mask-hero h1 {
  max-width: 8ch;
  font-size: clamp(5.8rem, 10.7vw, 12rem);
  color: color-mix(in srgb, var(--text-primary) 88%, #f6dfb8 12%);
  text-shadow: 0 0.1rem 0 rgba(214, 168, 59, 0.22), 0 1.4rem 2.5rem rgba(0, 0, 0, 0.7);
}

.mask-hero__subtitle {
  margin-top: 0.95rem;
  color: var(--accent-red);
  letter-spacing: 0.12em;
}

.mask-hero__intro {
  max-width: 28rem;
  margin: 1.45rem 0 0;
  color: color-mix(in srgb, var(--text-primary) 84%, transparent);
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.68;
}

.mask-hero__chips {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 0.5rem 0.7rem;
}

.mask-hero__chips span {
  background: rgba(0, 0, 0, 0.28);
  border-color: rgba(214, 168, 59, 0.42);
  color: color-mix(in srgb, var(--museum-gold) 86%, #fff 14%);
}

.mask-hero__artifact {
  min-height: 42rem;
  isolation: isolate;
}

.mask-hero__artifact::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 4.4rem;
  width: min(24rem, 62%);
  height: 5.8rem;
  border: 1px solid rgba(214, 168, 59, 0.22);
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(40, 33, 22, 0.96), rgba(5, 4, 3, 0.96));
  box-shadow: 0 1.6rem 2rem rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(255, 232, 171, 0.12);
}

.mask-hero__artifact img {
  width: min(37rem, 88vw);
  max-height: 47rem;
  transform: translateY(-1.5rem);
}

.mask-hero__vertical {
  position: relative;
  inset: auto;
  justify-self: center;
  align-self: center;
  color: color-mix(in srgb, var(--museum-gold) 58%, transparent);
  font-size: clamp(2rem, 3.8vw, 4.6rem);
  line-height: 1.1;
}

.mask-hero__seal {
  right: clamp(1.4rem, 3vw, 3.2rem);
  top: auto;
  bottom: 7.6rem;
  width: 4.9rem;
  height: 4.9rem;
  background: rgba(25, 4, 4, 0.22);
}

.mask-hero__artifact figcaption {
  bottom: 1.6rem;
  color: color-mix(in srgb, var(--museum-gold) 72%, var(--text-secondary) 28%);
  font-family: var(--display);
  text-transform: uppercase;
}

.masks-toolbar {
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
  margin-top: 0;
  border-inline: 0;
  border-color: rgba(214, 168, 59, 0.2);
  background: rgba(5, 4, 3, 0.92);
  padding: 0 clamp(1rem, 4vw, 4rem);
  box-shadow: inset 0 -1px 0 rgba(214, 168, 59, 0.16), 0 1.5rem 2.5rem rgba(0, 0, 0, 0.28);
}

.masks-filter-row {
  justify-content: center;
  gap: clamp(0.6rem, 2.5vw, 2rem);
  min-height: 4.25rem;
  border-bottom: 1px solid rgba(214, 168, 59, 0.14);
}

.masks-filter-row button {
  position: relative;
  border: 0;
  min-height: 4.25rem;
  padding: 0 0.2rem;
  color: color-mix(in srgb, var(--museum-gold) 68%, var(--text-primary) 32%);
  background: transparent;
  font-size: clamp(0.74rem, 1vw, 0.9rem);
  letter-spacing: 0.13em;
}

.masks-filter-row button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: transparent;
}

.masks-filter-row button[aria-pressed="true"] {
  color: var(--text-primary);
  background: transparent;
}

.masks-filter-row button[aria-pressed="true"]::after {
  background: var(--accent-red);
  box-shadow: 0 0 1rem rgba(var(--accent-red-rgb), 0.46);
}

.masks-archive-controls {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.85rem 0 1rem;
}

.masks-search,
.masks-sort select {
  min-height: 2.45rem;
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(214, 168, 59, 0.24);
}

.masks-search {
  width: min(24rem, 100%);
}

.masks-section {
  width: min(1240px, calc(100% - 2rem));
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.masks-section__head {
  max-width: 58rem;
}

.masks-section h2 {
  font-size: clamp(2.4rem, 5.8vw, 5.8rem);
  line-height: 0.86;
}

.sacred-mask-strip {
  grid-auto-flow: row;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-columns: initial;
  overflow: visible;
  gap: 0.65rem;
}

.sacred-mask-card {
  grid-template-rows: minmax(14rem, 1fr) auto;
  min-height: 23rem;
  border-color: rgba(214, 168, 59, 0.24);
  background:
    radial-gradient(circle at 50% 35%, rgba(229, 181, 82, 0.12), transparent 48%),
    linear-gradient(180deg, #11100d, #080706);
}

.sacred-mask-card__image,
.mask-card__image,
.related-mask-card__image {
  min-height: 17rem;
  background:
    radial-gradient(circle at 50% 42%, rgba(229, 181, 82, 0.22), rgba(229, 181, 82, 0.06) 34%, transparent 68%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(0, 0, 0, 0.38));
}

.sacred-mask-card__image img {
  height: 15.4rem;
}

.sacred-mask-card__placard {
  margin: 0;
  min-height: 7.2rem;
  background: linear-gradient(180deg, rgba(236, 222, 190, 0.98), rgba(187, 163, 117, 0.94));
}

.sacred-mask-card__placard h3 {
  font-size: 1.15rem;
}

.mask-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.mask-card {
  grid-template-rows: minmax(20rem, 62%) auto;
  min-height: 39rem;
  border-color: rgba(214, 168, 59, 0.25);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025), 0 1.2rem 2.5rem rgba(0, 0, 0, 0.2);
}

.mask-card__image {
  min-height: 22rem;
  padding: 1.2rem 1.5rem 0.6rem;
}

.mask-card__image img {
  height: 20rem;
}

.mask-card__placard {
  margin: 0;
  min-height: 15rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 32%),
    linear-gradient(180deg, #efe4cc, #cdb789);
}

.mask-card__placard h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
}

.mask-card__summary {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: rgba(27, 23, 17, 0.86);
}

.mask-card__cta {
  border-top: 1px solid rgba(27, 23, 17, 0.16);
  padding-top: 0.55rem;
  width: 100%;
}

.mask-lineage-grid article,
.texture-study__panel,
.mask-profile-section {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent),
    rgba(8, 7, 5, 0.88);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025);
}

.texture-study__layout {
  border: 1px solid rgba(214, 168, 59, 0.2);
  background: rgba(5, 4, 3, 0.66);
  padding: 1rem;
}

.texture-study__buttons button {
  border-color: rgba(214, 168, 59, 0.24);
  background: rgba(255, 255, 255, 0.03);
}

.texture-study__panel {
  min-height: 18rem;
  display: grid;
  align-content: center;
  background:
    radial-gradient(circle at 76% 30%, rgba(214, 168, 59, 0.12), transparent 18rem),
    rgba(8, 7, 5, 0.92);
}

.mask-profile-hero {
  width: min(1240px, calc(100% - 2rem));
  grid-template-columns: minmax(0, 1.28fr) minmax(23rem, 0.72fr);
  gap: 0.85rem;
}

.mask-artifact-viewer {
  grid-template-columns: 7rem minmax(0, 1fr);
  min-height: clamp(38rem, 72vh, 52rem);
  background:
    radial-gradient(circle at 58% 42%, rgba(229, 181, 82, 0.18), transparent 26rem),
    #070604;
}

.mask-thumbnail-rail {
  order: -1;
  border-left: 0;
  border-right: 1px solid rgba(214, 168, 59, 0.2);
  background: rgba(0, 0, 0, 0.22);
}

.mask-artifact-viewer__stage::before {
  content: "";
  position: absolute;
  bottom: 5.5rem;
  width: min(26rem, 52%);
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(48, 39, 24, 0.9), rgba(5, 4, 3, 0.95));
  border: 1px solid rgba(214, 168, 59, 0.18);
  box-shadow: 0 1.5rem 2rem rgba(0, 0, 0, 0.62);
}

.mask-artifact-viewer__stage img {
  position: relative;
  z-index: 1;
  width: min(84%, 44rem);
  max-height: 43rem;
}

.mask-photo-credit {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  max-width: 28rem;
  margin: 0;
  color: color-mix(in srgb, var(--text-secondary) 86%, transparent);
  font-family: var(--display);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.mask-profile-placard {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 30%),
    linear-gradient(180deg, #efe4cc, #c7ae7b);
}

.mask-profile-body {
  width: min(1240px, calc(100% - 2rem));
  grid-template-columns: 12rem minmax(0, 1fr);
}

.mask-profile-content {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.mask-profile-section {
  min-height: 15rem;
}

.mask-profile-section:nth-child(1),
.mask-profile-section:nth-child(2),
.mask-profile-section:nth-child(8),
.mask-profile-section:nth-child(9) {
  grid-column: span 2;
}

.mask-profile-section#timeline {
  grid-column: 1 / -1;
}

.mask-evolution-timeline {
  grid-template-columns: repeat(6, minmax(9rem, 1fr));
  overflow-x: auto;
}

.mask-profile-section#matches .mask-match-list article {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto;
  gap: 0.75rem;
}

.related-mask-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1120px) {
  .mask-hero {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.85fr);
  }

  .mask-hero__vertical {
    position: absolute;
    right: 1rem;
  }

  .sacred-mask-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mask-profile-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .mask-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .mask-hero__artifact {
    min-height: 32rem;
  }

  .mask-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mask-artifact-viewer {
    grid-template-columns: 1fr;
  }

  .mask-thumbnail-rail {
    order: 0;
    grid-auto-flow: column;
    grid-auto-columns: 5rem;
    border-right: 0;
    border-top: 1px solid rgba(214, 168, 59, 0.2);
    overflow-x: auto;
  }

  .mask-profile-content,
  .mask-profile-section:nth-child(1),
  .mask-profile-section:nth-child(2),
  .mask-profile-section:nth-child(8),
  .mask-profile-section:nth-child(9) {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .mask-hero__chips {
    grid-template-columns: 1fr;
  }

  .masks-archive-controls {
    display: grid;
  }

  .masks-filter-row {
    justify-content: start;
  }

  .sacred-mask-strip,
  .mask-gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* Masks archive: wrestler-page style layout */
.masks-page {
  background: var(--body-atmosphere, var(--bg-primary));
}

.masks-archive {
  min-height: calc(100vh - var(--header-height, 4.5rem));
}

.masks-archive::before {
  background-image:
    linear-gradient(rgba(var(--text-primary-rgb), 0.035) 1px, transparent 1px),
    radial-gradient(circle, rgba(var(--text-primary-rgb), 0.09) 0 0.45px, transparent 0.75px);
  background-size:
    100% 7px,
    13px 13px;
}

.masks-shell {
  grid-template-columns: minmax(250px, 0.76fr) minmax(0, 2.15fr) minmax(340px, 0.95fr);
}

@media (min-width: 1121px) {
  .masks-archive {
    height: var(--archive-workspace-height);
    min-height: 0;
    overflow: hidden;
    padding-block: 1rem;
  }

  .masks-shell {
    align-items: stretch;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .masks-rail {
    align-self: start;
    max-height: none;
    overflow: visible;
    position: relative;
    top: auto;
  }

  .masks-stage {
    align-self: stretch;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.35rem;
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
  }

  .mask-detail-panel {
    align-self: start;
    max-height: var(--archive-column-max-height);
    overflow-y: auto;
    position: sticky;
    scrollbar-color: var(--red) transparent;
    scrollbar-width: thin;
    top: 0;
  }
}

.masks-rail .lens-button__icon .material-symbols-outlined {
  font-size: 1.35rem;
}

.masks-preview-strip {
  align-items: center;
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  display: grid;
  gap: 0.5rem clamp(0.9rem, 1.4vw, 1.25rem);
  grid-template-columns: max-content minmax(0, 1fr);
  min-height: var(--lens-preview-height);
  padding: clamp(0.6rem, 1vw, 0.85rem) clamp(1rem, 1.65vw, 1.45rem);
}

.masks-preview-strip .lens-preview-strip__intro {
  align-self: center;
  display: grid;
  gap: 0;
}

.masks-preview-strip .lens-preview-strip__label {
  margin: 0;
}

.masks-preview-strip .wrestler-tools {
  gap: 0.75rem;
}

.masks-preview-strip .search-wrap {
  width: clamp(190px, 17vw, 240px);
}

.masks-inline-sort select {
  background: rgba(var(--bg-primary-rgb), 0.9);
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  color: rgba(var(--text-primary-rgb), 0.82);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  height: var(--lens-preview-control-height, 2.35rem);
  padding: 0 0.7rem;
  text-transform: uppercase;
}

.masks-result-count {
  color: rgba(var(--text-primary-rgb), 0.62);
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: -0.2rem 0 0;
  text-transform: uppercase;
}

.masks-archive .mask-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.masks-archive .mask-card {
  appearance: none;
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.07), rgba(var(--text-primary-rgb), 0.018)),
    var(--bg-secondary);
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  border-radius: 0;
  box-shadow: none;
  color: var(--paper);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font: inherit;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  text-align: left;
  touch-action: manipulation;
  transition:
    border-color var(--card-transition),
    box-shadow var(--card-transition),
    transform var(--card-transition);
  width: 100%;
}

.masks-archive .mask-card::before {
  content: none;
}

.masks-archive .mask-card:hover,
.masks-archive .mask-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
  outline: none;
  transform: translateY(-2px);
}

.masks-archive .mask-card.is-active,
.masks-archive .mask-card[aria-selected="true"],
.masks-archive .mask-card[aria-pressed="true"] {
  border-color: var(--accent-red);
  box-shadow: none;
  transform: var(--card-active-transform);
}

.masks-archive .mask-card__image {
  align-items: center;
  background: #000000;
  display: flex;
  height: clamp(210px, 17vw, 270px);
  justify-content: center;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  --mask-card-effective-scale: var(--mask-card-image-scale);
  --mask-card-image-scale: 1.14;
  --mask-card-image-src: none;
  --mask-card-image-y: 0px;
  --mask-card-zoomout-height: 100%;
}

.masks-archive .mask-card__image::before {
  content: none;
}

.masks-archive .mask-card__image img {
  display: block;
  height: 100%;
  -webkit-mask-image: none;
  filter: none;
  mask-image: none;
  max-width: none;
  object-fit: cover;
  object-position: center calc(50% + var(--mask-card-image-y));
  opacity: 1;
  position: relative;
  transform: scale(var(--mask-card-effective-scale));
  transform-origin: center center;
  transition: transform 180ms ease, filter 180ms ease;
  width: 100%;
  z-index: 1;
}

.masks-archive .mask-card__image--scaled-down img {
  max-width: 100%;
  object-fit: contain;
}

.masks-archive .mask-card__image--zoom-out::before {
  background:
    linear-gradient(rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.16)),
    var(--mask-card-image-src) center calc(50% + var(--mask-card-image-y)) / cover no-repeat,
    #000000;
  content: "";
  inset: 0;
  position: absolute;
}

.masks-archive .mask-card__image--zoom-out img {
  opacity: 0;
}

.masks-archive .mask-card__image--zoom-out-visible img {
  opacity: 1;
}

.masks-archive .mask-card__image--vignette::after {
  background:
    radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 34%, rgba(0, 0, 0, 0.5) 74%, rgba(0, 0, 0, 0.86) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.86), transparent 24%, transparent 76%, rgba(0, 0, 0, 0.86)),
    linear-gradient(180deg, rgba(0, 0, 0, 0.22), transparent 18%, transparent 72%, rgba(0, 0, 0, 0.72));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.masks-archive .mask-card:hover .mask-card__image img,
.masks-archive .mask-card:focus-visible .mask-card__image img,
.masks-archive .mask-card.is-active .mask-card__image img,
.masks-archive .mask-card[aria-selected="true"] .mask-card__image img,
.masks-archive .mask-card[aria-pressed="true"] .mask-card__image img {
  filter: none;
  transform: scale(calc(var(--mask-card-effective-scale) * 1.015));
}

.masks-archive .mask-card.is-active .mask-card__image,
.masks-archive .mask-card[aria-selected="true"] .mask-card__image,
.masks-archive .mask-card[aria-pressed="true"] .mask-card__image {
  box-shadow: none;
}

.masks-archive .mask-card[data-mask-card="tiger-mask__variation-toyoshima-sima-fanged-gold-signed"]:hover .mask-card__image img,
.masks-archive .mask-card[data-mask-card="tiger-mask__variation-toyoshima-sima-fanged-gold-signed"]:focus-visible .mask-card__image img,
.masks-archive .mask-card[data-mask-card="tiger-mask__variation-toyoshima-sima-fanged-gold-signed"].is-active .mask-card__image img,
.masks-archive .mask-card[data-mask-card="tiger-mask__variation-toyoshima-sima-fanged-gold-signed"][aria-selected="true"] .mask-card__image img,
.masks-archive .mask-card[data-mask-card="tiger-mask__variation-toyoshima-sima-fanged-gold-signed"][aria-pressed="true"] .mask-card__image img {
  transform: scale(var(--mask-card-effective-scale));
}

@media (max-width: 1120px), (hover: none), (pointer: coarse) {
  .masks-archive .mask-card:not(.is-active):not([aria-selected="true"]) .mask-card__image img,
  [data-theme] .masks-archive .mask-card:not(.is-active):not([aria-selected="true"]) .mask-card__image img {
    filter: none;
  }
}

.masks-archive .mask-card__era {
  background: var(--accent-red);
  color: var(--paper);
  left: 0.9rem;
  top: 0.9rem;
}

.masks-archive .wrestler-card__body {
  display: grid;
  gap: 0.42rem;
  padding: 1rem;
}

.masks-archive .wrestler-card__name {
  font-size: clamp(1.65rem, 2.3vw, 2.25rem);
  line-height: 0.92;
}

.masks-archive .wrestler-card__link {
  display: flex;
  margin-top: 0.7rem;
  width: calc(100% + 2rem);
}

.masks-archive .mask-card__cta {
  align-items: center;
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.12);
  color: var(--accent-red);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-top: 0.55rem;
  padding-top: 0.65rem;
  text-transform: uppercase;
}

.mask-detail-panel__portrait {
  align-items: center;
  justify-content: center;
  height: 422px;
  min-height: 0;
  padding: 0;
}

.mask-detail-panel__portrait::after {
  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.72) 0%,
      rgba(0, 0, 0, 0.42) 7%,
      rgba(0, 0, 0, 0) 21%,
      rgba(0, 0, 0, 0) 79%,
      rgba(0, 0, 0, 0.42) 93%,
      rgba(0, 0, 0, 0.72) 100%
    );
  border: 0;
  box-shadow: none;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 3;
}

.mask-detail-panel__portrait [hidden] {
  display: none !important;
}

.mask-detail-panel__portrait img {
  display: block;
  height: var(--mask-detail-image-height, 100%);
  inset: auto;
  max-height: 100%;
  max-width: none;
  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    ),
    linear-gradient(
      180deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    );
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    ),
    linear-gradient(
      180deg,
      transparent 0%,
      #000000 9%,
      #000000 91%,
      transparent 100%
    );
  mask-composite: intersect;
  object-fit: var(--mask-detail-image-fit, cover);
  object-position: center var(--mask-detail-image-position-y, 45%);
  position: relative;
  transform: translate(var(--mask-detail-image-x, 0px), var(--mask-detail-image-y, 0px)) scale(var(--mask-detail-image-scale, 1));
  transform-origin: center center;
  width: var(--mask-detail-image-width, 100%);
  z-index: 2;
}

.mask-detail-panel__portrait img[src*="grok-"] {
  object-position: center var(--mask-detail-image-position-y, 45%);
  position: relative;
  width: var(--mask-detail-image-width, 100%);
}

.mask-detail-panel__portrait .mask-image-placeholder {
  min-height: 12rem;
  width: calc(100% - 2rem);
}

.mask-detail-expand {
  align-items: center;
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  backdrop-filter: blur(18px) saturate(1.6);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.12)),
    rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.36);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 10px 28px rgba(0, 0, 0, 0.24);
  color: #ffffff;
  cursor: zoom-in;
  display: inline-flex;
  font: inherit;
  height: 2.35rem;
  justify-content: center;
  opacity: 0.92;
  padding: 0;
  position: absolute;
  right: 0.75rem;
  text-transform: none;
  top: 0.75rem;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    opacity 160ms ease,
    transform 160ms ease;
  width: 2.35rem;
  z-index: 5;
}

.mask-detail-expand[hidden] {
  display: none !important;
}

.mask-detail-expand .material-symbols-outlined {
  color: #ffffff;
  display: inline-flex;
  font-size: 1.25rem;
  line-height: 1;
}

.mask-detail-expand:hover,
.mask-detail-expand:focus-visible {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.16)),
    rgba(0, 0, 0, 0.22);
  border-color: rgba(255, 255, 255, 0.56);
  opacity: 1;
  outline: none;
  transform: translateY(-1px);
}

.masks-archive .mask-card[data-mask-card="jushin-thunder-liger__variation-red-yellow-blue-accents"] .mask-card__image,
.mask-detail-panel[data-active-mask="jushin-thunder-liger__variation-red-yellow-blue-accents"] .mask-detail-panel__portrait {
  background: #000000 !important;
}

.mask-detail-photo-controls {
  align-items: center;
  background: rgba(5, 5, 5, 0.82);
  border: 1px solid rgba(200, 162, 74, 0.22);
  bottom: 0.65rem;
  color: rgba(232, 221, 196, 0.7);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  gap: 0.45rem;
  padding: 0.22rem 0.28rem;
  position: absolute;
  right: 0.65rem;
  text-transform: uppercase;
  z-index: 4;
}

.mask-detail-photo-controls button {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(200, 162, 74, 0.2);
  color: rgba(232, 221, 196, 0.68);
  cursor: pointer;
  display: inline-flex;
  height: 1.65rem;
  justify-content: center;
  padding: 0;
  width: 1.65rem;
}

.mask-detail-photo-controls button:hover,
.mask-detail-photo-controls button:focus-visible {
  background: rgba(200, 162, 74, 0.1);
  border-color: rgba(200, 162, 74, 0.42);
  color: rgba(232, 221, 196, 0.92);
  outline: none;
}

.mask-detail-panel .wrestler-detail-panel__name {
  font-size: clamp(2.1rem, 3.3vw, 3.4rem);
}

.mask-detail-panel__divider {
  border-top: 1px solid rgba(var(--text-primary-rgb), 0.16);
  margin-top: 1rem;
}

.mask-detail-panel .wrestler-detail-panel__facts {
  border-top: 0;
  gap: 0.58rem;
  margin-top: 0;
  padding-top: 0.85rem;
}

.mask-detail-panel .wrestler-detail-fact {
  align-items: start;
  font-size: 0.82rem;
  gap: 0.85rem;
  grid-template-columns: 6.7rem minmax(0, 1fr);
  line-height: 1.45;
  text-transform: none;
}

.mask-detail-panel .wrestler-detail-fact span:first-child {
  font-size: 0.78rem;
  line-height: 1.35;
  text-transform: uppercase;
}

.mask-detail-panel .wrestler-detail-fact span:last-child {
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.mask-detail-panel .wrestler-detail-fact--copy span:last-child {
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.5;
}

.mask-detail-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.mask-detail-chip {
  border: 1px solid rgba(var(--text-primary-rgb), 0.18);
  color: rgba(var(--text-primary-rgb), 0.78);
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.42rem 0.5rem;
  text-transform: uppercase;
}

.mask-detail-evolution {
  display: grid;
  gap: 0.55rem;
}

.mask-detail-evolution button,
.mask-detail-related button {
  background: rgba(var(--text-primary-rgb), 0.055);
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  color: rgba(var(--text-primary-rgb), 0.84);
  cursor: pointer;
  display: grid;
  gap: 0.25rem;
  padding: 0.7rem;
  text-align: left;
}

.mask-detail-evolution strong {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.mask-detail-evolution span,
.mask-detail-matches span,
.mask-detail-matches em,
.mask-detail-related span {
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.35;
}

.mask-detail-matches {
  display: grid;
  gap: 0.65rem;
}

.mask-detail-matches p {
  border-bottom: 1px solid rgba(var(--text-primary-rgb), 0.1);
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding-bottom: 0.65rem;
}

.mask-detail-matches strong {
  color: var(--accent-red);
  font-family: var(--display);
  font-size: 0.8rem;
}

.mask-detail-related {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mask-detail-related button {
  align-content: start;
  min-height: 7rem;
  padding: 0.5rem;
  text-align: center;
}

.mask-detail-related img {
  height: 4.6rem;
  object-fit: contain;
  width: 100%;
}

.mask-empty-state {
  --empty-state-border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  --empty-state-surface: rgba(var(--bg-primary-rgb), 0.82);
  color: rgba(var(--text-primary-rgb), 0.72);
  font-weight: 800;
}

.mask-empty-state[hidden] {
  display: none !important;
}

@media (max-width: 1320px) {
  .masks-archive .mask-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) {
  .masks-shell {
    grid-template-columns: 1fr;
  }

  .masks-preview-strip {
    grid-template-columns: 1fr;
  }

  [data-mask-detail].is-modal-open .mask-detail-expand {
    display: none !important;
  }

  [data-mask-detail].is-modal-open .mask-detail-panel__portrait {
    padding-bottom: 3.7rem;
  }

  [data-mask-detail].is-modal-open .mask-detail-photo-controls {
    bottom: 0.7rem;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  [data-mask-detail].is-modal-open .mask-detail-photo-controls button {
    height: 2.35rem;
    width: 2.35rem;
  }
}

@media (max-width: 720px) {
  .masks-archive .mask-grid,
  .mask-detail-related {
    grid-template-columns: 1fr;
  }
}

/* Masks archive theme parity with Venues */
[data-theme="showa-light"] .masks-page,
[data-theme="modern-showa"] .masks-page {
  background: #f6f6f6 !important;
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-page::before,
[data-theme="modern-showa"] .masks-page::before {
  display: none;
}

[data-theme="showa-light"] .masks-shell,
[data-theme="showa-light"] .masks-stage,
[data-theme="modern-showa"] .masks-shell,
[data-theme="modern-showa"] .masks-stage {
  background: transparent !important;
}

[data-theme="showa-light"] .masks-rail,
[data-theme="showa-light"] .masks-preview-strip,
[data-theme="showa-light"] .mask-detail-panel,
[data-theme="modern-showa"] .masks-rail,
[data-theme="modern-showa"] .masks-preview-strip,
[data-theme="modern-showa"] .mask-detail-panel {
  background: #ffffff;
  border: 1px solid var(--border-subtle);
  box-shadow: none;
}

[data-theme="showa-light"] .mask-detail-panel.is-modal-open,
[data-theme="modern-showa"] .mask-detail-panel.is-modal-open {
  --detail-modal-shadow: var(--modal-shadowbox-shadow);
  background: var(--modal-shadowbox-backdrop) !important;
}

[data-theme="showa-light"] .masks-rail,
[data-theme="modern-showa"] .masks-rail {
  border-right: 2px solid #000000;
}

[data-theme="showa-light"] .mask-detail-panel,
[data-theme="modern-showa"] .mask-detail-panel {
  border-left: 2px solid #000000;
}

[data-theme="showa-light"] .masks-rail .lens-buttons,
[data-theme="showa-light"] .masks-rail .era-filter-control,
[data-theme="showa-light"] .masks-rail .archive-filter-group + .archive-filter-group,
[data-theme="modern-showa"] .masks-rail .lens-buttons,
[data-theme="modern-showa"] .masks-rail .era-filter-control,
[data-theme="modern-showa"] .masks-rail .archive-filter-group + .archive-filter-group {
  border-color: var(--border-subtle);
}

[data-theme="showa-light"] .masks-rail .lens-button,
[data-theme="modern-showa"] .masks-rail .lens-button {
  background: transparent;
  border-top-color: var(--border-subtle);
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-rail .lens-button__title,
[data-theme="showa-light"] .masks-rail .wrestlers-rail__intro h2,
[data-theme="showa-light"] .masks-preview-strip h1,
[data-theme="modern-showa"] .masks-rail .lens-button__title,
[data-theme="modern-showa"] .masks-rail .wrestlers-rail__intro h2,
[data-theme="modern-showa"] .masks-preview-strip h1 {
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-rail .lens-button__support,
[data-theme="showa-light"] .masks-rail .wrestlers-rail__intro p:last-child,
[data-theme="modern-showa"] .masks-rail .lens-button__support,
[data-theme="modern-showa"] .masks-rail .wrestlers-rail__intro p:last-child {
  color: rgba(var(--text-primary-rgb), 0.66);
}

[data-theme="showa-light"] .masks-rail .lens-button__icon,
[data-theme="modern-showa"] .masks-rail .lens-button__icon {
  border-color: rgba(var(--text-primary-rgb), 0.34);
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-rail .lens-button:hover:not([aria-pressed="true"]),
[data-theme="showa-light"] .masks-rail .lens-button:focus-visible:not([aria-pressed="true"]),
[data-theme="modern-showa"] .masks-rail .lens-button:hover:not([aria-pressed="true"]),
[data-theme="modern-showa"] .masks-rail .lens-button:focus-visible:not([aria-pressed="true"]) {
  background: #f6f6f6;
}

[data-theme="showa-light"] .masks-rail .lens-button[aria-pressed="true"],
[data-theme="modern-showa"] .masks-rail .lens-button[aria-pressed="true"] {
  box-shadow: inset 0 0 0 2px var(--accent-red);
}

[data-theme="showa-light"] .masks-rail .era-filter-control,
[data-theme="showa-light"] .masks-rail .archive-filter-group,
[data-theme="modern-showa"] .masks-rail .era-filter-control,
[data-theme="modern-showa"] .masks-rail .archive-filter-group {
  background: #fafafa;
  box-shadow: none;
}

[data-theme="showa-light"] .masks-rail .era-filter-button,
[data-theme="modern-showa"] .masks-rail .era-filter-button {
  background: #ffffff;
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-rail .era-filter-button:hover,
[data-theme="showa-light"] .masks-rail .era-filter-button[aria-pressed="true"],
[data-theme="modern-showa"] .masks-rail .era-filter-button:hover,
[data-theme="modern-showa"] .masks-rail .era-filter-button[aria-pressed="true"] {
  background: var(--accent-red);
  border-color: var(--accent-red);
  color: var(--on-accent);
}

[data-theme="showa-light"] .masks-preview-strip::before,
[data-theme="modern-showa"] .masks-preview-strip::before {
  display: none;
}

[data-theme="showa-light"] .masks-preview-strip,
[data-theme="modern-showa"] .masks-preview-strip {
  background: #ffffff;
}

[data-theme="showa-light"] .masks-inline-sort select,
[data-theme="modern-showa"] .masks-inline-sort select,
[data-theme="showa-light"] .masks-preview-strip .search-wrap,
[data-theme="modern-showa"] .masks-preview-strip .search-wrap {
  background: #ffffff;
  border-color: var(--border-subtle);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-preview-strip input,
[data-theme="modern-showa"] .masks-preview-strip input {
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-preview-strip input::placeholder,
[data-theme="modern-showa"] .masks-preview-strip input::placeholder {
  color: rgba(var(--text-primary-rgb), 0.52);
}

[data-theme="showa-light"] .masks-result-count,
[data-theme="modern-showa"] .masks-result-count {
  color: rgba(var(--text-primary-rgb), 0.62);
}

[data-theme="showa-light"] .masks-archive .mask-card,
[data-theme="modern-showa"] .masks-archive .mask-card {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="showa-light"] .masks-archive .mask-card:hover,
[data-theme="showa-light"] .masks-archive .mask-card:focus-visible,
[data-theme="modern-showa"] .masks-archive .mask-card:hover,
[data-theme="modern-showa"] .masks-archive .mask-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
}

[data-theme="showa-light"] .masks-archive .mask-card.is-active,
[data-theme="modern-showa"] .masks-archive .mask-card.is-active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
}

[data-theme="showa-light"] .masks-archive .mask-card__image,
[data-theme="modern-showa"] .masks-archive .mask-card__image {
  background: #000000 !important;
}

[data-theme="showa-light"] .mask-detail-panel__portrait,
[data-theme="modern-showa"] .mask-detail-panel__portrait {
  background: #000000 !important;
}

[data-theme="showa-light"] .masks-archive .wrestler-card__name,
[data-theme="modern-showa"] .masks-archive .wrestler-card__name {
  color: var(--text-primary);
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__name,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__name {
  color: var(--accent-red);
}

[data-theme="showa-light"] .masks-archive .wrestler-card__secondary,
[data-theme="modern-showa"] .masks-archive .wrestler-card__secondary {
  color: rgba(var(--text-primary-rgb), 0.78);
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__summary,
[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__facts,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__summary,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__facts {
  background: var(--surface);
  color: var(--text-primary);
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__summary,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__summary {
  border-bottom: 0;
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__secondary,
[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-fact,
[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-fact span:last-child,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__secondary,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-fact,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-fact span:last-child {
  color: var(--text-primary);
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-fact span:first-child,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-fact span:first-child {
  color: rgba(var(--text-primary-rgb), 0.56);
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__section,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__section {
  border-top-color: var(--border-subtle);
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__section h3,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__section h3 {
  color: var(--accent-red-strong);
}

[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__section p,
[data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__section li,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__section p,
[data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__section li {
  color: var(--text-primary);
}

[data-theme="showa-light"] .mask-detail-evolution button,
[data-theme="showa-light"] .mask-detail-photo-controls,
[data-theme="modern-showa"] .mask-detail-evolution button,
[data-theme="modern-showa"] .mask-detail-photo-controls {
  background: rgba(5, 5, 5, 0.82);
  border-color: rgba(200, 162, 74, 0.22);
  color: rgba(232, 221, 196, 0.7);
}

[data-theme="showa-light"] .mask-detail-photo-controls button,
[data-theme="modern-showa"] .mask-detail-photo-controls button {
  background: transparent;
  border-color: rgba(200, 162, 74, 0.2);
  color: rgba(232, 221, 196, 0.68);
}

[data-theme="archival-dark"] .masks-page,
[data-theme="dark"] .masks-page {
  background: #050505;
}

[data-theme="archival-dark"] .masks-rail,
[data-theme="archival-dark"] .masks-preview-strip,
[data-theme="archival-dark"] .mask-detail-panel,
[data-theme="dark"] .masks-rail,
[data-theme="dark"] .masks-preview-strip,
[data-theme="dark"] .mask-detail-panel {
  background: #0a0a0a;
  border: 1px solid rgba(245, 245, 240, 0.16);
  box-shadow: none;
}

[data-theme="archival-dark"] .masks-rail,
[data-theme="dark"] .masks-rail {
  border-right: 2px solid #f5f5f0;
}

[data-theme="archival-dark"] .mask-detail-panel,
[data-theme="dark"] .mask-detail-panel {
  border-left: 3px solid #f5f5f0;
}

[data-theme="archival-dark"] .mask-detail-panel.is-modal-open,
[data-theme="dark"] .mask-detail-panel.is-modal-open {
  --detail-modal-shadow: var(--modal-shadowbox-shadow);
  background: var(--modal-shadowbox-backdrop) !important;
}

[data-theme="showa-light"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__summary,
[data-theme="showa-light"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__facts,
[data-theme="modern-showa"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__summary,
[data-theme="modern-showa"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__facts,
[data-theme="archival-dark"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__summary,
[data-theme="archival-dark"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__facts,
[data-theme="dark"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__summary,
[data-theme="dark"] .mask-detail-panel.is-modal-open .wrestler-detail-panel__facts {
  background: var(--modal-shadowbox-surface);
  background-image: none;
}

[data-theme="archival-dark"] .masks-rail .era-filter-control,
[data-theme="archival-dark"] .masks-rail .archive-filter-group,
[data-theme="archival-dark"] .masks-archive .mask-card,
[data-theme="dark"] .masks-rail .era-filter-control,
[data-theme="dark"] .masks-rail .archive-filter-group,
[data-theme="dark"] .masks-archive .mask-card {
  background: #111111;
}

[data-theme="archival-dark"] .masks-archive .mask-card,
[data-theme="dark"] .masks-archive .mask-card {
  border: 1px solid rgba(245, 245, 240, 0.14);
  box-shadow: none;
  color: var(--text-primary);
}

[data-theme="archival-dark"] .masks-archive .mask-card:hover,
[data-theme="archival-dark"] .masks-archive .mask-card:focus-visible,
[data-theme="dark"] .masks-archive .mask-card:hover,
[data-theme="dark"] .masks-archive .mask-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
}

[data-theme="archival-dark"] .masks-archive .mask-card.is-active,
[data-theme="dark"] .masks-archive .mask-card.is-active {
  border: 2px solid var(--accent-red);
  box-shadow: none;
}

[data-theme="archival-dark"] .masks-archive .mask-card__image,
[data-theme="archival-dark"] .mask-detail-panel__portrait,
[data-theme="dark"] .masks-archive .mask-card__image,
[data-theme="dark"] .mask-detail-panel__portrait {
  background: #050505 !important;
}

[data-theme="archival-dark"] .mask-detail-panel .wrestler-detail-panel__summary,
[data-theme="archival-dark"] .mask-detail-panel .wrestler-detail-panel__facts,
[data-theme="dark"] .mask-detail-panel .wrestler-detail-panel__summary,
[data-theme="dark"] .mask-detail-panel .wrestler-detail-panel__facts {
  background: #000000;
  color: var(--text-primary);
}

[data-theme="archival-dark"] .mask-detail-panel .wrestler-detail-panel__summary,
[data-theme="dark"] .mask-detail-panel .wrestler-detail-panel__summary {
  border-top: 1px solid rgba(245, 245, 240, 0.16);
  border-bottom: 0;
}

[data-theme="archival-dark"] .mask-detail-panel .wrestler-detail-panel__name,
[data-theme="dark"] .mask-detail-panel .wrestler-detail-panel__name {
  color: var(--accent-red);
}

/* Desktop archive/detail panes use one continuous light surface.
   Media areas may differ, but copy/stat/section rows should not drift gray. */
@media (min-width: 1121px) {
  [data-theme="showa-light"] .wrestler-detail-panel,
  [data-theme="showa-light"] .timeline-detail,
  [data-theme="showa-light"] .venue-detail,
  [data-theme="showa-light"] .mask-detail-panel,
  [data-theme="modern-showa"] .wrestler-detail-panel,
  [data-theme="modern-showa"] .timeline-detail,
  [data-theme="modern-showa"] .venue-detail,
  [data-theme="modern-showa"] .mask-detail-panel {
    background: #ffffff;
    box-shadow: none;
  }

  [data-theme="showa-light"] .wrestler-detail-panel__summary,
  [data-theme="showa-light"] .wrestler-detail-panel__facts,
  [data-theme="showa-light"] .wrestler-detail-panel__section,
  [data-theme="showa-light"] .wrestler-detail-panel__actions,
  [data-theme="showa-light"] .timeline-detail__content,
  [data-theme="showa-light"] .timeline-detail__body,
  [data-theme="showa-light"] .timeline-detail__copy,
  [data-theme="showa-light"] .venue-detail__content,
  [data-theme="showa-light"] .venue-detail__header,
  [data-theme="showa-light"] .venue-detail__stats,
  [data-theme="showa-light"] .venue-detail__section,
  [data-theme="modern-showa"] .wrestler-detail-panel__summary,
  [data-theme="modern-showa"] .wrestler-detail-panel__facts,
  [data-theme="modern-showa"] .wrestler-detail-panel__section,
  [data-theme="modern-showa"] .wrestler-detail-panel__actions,
  [data-theme="modern-showa"] .timeline-detail__content,
  [data-theme="modern-showa"] .timeline-detail__body,
  [data-theme="modern-showa"] .timeline-detail__copy,
  [data-theme="modern-showa"] .venue-detail__content,
  [data-theme="modern-showa"] .venue-detail__header,
  [data-theme="modern-showa"] .venue-detail__stats,
  [data-theme="modern-showa"] .venue-detail__section {
    background: #ffffff;
    background-image: none;
  }

  [data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__summary,
  [data-theme="showa-light"] .mask-detail-panel .wrestler-detail-panel__facts,
  [data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__summary,
  [data-theme="modern-showa"] .mask-detail-panel .wrestler-detail-panel__facts {
    background: #ffffff;
    background-image: none;
  }
}

@media (min-width: 761px) and (max-width: 1500px) {
  .wrestlers-stage > .lens-preview-strip,
  .venues-main__sticky.lens-preview-strip,
  .masks-preview-strip {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(0.8rem, 1.5vw, 1.1rem) !important;
    height: auto !important;
    min-height: clamp(8.5rem, 9vw, 9rem) !important;
    overflow: visible !important;
  }

  .wrestlers-stage > .lens-preview-strip .lens-preview-strip__intro,
  .venues-main__sticky.lens-preview-strip .venues-main__intro,
  .masks-preview-strip .lens-preview-strip__intro {
    display: grid !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .wrestlers-stage > .lens-preview-strip h1,
  .wrestlers-stage > .lens-preview-strip h3,
  .venues-main__sticky.lens-preview-strip .venues-main__intro h1,
  .masks-preview-strip h1 {
    max-width: 100% !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .wrestlers-stage > .lens-preview-strip .wrestler-tools,
  .venues-main__sticky.lens-preview-strip .venues-toolbar,
  .masks-preview-strip .wrestler-tools {
    align-items: center !important;
    display: grid !important;
    gap: clamp(0.65rem, 1.4vw, 0.9rem) !important;
    grid-template-columns: minmax(10rem, 1fr) auto auto auto;
    height: auto !important;
    justify-self: stretch !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .wrestlers-stage > .lens-preview-strip .search-wrap,
  .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
  .masks-preview-strip .search-wrap {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    max-width: clamp(12rem, 36vw, 32rem) !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .masks-preview-strip .search-wrap {
    flex-basis: min(12rem, 100%) !important;
    min-width: min(12rem, 100%) !important;
  }

  .masks-inline-sort {
    flex: 0 1 12rem;
    min-width: min(12rem, 100%);
  }

  .masks-inline-sort select {
    width: 100%;
  }
}

@media (max-width: 1500px) {
  .wrestlers-stage > .lens-preview-strip,
  .venues-main__sticky.lens-preview-strip,
  .masks-preview-strip {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .wrestlers-stage > .lens-preview-strip .wrestler-tools,
  .venues-main__sticky.lens-preview-strip .venues-toolbar,
  .masks-preview-strip .wrestler-tools {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .wrestlers-stage > .lens-preview-strip .search-wrap,
  .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
  .masks-preview-strip .search-wrap {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: min(14rem, 100%) !important;
  }

  .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  .masks-preview-strip .filter-sheet-trigger,
  .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle,
  .venues-main__sticky.lens-preview-strip .venues-view-toggle,
  .masks-preview-strip .masks-inline-sort,
  .wrestlers-stage > .lens-preview-strip .keyboard-info,
  .venues-main__sticky.lens-preview-strip .keyboard-info,
  .masks-preview-strip .keyboard-info {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  .masks-preview-strip .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start;
  }

  .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle,
  .venues-main__sticky.lens-preview-strip .venues-view-toggle {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end;
  }

  .wrestlers-stage > .lens-preview-strip .keyboard-info,
  .venues-main__sticky.lens-preview-strip .keyboard-info,
  .masks-preview-strip .keyboard-info {
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end;
  }
}

@media (max-width: 920px) {
  .masks-preview-strip .wrestler-tools {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.65rem !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    height: auto !important;
  }

  .wrestlers-stage > .lens-preview-strip .search-wrap,
  .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
  .masks-preview-strip .search-wrap {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  .masks-preview-strip .search-wrap {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
  }

  .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  .masks-preview-strip .filter-sheet-trigger {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .masks-preview-strip .filter-sheet-trigger {
    grid-column: 2 !important;
    justify-self: end !important;
    min-width: 0 !important;
    padding-inline: 0.72rem !important;
  }

  .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle,
  .venues-main__sticky.lens-preview-strip .venues-view-toggle {
    flex: 0 1 auto !important;
  }

  .masks-preview-strip .masks-inline-sort {
    flex: initial !important;
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .masks-preview-strip .masks-inline-sort select {
    font-size: clamp(0.68rem, 3vw, 0.78rem) !important;
    min-width: 0 !important;
    padding-inline: 0.55rem !important;
    text-overflow: ellipsis;
    width: 100% !important;
  }

  .wrestlers-stage > .lens-preview-strip .keyboard-info,
  .venues-main__sticky.lens-preview-strip .keyboard-info,
  .masks-preview-strip .keyboard-info {
    flex: 0 0 var(--lens-preview-control-height, 2.35rem) !important;
  }
}

@media (max-width: 1120px) {
  .masks-preview-strip .wrestler-tools {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.65rem !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    width: 100% !important;
  }

  .masks-preview-strip .search-wrap {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .masks-preview-strip .filter-sheet-trigger {
    box-sizing: border-box !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-content: center !important;
    justify-self: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .masks-preview-strip .keyboard-info {
    display: none !important;
  }

  .archive-filter-dropdown__trigger {
    display: none !important;
  }

  .archive-filter-dropdown > .archive-filter-group__title,
  .archive-filter-dropdown > .venue-filter-group__title {
    display: flex;
  }

  .archive-filter-dropdown__panel,
  .archive-filter-dropdown.is-open .archive-filter-dropdown__panel {
    background: transparent;
    border: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    max-height: none;
    overflow: visible;
    padding: 0;
  }

  .archive-filter-option input {
    border: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 0;
  }

  .archive-filter-option,
  .archive-filter-option:hover,
  .archive-filter-option:has(input:checked) {
    align-items: center;
    background: rgba(var(--text-primary-rgb), 0.055);
    border: 1px solid rgba(var(--text-primary-rgb), 0.2);
    color: rgba(var(--text-primary-rgb), 0.82);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.78rem;
    justify-content: center;
    min-height: 2.15rem;
    padding: 0.48rem 0.58rem;
  }

  .archive-filter-option:has(input:checked) {
    background: rgba(var(--accent-red-rgb), 0.68);
    border-color: rgba(var(--accent-red-rgb), 0.92);
    color: var(--paper);
  }

  .wrestlers-archive [data-filter-sheet] .archive-filter-group--promotion .archive-filter-dropdown__panel {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wrestlers-archive [data-filter-sheet] .archive-filter-group--promotion .archive-filter-option,
  .wrestlers-archive [data-filter-sheet] .archive-filter-group--promotion .era-filter-button--more {
    border-radius: var(--radius-none) !important;
    justify-content: center;
    min-width: 0;
    width: 100%;
  }

  .wrestlers-archive [data-filter-sheet] .archive-filter-group--promotion .era-filter-button--more {
    grid-column: 1 / -1;
  }

  .wrestlers-archive [data-filter-sheet] .lens-buttons {
    margin-inline: 0;
    width: 100%;
  }

  .wrestlers-archive [data-filter-sheet] .lens-button[aria-pressed="true"],
  .wrestlers-archive [data-filter-sheet] .lens-button[aria-pressed="true"]:hover,
  .wrestlers-archive [data-filter-sheet] .lens-button[aria-pressed="true"]:focus-visible {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
}

.masks-archive .mask-card .mask-card__image,
.masks-archive .mask-card .mask-card__image::before,
.masks-archive .mask-card .mask-card__image img,
[data-theme] .masks-archive .mask-card .mask-card__image,
[data-theme] .masks-archive .mask-card .mask-card__image::before,
[data-theme] .masks-archive .mask-card .mask-card__image img {
  -webkit-filter: none !important;
  filter: none !important;
}

.masks-archive .mask-card .mask-card__image img,
[data-theme] .masks-archive .mask-card .mask-card__image img {
  opacity: 1;
}

.masks-archive .mask-card .mask-card__image--zoom-out img,
[data-theme] .masks-archive .mask-card .mask-card__image--zoom-out img {
  opacity: 0;
}

.masks-archive .mask-card .mask-card__image--zoom-out-visible img,
[data-theme] .masks-archive .mask-card .mask-card__image--zoom-out-visible img {
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image:
    linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
  opacity: 1 !important;
}

.masks-archive .mask-card[data-mask-card="dos-caras__variation-80s-original-old-silver"] .mask-card__image--zoom-out::before,
.masks-archive .mask-card[data-mask-card="dos-caras__primary-mask-80s-original-pink-signed"] .mask-card__image--zoom-out::before {
  background-color: #000000;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  inset: 0;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.masks-archive .mask-card[data-mask-card="dos-caras__variation-80s-original-old-silver"] .mask-card__image--zoom-out::before {
  background-image: url("./assets/masks/dos-caras/dos-caras-80s-original-old-silver/dos-caras-1.webp");
}

.masks-archive .mask-card[data-mask-card="dos-caras__primary-mask-80s-original-pink-signed"] .mask-card__image--zoom-out::before {
  background-image: url("./assets/masks/dos-caras/dos-caras-80s-original-pink-signed/dos-caras-1.webp");
}

.masks-archive .mask-card[data-mask-card="dos-caras__variation-80s-original-old-silver"] .mask-card__image--zoom-out::after,
.masks-archive .mask-card[data-mask-card="dos-caras__primary-mask-80s-original-pink-signed"] .mask-card__image--zoom-out::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  left: 50%;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 9%, #000 91%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 9%, #000 91%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, transparent 0, #000 9%, #000 91%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 9%, #000 91%, transparent 100%);
  mask-composite: intersect;
  z-index: 1;
}

.masks-archive .mask-card[data-mask-card="dos-caras__variation-80s-original-old-silver"] .mask-card__image--zoom-out::after {
  background-image: url("./assets/masks/dos-caras/dos-caras-80s-original-old-silver/dos-caras-1.webp");
  height: 90%;
  width: 72%;
}

.masks-archive .mask-card[data-mask-card="dos-caras__primary-mask-80s-original-pink-signed"] .mask-card__image--zoom-out::after {
  background-image: url("./assets/masks/dos-caras/dos-caras-80s-original-pink-signed/dos-caras-1.webp");
  height: 85%;
  width: 68%;
}

/* Wrestlers toolbar final pass: search flexes, action buttons stay equal. */
@media (min-width: 821px) and (max-width: 1120px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 1.05rem 0.75rem !important;
    grid-template-columns: minmax(14rem, 1fr) repeat(3, minmax(8.5rem, 8.5rem)) !important;
    grid-template-rows: auto auto !important;
    overflow: visible !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .lens-preview-strip__intro {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h1,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h3 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestler-tools,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn {
    box-sizing: border-box !important;
    justify-content: center !important;
    justify-self: stretch !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 4 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 820px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.75rem 0.55rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto auto !important;
    overflow: hidden !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .lens-preview-strip__intro {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h1,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h3 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestler-tools,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle {
    display: contents !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn {
    box-sizing: border-box !important;
    gap: 0.32rem !important;
    justify-content: center !important;
    justify-self: stretch !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-inline: 0.35rem !important;
    width: 100% !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:first-child {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn:last-child {
    grid-column: 3 !important;
    grid-row: 3 !important;
  }
}

/* Venues toolbar mirrors the Wrestlers mobile/tablet control rhythm. */
@media (min-width: 821px) and (max-width: 1120px) {
  [data-venues-page][data-view="map"].venues-page {
    padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem) clamp(3.5rem, 6vw, 5rem) !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 1.05rem 0.75rem !important;
    grid-template-columns: minmax(14rem, 1fr) repeat(3, minmax(8.5rem, 8.5rem)) !important;
    grid-template-rows: auto auto !important;
    overflow: visible !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-main__intro {
    display: contents !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-main__intro h1 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle {
    display: contents !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn {
    box-sizing: border-box !important;
    height: var(--lens-preview-control-height, 2.875rem) !important;
    justify-content: center !important;
    justify-self: stretch !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: var(--lens-preview-control-height, 2.875rem) !important;
    min-width: 0 !important;
    padding-block: 0 !important;
    width: 100% !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:first-child {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:last-child {
    grid-column: 4 !important;
    grid-row: 2 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .keyboard-info {
    display: none !important;
  }
}

@media (min-width: 821px) and (max-width: 1120px) and (orientation: portrait) {
  [data-venues-page][data-view="map"] .venues-main {
    gap: 0.35rem;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas {
    margin-top: 0;
  }

  [data-venues-page][data-view="map"] .jp-map-svg {
    transform: translate(8px, -42px) scale(0.9);
  }

  [data-venues-page][data-view="map"] .jp-inset {
    top: calc(clamp(4.55rem, 6.5vw, 5rem) - 10px);
  }

  [data-venues-page][data-view="map"] .jp-legend {
    justify-content: flex-start;
    padding-left: 0;
  }

  [data-venues-page][data-view="map"] .jp-inset-callout {
    display: inline;
  }
}

@media (min-width: 1121px) and (max-width: 1400px) and (orientation: landscape) and (hover: hover) and (pointer: fine) {
  [data-venues-page][data-view="map"] .jp-map-svg {
    transform: translate(10px, -20px) scale(1.05);
  }

  [data-venues-page][data-view="map"] .venues-map-canvas::after {
    display: none;
  }

  [data-venues-page][data-view="map"] .jp-inset {
    left: clamp(1.75rem, 3.1vw, 2.7rem);
    top: clamp(4.25rem, 5.8vw, 4.75rem);
    width: clamp(280px, 28vw, 330px);
  }
}

@media (max-width: 820px) {
  [data-venues-page] .venues-main__sticky.lens-preview-strip,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.75rem 0.55rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto auto !important;
    overflow: hidden !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-main__intro {
    display: contents !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-main__intro h1 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle {
    display: contents !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn {
    box-sizing: border-box !important;
    gap: 0.32rem !important;
    height: 2.75rem !important;
    justify-content: center !important;
    justify-self: stretch !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 2.75rem !important;
    min-width: 0 !important;
    padding-block: 0 !important;
    padding-inline: 0.35rem !important;
    width: 100% !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:first-child {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:last-child {
    grid-column: 3 !important;
    grid-row: 3 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .keyboard-info {
    display: none !important;
  }
}

.wrestler-detail-panel__morph-progress,
[data-theme] .wrestler-detail-panel__morph-progress {
  animation: mutohMutaMorphProgress 8s linear infinite;
  background:
    linear-gradient(90deg, rgba(var(--highlight-rgb), 0.16), var(--accent-red), rgba(var(--highlight-rgb), 0.16));
  box-shadow: 0 0 12px rgba(var(--accent-red-rgb), 0.5);
  display: block;
  height: 4px;
  left: 0;
  opacity: 0.96;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
  width: 100%;
  z-index: 7;
}

.wrestler-detail-panel__morph-progress--top,
[data-theme] .wrestler-detail-panel__morph-progress--top {
  top: 0;
}

.wrestler-detail-panel__morph-progress--bottom,
[data-theme] .wrestler-detail-panel__morph-progress--bottom {
  bottom: 0;
}

[data-theme="archival-dark"] .venues-page .venue-detail,
[data-theme="archival-dark"] .venues-page .venue-detail__content,
[data-theme="archival-dark"] .venues-page .venue-detail__header,
[data-theme="archival-dark"] .venues-page .venue-detail__stats,
[data-theme="archival-dark"] .venues-page .venue-detail__section,
[data-theme="dark"] .venues-page .venue-detail,
[data-theme="dark"] .venues-page .venue-detail__content,
[data-theme="dark"] .venues-page .venue-detail__header,
[data-theme="dark"] .venues-page .venue-detail__stats,
[data-theme="dark"] .venues-page .venue-detail__section {
  background: var(--modal-shadowbox-surface);
  background-image: none;
}

[data-wrestlers-page] .filter-sheet-trigger,
[data-venues-page] .filter-sheet-trigger,
.masks-preview-strip .filter-sheet-trigger {
  gap: var(--control-gap-md);
}

@media (min-width: 821px) and (max-width: 1120px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
  .masks-preview-strip .search-wrap,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn,
  .masks-preview-strip .filter-sheet-trigger {
    height: var(--lens-preview-control-height, 2.875rem) !important;
    max-height: var(--lens-preview-control-height, 2.875rem) !important;
    min-height: var(--lens-preview-control-height, 2.875rem) !important;
    padding-block: 0 !important;
  }
}

@media (max-width: 820px) {
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
  .masks-preview-strip .search-wrap,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
  [data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestlers-view-toggle .venues-view-toggle__btn,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn,
  .masks-preview-strip .filter-sheet-trigger {
    height: 2.75rem !important;
    max-height: 2.75rem !important;
    min-height: 2.75rem !important;
    padding-block: 0 !important;
  }
}

[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap input,
[data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search input,
.masks-preview-strip .search-wrap input {
  height: 100%;
}

/* Venues responsive toolbar invariants: grid/map states must not resize controls. */
@media (min-width: 821px) and (max-width: 1120px) {
  [data-venues-page] .venues-main__sticky.lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 1.05rem 0.75rem !important;
    grid-template-columns: minmax(14rem, 1fr) repeat(3, minmax(8.5rem, 8.5rem)) !important;
    grid-template-rows: auto var(--lens-preview-control-height, 2.875rem) !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-toolbar,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-view-toggle {
    display: contents !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-toolbar-search {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    width: 100% !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:first-child,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:first-child {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:last-child,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:last-child {
    grid-column: 4 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 820px) {
  [data-venues-page] .venues-main__sticky.lens-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.75rem 0.55rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto 2.75rem 2.75rem !important;
    overflow: hidden !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar,
  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-toolbar,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-view-toggle {
    display: contents !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-toolbar-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    width: 100% !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:first-child,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:first-child {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  [data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:last-child,
  [data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn:last-child {
    grid-column: 3 !important;
    grid-row: 3 !important;
  }
}

[data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
[data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
[data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn,
[data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
[data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
[data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn {
  box-sizing: border-box !important;
  margin: 0 !important;
  min-width: 0 !important;
}

/* Venues map view should never trap vertical page scrolling. Keep horizontal
   clipping for layout safety, but let wheel/touch scroll bubble upward. */
[data-venues-page][data-view="map"] .venues-main,
[data-venues-page][data-view="map"] .venues-map-canvas {
  overflow-x: clip !important;
  overflow-y: visible !important;
  overscroll-behavior-y: auto !important;
}

[data-venues-page][data-view="map"] .venues-main__sticky.lens-preview-strip {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

@media (max-width: 1120px) {
  [data-venues-page][data-view="map"].venues-page,
  [data-venues-page][data-view="map"] .venues-main {
    height: auto !important;
    min-height: 0 !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  [data-venues-page][data-view="map"] .venues-main {
    display: block !important;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas {
    flex: none !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }
}

@media (min-width: 761px) and (max-width: 1366px) and (orientation: landscape) and (max-height: 920px) {
  [data-venues-page][data-view="map"].venues-page {
    height: auto !important;
    min-height: calc(100dvh - var(--site-header-height)) !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    padding: clamp(0.85rem, 1.7vw, 1.25rem) clamp(0.85rem, 1.7vw, 1.25rem) clamp(2.5rem, 4vw, 3.5rem) !important;
  }

  [data-venues-page][data-view="map"] .venues-shell {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  [data-venues-page][data-view="map"] .venues-main {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas {
    flex: none !important;
    height: clamp(760px, 108dvh, 920px) !important;
    max-height: none !important;
    min-height: clamp(760px, 108dvh, 920px) !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  [data-venues-page][data-view="map"] .jp-map-svg {
    height: 100% !important;
    max-height: none !important;
    padding: clamp(4.9rem, 7vw, 5.6rem) clamp(0.6rem, 1.6vw, 1.1rem) clamp(0.75rem, 1.8vw, 1.25rem) !important;
    transform: translate(8px, -44px) scale(0.9) !important;
    transform-origin: center center;
  }
}

[data-venues-page][data-view="map"] .venues-map-canvas,
[data-venues-page][data-view="map"] .jp-map-svg,
[data-venues-page][data-view="map"] .jp-map-svg * {
  touch-action: pan-y;
}

[data-venues-page][data-view="map"] .jp-map-svg {
  pointer-events: none;
}

[data-venues-page][data-view="map"] .venues-map-canvas::before {
  display: none;
}

[data-venues-page][data-view="map"] .jp-land,
[data-venues-page][data-view="map"] .jp-beacon-dot,
[data-venues-page][data-view="map"] .jp-legend-dot[data-tier],
[data-venues-page][data-view="map"] .jp-legend {
  filter: none !important;
  box-shadow: none !important;
}

[data-venues-page][data-view="map"] .jp-beacon-pulse,
[data-venues-page][data-view="map"] .jp-inset-beacon .jp-beacon-pulse {
  animation: none !important;
  display: none;
}

[data-venues-page][data-view="map"] .jp-beacon,
[data-venues-page][data-view="map"] .jp-beacon *,
[data-venues-page][data-view="map"] .jp-inset-beacon,
[data-venues-page][data-view="map"] .jp-inset-beacon *,
[data-venues-page][data-view="map"] .jp-tooltip,
[data-venues-page][data-view="map"] .jp-tooltip *,
[data-venues-page][data-view="map"] .jp-tokyo-modal,
[data-venues-page][data-view="map"] .jp-tokyo-modal * {
  pointer-events: auto;
}

/* Mobile detail modals: keep archive headers visually consistent across sections. */
@media (max-width: 1120px) {
  .wrestler-detail-panel.is-modal-open,
  .venue-detail.is-modal-open,
  .mask-detail-panel.is-modal-open,
  .voice-mobile-modal__panel {
    --mobile-detail-header-surface: var(--modal-shadowbox-surface);
    --mobile-detail-header-border: rgba(245, 245, 240, 0.16);
    --mobile-detail-title-color: var(--paper);
    border-color: var(--mobile-detail-header-border) !important;
  }

  .voice-mobile-modal .voice-detail__card {
    border-color: var(--mobile-detail-header-border) !important;
  }

  .wrestler-detail-panel.is-modal-open .wrestler-detail-panel__summary,
  .mask-detail-panel.is-modal-open .wrestler-detail-panel__summary,
  .venue-detail.is-modal-open .venue-detail__header,
  .voice-mobile-modal .voice-detail__masthead {
    background: var(--mobile-detail-header-surface) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--mobile-detail-header-border) !important;
    color: var(--text-primary) !important;
  }

  .wrestler-detail-panel.is-modal-open .wrestler-detail-panel__name,
  .mask-detail-panel.is-modal-open .wrestler-detail-panel__name,
  .venue-detail.is-modal-open .venue-detail__header h2,
  .voice-mobile-modal .voice-detail__card h2 {
    color: var(--mobile-detail-title-color) !important;
  }

  .venue-detail.is-modal-open .venue-detail__header h2 {
    font-size: clamp(1.9rem, 8.2vw, 2.45rem) !important;
    grid-column: 1 / -1 !important;
    margin-right: 0 !important;
    max-width: 100%;
    overflow-wrap: normal !important;
    text-wrap: normal;
    white-space: normal !important;
    word-break: normal !important;
  }

  .venue-detail.is-modal-open .venue-detail__title-line,
  .venue-detail.is-modal-open .venue-detail__title-part {
    display: inline !important;
    white-space: normal !important;
  }

  .wrestler-detail-panel.is-modal-open .wrestler-detail-panel__title-label,
  .wrestler-detail-panel.is-modal-open .wrestler-detail-panel__promotion,
  .venue-detail.is-modal-open .venue-detail__city,
  .voice-mobile-modal .voice-detail__role,
  .voice-mobile-modal .voice-detail__badge,
  .mask-detail-panel.is-modal-open .wrestler-detail-fact span:first-child {
    color: var(--accent-red) !important;
  }

  .wrestler-detail-panel.is-modal-open .wrestler-detail-panel__secondary,
  .wrestler-detail-panel.is-modal-open .wrestler-detail-panel__meta,
  .mask-detail-panel.is-modal-open .wrestler-detail-panel__secondary,
  .venue-detail.is-modal-open .venue-detail__japanese,
  .voice-mobile-modal .voice-detail__japanese,
  .voice-mobile-modal .voice-detail__meta {
    color: rgba(var(--text-primary-rgb), 0.78) !important;
  }

  [data-theme="archival-dark"] .wrestler-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="archival-dark"] .venue-detail.is-modal-open .detail-modal-close,
  [data-theme="archival-dark"] .mask-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="archival-dark"] .voice-mobile-modal__close,
  [data-theme="dark"] .wrestler-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="dark"] .venue-detail.is-modal-open .detail-modal-close,
  [data-theme="dark"] .mask-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="dark"] .voice-mobile-modal__close {
    background: rgba(5, 5, 5, 0.88) !important;
    border: 1px solid rgba(245, 245, 240, 0.28) !important;
    box-shadow: none !important;
    color: var(--paper) !important;
  }

  [data-theme="showa-light"] .wrestler-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="showa-light"] .venue-detail.is-modal-open .detail-modal-close,
  [data-theme="showa-light"] .mask-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="showa-light"] .voice-mobile-modal__close,
  [data-theme="modern-showa"] .wrestler-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="modern-showa"] .venue-detail.is-modal-open .detail-modal-close,
  [data-theme="modern-showa"] .mask-detail-panel.is-modal-open .detail-modal-close,
  [data-theme="modern-showa"] .voice-mobile-modal__close {
    background: var(--flag-white) !important;
    border: 1px solid rgba(17, 17, 17, 0.32) !important;
    box-shadow: 0 8px 18px rgba(17, 17, 17, 0.14) !important;
    color: var(--ink) !important;
  }

  .wrestler-detail-panel.is-modal-open,
  .venue-detail.is-modal-open,
  .mask-detail-panel.is-modal-open {
    border-left-color: var(--accent-red) !important;
  }
}

/* Phase 6: keep overlay scroll-lock behavior consistent across modal, sheet,
   and lightbox systems. */
html.detail-modal-open,
body.detail-modal-open,
html.filter-sheet-open,
body.filter-sheet-open,
html.lineage-mobile-overlay-open,
body.lineage-mobile-overlay-open,
html.mask-lightbox-open,
body.mask-lightbox-open,
html.timeline-photo-lightbox-open,
body.timeline-photo-lightbox-open,
html.tokyo-map-modal-open,
body.tokyo-map-modal-open,
html.vault-report-modal-open,
body.vault-report-modal-open,
html.vault-room-overlay-open,
body.vault-room-overlay-open,
html.vault-screenshot-lightbox-open,
body.vault-screenshot-lightbox-open,
html.video-games-screenshot-lightbox-open,
body.video-games-screenshot-lightbox-open,
html.voice-modal-open,
body.voice-modal-open {
  overflow: hidden;
  overscroll-behavior: none;
}

[data-filter-sheet].is-dragging,
.vault-room-page .video-games-panel.is-dragging,
.lineage-mobile-sheet.is-dragging {
  transition: none !important;
}

.filter-sheet__handle,
.filter-sheet__head,
.vault-room-page .video-games-panel__head,
.vault-room-sheet-close,
.vault-room-detail-modal-close,
.lineage-mobile-sheet__handle {
  touch-action: none;
  user-select: none;
}

.filter-sheet__handle,
.lineage-mobile-sheet__handle {
  cursor: grab;
}

[data-filter-sheet].is-dragging .filter-sheet__handle,
.lineage-mobile-sheet.is-dragging .lineage-mobile-sheet__handle {
  cursor: grabbing;
}

/* Phase 5: shared card interaction state guardrails. */
.ds-card--interactive:not(.archive-card):focus-visible,
.home-entry-card:focus-visible,
.home-browse-grid a:focus-visible,
.feature-card:focus-visible,
.match-guide-card:focus-visible,
.match-guide-card:focus-within,
.wrestler-card:focus-visible,
.rivalry-card:focus-visible,
.venue-card:focus-visible,
.mask-card:focus-visible,
.sacred-mask-card:focus-visible,
.related-mask-card:focus-visible,
a.beyond-category-card:focus-visible,
.voice-card:focus-visible,
.video-games-game-card:focus-visible,
.vault-room-card:focus-visible,
.timeline-era-button:focus-visible,
.timeline-rail__button:focus-visible .timeline-rail__event,
.styles-experimental__style-card:focus-visible,
.styles-geography-card:focus-visible,
.support-help-card:focus-within,
.support-action-card:focus-within,
.lineage-node:focus-visible .lineage-node-card {
  box-shadow:
    var(--card-shadow-hover),
    var(--card-focus-ring);
  outline: none;
}

.home-entry-card.is-active,
.home-browse-grid a.is-active,
.feature-card.is-active,
.match-guide-card.is-active,
.wrestler-card.is-active,
.rivalry-card.is-active,
.venue-card--active,
.mask-card.is-active,
.masks-archive .mask-card.is-active,
.sacred-mask-card.is-active,
.related-mask-card.is-active,
a.beyond-category-card.is-active,
.voice-card.is-active,
.video-games-game-card.is-active,
.vault-room-card.is-active,
.timeline-era-button[aria-pressed="true"],
.timeline-rail__item.is-active .timeline-rail__event,
.styles-experimental__style-card.is-active,
.styles-geography-card.is-active,
.styles-geography-card[aria-pressed="true"],
.lineage-node.is-active .lineage-node-card {
  border-color: var(--card-border-color-selected);
  border-style: solid;
  border-width: 2px;
  box-shadow: var(--card-selected-ring);
}

[data-theme="showa-light"] .voice-card.is-active,
[data-theme="modern-showa"] .voice-card.is-active,
[data-theme="showa-light"] .wrestler-card.is-active,
[data-theme="modern-showa"] .wrestler-card.is-active,
[data-theme="archival-dark"] .wrestler-card.is-active,
[data-theme="dark"] .wrestler-card.is-active,
[data-theme="showa-light"] .venue-card--active,
[data-theme="modern-showa"] .venue-card--active,
[data-theme="archival-dark"] .venue-card--active,
[data-theme="dark"] .venue-card--active,
[data-theme="showa-light"] .masks-archive .mask-card.is-active,
[data-theme="modern-showa"] .masks-archive .mask-card.is-active,
[data-theme="archival-dark"] .masks-archive .mask-card.is-active,
[data-theme="dark"] .masks-archive .mask-card.is-active {
  border: 2px solid var(--card-border-color-selected);
  box-shadow: var(--card-selected-ring);
}

[data-theme="showa-light"] .voice-card:focus-visible,
[data-theme="modern-showa"] .voice-card:focus-visible,
[data-theme="showa-light"] .masks-archive .mask-card:focus-visible,
[data-theme="modern-showa"] .masks-archive .mask-card:focus-visible,
[data-theme="archival-dark"] .masks-archive .mask-card:focus-visible,
[data-theme="dark"] .masks-archive .mask-card:focus-visible {
  box-shadow:
    var(--card-shadow-hover),
    var(--card-focus-ring);
}

.masks-archive .mask-card,
[data-theme="showa-light"] .masks-archive .mask-card,
[data-theme="modern-showa"] .masks-archive .mask-card,
[data-theme="archival-dark"] .masks-archive .mask-card,
[data-theme="dark"] .masks-archive .mask-card {
  border-color: rgba(var(--text-primary-rgb), 0.14);
  box-shadow: none;
}

.masks-archive .mask-card:hover,
.masks-archive .mask-card:focus-visible,
[data-theme="showa-light"] .masks-archive .mask-card:hover,
[data-theme="showa-light"] .masks-archive .mask-card:focus-visible,
[data-theme="modern-showa"] .masks-archive .mask-card:hover,
[data-theme="modern-showa"] .masks-archive .mask-card:focus-visible,
[data-theme="archival-dark"] .masks-archive .mask-card:hover,
[data-theme="archival-dark"] .masks-archive .mask-card:focus-visible,
[data-theme="dark"] .masks-archive .mask-card:hover,
[data-theme="dark"] .masks-archive .mask-card:focus-visible {
  border-color: var(--accent-red);
  box-shadow: none;
}

.masks-archive .mask-card.is-active,
.masks-archive .mask-card[aria-selected="true"],
.masks-archive .mask-card[aria-pressed="true"],
[data-theme="showa-light"] .masks-archive .mask-card.is-active,
[data-theme="showa-light"] .masks-archive .mask-card[aria-selected="true"],
[data-theme="showa-light"] .masks-archive .mask-card[aria-pressed="true"],
[data-theme="modern-showa"] .masks-archive .mask-card.is-active,
[data-theme="modern-showa"] .masks-archive .mask-card[aria-selected="true"],
[data-theme="modern-showa"] .masks-archive .mask-card[aria-pressed="true"],
[data-theme="archival-dark"] .masks-archive .mask-card.is-active,
[data-theme="archival-dark"] .masks-archive .mask-card[aria-selected="true"],
[data-theme="archival-dark"] .masks-archive .mask-card[aria-pressed="true"],
[data-theme="dark"] .masks-archive .mask-card.is-active,
[data-theme="dark"] .masks-archive .mask-card[aria-selected="true"],
[data-theme="dark"] .masks-archive .mask-card[aria-pressed="true"] {
  border-color: var(--accent-red);
  box-shadow: none;
}

/* Keep the archive-trail selection visible even when a theme override changes the card border. */
.masks-archive .mask-card[data-mask-selected="true"] {
  border: 2px solid var(--accent-red) !important;
  box-shadow: none !important;
}

.ds-card--interactive:active,
.archive-card:active,
.home-entry-card:active,
.home-browse-grid a:active,
.feature-card:active,
.match-guide-card:active,
.wrestler-card:active,
.rivalry-card:active,
.venue-card:active,
.mask-card:active,
.sacred-mask-card:active,
.related-mask-card:active,
a.beyond-category-card:active,
.voice-card:active,
.video-games-game-card:active,
.vault-room-card:active,
.timeline-era-button:active,
.timeline-rail__button:active .timeline-rail__event,
.styles-experimental__style-card:active,
.styles-geography-card:active,
.support-help-card:active,
.support-action-card:active,
.lineage-node:active .lineage-node-card {
  transform: var(--card-active-transform);
}

.beyond-category-card--coming-soon,
.beyond-category-card--coming-soon:hover,
.beyond-category-card--coming-soon:focus-visible,
.beyond-category-card--coming-soon:active {
  cursor: default;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  [data-wrestlers-page] .lens-button[data-lens-button="rivalries"] {
    animation: rivalryLensBackgroundPulse 4.8s ease-in-out infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-wrestlers-page] .lens-button[data-lens-button="rivalries"] {
    background-color: var(--rivalry-lens-pulse-peak, rgba(var(--accent-red-rgb), 0.12));
  }
}

@media (hover: none), (pointer: coarse) {
  .ds-card--interactive:hover,
  .archive-card:hover,
  .home-entry-card:hover,
  .home-browse-grid a:hover,
  .feature-card:hover,
  .match-guide-card:hover,
  .wrestler-card:hover,
  .rivalry-card:hover,
  .venue-card:hover,
  .mask-card:hover,
  .sacred-mask-card:hover,
  .related-mask-card:hover,
  a.beyond-category-card:hover,
  .voice-card:hover,
  .video-games-game-card:hover,
  .vault-room-card:hover,
  .timeline-era-button:hover,
  .timeline-rail__button:hover .timeline-rail__event,
  .styles-experimental__style-card:hover,
  .styles-geography-card:hover,
  .support-help-card:hover,
  .support-action-card:hover,
  .lineage-node:hover .lineage-node-card {
    transform: none;
  }

  .voice-card.is-active,
  .home-entry-card.is-active,
  .home-browse-grid a.is-active,
  .feature-card.is-active,
  .match-guide-card.is-active,
  .wrestler-card.is-active,
  .rivalry-card.is-active,
  .venue-card--active,
  .mask-card.is-active,
  .sacred-mask-card.is-active,
  .related-mask-card.is-active,
  a.beyond-category-card.is-active,
  .video-games-game-card.is-active,
  .vault-room-card.is-active,
  .timeline-era-button[aria-pressed="true"],
  .timeline-rail__item.is-active .timeline-rail__event,
  .styles-experimental__style-card.is-active,
  .styles-geography-card.is-active,
  .styles-geography-card[aria-pressed="true"],
  .lineage-node.is-active .lineage-node-card {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-card,
  .archive-card,
  .home-entry-card,
  .home-browse-grid a,
  .feature-card,
  .match-guide-card,
  .wrestler-card,
  .rivalry-card,
  .venue-card,
  .mask-card,
  .sacred-mask-card,
  .related-mask-card,
  .beyond-category-card,
  .voice-card,
  .video-games-game-card,
  .vault-room-card,
  .timeline-era-button,
  .timeline-rail__event,
  .styles-experimental__style-card,
  .styles-geography-card,
  .support-help-card,
  .support-action-card,
  .lineage-node-card {
    transition: none;
  }
}

/* Component pass: keep one-off modal and lightbox controls aligned with the
   shared button/card system without changing page-specific layouts. */
.detail-modal-close,
.timeline-photo-lightbox__close,
.mask-lightbox__close,
.voice-mobile-modal__close,
.lineage-filter-panel__header button,
.lineage-detail__close,
.video-games-hotspot-card__close,
.video-games-screenshot-lightbox__head button,
.video-games-screenshot-lightbox__controls button {
  background: var(--modal-shadowbox-surface-strong);
  border: 1px solid var(--modal-shadowbox-stroke);
  color: var(--text-primary);
}

.filter-sheet__close,
.detail-modal-close,
.venue-detail__close,
.timeline-photo-lightbox__close,
.voice-mobile-modal__close,
.lineage-filter-panel__header button,
.lineage-detail__close,
.jp-tokyo-modal__close,
.video-games-hotspot-card__close,
.vault-room-sheet-close,
.vault-room-detail-modal-close,
.video-games-screenshot-lightbox__head button,
.video-games-screenshot-lightbox__controls button {
  min-height: var(--control-height-sm);
  min-width: var(--control-height-sm);
}

.mask-lightbox__close,
.filter-sheet__close,
.detail-modal-close,
.venue-detail__close,
.timeline-photo-lightbox__close,
.voice-mobile-modal__close,
.lineage-filter-panel__header button,
.lineage-detail__close,
.jp-tokyo-modal__close,
.video-games-hotspot-card__close,
.vault-room-sheet-close,
.vault-room-detail-modal-close,
.video-games-screenshot-lightbox__head button {
  border-radius: var(--radius-none) !important;
}

.mask-lightbox__close,
.filter-sheet__btn,
.filter-sheet__close,
.detail-modal-close,
.venue-detail__close,
.timeline-photo-lightbox__close,
.voice-mobile-modal__close,
.lineage-filter-panel__header button,
.lineage-detail__close,
.jp-tokyo-modal__close,
.video-games-hotspot-card__close,
.vault-room-sheet-close,
.vault-room-detail-modal-close,
.video-games-screenshot-lightbox__head button,
.video-games-screenshot-lightbox__controls button {
  transition:
    background var(--motion-hover),
    border-color var(--motion-hover),
    box-shadow var(--motion-focus),
    color var(--motion-hover),
    transform var(--motion-hover);
}

.mask-lightbox__close:hover,
.mask-lightbox__close:focus-visible,
.filter-sheet__close:hover,
.filter-sheet__close:focus-visible,
.detail-modal-close:hover,
.detail-modal-close:focus-visible,
.timeline-photo-lightbox__close:hover,
.timeline-photo-lightbox__close:focus-visible,
.voice-mobile-modal__close:hover,
.voice-mobile-modal__close:focus-visible,
.lineage-filter-panel__header button:hover,
.lineage-filter-panel__header button:focus-visible,
.lineage-detail__close:hover,
.lineage-detail__close:focus-visible,
.video-games-hotspot-card__close:hover,
.video-games-hotspot-card__close:focus-visible,
.video-games-screenshot-lightbox__head button:hover,
.video-games-screenshot-lightbox__head button:focus-visible,
.video-games-screenshot-lightbox__controls button:hover,
.video-games-screenshot-lightbox__controls button:focus-visible {
  background: var(--button-bg-secondary-hover);
  border-color: var(--control-border-color-hover);
  box-shadow: var(--focus-ring-strong);
  color: var(--button-text-secondary-hover);
  outline: none;
}

.filter-sheet__btn--clear:hover,
.filter-sheet__btn--clear:focus-visible {
  background: var(--button-bg-secondary-hover);
  border-color: var(--control-border-color-hover);
  color: var(--button-text-secondary-hover);
}

.filter-sheet__btn--apply:hover,
.filter-sheet__btn--apply:focus-visible {
  background: var(--button-bg-primary-hover);
  box-shadow: var(--focus-ring-strong);
  color: var(--button-text-primary);
  outline: none;
}

/* Shared modal close icon button token. Keep all archive modal X controls
   visually identical and anchored inside the viewport on tablet/mobile. */
:root {
  --modal-icon-button-size: 44px;
  --modal-icon-button-offset: calc(0.75rem + env(safe-area-inset-top, 0px));
  --modal-icon-button-inline-offset: calc(0.75rem + env(safe-area-inset-right, 0px));
  --modal-icon-button-bg: rgba(5, 5, 5, 0.88);
  --modal-icon-button-border: rgba(245, 245, 240, 0.28);
  --modal-icon-button-color: var(--paper, #f5f5f0);
  --modal-icon-button-hover-bg: var(--accent-red-strong);
  --modal-icon-button-hover-border: var(--accent-red-strong);
  --modal-icon-button-hover-color: #111111;
}

[data-theme="showa-light"],
[data-theme="modern-showa"] {
  --modal-icon-button-bg: var(--flag-white, #f5f1e7);
  --modal-icon-button-border: rgba(17, 17, 17, 0.32);
  --modal-icon-button-color: var(--ink, #111111);
}

.detail-modal-close,
.voice-mobile-modal__close,
.timeline-photo-lightbox__close,
.mask-lightbox__close,
.jp-tokyo-modal__close {
  align-items: center !important;
  aspect-ratio: 1 !important;
  background: var(--modal-icon-button-bg) !important;
  border: 1px solid var(--modal-icon-button-border) !important;
  border-radius: var(--radius-none) !important;
  box-sizing: border-box !important;
  color: var(--modal-icon-button-color) !important;
  display: inline-flex !important;
  height: var(--modal-icon-button-size) !important;
  justify-content: center !important;
  min-height: var(--modal-icon-button-size) !important;
  min-width: var(--modal-icon-button-size) !important;
  padding: 0 !important;
  width: var(--modal-icon-button-size) !important;
}

.detail-modal-close .material-symbols-outlined,
.voice-mobile-modal__close .material-symbols-outlined,
.timeline-photo-lightbox__close .material-symbols-outlined,
.mask-lightbox__close .material-symbols-outlined,
.jp-tokyo-modal__close .material-symbols-outlined {
  color: currentColor !important;
  font-size: var(--icon-size-modal-close, 1.45rem) !important;
  line-height: 1 !important;
}

.detail-modal-close:hover,
.detail-modal-close:focus-visible,
.voice-mobile-modal__close:hover,
.voice-mobile-modal__close:focus-visible,
.timeline-photo-lightbox__close:hover,
.timeline-photo-lightbox__close:focus-visible,
.mask-lightbox__close:hover,
.mask-lightbox__close:focus-visible,
.jp-tokyo-modal__close:hover,
.jp-tokyo-modal__close:focus-visible {
  background: var(--modal-icon-button-hover-bg) !important;
  border-color: var(--modal-icon-button-hover-border) !important;
  color: var(--modal-icon-button-hover-color) !important;
  outline: none !important;
}

@media (max-width: 1120px) {
  [data-wrestler-detail].is-modal-open .detail-modal-close,
  [data-venue-detail].is-modal-open .detail-modal-close,
  [data-mask-detail].is-modal-open .detail-modal-close,
  [data-timeline-detail].is-modal-open .detail-modal-close,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close,
  body.detail-modal-open > .venue-detail-modal-close {
    bottom: auto !important;
    left: auto !important;
    position: fixed !important;
    right: var(--modal-icon-button-inline-offset) !important;
    top: var(--modal-icon-button-offset) !important;
    z-index: 5010 !important;
  }
}

/* Accessibility audit: dark-theme small red text needs AA contrast. */
[data-theme="archival-dark"] .site-nav a[aria-current="page"],
[data-theme="dark"] .site-nav a[aria-current="page"],
[data-theme="archival-dark"] .footer-nav a[aria-current="page"],
[data-theme="dark"] .footer-nav a[aria-current="page"],
[data-theme="archival-dark"] .hero-kpi-strip__label,
[data-theme="dark"] .hero-kpi-strip__label,
[data-theme="archival-dark"] .styles-archive-hero__subtitle,
[data-theme="dark"] .styles-archive-hero__subtitle,
[data-theme="archival-dark"] .style-strip__label,
[data-theme="dark"] .style-strip__label,
[data-theme="archival-dark"] .start-publication-style-strip span,
[data-theme="dark"] .start-publication-style-strip span,
[data-theme="archival-dark"] .wrestler-card__link,
[data-theme="dark"] .wrestler-card__link,
[data-theme="archival-dark"] .venue-card__city,
[data-theme="dark"] .venue-card__city,
[data-theme="archival-dark"] .venue-card__link,
[data-theme="dark"] .venue-card__link,
[data-theme="archival-dark"] .masks-archive .wrestler-card__link,
[data-theme="dark"] .masks-archive .wrestler-card__link {
  color: var(--accent-red-readable);
}

[data-theme="archival-dark"] .hero-kpi-strip__label,
[data-theme="dark"] .hero-kpi-strip__label {
  color: var(--accent-red-strong);
}

[data-theme="archival-dark"] .org-label,
[data-theme="dark"] .org-label {
  opacity: 1;
}

.mobile-orientation-guard {
  display: none;
}

@media (orientation: landscape) and (max-width: 980px) and (max-height: 620px) {
  body.mobile-orientation-guard-page {
    --mobile-orientation-guard-backdrop:
      radial-gradient(circle at 18% 12%, rgba(var(--accent-red-rgb), 0.16), transparent 30%),
      linear-gradient(135deg, #050505, #180707);
    --mobile-orientation-guard-grid: rgba(245, 245, 240, 0.03);
    --mobile-orientation-card-bg:
      linear-gradient(180deg, rgba(245, 245, 240, 0.055), rgba(245, 245, 240, 0.018)),
      #111111;
    --mobile-orientation-card-border: rgba(245, 245, 240, 0.24);
    --mobile-orientation-card-shadow: none;
    --mobile-orientation-card-text: var(--text-primary);
    --mobile-orientation-card-muted: var(--text-secondary);
    overflow: hidden;
  }

  html[data-theme="showa-light"] body.mobile-orientation-guard-page,
  html[data-theme="modern-showa"] body.mobile-orientation-guard-page {
    --mobile-orientation-guard-backdrop:
      radial-gradient(circle at 18% 12%, rgba(var(--accent-red-rgb), 0.12), transparent 31%),
      radial-gradient(circle at 78% 86%, rgba(255, 255, 255, 0.16), transparent 34%),
      linear-gradient(135deg, #bcc5cb, #66737d);
    --mobile-orientation-guard-grid: rgba(17, 17, 17, 0.055);
    --mobile-orientation-card-bg:
      radial-gradient(circle at 16% 18%, rgba(17, 17, 17, 0.045) 0 1px, transparent 1.2px),
      radial-gradient(circle at 78% 42%, rgba(17, 17, 17, 0.035) 0 1px, transparent 1.2px),
      var(--flag-white);
    --mobile-orientation-card-border: rgba(17, 17, 17, 0.18);
    --mobile-orientation-card-shadow: var(--shadow);
    --mobile-orientation-card-text: var(--ink);
    --mobile-orientation-card-muted: var(--ink-soft);
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard {
    background: var(--mobile-orientation-guard-backdrop);
    box-sizing: border-box;
    color: var(--mobile-orientation-card-text);
    display: grid;
    inset: 0;
    isolation: isolate;
    padding:
      max(1.25rem, env(safe-area-inset-top, 0px))
      max(1.25rem, env(safe-area-inset-right, 0px))
      max(1.25rem, env(safe-area-inset-bottom, 0px))
      max(1.25rem, env(safe-area-inset-left, 0px));
    place-items: center;
    position: fixed;
    z-index: 5000;
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard::before {
    background:
      linear-gradient(var(--mobile-orientation-guard-grid) 1px, transparent 1px),
      linear-gradient(90deg, var(--mobile-orientation-guard-grid) 1px, transparent 1px);
    background-size: 28px 28px;
    content: "";
    inset: 0;
    opacity: 0.34;
    pointer-events: none;
    position: absolute;
    z-index: -1;
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard__card {
    background: var(--mobile-orientation-card-bg);
    border: 1px solid var(--mobile-orientation-card-border);
    box-shadow: var(--mobile-orientation-card-shadow);
    box-sizing: border-box;
    color: var(--mobile-orientation-card-text);
    max-width: min(28rem, 92vw);
    padding: clamp(1.15rem, 4.6vh, 1.75rem);
    text-align: left;
    width: 100%;
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard__icon {
    align-items: center;
    background: var(--red);
    border: 1px solid var(--red-dark);
    color: var(--on-accent);
    display: inline-flex;
    font-size: clamp(1.6rem, 8vh, 2.15rem);
    height: clamp(3rem, 13vh, 3.65rem);
    justify-content: center;
    margin-bottom: clamp(0.85rem, 3vh, 1.15rem);
    position: relative;
    width: clamp(3rem, 13vh, 3.65rem);
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard__icon::before {
    border: 2px solid currentColor;
    border-radius: 0.32rem;
    box-sizing: border-box;
    content: "";
    height: 1.65rem;
    transform: rotate(-12deg);
    width: 1.1rem;
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard__icon::after {
    border: 2px solid currentColor;
    border-left: 0;
    border-top: 0;
    content: "";
    height: 0.72rem;
    position: absolute;
    right: 0.78rem;
    top: 0.68rem;
    transform: rotate(-45deg);
    width: 0.72rem;
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard__eyebrow {
    color: var(--red);
    font-family: var(--font-heading);
    font-size: clamp(0.7rem, 2.7vh, 0.82rem);
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0 0 0.42rem;
    text-transform: uppercase;
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard h2 {
    color: var(--mobile-orientation-card-text);
    font-family: var(--font-heading);
    font-size: clamp(1.75rem, 8vh, 2.6rem);
    letter-spacing: 0;
    line-height: 0.9;
    margin: 0;
    text-transform: uppercase;
  }

  body.mobile-orientation-guard-page .mobile-orientation-guard p:last-child {
    color: var(--mobile-orientation-card-muted);
    font-family: var(--font-body);
    font-size: clamp(0.94rem, 3.4vh, 1.05rem);
    font-weight: 700;
    line-height: 1.42;
    margin: clamp(0.82rem, 2.8vh, 1rem) 0 0;
  }
}

/* Timeline cards reuse the home entry card photo and headline treatment. */
.timeline-page .timeline-explorer-section {
  --timeline-rail-card-size: clamp(300px, 30vh, 330px);
  --timeline-rail-frame-height: calc(var(--timeline-rail-card-size) + 5.55rem);
}

.timeline-page .timeline-rail__event--image-backed {
  --timeline-rail-image-opacity: 1;
  --timeline-rail-image-size: auto 145%;
  --timeline-rail-image-wash:
    linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.28));
  aspect-ratio: 1 / 1;
  background: var(--flag-white);
  border-color: rgba(var(--text-primary-rgb), 0.18);
  min-height: var(--timeline-rail-card-size);
  padding: clamp(0.9rem, 1.3vw, 1.15rem);
}

@media (min-width: 701px) {
  .timeline-page .timeline-rail {
    gap: 20px;
  }

  .timeline-page .timeline-rail__item,
  .timeline-page .timeline-rail__item--precursor {
    flex-basis: var(--timeline-rail-card-size);
  }

  .timeline-page .timeline-rail__button {
    grid-template-rows: 3rem auto;
  }

  .timeline-page .timeline-rail-scroll {
    min-height: min(100%, var(--timeline-rail-frame-height));
  }
}

@media (min-width: 701px) and (max-height: 820px) {
  .timeline-page .timeline-explorer-section {
    --timeline-rail-card-size: clamp(154px, 22vh, 245px);
  }

  .timeline-page .timeline-rail__date,
  [data-theme="showa-light"] .timeline-page .timeline-rail__date,
  [data-theme="modern-showa"] .timeline-page .timeline-rail__date,
  [data-theme="archival-dark"] .timeline-page .timeline-rail__date,
  [data-theme="dark"] .timeline-page .timeline-rail__date {
    font-size: clamp(1.92rem, 3vw, 2.55rem);
  }

  .timeline-page .timeline-rail__title,
  [data-theme="showa-light"] .timeline-page .timeline-rail__title,
  [data-theme="modern-showa"] .timeline-page .timeline-rail__title,
  [data-theme="archival-dark"] .timeline-page .timeline-rail__title,
  [data-theme="dark"] .timeline-page .timeline-rail__title {
    font-size: clamp(0.98rem, 1.32vw, 1.34rem);
    line-height: 0.9;
  }
}

@media (min-width: 701px) and (max-width: 1400px) and (orientation: landscape) {
  .timeline-page .timeline-rail::before {
    right: calc(var(--timeline-rail-card-size) / 2);
  }
}

@media (min-width: 701px) and (max-width: 1400px) and (orientation: landscape) {
  .timeline-page .timeline-rail__event--image-backed,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event--image-backed {
    --timeline-rail-image-size: cover;
    background: #050505;
    padding: 0;
  }

  .timeline-page .timeline-rail__event--image-backed .timeline-rail__event-image,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event-image {
    background-size: cover !important;
  }
}

@media (max-width: 700px) {
  .timeline-page .timeline-rail-scroll {
    min-height: min(100%, var(--timeline-rail-frame-height));
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: clamp(1rem, 4vw, 1.6rem);
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar {
    display: none;
  }

  .timeline-page .timeline-rail {
    align-items: start;
    display: flex;
    gap: 20px;
    min-width: max-content;
    padding-left: 0;
    width: max-content;
  }

  .timeline-page .timeline-rail::before {
    background: linear-gradient(90deg, transparent, rgba(var(--text-primary-rgb), 0.72) 2rem, rgba(var(--text-primary-rgb), 0.72) calc(100% - 2rem), transparent);
    height: 2px;
    left: 0;
    right: 0;
    top: 2.12rem;
    width: auto;
  }

  .timeline-page .timeline-rail__item,
  .timeline-page .timeline-rail__item--precursor {
    flex: 0 0 var(--timeline-rail-card-size);
    padding: 0;
    scroll-snap-align: center;
    width: auto;
  }

  .timeline-page .timeline-rail__button {
    align-items: start;
    gap: 0.9rem;
    grid-template-columns: 1fr;
    grid-template-rows: 3.5rem auto;
    width: var(--timeline-rail-card-size);
  }

  .timeline-page .timeline-rail__button::after {
    height: 2.3rem;
    left: 50%;
    right: auto;
    top: 2.12rem;
    transform: translateX(-50%) scaleY(0);
    width: 1px;
  }

  .timeline-page .timeline-rail__item.is-active .timeline-rail__button::after {
    transform: translateX(-50%) scaleY(1);
  }

  .timeline-page .timeline-rail__marker {
    left: auto;
    text-align: center;
    top: 0.1rem;
    transform: none;
    width: 100%;
  }

  .timeline-page .timeline-rail__dot {
    align-self: start;
    grid-column: 1;
    grid-row: 1;
    margin-top: 1.65rem;
  }

  .timeline-page .timeline-rail__event,
  .timeline-page .timeline-rail__event--image-backed,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event {
    grid-column: 1;
    grid-row: 2;
    height: var(--timeline-rail-card-size);
    max-width: none;
    min-height: var(--timeline-rail-card-size);
    width: var(--timeline-rail-card-size);
  }
}

@media (max-width: 700px) {
  .timeline-page .timeline-rail-scroll {
    min-height: clamp(32rem, 74vh, 48rem);
    overflow-x: hidden;
    overflow-y: auto;
    padding: clamp(1.2rem, 3vw, 1.75rem) clamp(1rem, 4vw, 1.6rem);
    scroll-padding-block: clamp(1.2rem, 3vw, 1.75rem);
    scroll-padding-inline: 0;
    scroll-snap-type: y proximity;
    scrollbar-color: rgba(var(--text-primary-rgb), 0.28) transparent;
    scrollbar-width: thin;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar {
    display: block;
    width: 6px;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-track {
    background: transparent;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-thumb {
    background: rgba(var(--text-primary-rgb), 0.22);
  }

  .timeline-page .timeline-rail {
    --timeline-mobile-axis-gutter: clamp(4.6rem, 18vw, 5.9rem);
    --timeline-mobile-dot-column: clamp(1.65rem, 4.8vw, 2.05rem);

    align-items: stretch;
    box-sizing: border-box;
    display: grid;
    gap: 0;
    min-width: 0;
    padding-left: var(--timeline-mobile-axis-gutter);
    width: 100%;
  }

  .timeline-page .timeline-rail::before {
    background: linear-gradient(180deg, transparent, rgba(var(--text-primary-rgb), 0.72) 2rem, rgba(var(--text-primary-rgb), 0.72) calc(100% - 2rem), transparent);
    bottom: 0;
    height: auto;
    left: calc(var(--timeline-mobile-axis-gutter) + (var(--timeline-mobile-dot-column) / 2) - 1px);
    right: auto;
    top: 0;
    width: 2px;
  }

  .timeline-page .timeline-rail__item,
  .timeline-page .timeline-rail__item--precursor {
    flex: none;
    padding: 0 0 clamp(1.35rem, 3vw, 1.9rem);
    scroll-snap-align: start;
    width: 100%;
  }

  .timeline-page .timeline-rail__button {
    align-items: center;
    box-sizing: border-box;
    gap: clamp(0.55rem, 2.2vw, 0.75rem);
    grid-template-columns: var(--timeline-mobile-dot-column) minmax(0, 1fr);
    grid-template-rows: auto;
    min-width: 0;
    padding: 0;
    width: 100%;
  }

  .timeline-page .timeline-rail__button::after {
    height: 1px;
    left: calc(var(--timeline-mobile-dot-column) / 2);
    opacity: 0.9;
    right: auto;
    top: 50%;
    transform: none;
    width: clamp(1.25rem, 4vw, 1.75rem);
  }

  .timeline-page .timeline-rail__item.is-active .timeline-rail__button::after {
    transform: none;
  }

  .timeline-page .timeline-rail__marker {
    left: calc(var(--timeline-mobile-axis-gutter) * -1);
    font-size: clamp(1rem, 3.5vw, 1.24rem);
    letter-spacing: 0.025em;
    text-align: right;
    top: 50%;
    transform: translateY(-50%);
    width: clamp(3.7rem, 13vw, 4.85rem);
  }

  .timeline-page .timeline-rail__dot {
    align-self: center;
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
  }

  .timeline-page .timeline-rail__event,
  .timeline-page .timeline-rail__event--image-backed,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event {
    grid-column: 2;
    grid-row: 1;
    height: auto;
    justify-self: start;
    max-width: min(100%, 18.25rem);
    min-height: clamp(8.75rem, 38vw, 12.25rem);
    min-width: 0;
    width: 100%;
  }

  .timeline-page .timeline-rail__event--image-backed,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event--image-backed {
    --timeline-rail-image-size: cover;
    aspect-ratio: 4 / 3;
    background: #050505;
    padding: 0;
  }

  .timeline-page .timeline-rail__event--image-backed .timeline-rail__event-image,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event-image {
    background-size: cover !important;
  }

  .timeline-page .timeline-rail__item--precursor .timeline-rail__event--image-backed {
    --timeline-rail-image-position: center;
  }

  .timeline-page .timeline-rail__item--precursor .timeline-rail__event-image {
    background-position: center !important;
  }
}

@media (min-width: 701px) and (max-width: 1120px) and (orientation: portrait) {
  .timeline-page .timeline-explorer {
    grid-template-columns: minmax(0, 1fr);
  }

  .timeline-page .timeline-rail-scroll {
    min-height: clamp(42rem, 72vh, 62rem);
    overflow-x: hidden;
    overflow-y: auto;
    padding: clamp(1.4rem, 2.6vw, 2rem) clamp(1.1rem, 2.6vw, 1.75rem);
    scroll-padding-block: clamp(1.4rem, 2.6vw, 2rem);
    scroll-padding-inline: 0;
    scroll-snap-type: y proximity;
    scrollbar-color: rgba(var(--text-primary-rgb), 0.28) transparent;
    scrollbar-width: thin;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar {
    display: block;
    width: 6px;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-track {
    background: transparent;
  }

  .timeline-page .timeline-rail-scroll::-webkit-scrollbar-thumb {
    background: rgba(var(--text-primary-rgb), 0.22);
  }

  .timeline-page .timeline-rail {
    --timeline-mobile-axis-gutter: clamp(7.15rem, 15vw, 9rem);
    --timeline-mobile-dot-column: clamp(2.25rem, 4.8vw, 2.85rem);

    align-items: stretch;
    box-sizing: border-box;
    display: grid;
    gap: 0;
    margin-inline: auto;
    min-width: 0;
    padding-left: var(--timeline-mobile-axis-gutter);
    width: min(
      100%,
      calc(var(--timeline-mobile-axis-gutter) + var(--timeline-mobile-dot-column) + clamp(0.8rem, 2vw, 1rem) + 24.5rem)
    );
  }

  .timeline-page .timeline-rail::before {
    background: linear-gradient(180deg, transparent, rgba(var(--text-primary-rgb), 0.72) 2rem, rgba(var(--text-primary-rgb), 0.72) calc(100% - 2rem), transparent);
    bottom: 0;
    height: auto;
    left: calc(var(--timeline-mobile-axis-gutter) + (var(--timeline-mobile-dot-column) / 2) - 1px);
    right: auto;
    top: 0;
    width: 2px;
  }

  .timeline-page .timeline-rail__item,
  .timeline-page .timeline-rail__item--precursor {
    flex: none;
    padding: 0 0 clamp(1.5rem, 3vw, 2rem);
    scroll-snap-align: start;
    width: 100%;
  }

  .timeline-page .timeline-rail__button {
    align-items: center;
    box-sizing: border-box;
    gap: clamp(0.8rem, 2vw, 1rem);
    grid-template-columns: var(--timeline-mobile-dot-column) minmax(0, 1fr);
    grid-template-rows: auto;
    min-width: 0;
    padding: 0;
    width: 100%;
  }

  .timeline-page .timeline-rail__button::after {
    height: 1px;
    left: calc(var(--timeline-mobile-dot-column) / 2);
    opacity: 0.9;
    right: auto;
    top: 50%;
    transform: none;
    width: clamp(1.65rem, 3.8vw, 2.25rem);
  }

  .timeline-page .timeline-rail__item.is-active .timeline-rail__button::after {
    transform: none;
  }

  .timeline-page .timeline-rail__marker {
    left: calc(var(--timeline-mobile-axis-gutter) * -1);
    font-size: clamp(1.18rem, 2vw, 1.55rem);
    letter-spacing: 0.025em;
    text-align: right;
    top: 50%;
    transform: translateY(-50%);
    width: clamp(5.15rem, 10vw, 6.35rem);
  }

  .timeline-page .timeline-rail__dot {
    align-self: center;
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
  }

  .timeline-page .timeline-rail__event,
  .timeline-page .timeline-rail__event--image-backed,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event {
    grid-column: 2;
    grid-row: 1;
    height: auto;
    justify-self: start;
    max-width: min(100%, 24.5rem);
    min-height: 0;
    min-width: 0;
    width: 100%;
  }

  .timeline-page .timeline-rail__event--image-backed,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event--image-backed {
    aspect-ratio: 1 / 1;
  }
}

.timeline-page .timeline-rail__event--image-backed::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.28));
}

.timeline-page .timeline-rail__event--image-backed .timeline-rail__event-image {
  background-size: var(--timeline-rail-image-size, auto 145%);
  filter: var(--timeline-rail-image-filter, grayscale(100%) contrast(1.2) brightness(0.72));
  opacity: 1;
}

.timeline-page .timeline-rail__item--precursor .timeline-rail__event--image-backed {
  --timeline-rail-image-filter: grayscale(100%) contrast(1.22) brightness(0.64);
  --timeline-rail-image-position: 13% 4%;
  --timeline-rail-image-size: auto 210%;
}

.timeline-page .timeline-rail__item--precursor .timeline-rail__event-image {
  background-position: 13% 4% !important;
}

@media (max-width: 700px) {
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event--image-backed {
    --timeline-rail-image-position: center;
    --timeline-rail-image-size: cover;
  }

  .timeline-page .timeline-rail__item--precursor .timeline-rail__event-image {
    background-position: center !important;
    background-size: cover !important;
  }
}

@media (min-width: 701px) and (max-width: 1400px) and (orientation: landscape),
  (min-width: 701px) and (orientation: landscape) and (pointer: coarse) {
  .timeline-page .timeline-rail-scroll {
    padding-right: 0;
    scroll-padding-right: 0;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .timeline-page .timeline-rail::before {
    right: calc(var(--timeline-rail-card-size) / 2);
  }

  .timeline-page .timeline-rail__event--image-backed,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event--image-backed {
    --timeline-rail-image-size: cover;
    background: #050505 !important;
    padding: 0 !important;
  }

  .timeline-page .timeline-rail__event--image-backed .timeline-rail__event-image,
  .timeline-page .timeline-rail__item--precursor .timeline-rail__event-image {
    background-position: var(--timeline-rail-image-position, center) !important;
    background-size: cover !important;
  }
}

.timeline-page .timeline-rail__button:hover .timeline-rail__event--image-backed,
.timeline-page .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
.timeline-page .timeline-rail__item.is-active .timeline-rail__event--image-backed,
.timeline-page .timeline-rail__item--precursor.is-active .timeline-rail__event--image-backed,
[data-theme="showa-light"] .timeline-page .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="showa-light"] .timeline-page .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="showa-light"] .timeline-page .timeline-rail__item.is-active .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-page .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-page .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="modern-showa"] .timeline-page .timeline-rail__item.is-active .timeline-rail__event--image-backed,
[data-theme="archival-dark"] .timeline-page .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="archival-dark"] .timeline-page .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="archival-dark"] .timeline-page .timeline-rail__item.is-active .timeline-rail__event--image-backed,
[data-theme="dark"] .timeline-page .timeline-rail__button:hover .timeline-rail__event--image-backed,
[data-theme="dark"] .timeline-page .timeline-rail__button:focus-visible .timeline-rail__event--image-backed,
[data-theme="dark"] .timeline-page .timeline-rail__item.is-active .timeline-rail__event--image-backed {
  border-color: var(--accent-red);
  box-shadow: 0 0 0 2px var(--accent-red);
}

.timeline-page .timeline-rail__date,
[data-theme="showa-light"] .timeline-page .timeline-rail__date,
[data-theme="modern-showa"] .timeline-page .timeline-rail__date,
[data-theme="archival-dark"] .timeline-page .timeline-rail__date,
[data-theme="dark"] .timeline-page .timeline-rail__date {
  color: var(--accent-red-strong);
  font-size: clamp(2.68rem, 3.76vw, 4rem);
  left: clamp(0.85rem, 1.15vw, 1.05rem);
  line-height: 0.78;
  margin: 0;
  opacity: 0.94;
  position: absolute;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.72),
    1px 2px 3px rgba(0, 0, 0, 0.62),
    0 0 6px rgba(0, 0, 0, 0.34);
  top: clamp(0.82rem, 1.1vw, 1rem);
}

.timeline-page .timeline-rail__title,
[data-theme="showa-light"] .timeline-page .timeline-rail__title,
[data-theme="modern-showa"] .timeline-page .timeline-rail__title,
[data-theme="archival-dark"] .timeline-page .timeline-rail__title,
[data-theme="dark"] .timeline-page .timeline-rail__title {
  --timeline-title-band-inset: clamp(0.85rem, 1.15vw, 1.05rem);

  background: rgba(191, 38, 31, 0.78);
  box-shadow:
    0.18em 0 0 rgba(191, 38, 31, 0.78),
    -0.18em 0 0 rgba(191, 38, 31, 0.78);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  bottom: clamp(0.78rem, 1.1vw, 1rem);
  color: var(--ink);
  font-size: clamp(1.42rem, 1.9vw, 2rem);
  justify-self: start;
  line-height: 0.86;
  margin: 0;
  max-width: none;
  overflow-wrap: anywhere;
  position: absolute;
  left: var(--timeline-title-band-inset);
  right: var(--timeline-title-band-inset);
  text-transform: uppercase;
  width: auto;
}

.timeline-page .timeline-rail__item--precursor .timeline-rail__event::after {
  display: none;
}

/* Timeline era index experiment: editorial chapter tiles that echo the rail cards. */
.timeline-page .timeline-explorer-section {
  --timeline-era-selector-height: clamp(7.55rem, 7.1vw, 8.35rem);
}

.timeline-page .timeline-era-nav {
  background: #080807;
  border-color: rgba(232, 227, 217, 0.22);
}

.timeline-page .timeline-era-nav .timeline-column-heading {
  background:
    linear-gradient(90deg, rgba(8, 8, 7, 0.78), rgba(8, 8, 7, 0.9)),
    url("./assets/hero-images/home-cards/timeline-card-bg.webp") center / cover no-repeat;
  min-height: var(--timeline-era-selector-height);
}

.timeline-page .timeline-era-nav .timeline-column-heading h3 {
  font-size: clamp(1.55rem, 2.15vw, 2.35rem);
  line-height: 0.9;
}

.timeline-page .timeline-era-nav .timeline-era-filter__list {
  background: #080807;
}

.timeline-page .timeline-era-nav .timeline-era-button {
  --timeline-era-image: url("./assets/timeline/timeline-04.webp");
  align-content: end;
  background:
    linear-gradient(180deg, rgba(8, 8, 7, 0.52), rgba(8, 8, 7, 0.9)),
    linear-gradient(90deg, rgba(8, 8, 7, 0.1), rgba(8, 8, 7, 0.54)),
    var(--timeline-era-image) var(--timeline-era-image-position, center) / cover no-repeat,
    #080807;
  border: 0;
  box-shadow: none;
  flex-basis: clamp(14.5rem, 18.5vw, 21rem);
  isolation: isolate;
  min-height: var(--timeline-era-selector-height);
  overflow: hidden;
  padding: clamp(0.9rem, 1.25vw, 1.25rem);
  position: relative;
  row-gap: 0.18rem;
}

.timeline-page .timeline-era-nav .timeline-era-button::before {
  background: transparent;
  border: 2px solid var(--accent-red);
  box-sizing: border-box;
  content: "";
  display: block;
  height: auto;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 160ms ease;
  width: auto;
  z-index: 2;
}

.timeline-page .timeline-era-nav .timeline-era-button::after {
  background: rgba(191, 38, 31, 0);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: background 160ms ease;
  z-index: 0;
}

.timeline-page .timeline-era-nav .timeline-era-button[data-era-id="origins"] {
  --timeline-era-image: url("./assets/timeline/era selector/era-1.webp");
  --timeline-era-image-position: 44% 28%;
}

.timeline-page .timeline-era-nav .timeline-era-button[data-era-id="split"] {
  --timeline-era-image: url("./assets/timeline/era selector/era-2.webp");
  --timeline-era-image-position: 46% 28%;
}

.timeline-page .timeline-era-nav .timeline-era-button[data-era-id="golden-age"] {
  --timeline-era-image: url("./assets/timeline/era selector/era-3.webp");
  --timeline-era-image-position: 56% 36%;
}

.timeline-page .timeline-era-nav .timeline-era-button[data-era-id="transition"] {
  --timeline-era-image: url("./assets/timeline/era selector/era-4.webp");
  --timeline-era-image-position: 42% 40%;
}

.timeline-page .timeline-era-nav .timeline-era-button[data-era-id="modern"] {
  --timeline-era-image: url("./assets/timeline/era selector/era-5.webp");
  --timeline-era-image-position: 50% 38%;
}

.timeline-page .timeline-era-nav .timeline-era-button__range {
  color: var(--accent-red-strong);
  font-size: clamp(1.31rem, 2.08vw, 2.52rem);
  letter-spacing: 0;
  line-height: 0.78;
  margin: 0 0 0.34rem;
  position: relative;
  text-shadow: 0 0 16px rgba(0, 0, 0, 0.44);
  z-index: 3;
}

.timeline-page .timeline-era-nav .timeline-era-button__title {
  color: #f4efe5;
  font-size: clamp(1rem, 1.28vw, 1.35rem);
  line-height: 0.95;
  position: relative;
  text-shadow: 0 0 14px rgba(0, 0, 0, 0.62);
  z-index: 3;
}

.timeline-page .timeline-era-nav .timeline-era-button__description {
  color: rgba(244, 239, 229, 0.72);
  font-size: clamp(0.68rem, 0.74vw, 0.78rem);
  line-height: 1.22;
  margin-top: 0.36rem;
  max-width: 31ch;
  position: relative;
  z-index: 3;
}

.timeline-page .timeline-era-nav .timeline-era-button:hover,
.timeline-page .timeline-era-nav .timeline-era-button:focus-visible,
.timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"] {
  background:
    linear-gradient(180deg, rgba(8, 8, 7, 0.52), rgba(8, 8, 7, 0.9)),
    linear-gradient(90deg, rgba(8, 8, 7, 0.1), rgba(8, 8, 7, 0.54)),
    var(--timeline-era-image) var(--timeline-era-image-position, center) / cover no-repeat,
    #080807;
  border: 0;
  box-shadow: none;
  outline: none;
}

.timeline-page .timeline-era-nav .timeline-era-button:hover::after,
.timeline-page .timeline-era-nav .timeline-era-button:focus-visible::after,
.timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"]::after {
  background: linear-gradient(
    90deg,
    rgba(var(--accent-red-rgb), 0.1),
    rgba(var(--accent-red-rgb), 0.03)
  );
  mix-blend-mode: normal;
}

.timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"]::before {
  opacity: 1;
}

.timeline-page .timeline-era-nav .timeline-era-button:focus-visible {
  box-shadow: none;
}

.timeline-page .timeline-era-nav .timeline-era-button:focus-visible::before {
  opacity: 1;
}

.timeline-page .timeline-era-nav .timeline-era-button:hover .timeline-era-button__range,
.timeline-page .timeline-era-nav .timeline-era-button:focus-visible .timeline-era-button__range,
.timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"] .timeline-era-button__range {
  color: var(--accent-red-strong);
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav {
  background: #f5f5f3;
  border-color: rgba(23, 19, 15, 0.18);
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-column-heading,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-column-heading {
  background:
    linear-gradient(90deg, rgba(245, 245, 243, 0.76), rgba(245, 245, 243, 0.92)),
    url("./assets/hero-images/home-cards/timeline-card-bg.webp") center / cover no-repeat;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-filter__list,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-filter__list {
  background: #f5f5f3;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button {
  background:
    linear-gradient(180deg, rgba(245, 245, 243, 0.28), rgba(245, 245, 243, 0.78)),
    linear-gradient(90deg, rgba(245, 245, 243, 0.04), rgba(245, 245, 243, 0.44)),
    var(--timeline-era-image) var(--timeline-era-image-position, center) / cover no-repeat,
    #f5f5f3;
  border: 0;
  box-shadow: none;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button:last-child,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button:last-child {
  border-right-color: transparent;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button:hover,
[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button:focus-visible,
[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"],
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button:hover,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button:focus-visible,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"] {
  background:
    linear-gradient(180deg, rgba(245, 245, 243, 0.28), rgba(245, 245, 243, 0.78)),
    linear-gradient(90deg, rgba(245, 245, 243, 0.04), rgba(245, 245, 243, 0.44)),
    var(--timeline-era-image) var(--timeline-era-image-position, center) / cover no-repeat,
    #f5f5f3;
  border: 0;
  box-shadow: none;
  outline: none;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button:hover::after,
[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button:focus-visible::after,
[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"]::after,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button:hover::after,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button:focus-visible::after,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button[aria-pressed="true"]::after {
  background: linear-gradient(
    90deg,
    rgba(var(--accent-red-rgb), 0.07),
    rgba(var(--accent-red-rgb), 0.02)
  );
  mix-blend-mode: normal;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button__title,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button__title {
  color: var(--ink);
  text-shadow: none;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button__description,
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button__description {
  color: rgba(23, 19, 15, 0.72);
  text-shadow: none;
}

@media (max-width: 1120px) {
  .timeline-page .timeline-explorer-section {
    --timeline-era-selector-height: clamp(7rem, 10vw, 7.65rem);
  }

  .timeline-page .timeline-era-nav .timeline-era-button {
    flex-basis: clamp(13.25rem, 33vw, 18rem);
  }
}

@media (max-width: 700px) {
  .timeline-page .timeline-explorer-section {
    --timeline-era-selector-height: 6.75rem;
  }

  .timeline-page.timeline-page--collapsed .timeline-explorer-section {
    --timeline-era-selector-height: 6.75rem;
  }

  .timeline-page .timeline-era-nav .timeline-column-heading {
    min-height: 4.05rem;
  }

  .timeline-page .timeline-era-nav .timeline-column-heading h3 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
  }

  .timeline-page .timeline-era-nav .timeline-era-button {
    flex-basis: clamp(13.5rem, 76vw, 18rem);
    min-height: 6.75rem;
    padding: 0.78rem 0.9rem;
  }

  .timeline-page .timeline-era-nav .timeline-era-button__range {
    font-size: clamp(1.53rem, 9.18vw, 2.14rem);
  }

  .timeline-page .timeline-era-nav .timeline-era-button__title {
    font-size: clamp(1rem, 5.1vw, 1.18rem);
  }

  .timeline-page .timeline-era-nav .timeline-era-button__description {
    font-size: 0.68rem;
    line-height: 1.18;
  }
}

body.timeline-body.timeline-app-shell-active {
  overflow: hidden;
}

html:has(body.timeline-body.timeline-app-shell-active),
body.timeline-body.timeline-app-shell-active {
  height: var(--timeline-viewport-height, 100dvh);
  max-height: var(--timeline-viewport-height, 100dvh);
  overflow: hidden;
  overscroll-behavior: none;
}

.timeline-body .site-footer {
  position: relative;
  z-index: 1;
}

.timeline-body .timeline-footer {
  margin-top: clamp(2.5rem, 5vh, 4rem);
}

.timeline-body .timeline-page:not(.timeline-page--collapsed) .timeline-explorer-section {
  padding-bottom: clamp(4rem, 7vh, 6.5rem);
}

.timeline-body .timeline-page.timeline-page--collapsed {
  min-height: auto;
}

.timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section {
  --timeline-collapsed-pane-height: max(var(--timeline-detail-stable-height, 0px), clamp(42rem, 82vh, 56rem));

  bottom: 0;
  left: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: fixed;
  right: 0;
  top: calc(var(--site-header-height) + var(--timeline-collapsed-hero-height) + 30px);
  z-index: 210;
  -webkit-overflow-scrolling: touch;
}

.timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace {
  gap: var(--timeline-content-gap);
  height: auto;
  min-height: 0;
  overflow: visible;
  overscroll-behavior: contain;
  padding-top: 0;
}

@media (max-width: 880px),
  (min-width: 881px) and (max-width: 1120px) and (orientation: portrait) {
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section {
    top: calc(var(--site-header-height) + var(--timeline-collapsed-hero-height));
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    width: 100%;
  }

  .timeline-rail-shell .timeline-column-heading__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.58rem;
  }

  .timeline-page .timeline-era-nav .timeline-era-button__description {
    display: none;
  }
}

.timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav {
  display: grid;
}

.timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer {
  align-items: stretch;
  min-height: var(--timeline-collapsed-pane-height);
  overflow: visible;
}

.timeline-body .timeline-page.timeline-page--collapsed .timeline-stage,
.timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-shell,
.timeline-body .timeline-page.timeline-page--collapsed .timeline-detail {
  height: var(--timeline-collapsed-pane-height) !important;
  max-height: none !important;
  min-height: var(--timeline-collapsed-pane-height);
  overflow: hidden !important;
}

.timeline-body .timeline-page.timeline-page--collapsed .timeline-detail {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
}

.timeline-body .timeline-page.timeline-page--collapsed .timeline-footer {
  margin-top: clamp(3rem, 6vh, 5rem);
  width: 100%;
}

@media (min-width: 701px) {
  .timeline-body .timeline-page:not(.timeline-page--collapsed) .timeline-explorer {
    align-items: stretch;
  }

  .timeline-body .timeline-page:not(.timeline-page--collapsed) .timeline-stage,
  .timeline-body .timeline-page:not(.timeline-page--collapsed) .timeline-rail-shell,
  .timeline-body .timeline-page:not(.timeline-page--collapsed) .timeline-detail {
    min-height: max(var(--timeline-detail-stable-height, 0px), clamp(35rem, 68vh, 48rem));
  }

  .timeline-body .timeline-page:not(.timeline-page--collapsed) .timeline-rail-scroll {
    min-height: calc(var(--timeline-rail-frame-height) + clamp(2rem, 4vh, 3.25rem));
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-stage,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-shell,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-detail {
    height: var(--timeline-collapsed-pane-height) !important;
    min-height: var(--timeline-collapsed-pane-height);
  }
}

@media (max-width: 880px),
  (min-width: 881px) and (max-width: 1120px) and (orientation: portrait) {
  .timeline-body .timeline-page.timeline-page--collapsed.timeline-page--hero-hidden > .timeline-archive-hero.styles-hero--collapsed {
    display: none;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section {
    overflow: hidden;
    top: calc(var(--site-header-height) + var(--timeline-collapsed-hero-height));
    transition: top var(--archive-hero-transition) var(--archive-hero-ease);
  }

  .timeline-body .timeline-page.timeline-page--collapsed.timeline-page--hero-hidden .timeline-explorer-section {
    top: var(--site-header-height);
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    overflow: hidden;
    padding-bottom: 0;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-stage,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-shell {
    height: 100% !important;
    max-height: none !important;
    min-height: 0;
    overflow: hidden !important;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-shell {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-scroll {
    height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 881px) and (max-width: 1120px) and (orientation: portrait) {
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace {
    padding-left: clamp(1rem, 3vw, 1.75rem);
    padding-right: clamp(1rem, 3vw, 1.75rem);
    padding-top: clamp(0.75rem, 1.5vw, 1rem);
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}

/* Phase 7: normalize compact archive hero/toolbars across archive pages. */
[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip,
[data-venues-page] .venues-main__sticky.lens-preview-strip,
.masks-preview-strip {
  --archive-toolbar-control-height: 2.875rem;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.045), rgba(var(--text-primary-rgb), 0.015)),
    var(--bg-primary);
  border: 1px solid var(--border-subtle);
  box-shadow: none;
  box-sizing: border-box;
  gap: 0.75rem clamp(0.95rem, 1.6vw, 1.35rem);
  grid-template-columns: minmax(13rem, 1fr) max-content;
  height: auto;
  min-height: clamp(5.25rem, 7vw, 6.35rem);
  padding: clamp(0.78rem, 1.15vw, 1rem) clamp(1rem, 1.8vw, 1.5rem);
}

[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .lens-preview-strip__intro,
[data-venues-page] .venues-main__sticky.lens-preview-strip .lens-preview-strip__intro,
.masks-preview-strip .lens-preview-strip__intro {
  align-self: center;
  display: grid;
  gap: 0.12rem;
}

[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h1,
[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip h3,
[data-venues-page] .venues-main__sticky.lens-preview-strip h1,
[data-venues-page] .venues-main__sticky.lens-preview-strip h3,
.masks-preview-strip h1,
.masks-preview-strip h3 {
  color: var(--text-primary);
  font-size: clamp(1.65rem, 2.05vw, 2.2rem);
  line-height: 0.92;
  max-width: 100%;
}

[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .wrestler-tools,
[data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar,
.masks-preview-strip .wrestler-tools {
  height: var(--archive-toolbar-control-height);
}

[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .search-wrap,
[data-venues-page] .venues-main__sticky.lens-preview-strip .venues-toolbar-search,
.masks-preview-strip .search-wrap,
.masks-preview-strip .masks-inline-sort select,
[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .filter-sheet-trigger,
[data-venues-page] .venues-main__sticky.lens-preview-strip .filter-sheet-trigger,
.masks-preview-strip .filter-sheet-trigger,
[data-wrestlers-page] .wrestlers-stage > .lens-preview-strip .venues-view-toggle__btn,
[data-venues-page] .venues-main__sticky.lens-preview-strip .venues-view-toggle__btn {
  height: var(--archive-toolbar-control-height);
  max-height: var(--archive-toolbar-control-height);
  min-height: var(--archive-toolbar-control-height);
}

@media (min-width: 821px) and (max-width: 1120px) {
  .masks-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 1.05rem 0.75rem !important;
    grid-template-columns: minmax(14rem, 1fr) repeat(2, minmax(8.5rem, 8.5rem)) !important;
    grid-template-rows: auto var(--archive-toolbar-control-height) !important;
    overflow: visible !important;
  }

  .masks-preview-strip .lens-preview-strip__intro,
  .masks-preview-strip .wrestler-tools {
    display: contents !important;
  }

  .masks-preview-strip h1,
  .masks-preview-strip h3 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
  }

  .masks-preview-strip .search-wrap {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    width: 100% !important;
  }

  .masks-preview-strip .filter-sheet-trigger {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .masks-preview-strip .keyboard-info {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
  }
}

@media (max-width: 820px) {
  .masks-preview-strip {
    align-items: stretch !important;
    display: grid !important;
    gap: 0.75rem 0.55rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto 2.75rem 2.75rem !important;
    overflow: hidden !important;
  }

  .masks-preview-strip .lens-preview-strip__intro,
  .masks-preview-strip .wrestler-tools {
    display: contents !important;
  }

  .masks-preview-strip h1,
  .masks-preview-strip h3 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  .masks-preview-strip .search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    width: 100% !important;
  }

  .masks-preview-strip .filter-sheet-trigger,
  .masks-preview-strip .keyboard-info {
    justify-content: center !important;
    justify-self: stretch !important;
    width: 100% !important;
  }

  .masks-preview-strip .filter-sheet-trigger {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  [data-masks-page] .masks-preview-strip .filter-sheet-trigger {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    justify-content: center !important;
    justify-self: stretch !important;
    width: 100% !important;
  }

  .masks-preview-strip .keyboard-info {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }
}

/* Phase 8: keep navigation, footers, and preference controls visually consistent. */
.site-footer {
  align-items: center;
  display: flex;
  color: var(--text-primary);
}

.footer-nav {
  gap: 0.35rem 1.1rem;
}

.footer-nav a {
  align-items: center;
  display: inline-flex;
  min-height: var(--control-height-sm);
}

.site-footer--institutional {
  align-items: start;
  color: var(--paper);
  display: grid;
}

.site-footer--institutional .footer-nav--columns {
  align-items: start;
  gap: clamp(1.25rem, 3vw, 3rem);
}

.site-footer--institutional .footer-nav--columns a {
  min-height: 0;
  padding-block: 0.05rem;
}

.site-footer--institutional .footer-social-link {
  color: rgba(255, 255, 255, 0.88);
}

.site-footer.site-footer--institutional .footer-nav-heading {
  color: var(--accent-red-dark);
}

.preferences-menu__panel {
  top: calc(var(--site-header-height) + 0.75rem);
}

.theme-toggle,
.site-nav-toggle {
  box-sizing: border-box;
}

.theme-toggle.is-switching {
  animation: none;
}

.theme-toggle:hover .theme-toggle__icon,
.theme-toggle:focus-visible .theme-toggle__icon {
  transform: none;
}

@media (max-width: 1120px) {
  .site-nav-toggle {
    background: rgba(var(--text-primary-rgb), 0.07);
    border-color: rgba(var(--text-primary-rgb), 0.28);
    color: rgba(var(--text-primary-rgb), 0.9);
  }

  .site-nav-toggle:hover,
  .site-nav-toggle:focus-visible,
  .site-nav-toggle[aria-expanded="true"] {
    background:
      linear-gradient(rgba(120, 8, 14, 0.16), rgba(120, 8, 14, 0.16)),
      rgba(var(--text-primary-rgb), 0.07);
    border-color: rgba(var(--accent-red-rgb), 0.92);
    color: rgba(var(--text-primary-rgb), 0.95);
  }

  [data-theme="modern-showa"] .site-nav-toggle,
  [data-theme="modern-showa"] .site-header--home .site-nav-toggle {
    background: rgba(var(--on-accent-rgb), 0.07);
    border-color: rgba(var(--on-accent-rgb), 0.28);
    color: var(--on-accent);
  }

  [data-theme="modern-showa"] .site-nav-toggle:hover,
  [data-theme="modern-showa"] .site-nav-toggle:focus-visible,
  [data-theme="modern-showa"] .site-nav-toggle[aria-expanded="true"] {
    background:
      linear-gradient(rgba(120, 8, 14, 0.18), rgba(120, 8, 14, 0.18)),
      rgba(var(--on-accent-rgb), 0.07);
    border-color: var(--accent-red);
    color: var(--on-accent);
  }

  .preferences-menu__panel {
    right: 1rem;
    top: calc(var(--site-header-height) + 0.5rem);
  }
}

@media (max-width: 1120px) {
  .site-nav.is-open {
    align-content: center;
    align-items: center;
    display: grid;
    gap: 0.35rem clamp(0.75rem, 2.2vw, 1.2rem);
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    justify-content: center;
    justify-items: center;
    max-height: 21rem;
    padding: clamp(1.05rem, 2.8vw, 1.65rem) clamp(1rem, 4vw, 2rem) clamp(1.25rem, 3vw, 1.9rem);
  }

  .site-nav.is-open a {
    border: 1px solid rgba(var(--text-primary-rgb), 0.08);
    border-radius: 2px;
    display: inline-flex;
    font-size: clamp(0.92rem, 1.65vw, 1.12rem);
    justify-content: center;
    min-height: 2.8rem;
    padding: 0.62rem 0.8rem;
    text-align: center;
    width: 100%;
  }

  .site-nav.is-open a::after {
    bottom: 0;
    height: 2px;
    left: 0;
    top: auto;
    transform: scaleX(0);
    transform-origin: center;
    width: 100%;
  }

  .site-nav.is-open a[aria-current="page"]::after,
  .site-nav.is-open a:hover::after,
  .site-nav.is-open a:focus-visible::after {
    transform: scaleX(1);
  }

  .home-about-float {
    background: var(--bg-primary);
    border-radius: var(--radius-pill);
    box-shadow: none;
    display: flex;
    font-size: 0.9rem;
    gap: 0.7rem;
    justify-content: center;
    margin: clamp(2.25rem, 8vw, 3.4rem) auto 1.5rem;
    min-height: 3.25rem;
    padding: 0.82rem 1.12rem;
    position: relative;
    right: auto;
    transform: none;
    width: min(21rem, calc(100vw - 2rem));
  }

  .home-about-float::before {
    opacity: 1;
    padding: 2px;
  }

  .home-about-float:hover,
  .home-about-float:focus-visible {
    box-shadow: none;
    transform: translateY(-2px);
  }
}

@media (min-width: 761px) and (max-width: 1120px) {
  body.home-page .home-about-float {
    --home-about-float-default-bottom: 12;
    --home-about-float-footer-gap: 14;
    border-radius: var(--radius-pill);
    bottom: var(--home-about-float-bottom, clamp(1rem, 2.4vw, 1.55rem));
    display: inline-flex;
    font-size: 0.96rem;
    gap: 0.75rem;
    justify-content: center;
    margin: 0;
    padding: 1rem 1.35rem;
    position: fixed;
    right: clamp(1rem, 2.4vw, 1.55rem);
    transform: none;
    width: auto;
    z-index: 480;
  }

  body.home-page .home-about-float .material-symbols-outlined {
    font-size: 1.28rem;
  }

  body.home-page .home-about-float:hover,
  body.home-page .home-about-float:focus-visible {
    transform: translateY(-2px);
  }
}

@media (max-width: 760px) {
  body.home-page .home-about-float {
    background:
      linear-gradient(135deg, rgba(var(--accent-red-rgb), 0.98), rgba(152, 20, 24, 0.96));
    box-shadow:
      0 0 0 1px rgba(var(--highlight-rgb), 0.24),
      0 14px 28px rgba(var(--accent-red-rgb), 0.28);
    color: #fff8ef;
  }

  body.home-page .home-about-float .material-symbols-outlined {
    color: #fff8ef;
  }

  body.home-page .home-about-float::before {
    opacity: 0.88;
  }
}

@media (max-width: 600px) {
  .site-nav.is-open {
    gap: 0.45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 22rem;
    padding: 1rem clamp(1rem, 5vw, 1.4rem) 1.15rem;
  }

  .site-nav.is-open a {
    font-size: clamp(0.92rem, 4.8vw, 1.08rem);
    min-height: 2.75rem;
    padding: 0.56rem 0.55rem;
  }
}

/* Final About page overrides live after shared archive rules. */
.about-main {
  --archive-hero-height: var(--styles-hero-expanded-height);
}

.about-hero {
  --archive-hero-image: url("./assets/hero-images/hero/hero-about-optimized.webp");
  --archive-hero-image-position: calc(58% + clamp(70px, 12vw, 210px)) calc(42% + 80px);
  --archive-hero-image-position-collapsed: calc(56% + 140px) calc(40% + 70px);
  --archive-hero-image-size: min(70rem, 68vw) auto;
  --archive-hero-image-size-collapsed: min(46rem, 42vw) auto;
  --archive-hero-image-filter: grayscale(100%) sepia(0.1) contrast(1.2) brightness(0.5);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.08) contrast(1.22) brightness(0.42);
  --archive-hero-image-opacity: 0.88;
  --archive-hero-image-opacity-collapsed: 0.82;
  top: var(--site-header-height);
}

.about-hero__inner {
  align-content: start;
  padding-top: clamp(2.5rem, 5.4vw, 4.9rem);
}

.about-hero h1 {
  font-size: clamp(3.9rem, 7.7vw, 7.8rem);
}

.about-hero h1::after {
  content: none;
}

.about-hero__vertical {
  border-right-width: 4px;
  color: #f5f5f0;
  font-size: var(--archive-hero-vertical-size);
  text-shadow: none;
  top: calc(var(--styles-hero-expanded-height) / 2);
  transform: translateY(-50%);
}

.about-hero .about-hero__subtitle {
  color: var(--accent-red-strong);
  max-height: none;
}

.about-hero.styles-hero--collapsed .about-hero__inner {
  align-content: center;
  align-items: center;
  padding-block: clamp(1rem, 1.4vw, 1.4rem);
}

.styles-page.about-main:not(.start-here-page) > .styles-archive-hero.about-hero.styles-hero--collapsed::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.56) 0%, rgba(0, 0, 0, 0.38) 36%, rgba(0, 0, 0, 0.08) 66%, rgba(0, 0, 0, 0.38) 100%),
    var(--archive-hero-accent-glow),
    var(--archive-hero-image);
  background-position:
    center,
    center,
    calc(56% + 140px) calc(40% + 140px);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: auto, auto, var(--archive-hero-image-size-collapsed);
}

@media (min-width: 761px) and (max-width: 1120px) {
  .about-hero {
    --archive-hero-overlay:
      linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.48) 38%, rgba(0, 0, 0, 0.16) 68%, rgba(0, 0, 0, 0.5) 100%);
    --archive-hero-image-position: calc(58% + clamp(70px, 12vw, 210px)) calc(42% + 60px);
    --archive-hero-image-position-collapsed: calc(56% + 140px) calc(40% + 90px);
    --archive-hero-image-size: min(74rem, 88vw) auto;
    --archive-hero-image-size-collapsed: min(58rem, 72vw) auto;
  }

  .styles-page.about-main:not(.start-here-page) > .styles-archive-hero.about-hero.styles-hero--collapsed::before {
    background-position:
      center,
      center,
      calc(56% + 140px) calc(40% + 120px);
  }
}

@media (min-width: 1121px) and (max-width: 1400px) and (orientation: landscape) {
  .styles-page.about-main:not(.start-here-page) > .styles-archive-hero.about-hero.styles-hero--collapsed::before {
    background-position:
      center,
      center,
      calc(56% + 140px) calc(40% + 120px);
  }
}

@media (max-width: 760px) {
  .styles-page.about-main:not(.start-here-page) > .styles-archive-hero.about-hero.styles-hero--collapsed::before {
    background-position:
      center,
      center,
      calc(52% + 30px) calc(40% + 90px);
    background-size: auto, auto, min(56rem, 132vw) auto;
  }
}

.about-hero.styles-hero--collapsed h1 {
  font-size: clamp(2rem, 3vw, 3.4rem);
  white-space: nowrap;
}

.about-hero.styles-hero--collapsed .about-hero__subtitle {
  color: var(--accent-red-strong);
}

.home-about-float .material-symbols-outlined {
  color: var(--accent-red-strong);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.22rem;
  height: 1em;
  line-height: 1;
  overflow: hidden;
  width: 1em;
}

.home-about-float .material-symbols-svg {
  display: block;
  height: 1em;
  width: 1em;
}

.about-contact-line .material-symbols-outlined {
  color: var(--accent-red-strong);
  display: inline-block;
  flex: 0 0 auto;
  font-size: 0;
  height: 1rem;
  overflow: hidden;
  position: relative;
  width: 1rem;
}

.about-contact-line .material-symbols-svg {
  display: none;
}

.about-contact-line .material-symbols-svg path {
  display: none;
}

.about-row__icon {
  color: rgba(var(--text-primary-rgb), 0.66);
  display: inline-block;
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  height: 1em;
  overflow: hidden;
  position: relative;
  width: 1em;
}

.about-contact-card .material-symbols-outlined {
  color: var(--accent-red-strong);
  display: inline-block;
  font-size: 2rem;
  height: 1em;
  overflow: hidden;
  position: relative;
  width: 1em;
}

.about-row__icon::before,
.about-contact-card .material-symbols-outlined::before {
  border: 2px solid currentColor;
  content: "";
  inset: 0.08em;
  opacity: 0.86;
  position: absolute;
}

.about-row__icon::after,
.about-contact-card .material-symbols-outlined::after {
  background: currentColor;
  content: "";
  height: 2px;
  left: 0.24em;
  opacity: 0.7;
  position: absolute;
  right: 0.24em;
  top: 50%;
  transform: rotate(-24deg);
}

.about-contact-line .material-symbols-outlined::before {
  background: currentColor;
  content: "";
  height: 2px;
  left: 0.04em;
  position: absolute;
  right: 0.1em;
  top: 50%;
}

.about-contact-line .material-symbols-outlined::after {
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
  height: 0.36em;
  position: absolute;
  right: 0.1em;
  top: calc(50% - 0.2em);
  transform: rotate(45deg);
  width: 0.36em;
}

@media (max-width: 760px) {
  .about-main {
    --archive-hero-height: clamp(29rem, 110vw, 30rem);
  }

  .about-hero {
    position: relative;
    top: auto;
  }

  .about-main.styles-page--collapsed > .about-hero.styles-hero--collapsed {
    left: 0;
    position: fixed;
    right: 0;
    top: var(--site-header-height);
    width: 100%;
  }

  .styles-page.about-main > .styles-archive-hero.about-hero::before {
    --archive-hero-image-position: center calc(14% - 42px);
    --archive-hero-image-size: min(40rem, 160vw) auto;
    filter: grayscale(100%) sepia(0.08) contrast(1.14) brightness(0.68);
    opacity: 0.94;
  }

  .about-hero__inner {
    padding-top: clamp(2.2rem, 10vw, 3.2rem);
  }

  .about-hero h1 {
    font-size: clamp(3.15rem, 16vw, 5.1rem);
  }
}

/* About editorial exhibit: align the body with the site's archive spread style. */
.about-editorial {
  padding-bottom: 0;
  padding-top: clamp(3rem, 5.5vw, 5.5rem);
  transition: padding-top var(--archive-hero-transition) var(--archive-hero-ease);
}

.about-main.styles-page--collapsed .about-editorial {
  bottom: 0;
  left: 0;
  margin-top: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-top: clamp(6rem, 8vw, 8rem);
  position: fixed;
  right: 0;
  top: calc(var(--site-header-height) + var(--archive-hero-collapsed-height));
  z-index: 210;
}

.about-main.styles-page--collapsed > .about-hero.styles-hero--collapsed {
  left: 0;
  position: fixed;
  right: 0;
  top: var(--site-header-height);
  width: 100%;
}

.about-main.styles-page--collapsed .about-row:first-of-type {
  align-items: start;
  min-height: 0;
  padding-top: 0;
}

.about-main.styles-page--collapsed .about-row:first-of-type::before {
  align-self: start;
}

.about-main.styles-page--collapsed .about-row:first-of-type .about-row__visual img,
.about-main.styles-page--collapsed .about-row:first-of-type .about-row__content {
  align-self: start;
}

.about-editorial__inner {
  counter-reset: about-row;
  max-width: min(1500px, calc(100vw - clamp(2rem, 7vw, 8rem)));
}

.about-row {
  align-items: center;
  background: transparent;
  border-bottom-color: rgba(var(--text-primary-rgb), 0.14);
  gap: clamp(1.25rem, 2.8vw, 3rem);
  grid-template-columns: minmax(7rem, 13rem) minmax(0, 43rem) minmax(17.6rem, 27.2rem);
  min-height: clamp(18rem, 24vw, 24rem);
  overflow: visible;
  padding: clamp(2.4rem, 4.4vw, 4.4rem) 0;
  position: relative;
  counter-increment: about-row;
}

.about-row:first-of-type {
  border-top: 0;
}

.about-row::before {
  align-self: center;
  color: var(--accent-red-strong);
  content: counter(about-row, decimal-leading-zero);
  font-family: var(--display);
  font-size: clamp(7.2rem, 11vw, 12rem);
  font-weight: 800;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  line-height: 0.82;
  opacity: 0.82;
  pointer-events: none;
  position: relative;
  z-index: 1;
}

.about-row:nth-of-type(even) {
  background: transparent;
  grid-template-columns: minmax(7rem, 13rem) minmax(0, 43rem) minmax(17.6rem, 27.2rem);
}

.about-row__visual {
  display: contents;
}

.about-row__number {
  display: none;
}

.about-row__kanji {
  color: #f5f5f0;
  font-family: var(--display);
  font-size: clamp(1.1rem, 1.7vw, 1.55rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  margin: 0 0 0.55rem;
  max-width: none;
  position: relative;
  text-orientation: mixed;
  writing-mode: horizontal-tb;
  z-index: 1;
}

.about-row__visual img {
  aspect-ratio: 4 / 3;
  box-shadow: 0 22px 54px rgba(var(--shadow-rgb), 0.34);
  filter: grayscale(100%) sepia(0.1) contrast(1.16) brightness(0.82);
  grid-column: 3;
  grid-row: 1;
  max-height: clamp(12rem, 18.4vw, 16.8rem);
  position: relative;
  z-index: 1;
}

.about-row:nth-of-type(even) .about-row__visual img {
  grid-column: 3;
}

.about-row__content {
  border-left: 4px solid var(--accent-red-strong);
  display: block;
  grid-column: 2;
  grid-row: 1;
  padding: clamp(0.2rem, 0.8vw, 0.6rem) 0 clamp(0.2rem, 0.8vw, 0.6rem) clamp(1.15rem, 2vw, 1.7rem);
  position: relative;
  z-index: 1;
}

.about-row:nth-of-type(even) .about-row__content {
  grid-column: 2;
}

.about-row__icon {
  display: none;
}

.about-row h3 {
  color: var(--accent-red-strong);
  font-size: clamp(1.9rem, 3vw, 3rem);
  max-width: none;
  white-space: nowrap;
}

.about-row h3::first-letter {
  color: inherit;
}

.about-row p {
  max-width: 38rem;
}

.about-row p.about-row__kanji {
  color: #f5f5f0;
  font-size: clamp(1.1rem, 1.7vw, 1.55rem);
  line-height: 1;
  margin: 0 0 0.55rem;
  max-width: none;
  text-orientation: mixed;
  writing-mode: horizontal-tb;
}

[data-theme="modern-showa"] .about-row p.about-row__kanji,
[data-theme="showa-light"] .about-row p.about-row__kanji {
  color: rgba(21, 20, 18, 0.78);
}

[data-theme="modern-showa"] .about-row::before,
[data-theme="showa-light"] .about-row::before {
  color: var(--accent-red-strong);
  opacity: 0.9;
}

.about-row--contact {
  border-bottom: 0;
  grid-template-columns: minmax(7rem, 13rem) minmax(0, 64rem);
}

.about-row--contact .about-row__content {
  grid-column: 2;
}

.about-contact-grid {
  gap: 1rem;
}

.about-contact-card {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.045), rgba(var(--text-primary-rgb), 0.015));
  border-color: rgba(var(--text-primary-rgb), 0.22);
}

@media (max-width: 1120px) {
  .about-row,
  .about-row:nth-of-type(even),
  .about-row--contact {
    align-items: start;
    column-gap: clamp(1rem, 2.2vw, 1.5rem);
    grid-template-columns: minmax(5rem, 7rem) 4px minmax(0, 1fr);
    row-gap: 1.5rem;
  }

  .about-row__visual {
    display: grid;
    gap: 1rem;
    grid-column: 3;
    grid-row: 2;
    grid-template-columns: minmax(0, min(32rem, 100%));
  }

  .about-row__visual img,
  .about-row:nth-of-type(even) .about-row__visual img {
    grid-column: 1;
  }

  .about-row::before {
    align-self: start;
    font-size: clamp(5.5rem, 12vw, 7.75rem);
    grid-column: 1;
    grid-row: 1;
    margin-top: 0.35rem;
  }

  .about-row::after {
    align-self: stretch;
    background: var(--accent-red-strong);
    content: "";
    grid-column: 2;
    grid-row: 1 / 3;
    justify-self: stretch;
    width: 4px;
  }

  .about-row__content,
  .about-row:nth-of-type(even) .about-row__content,
  .about-row--contact .about-row__content {
    border-left: 0;
    grid-column: 3;
    grid-row: 1;
    max-width: none;
    padding-left: 0;
  }

  .about-row--contact::after {
    grid-row: 1;
  }

  .about-row h3 {
    white-space: normal;
  }
}

@media (min-width: 1121px) and (max-width: 1320px) {
  .about-editorial__inner {
    max-width: calc(100vw - 4rem);
  }

  .about-row {
    gap: clamp(1.25rem, 2.4vw, 2rem);
    grid-template-columns: minmax(5.5rem, 8rem) minmax(0, 1fr) minmax(12.8rem, min(24vw, 19.2rem));
  }

  .about-row:nth-of-type(even) {
    grid-template-columns: minmax(5.5rem, 8rem) minmax(0, 1fr) minmax(12.8rem, min(24vw, 19.2rem));
  }

  .about-row--contact {
    grid-template-columns: minmax(5.5rem, 8rem) minmax(0, 1fr);
  }

  .about-row::before {
    font-size: clamp(5.8rem, 9vw, 8.2rem);
  }

  .about-row__visual img,
  .about-row:nth-of-type(even) .about-row__visual img {
    grid-column: 3;
  }

  .about-row__content,
  .about-row:nth-of-type(even) .about-row__content,
  .about-row--contact .about-row__content {
    grid-column: 2;
  }

  .about-row h3 {
    font-size: clamp(1.55rem, 2.2vw, 2.05rem);
    max-width: none;
    white-space: normal;
  }

  .about-row p {
    max-width: 32rem;
  }
}

@media (min-width: 1121px) and (max-width: 1500px) {
  .about-row,
  .about-row:nth-of-type(even) {
    column-gap: clamp(1.5rem, 3vw, 2.75rem);
    grid-template-columns: minmax(5.5rem, 9rem) minmax(0, 37rem) minmax(16rem, min(28vw, 24rem));
  }

  .about-row h3 {
    max-width: 18ch;
    white-space: normal;
  }

  .about-row p {
    max-width: 34rem;
  }
}

@media (max-width: 760px) {
  .about-editorial {
    padding-top: 2rem;
  }

  .about-main.styles-page--collapsed .about-editorial {
    bottom: 0;
    left: 0;
    margin-top: 0;
    overflow-y: auto;
    padding-top: clamp(4rem, 16vw, 5rem);
    position: fixed;
    right: 0;
    top: calc(var(--site-header-height) + var(--archive-hero-collapsed-height));
    z-index: 210;
  }

  .about-main.styles-page--collapsed .about-row:first-of-type {
    padding-top: 0;
  }

  .about-row,
  .about-row:nth-of-type(even),
  .about-row--contact {
    gap: 1.2rem;
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 1.75rem 0 2rem;
  }

  .about-editorial .about-row::before {
    align-self: auto;
    display: block;
    font-size: clamp(4rem, 19vw, 5.8rem);
    left: auto;
    opacity: 0.2;
    position: absolute;
    right: 0;
    top: 0.75rem;
    z-index: 0;
  }

  .about-row::after {
    display: none;
  }

  .about-row__visual {
    grid-column: 1;
    grid-template-columns: minmax(0, 1fr);
  }

  .about-row__visual img,
  .about-row:nth-of-type(even) .about-row__visual img {
    aspect-ratio: 16 / 10;
    max-height: none;
  }

  .about-row__content,
  .about-row:nth-of-type(even) .about-row__content,
  .about-row--contact .about-row__content {
    border-left: 4px solid var(--accent-red-strong);
    grid-column: 1;
    padding-left: 1rem;
    padding-right: 1rem;
    z-index: 1;
  }

  .about-row h3 {
    font-size: clamp(1.65rem, 8vw, 2.25rem);
    white-space: normal;
  }
}

.about-contact-form {
  margin-top: clamp(1.25rem, 2vw, 1.7rem);
}

.about-contact-reasons {
  border: 0;
  margin: 0 0 1rem;
  padding: 0;
}

.about-contact-reasons__options {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-contact-reasons legend,
.about-contact-form label > span,
.about-contact-message > span {
  color: rgba(var(--text-primary-rgb), 0.72);
  display: block;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 0 0.55rem;
  text-transform: uppercase;
}

.about-contact-form .is-required::after {
  color: var(--accent-red-strong);
  content: " *";
}

.about-contact-reasons label {
  cursor: pointer;
  display: block;
}

.about-contact-reasons input {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.about-contact-reasons label span {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.045), rgba(var(--text-primary-rgb), 0.015));
  border: 1px solid rgba(var(--text-primary-rgb), 0.22);
  color: rgba(var(--text-primary-rgb), 0.8);
  display: flex;
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 800;
  justify-content: center;
  min-height: 3.6rem;
  padding: 0.7rem 0.75rem;
  text-align: center;
  text-transform: uppercase;
  transition:
    background var(--motion-fast),
    border-color var(--motion-fast),
    color var(--motion-fast);
}

.about-contact-reasons input:checked + span {
  background: rgba(var(--accent-red-rgb), 0.16);
  border-color: rgba(var(--accent-red-rgb), 0.76);
  color: var(--accent-red-strong);
}

.about-contact-reasons input:focus-visible + span {
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.about-contact-fields {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-contact-form input[type="text"],
.about-contact-form input[type="email"],
.about-contact-form textarea {
  background: rgba(var(--bg-primary-rgb), 0.76);
  border: 1px solid rgba(var(--text-primary-rgb), 0.24);
  border-radius: 0;
  color: var(--text-primary);
  font: inherit;
  line-height: 1.45;
  padding: 0.9rem 1rem;
  width: 100%;
}

.about-contact-form textarea {
  min-height: 10rem;
  resize: vertical;
}

.about-contact-form input::placeholder,
.about-contact-form textarea::placeholder {
  color: rgba(var(--text-primary-rgb), 0.42);
}

.about-contact-form input:focus,
.about-contact-form textarea:focus {
  border-color: rgba(var(--accent-red-rgb), 0.78);
  box-shadow: var(--focus-ring-strong);
  outline: none;
}

.about-contact-message {
  display: block;
  margin-top: 1rem;
}

.about-contact-submit {
  align-items: center;
  background: var(--accent-red-strong);
  border: 1px solid var(--accent-red-strong);
  color: var(--bg-primary);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
  gap: 0.55rem;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 1rem;
  padding: 0.9rem 1.1rem;
  text-transform: uppercase;
  transition:
    background var(--motion-fast),
    border-color var(--motion-fast),
    color var(--motion-fast),
    transform var(--motion-fast);
}

.about-contact-submit .material-symbols-outlined {
  font-size: 1rem;
  height: 1em;
  width: 1em;
}

.about-contact-submit:hover,
.about-contact-submit:focus-visible {
  background: transparent;
  color: var(--accent-red-strong);
  outline: none;
  transform: translateY(-1px);
}

.about-contact-status {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-size: 0.92rem;
  line-height: 1.45;
  margin: 0.85rem 0 0;
  max-width: 42rem;
}

.about-contact-status:empty {
  display: none;
}

.about-contact-status.is-success,
.about-contact-status.is-error {
  align-items: center;
  display: flex;
  font-weight: 700;
  gap: 0.5rem;
}

.about-contact-status.is-success {
  color: #4ade80;
}

.about-contact-status.is-error {
  color: var(--accent-red-strong);
}

.about-contact-status__icon {
  flex: 0 0 auto;
  font-size: 1.45rem;
}

.about-contact-submit:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

@media (max-width: 1120px) {
  .about-contact-reasons__options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .about-contact-reasons__options,
  .about-contact-fields {
    grid-template-columns: 1fr;
  }

  .about-contact-reasons label span {
    justify-content: flex-start;
    min-height: 3.1rem;
    text-align: left;
  }
}

@media (min-width: 761px) and (max-width: 1120px) and (orientation: portrait) {
  .home-page .hero h1 {
    font-size: clamp(5.1rem, 8.8vw, 5.75rem);
  }
}

@media (max-width: 1120px) {
  .site-nav-toggle,
  .preferences-menu__button,
  .theme-toggle,
  .filter-sheet__close,
  .detail-modal-close,
  .timeline-photo-lightbox__close,
  .mask-lightbox__close,
  .voice-mobile-modal__close,
  .lineage-detail__close,
  .lineage-mobile-sheet__close,
  .lineage-graph-nav__icon-button {
    aspect-ratio: 1;
    border-radius: var(--radius-pill) !important;
    height: 44px !important;
    min-height: 44px;
    min-width: 44px;
    padding: 0;
    width: 44px !important;
  }

  .theme-toggle {
    gap: 0;
  }

  .theme-toggle__svg {
    height: 1.35rem;
    width: 1.35rem;
  }

  .theme-toggle__label {
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}

/* Support page: small extension of the archive hero, card, and button system. */
.support-page {
  background:
    linear-gradient(90deg, rgba(var(--text-primary-rgb), 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.03) 1px, transparent 1px),
    radial-gradient(circle at 78% 10%, rgba(var(--accent-red-rgb), 0.12), transparent 28rem),
    var(--bg-primary);
  background-size: 6rem 6rem, 6rem 6rem, auto, auto;
  color: var(--text-primary);
}

.support-main {
  min-height: calc(100vh - var(--site-header-height));
}

.support-hero {
  --archive-hero-overlay:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.76) 34%, rgba(0, 0, 0, 0.28) 68%, rgba(0, 0, 0, 0.82) 100%);
  --archive-hero-accent-glow:
    radial-gradient(circle at 78% 36%, rgba(var(--accent-red-rgb), 0.22), transparent 22rem);
  --archive-hero-image: url("./assets/hero-images/hero/hero-support.webp");
  --archive-hero-image-position: calc(62% + clamp(120px, 14vw, 260px)) 52%;
  --archive-hero-image-position-collapsed: calc(56% + 170px) calc(48% + 60px);
  --archive-hero-image-size: min(74rem, 72vw) auto;
  --archive-hero-image-size-collapsed: min(58rem, 56vw) auto;
  --archive-hero-image-filter: grayscale(100%) sepia(0.14) contrast(1.22) brightness(0.6);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.1) contrast(1.26) brightness(0.5);
  --archive-hero-image-opacity: 0.88;
  --archive-hero-image-opacity-collapsed: 0.84;
}

.support-hero__inner {
  align-content: center;
}

.support-hero__kicker {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(1rem, 1.65vw, 1.35rem);
  font-weight: 800;
  line-height: 1;
  margin: 0 0 clamp(1rem, 1.8vw, 1.45rem);
  text-transform: uppercase;
}

.support-hero h1 {
  color: #f5f5f0;
  text-shadow: none;
}

.support-hero h1::after {
  content: none;
}

.support-hero__subtitle {
  color: var(--accent-red-strong);
  max-width: 34rem;
}

.support-hero:not(.styles-hero--collapsed) .support-hero__vertical {
  font-size: calc(var(--archive-hero-vertical-size) * 0.9);
}

.support-hero.styles-hero--collapsed .support-hero__kicker {
  display: none;
}

.support-content {
  background:
    linear-gradient(180deg, rgba(var(--text-primary-rgb), 0.04), transparent 10rem),
    radial-gradient(circle at 12% 18%, rgba(var(--accent-red-rgb), 0.08), transparent 22rem),
    radial-gradient(circle at 86% 46%, rgba(var(--accent-gold-rgb), 0.055), transparent 20rem),
    var(--bg-primary);
  transition: padding-top var(--archive-hero-transition) var(--archive-hero-ease);
}

.support-main.styles-page--collapsed .support-content {
  bottom: 0;
  left: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-top: 0;
  position: fixed;
  right: 0;
  top: calc(var(--site-header-height) + var(--archive-hero-collapsed-height));
  z-index: 210;
}

.support-section {
  background: transparent;
  padding-block: clamp(2.4rem, 4.2vw, 4.6rem);
}

.support-section + .support-section {
  padding-top: 0;
}

.support-section__inner {
  max-width: min(1500px, calc(100vw - clamp(2rem, 7vw, 8rem)));
}

.support-section__header {
  align-items: center;
  display: flex;
  gap: clamp(0.9rem, 2vw, 1.4rem);
  justify-content: center;
  margin-bottom: clamp(1.4rem, 2.8vw, 2.25rem);
  padding-top: 0;
  text-align: center;
}

.support-section__header h2,
.support-thanks h2 {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  font-weight: 800;
  line-height: 0.95;
  margin: 0;
  text-transform: uppercase;
  white-space: normal;
}

.support-help__grid {
  counter-reset: support-help;
  display: grid;
  gap: clamp(0.75rem, 1.2vw, 1rem);
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.support-help-card {
  align-content: start;
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.055), rgba(var(--shadow-rgb), 0.12)),
    rgba(var(--bg-primary-rgb), 0.74);
  border: 1px solid rgba(var(--text-primary-rgb), 0.13);
  box-shadow: 0 18px 42px rgba(var(--shadow-rgb), 0.18);
  display: grid;
  gap: 0.95rem;
  justify-items: center;
  overflow: hidden;
  padding: clamp(1.1rem, 2.2vw, 1.75rem) clamp(1.1rem, 2.2vw, 1.75rem) clamp(1.55rem, 2.6vw, 2.15rem);
  position: relative;
  text-align: center;
  transition:
    border-color var(--motion-hover),
    transform var(--motion-hover),
    box-shadow var(--motion-hover);
}

.support-help-card::after {
  content: none;
}

.support-help-card:hover,
.support-help-card:focus-within {
  border-color: rgba(var(--accent-red-rgb), 0.52);
  box-shadow:
    inset 0 0 0 1px rgba(var(--accent-red-rgb), 0.58),
    0 24px 58px rgba(var(--shadow-rgb), 0.28);
  transform: translateY(-0.25rem);
}

.support-help-card .material-symbols-outlined,
.support-action-card__icon {
  color: var(--text-primary);
  line-height: 1;
  position: relative;
  z-index: 1;
}

.support-help-card .material-symbols-outlined {
  font-size: clamp(2.1rem, 3.2vw, 2.8rem);
}

.support-action-card__icon {
  font-size: clamp(2.1rem, 3.2vw, 2.8rem);
}

.support-help-card h3 {
  color: var(--accent-red-strong);
  font-family: var(--display);
  font-size: clamp(1.05rem, 1.7vw, 1.45rem);
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}

.support-help-card p {
  color: rgba(var(--text-primary-rgb), 0.72);
  font-weight: 700;
  line-height: 1.6;
  margin: 0;
  max-width: 15rem;
  position: relative;
  z-index: 1;
}

.support-actions__grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: minmax(0, 1.12fr) repeat(2, minmax(0, 1fr));
}

.support-action-card {
  align-content: start;
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.08), rgba(var(--shadow-rgb), 0.18)),
    rgba(var(--bg-primary-rgb), 0.86);
  border-color: rgba(var(--text-primary-rgb), 0.22);
  box-shadow: 0 20px 48px rgba(var(--shadow-rgb), 0.18);
  color: var(--text-primary);
  display: grid;
  gap: var(--support-action-card-gap, clamp(0.9rem, 1.5vw, 1.35rem));
  grid-template-rows: auto auto minmax(3.7rem, auto) 1fr auto;
  justify-items: center;
  min-height: clamp(25rem, 34vw, 30rem);
  padding: clamp(1.8rem, 3.2vw, 2.75rem) clamp(1.45rem, 3vw, 2.4rem) clamp(1.55rem, 2.8vw, 2.35rem);
  overflow: hidden;
  position: relative;
  text-align: center;
  transition:
    border-color var(--motion-hover),
    transform var(--motion-hover),
    box-shadow var(--motion-hover);
}

.support-action-card::before {
  content: none;
  left: 50%;
  transform: translateX(-50%);
}

.support-action-card__icon {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  z-index: 1;
}

.support-action-card--primary .support-action-card__icon {
  color: var(--text-primary);
}

.support-action-card > * {
  position: relative;
  z-index: 1;
}

.support-action-card::after {
  background:
    var(
      --support-action-overlay,
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.5),
        rgba(0, 0, 0, 0.42),
        rgba(0, 0, 0, 0.62)
      )
    ),
    var(--support-action-image, url("./assets/support/support-1.webp")) center / cover no-repeat;
  content: "";
  filter: grayscale(100%) sepia(0.12) contrast(1.1) brightness(var(--support-action-image-brightness, 0.68));
  inset: 0;
  opacity: var(--support-action-image-opacity, 0.4);
  position: absolute;
  transform: scale(1.04);
  transition:
    opacity var(--motion-hover),
    transform var(--motion-hover);
}

.support-action-card--primary {
  --support-action-image: url("./assets/support/support-1.webp");
}

.support-action-card:nth-child(2) {
  --support-action-card-gap: calc(clamp(0.9rem, 1.5vw, 1.35rem) + 0.625rem);
  --support-action-image: url("./assets/support/support-2.webp");
  --support-action-image-brightness: 0.76;
  --support-action-image-opacity: 0.46;
  --support-action-overlay: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.45),
    rgba(0, 0, 0, 0.35),
    rgba(0, 0, 0, 0.55)
  );
}

.support-action-card:nth-child(3) {
  --support-action-image-brightness: 0.78;
  --support-action-image-opacity: 0.48;
  --support-action-image: url("./assets/support/support-3.webp?v=20260708-2155");
}

.support-action-card:hover,
.support-action-card:focus-within {
  border-color: rgba(var(--accent-red-rgb), 0.58);
  box-shadow:
    inset 0 0 0 1px rgba(var(--accent-red-rgb), 0.58),
    0 28px 70px rgba(var(--shadow-rgb), 0.28);
  transform: translateY(-0.35rem);
}

.support-action-card:hover::after,
.support-action-card:focus-within::after {
  opacity: var(--support-action-image-hover-opacity, 0.5);
  transform: scale(1);
}

.support-action-card .feature-card__eyebrow {
  margin: 0;
  max-width: 16rem;
}

.support-action-card h3 {
  color: var(--accent-red-strong);
  font-size: clamp(1.45rem, 2.5vw, 2.1rem);
  line-height: 0.96;
  margin: 0;
  max-width: 17rem;
}

.support-action-card p:not(.feature-card__eyebrow) {
  color: rgba(var(--text-primary-rgb), 0.74);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.65;
  margin: 0;
  max-width: 18rem;
}

.support-action-card .button {
  align-self: end;
  font-size: 0.92rem;
  margin-top: auto;
  min-width: min(100%, 17rem);
}

.support-page .support-action-card--primary .button--primary {
  background:
    linear-gradient(135deg, rgba(var(--accent-red-rgb), 0.98), rgba(152, 20, 24, 0.96));
  border-color: rgba(var(--accent-red-rgb), 0.96);
  box-shadow:
    0 0 0 1px rgba(var(--highlight-rgb), 0.24),
    0 0 0 3px rgba(var(--accent-red-rgb), 0.24),
    0 18px 34px rgba(var(--accent-red-rgb), 0.28);
  color: #fff8ef;
  isolation: isolate;
  overflow: visible;
  position: relative;
}

.support-page .support-action-card--primary .button--primary:hover,
.support-page .support-action-card--primary .button--primary:focus-visible {
  background:
    linear-gradient(135deg, rgba(204, 35, 39, 1), rgba(128, 14, 18, 0.98));
  border-color: rgba(var(--highlight-rgb), 0.78);
  color: #fff8ef;
}

.support-page .support-action-card--primary .button--primary::before {
  animation: home-about-stroke-sweep 4.8s linear infinite;
  background:
    conic-gradient(
      from var(--home-about-stroke-angle),
      rgba(var(--highlight-rgb), 0),
      rgba(var(--highlight-rgb), 0.88),
      rgba(var(--highlight-rgb), 0.16),
      rgba(var(--accent-red-rgb), 0.92),
      rgba(var(--highlight-rgb), 0)
    );
  border-radius: inherit;
  content: "";
  inset: -3px;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.95;
  padding: 2px;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.support-page .support-action-card--primary .button--primary > * {
  position: relative;
  z-index: 3;
}

.support-page .support-action-button--donate .material-symbols-outlined {
  color: #fff8ef;
}

.support-page .support-action-button--share:hover,
.support-page .support-action-button--share:focus-visible {
  color: #ffffff;
}

.support-page .support-action-button--share:hover .material-symbols-outlined,
.support-page .support-action-button--share:focus-visible .material-symbols-outlined {
  color: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
  .support-page .support-action-card--primary .button--primary::before {
    animation: none;
  }
}

.support-thanks {
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

.support-thanks__layout {
  border: 1px solid rgba(var(--text-primary-rgb), 0.14);
  display: grid;
  grid-template-columns: minmax(18rem, 0.95fr) minmax(0, 1.05fr);
  min-height: clamp(20rem, 32vw, 27rem);
}

.support-thanks__image {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.54)),
    url("./assets/support/support-3.webp") center / cover no-repeat;
  filter: grayscale(100%) sepia(0.12) contrast(1.16) brightness(0.68);
  min-height: 18rem;
}

.support-thanks__panel {
  align-content: center;
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.05), rgba(var(--shadow-rgb), 0.08)),
    rgba(var(--bg-primary-rgb), 0.88);
  display: grid;
  gap: 1rem;
  padding: clamp(1.8rem, 4vw, 3rem);
}

.support-thanks__panel p {
  color: rgba(var(--text-primary-rgb), 0.78);
  font-size: clamp(1.05rem, 1.45vw, 1.22rem);
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
  max-width: 44rem;
}

.support-thanks__panel strong {
  color: var(--text-primary);
}

[data-theme="modern-showa"] .support-page {
  background:
    radial-gradient(circle at 76% 8%, rgba(var(--accent-red-rgb), 0.08), transparent 28rem),
    var(--bg-primary);
}

[data-theme="modern-showa"] .support-content,
[data-theme="modern-showa"] .support-section {
  background: transparent;
}

[data-theme="modern-showa"] .support-hero {
  --archive-hero-overlay:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.76) 34%, rgba(0, 0, 0, 0.28) 68%, rgba(0, 0, 0, 0.82) 100%);
  --archive-hero-accent-glow:
    radial-gradient(circle at 78% 36%, rgba(var(--accent-red-rgb), 0.22), transparent 22rem);
  --archive-hero-bg: #050505;
  --archive-hero-border-color: rgba(232, 227, 217, 0.22);
  --archive-hero-image-filter: grayscale(100%) sepia(0.14) contrast(1.22) brightness(0.6);
  --archive-hero-image-filter-collapsed: grayscale(100%) sepia(0.1) contrast(1.26) brightness(0.5);
}

[data-theme="modern-showa"] .support-hero__subtitle {
  color: var(--accent-red-strong);
}

[data-theme="modern-showa"] .support-hero h1 {
  color: #f5f5f0;
}

[data-theme="modern-showa"] .support-hero__vertical {
  color: #f5f5f0;
}

[data-theme="modern-showa"] .support-help-card,
[data-theme="modern-showa"] .support-action-card,
[data-theme="modern-showa"] .support-thanks__layout {
  background:
    linear-gradient(180deg, rgba(var(--highlight-rgb), 0.28), rgba(var(--shadow-rgb), 0.04)),
    var(--flag-white);
  border-color: rgba(var(--text-primary-rgb), 0.14);
  box-shadow:
    0 10px 24px rgba(var(--shadow-rgb), 0.08),
    0 1px 0 rgba(var(--text-primary-rgb), 0.04);
}

[data-theme="modern-showa"] .support-help-card:hover,
[data-theme="modern-showa"] .support-help-card:focus-within,
[data-theme="modern-showa"] .support-action-card:hover,
[data-theme="modern-showa"] .support-action-card:focus-within {
  box-shadow:
    0 14px 30px rgba(var(--shadow-rgb), 0.12),
    0 1px 0 rgba(var(--text-primary-rgb), 0.05);
}

[data-theme="modern-showa"] .support-help-card:hover,
[data-theme="modern-showa"] .support-help-card:focus-within {
  border-color: rgba(var(--accent-red-rgb), 0.58);
  box-shadow:
    inset 0 0 0 1px rgba(var(--accent-red-rgb), 0.58),
    0 14px 30px rgba(var(--shadow-rgb), 0.12);
}

[data-theme="modern-showa"] .support-action-card:hover,
[data-theme="modern-showa"] .support-action-card:focus-within {
  border-color: rgba(var(--accent-red-rgb), 0.58);
  box-shadow:
    inset 0 0 0 1px rgba(var(--accent-red-rgb), 0.58),
    0 14px 30px rgba(var(--shadow-rgb), 0.12);
}

[data-theme="modern-showa"] .support-thanks__panel strong {
  color: var(--ink);
}

[data-theme="modern-showa"] .support-action-card h3 {
  color: var(--accent-red-strong);
}

[data-theme="showa-light"] .support-action-card::after,
[data-theme="modern-showa"] .support-action-card::after,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card::after {
  background:
    var(
      --support-action-overlay,
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.5),
        rgba(0, 0, 0, 0.42),
        rgba(0, 0, 0, 0.62)
      )
    ),
    var(--support-action-image, url("./assets/support/support-1.webp")) center / cover no-repeat;
  filter: grayscale(100%) sepia(0.12) contrast(1.1) brightness(var(--support-action-image-brightness, 0.68));
  opacity: var(--support-action-image-opacity, 0.4);
}

[data-theme="showa-light"] .support-action-card,
[data-theme="modern-showa"] .support-action-card,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card {
  --support-action-image-brightness: 0.9;
  --support-action-image-hover-opacity: 0.62;
  --support-action-image-opacity: 0.56;
  --support-action-overlay: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.36),
    rgba(0, 0, 0, 0.26),
    rgba(0, 0, 0, 0.48)
  );
  background:
    linear-gradient(180deg, rgba(245, 245, 240, 0.04), rgba(0, 0, 0, 0.28)),
    #080808;
  border-color: rgba(245, 245, 240, 0.28);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
  color: #f5f5f0;
}

[data-theme="showa-light"] .support-action-card h3,
[data-theme="modern-showa"] .support-action-card h3,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card h3 {
  background: transparent;
  box-shadow: none;
  color: var(--accent-red-strong) !important;
}

[data-theme="showa-light"] .support-action-card .support-action-card__icon,
[data-theme="modern-showa"] .support-action-card .support-action-card__icon,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card .support-action-card__icon {
  color: #f5f5f0;
}

[data-theme="showa-light"] .support-action-card p:not(.feature-card__eyebrow),
[data-theme="modern-showa"] .support-action-card p:not(.feature-card__eyebrow),
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card p:not(.feature-card__eyebrow) {
  color: rgba(245, 245, 240, 0.76);
}

[data-theme="showa-light"] .support-action-card .button--secondary,
[data-theme="modern-showa"] .support-action-card .button--secondary,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card .button--secondary {
  background: rgba(245, 245, 240, 0.04);
  border-color: rgba(245, 245, 240, 0.45);
  color: #f5f5f0;
}

[data-theme="showa-light"] .support-action-card:hover::after,
[data-theme="showa-light"] .support-action-card:focus-within::after,
[data-theme="modern-showa"] .support-action-card:hover::after,
[data-theme="modern-showa"] .support-action-card:focus-within::after,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card:hover::after,
:root:not([data-theme="archival-dark"]):not([data-theme="dark"]) .support-action-card:focus-within::after {
  opacity: var(--support-action-image-hover-opacity, 0.5);
}

[data-theme="modern-showa"] .support-help-card h3 {
  color: var(--accent-red-strong);
}

[data-theme="modern-showa"] .support-help-card p,
[data-theme="modern-showa"] .support-action-card p:not(.feature-card__eyebrow),
[data-theme="modern-showa"] .support-thanks__panel p {
  color: rgba(var(--text-primary-rgb), 0.76);
}

[data-theme="modern-showa"] .support-thanks__panel {
  background: var(--flag-white);
}

[data-theme="modern-showa"] .support-thanks__image {
  filter: grayscale(100%) sepia(0.08) contrast(1.04) brightness(0.96);
}

@media (max-width: 1120px) {
  .support-hero {
    --archive-hero-image-position: calc(72% + 130px) 54%;
    --archive-hero-image-position-collapsed: calc(70% + 110px) calc(50% + 60px);
    --archive-hero-image-size: min(48rem, 106vw) auto;
    --archive-hero-image-size-collapsed: min(40rem, 88vw) auto;
  }

  .support-section__inner {
    max-width: min(1500px, calc(100vw - 2rem));
  }

  .support-help__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .support-help-card:nth-child(4) {
    border-left: 1px solid rgba(var(--text-primary-rgb), 0.13);
  }

  .support-actions__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
.support-help__grid,
.support-actions__grid,
.support-thanks__layout {
    grid-template-columns: 1fr;
  }

.support-help-card,
.support-help-card:last-child {
    border: 1px solid rgba(var(--text-primary-rgb), 0.16);
  }

.support-help-card:first-child {
    border-top: 1px solid rgba(var(--text-primary-rgb), 0.16);
  }

  .support-action-card {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .support-hero {
    position: relative;
    top: auto;
    --archive-hero-height: clamp(31rem, 116vw, 35rem);
    --archive-hero-image-position: calc(50% + 120px) 16%;
    --archive-hero-image-size: min(36rem, 148vw) auto;
  }

  .support-hero__inner {
    align-content: end;
    padding-bottom: clamp(2.3rem, 9vw, 3.4rem);
    padding-top: clamp(5rem, 22vw, 7rem);
  }

  .support-hero.styles-hero--collapsed .support-hero__inner {
    align-content: center;
    align-items: center;
    min-height: var(--archive-hero-collapsed-height);
    padding-bottom: 0;
    padding-top: 0;
  }

  .support-hero h1 {
    font-size: clamp(3.05rem, 15vw, 4.8rem);
  }

  .support-section {
    padding-block: clamp(2rem, 9vw, 3rem);
  }

  .support-section + .support-section {
    padding-top: 0;
  }

  .support-thanks__image {
    min-height: 14rem;
  }
}

.home-trails {
  background: #000000;
  color: #f5f5f0;
  padding: clamp(2rem, 3.2vw, 3.5rem) clamp(1rem, 3.6vw, 3.4rem) clamp(2.35rem, 3.6vw, 4rem);
  position: relative;
  scroll-margin-top: var(--site-header-height);
}

.home-trails::before,
.home-trails::after {
  background:
    linear-gradient(90deg, transparent, rgba(245, 245, 240, 0.22), transparent),
    linear-gradient(90deg, transparent, rgba(var(--accent-red-rgb), 0.34), transparent);
  content: "";
  height: 2px;
  opacity: 0.9;
  pointer-events: none;
  position: absolute;
}

.home-trails::before {
  inset: 0 0 auto;
}

.home-trails::after {
  inset: auto 0 0;
}

.home-trails__intro {
  max-width: 88rem;
  margin-inline: auto;
  width: min(100%, 88rem);
}

.home-trails__eyebrow,
.home-trails__label {
  color: var(--accent-red);
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
  margin: 0 0 0.7rem;
  text-transform: uppercase;
}

.home-trails h1,
.home-trails h2 {
  color: #f5f5f0;
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.88;
  margin: 0;
  text-transform: uppercase;
}

.home-trails h1 {
  font-size: clamp(2.6rem, 4.8vw, 5rem);
}

.home-trails__intro p:not(.home-trails__eyebrow) {
  color: rgba(245, 245, 240, 0.72);
  font-size: clamp(0.9rem, 1.05vw, 1rem);
  font-weight: 625;
  line-height: 1.36;
  margin: 0.42rem 0 0;
  max-width: 39rem;
}

.home-trails__chips {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  margin-top: clamp(1.15rem, 2.1vw, 1.75rem);
  margin-inline: auto;
  max-width: 88rem;
  position: relative;
  width: 100%;
  z-index: 2;
}

.home-trails__chip {
  align-items: center;
  background: #000000;
  border: 1px solid rgba(245, 245, 240, 0.24);
  border-bottom: 0;
  color: rgba(245, 245, 240, 0.88);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--font-heading);
  font-size: clamp(0.73rem, 0.9vw, 0.92rem);
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.12em;
  min-height: 3.05rem;
  padding: 0.55rem 0.75rem;
  text-align: center;
  text-transform: uppercase;
  transition:
    background 200ms ease,
    border-color 200ms ease,
    color 200ms ease,
    transform 180ms ease;
}

.home-trails__chip:hover,
.home-trails__chip:focus-visible {
  border-color: rgba(var(--accent-red-rgb), 0.72);
  color: #ffffff;
  outline: none;
}

.home-trails__chip.is-active {
  background:
    linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.95), rgba(148, 12, 16, 0.92));
  border-color: rgba(var(--accent-red-rgb), 0.96);
  border-bottom: 0;
  color: #ffffff;
  transform: translateY(1px);
}

.home-trails__feature {
  --trail-bg: url("./assets/archive-trail/muta-mythology.webp");
  --trail-bg-position: 54% 34%;
  --trail-bg-size: cover;
  --trail-image-scale: 1.01;

  background-color: #000;
  background-image: var(--trail-bg);
  background-position: var(--trail-bg-position);
  background-repeat: no-repeat;
  background-size: var(--trail-bg-size);
  border-top: 1px solid rgba(var(--accent-red-rgb), 0.52);
  display: grid;
  margin-inline: auto;
  max-width: 88rem;
  min-height: clamp(22rem, 31vw, 28rem);
  overflow: hidden;
  position: relative;
  width: 100%;
}

.home-trails__image {
  display: block;
  background-image: var(--trail-next-bg);
  background-position: var(--trail-bg-position);
  background-repeat: no-repeat;
  background-size: var(--trail-bg-size);
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: scale(1.02);
  transform-origin: center;
  z-index: 0;
}

.home-trails__feature.is-switching .home-trails__image {
  animation: homeTrailImageReveal 620ms ease-out both;
}

.home-trails__scrim {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.75) 0 33%, rgba(0, 0, 0, 0.58) 49%, rgba(0, 0, 0, 0.14) 72%, rgba(0, 0, 0, 0.35)),
    linear-gradient(180deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.62)),
    radial-gradient(circle at 20% 42%, rgba(var(--accent-red-rgb), 0.18), transparent 26rem);
  inset: 0;
  position: absolute;
  z-index: 1;
}

.home-trails__content {
  align-content: end;
  display: grid;
  gap: clamp(1rem, 1.9vw, 1.55rem);
  grid-template-columns: minmax(18rem, 0.78fr) minmax(23rem, 1fr);
  min-height: inherit;
  padding: clamp(1.25rem, 2.45vw, 2.15rem) clamp(1.35rem, 4.3vw, 3.55rem);
  position: relative;
  z-index: 2;
}

.home-trails__content::after {
  background: none;
  content: "";
  inset: 42% clamp(0.85rem, 3.4vw, 2.4rem) clamp(0.85rem, 2vw, 1.45rem) 42%;
  opacity: 0.72;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.home-trails__content > * {
  position: relative;
  z-index: 1;
}

.home-trails__copy {
  align-self: center;
  max-width: 38rem;
}

.home-trails__copy.is-switching {
  animation: homeTrailContentSwap 320ms ease-out 85ms both;
}

.home-trails__actions.is-switching {
  animation: homeTrailStableFade 280ms ease-out both;
}

.home-trails__stats.is-switching strong,
.home-trails__stats.is-switching dd {
  animation: homeTrailKpiValueFade 280ms ease-out both;
}

@media (min-width: 1181px) {
  .home-trails__copy {
    min-height: 24.5rem;
  }
}

.home-trails__copy h2 {
  font-size: clamp(2.7rem, 4.9vw, 4.65rem);
  max-width: 8ch;
}

.home-trails__feature[data-active-trail="tiger-mask"] .home-trails__copy h2 {
  max-width: 14ch;
}

.home-trails__title-nowrap {
  white-space: nowrap;
}

.home-trails__jp {
  color: var(--accent-red);
  font-family: var(--font-heading);
  font-size: clamp(0.98rem, 1.45vw, 1.25rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0.55rem 0 0;
}

.home-trails__jp::after {
  background: var(--accent-red);
  content: "";
  display: block;
  height: 2px;
  margin-top: 1rem;
  width: 1.55rem;
}

.home-trails__copy p:not(.home-trails__label):not(.home-trails__jp) {
  color: rgba(245, 245, 240, 0.9);
  font-size: clamp(0.9rem, 1vw, 1rem);
  font-weight: 650;
  line-height: 1.66;
  margin: 0.75rem 0 0;
  max-width: 32rem;
}

.home-trails__copy p[data-trail-description] {
  color: #ffffff;
  font-size: clamp(1.08rem, 1.42vw, 1.28rem);
  font-weight: 750;
  line-height: 1.55;
  margin-top: 0.95rem;
  max-width: 34rem;
}

.home-trails__copy p[data-trail-description] + p {
  margin-top: clamp(1rem, 1.35vw, 1.25rem);
}

.home-trails__stats,
.home-trails__actions {
  align-self: end;
  display: grid;
  gap: 0.65rem;
  grid-column: 2;
  margin: 0;
}

.home-trails__stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-trails__stats div {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: rgba(var(--bg-card-rgb), 0.28);
  border: 1px solid rgba(245, 245, 240, 0.14);
  border-radius: 10px;
  min-height: 4.25rem;
  padding: 0.62rem 0.72rem;
}

.home-trails__stats dt {
  align-items: center;
  color: #f5f5f0;
  display: flex;
  gap: 0.5rem;
  margin: 0;
}

.home-trails__stats dt .material-symbols-outlined {
  color: var(--accent-red);
  font-size: 1.45rem;
}

.home-trails__stat-icon {
  color: var(--accent-red);
  height: 1.45rem;
  width: 1.45rem;
}

.home-trails__stat-icon path {
  fill: currentColor;
}

.home-trails__stats strong {
  font-family: var(--display);
  font-size: clamp(1.35rem, 1.9vw, 1.9rem);
  font-weight: 800;
  line-height: 0.9;
  text-transform: uppercase;
}

.home-trails__stats dd {
  color: rgba(245, 245, 240, 0.72);
  font-family: var(--font-heading);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.15;
  margin: 0.25rem 0 0 1.95rem;
  text-transform: uppercase;
}

.home-trails__actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-trails__action {
  align-items: center;
  background: rgba(0, 0, 0, 0.58);
  border: 1px solid rgba(245, 245, 240, 0.28);
  color: #f5f5f0;
  display: grid;
  font-family: var(--font-heading);
  font-size: clamp(0.76rem, 0.92vw, 0.92rem);
  font-weight: 800;
  gap: 0.65rem;
  grid-template-columns: auto 1fr auto;
  letter-spacing: 0.08em;
  min-height: 3.65rem;
  padding: 0.65rem 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.home-trails__action:nth-child(3):last-child {
  grid-column: 1 / -1;
}

.home-trails__action .material-symbols-outlined {
  color: var(--accent-red);
  font-size: 1.35rem;
}

.home-trails__action-icon {
  color: var(--accent-red);
  height: 1.35rem;
  width: 1.35rem;
}

.home-trails__action-icon path {
  fill: currentColor;
}

.home-trails__action:hover,
.home-trails__action:focus-visible {
  background: rgba(245, 245, 240, 0.08);
  border-color: rgba(var(--accent-red-rgb), 0.82);
  color: #ffffff;
  outline: none;
  transform: translateY(-1px);
}

.home-trails__action--primary {
  background: #a6111b;
  border-color: #a6111b;
  color: #ffffff;
  transition:
    background 200ms ease-out,
    border-color 200ms ease-out,
    color 180ms ease;
}

.home-trails__action--primary .material-symbols-outlined {
  color: #ffffff;
}

.home-trails__action--primary .home-trails__action-icon {
  color: #ffffff;
}

.home-trails__action--primary:hover,
.home-trails__action--primary:focus-visible {
  background: var(--accent-red);
  border-color: var(--accent-red);
}

@keyframes homeTrailImageReveal {
  0% {
    opacity: 0;
    transform: scale(1.02);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes homeTrailContentSwap {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  35% {
    opacity: 0;
    transform: translateY(8px);
  }

  36% {
    opacity: 0;
    transform: translateY(8px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes homeTrailStableFade {
  0% {
    opacity: 0.42;
  }

  100% {
    opacity: 1;
  }
}

@keyframes homeTrailKpiValueFade {
  0% {
    opacity: 0.28;
  }

  100% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-trails__chip {
    transition: none;
  }

  .home-trails__feature.is-switching .home-trails__image,
  .home-trails__copy.is-switching,
  .home-trails__stats.is-switching strong,
  .home-trails__stats.is-switching dd,
  .home-trails__actions.is-switching {
    animation: none;
  }
}

@media (max-width: 1180px) {
  .home-trails__chips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-trails__chip {
    border-bottom: 1px solid rgba(245, 245, 240, 0.24);
  }

  .home-trails__chip.is-active {
    border-bottom-color: rgba(var(--accent-red-rgb), 0.96);
  }

  .home-trails__chip:nth-child(n + 4) {
    border-bottom: 0;
  }

  .home-trails__feature {
    --trail-bg-position: 64% center;
  }

  .home-trails__content {
    grid-template-columns: 1fr;
  }

  .home-trails__stats,
  .home-trails__actions {
    grid-column: 1;
  }
}

@media (min-width: 761px) and (max-width: 1180px) and (orientation: portrait) {
  .home-trails__intro {
    --home-trails-mobile-arrow-size: 1.65rem;
  }

  .home-trails h2::after {
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ba1821' d='M12 4l-1.41 1.41L15.17 10H4v2h11.17l-4.58 4.59L12 18l8-7z'/%3E%3C/svg%3E") center / contain no-repeat;
    content: "";
    display: inline-block;
    height: var(--home-trails-mobile-arrow-size);
    margin-left: 0.65rem;
    pointer-events: none;
    transform: translateY(0.12em);
    width: var(--home-trails-mobile-arrow-size);
  }

  .home-trails__chips {
    display: flex;
    gap: 0.6rem;
    grid-template-columns: none;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    padding-bottom: 0;
    padding-right: clamp(1rem, 3vw, 1.5rem);
    scrollbar-width: none;
    touch-action: pan-x;
  }

  .home-trails__chips.has-left-overflow {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.2rem);
    mask-image: linear-gradient(90deg, transparent 0, #000 1.2rem);
  }

  .home-trails__chips.has-right-overflow {
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 1.2rem), transparent 100%);
    mask-image: linear-gradient(90deg, #000 calc(100% - 1.2rem), transparent 100%);
  }

  .home-trails__chips.has-left-overflow.has-right-overflow {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.2rem, #000 calc(100% - 1.2rem), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 1.2rem, #000 calc(100% - 1.2rem), transparent 100%);
  }

  .home-trails__chips::-webkit-scrollbar {
    display: none;
  }

  .home-trails__chip {
    border-bottom: 0;
    flex: 0 0 auto;
    min-width: clamp(10.5rem, 24vw, 13rem);
  }
}

@media (max-width: 760px) {
  .home-trails {
    padding-inline: 0;
    padding-block: 2.25rem 3rem;
  }

  .home-trails__intro,
  .home-trails__chips {
    margin-inline: 1rem;
    width: calc(100% - 2rem);
  }

  .home-trails__intro {
    --home-trails-mobile-arrow-size: 1.65rem;
  }

  .home-trails h2::after {
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ba1821' d='M12 4l-1.41 1.41L15.17 10H4v2h11.17l-4.58 4.59L12 18l8-7z'/%3E%3C/svg%3E") center / contain no-repeat;
    content: "";
    display: inline-block;
    height: var(--home-trails-mobile-arrow-size);
    margin-left: 0.65rem;
    pointer-events: none;
    transform: translateY(0.12em);
    width: var(--home-trails-mobile-arrow-size);
  }

  .home-trails h1 {
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .home-trails__chips {
    display: flex;
    gap: 0.55rem;
    margin-left: 1rem;
    margin-right: 0;
    transform: translateY(-1px);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: none;
    padding-bottom: 0;
    padding-right: 1rem;
    padding-top: 1px;
    scrollbar-width: none;
    touch-action: pan-x;
    width: calc(100% - 1rem);
  }

  .home-trails__chips.has-left-overflow {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.05rem);
    mask-image: linear-gradient(90deg, transparent 0, #000 1.05rem);
  }

  .home-trails__chips.has-right-overflow {
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 1.05rem), transparent 100%);
    mask-image: linear-gradient(90deg, #000 calc(100% - 1.05rem), transparent 100%);
  }

  .home-trails__chips.has-left-overflow.has-right-overflow {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.05rem, #000 calc(100% - 1.05rem), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 1.05rem, #000 calc(100% - 1.05rem), transparent 100%);
  }

  .home-trails__chips::-webkit-scrollbar {
    display: none;
  }

  .home-trails__chip {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    border-bottom: 0;
    min-height: 3.05rem;
    min-width: clamp(9.6rem, 38vw, 10.25rem);
  }

  .home-trails__feature {
    min-height: auto;
    margin-top: -1px;
  }

  .home-trails__feature {
    --trail-bg-position: 44% center;
  }

  .home-trails__scrim {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7) 58%, rgba(0, 0, 0, 0.77)),
      radial-gradient(circle at 50% 24%, rgba(var(--accent-red-rgb), 0.2), transparent 18rem);
  }

  .home-trails__content {
    gap: 1.1rem;
    padding: clamp(1.55rem, 7vw, 2.55rem) 1rem;
  }

  .home-trails__content::after {
    background:
      radial-gradient(ellipse at 50% 72%, rgba(var(--bg-primary-rgb), 0.34), transparent 20rem),
      linear-gradient(180deg, transparent 24%, rgba(var(--bg-primary-rgb), 0.16));
    inset: 44% 0.8rem 0.85rem;
  }

  .home-trails__copy h2 {
    font-size: clamp(2.65rem, 12.5vw, 4rem);
  }

  .home-trails__jp {
    margin-top: calc(0.55rem + 0.25rem);
  }

  .home-trails__jp::after {
    margin-top: calc(1rem + 0.25rem);
  }

  .home-trails__copy p[data-trail-description] + p {
    margin-top: calc(1rem + 0.45rem);
  }

  .home-trails__copy p[data-trail-subcopy] {
    margin-bottom: 0.65rem;
  }

  .home-trails__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-trails__actions {
    grid-template-columns: 1fr;
  }

  .home-trails__stats div {
    min-height: 0;
  }
}

/* Shared card/detail title convention: cards introduce records in red, and
   detail panes keep that same title signal at larger scale across themes. */
:where(
  .feature-card h3,
  .entry-card h3,
  .home-entry-card h3,
  .paper-card h3,
  .match-card h3,
  .match-featured-card__title,
  .match-guide-card__title,
  .wrestler-card__name,
  .rivalry-card__name,
  .voice-card__name,
  .venue-card__title,
  .beyond-category-card__title,
  .video-game-card__title,
  .video-games-game-card__title,
  .support-help-card h3,
  .support-action-card h3,
  .style-nav-button__name,
  .style-key-match__title,
  .venue-detail__header h2,
  .wrestler-detail-panel__name,
  .voice-detail h2,
  .voice-mobile-modal .voice-detail__card h2,
  .vault-room-page .video-games-panel__head--details-title h2,
  .video-games-detail__title,
  .match-detail__title
) {
  color: var(--accent-red) !important;
}

.home-entry-card h3,
.beyond-category-card__title {
  color: #050505 !important;
}

/* Launch QA: stabilize the Story hero layer on mobile and reduce oversized
   mobile headings by 30%. */
.start-archive-hero {
  background-color: #050505;
}

@media (max-width: 760px) {
  .start-here-page > .start-archive-hero {
    top: var(--site-header-height);
  }

  .start-archive-hero {
    box-shadow: 0 -2px 0 #050505;
  }

  .start-here-page.styles-page--collapsed {
    padding-top: var(--styles-hero-collapsed-height);
  }

  .start-here-page.styles-page--collapsed > .start-archive-hero.styles-hero--collapsed {
    background: #050505;
    contain: paint;
    left: 0;
    position: fixed;
    right: 0;
    top: var(--site-header-height);
    transform: none;
    width: 100%;
    will-change: auto;
  }

  .page-start-here,
  .start-here-page,
  .start-story-publication {
    overflow-x: clip;
  }

  .hero h1,
  .home-page .hero h1 {
    font-size: clamp(2.1rem, 9.66vw, 3.05rem);
  }

  .home-page .hero__content {
    --hero-title-gap: clamp(0.9rem, 3.8vw, 1.25rem);
    margin-inline: clamp(1.15rem, 5vw, 1.6rem);
    transform: none;
  }

  .home-page .hero h1 {
    color: #f7f3ea;
    display: grid;
    font-size: clamp(3rem, 14.8vw, 4.4rem);
    gap: clamp(0.12rem, 1vw, 0.28rem);
    line-height: 0.82;
    margin-left: 0;
    max-width: 7.6ch;
    text-shadow:
      0 0.035em 0 rgba(0, 0, 0, 0.76),
      0 0 1.4rem rgba(0, 0, 0, 0.7);
  }

  .home-page .hero-title-line {
    white-space: normal;
  }

  .home-page .hero-title-line:first-child {
    align-items: center;
    color: #f7f3ea;
    display: inline-flex;
    font-size: 0.42em;
    line-height: 0.9;
    text-shadow: 0 0.08em 0 rgba(0, 0, 0, 0.82);
    white-space: nowrap;
  }

  .home-page .hero-title-line:nth-child(2) {
    align-items: center;
    color: #f7f3ea;
    display: flex;
    font-size: 0.58em;
    gap: 0.32em;
    line-height: 0.9;
    white-space: nowrap;
  }

  .home-page .hero-title-line:nth-child(2)::after {
    content: none;
  }

  .home-page .hero-title-of {
    color: #f7f3ea;
  }

  .home-page .hero-title-solid {
    color: #f7f3ea;
  }

  .route-hero h1,
  .route-mini-hero h1,
  .shop-hero h1,
  .beyond-topic-hero h1,
  .mask-hero h1,
  .voices-hero h1,
  .support-hero h1,
  .about-hero h1 {
    font-size: clamp(2.1rem, 8.4vw, 3.15rem);
  }

  .styles-archive-hero h1,
  .timeline-archive-hero h1,
  .lineage-archive-hero h1,
  .beyond-hub-hero h1,
  .start-archive-hero h1 {
    font-size: clamp(1.4rem, 6.3vw, 2.1rem);
  }

  .route-main .section__header h2,
  main > .section .section__header h2,
  .start-story-publication h2,
  .start-story-editorial .start-story-next .section__header h2,
  .support-section__header h2 {
    font-size: clamp(1.44rem, 7.56vw, 2.1rem);
  }
}

@media (max-width: 420px) {
  .start-story-publication h2 {
    font-size: clamp(1.37rem, 7.14vw, 1.82rem);
  }
}

/* Launch QA: timeline event details should occupy the full phone viewport.
   The panel is moved to <body> when opened, so body-level selectors are needed. */
@media (max-width: 700px) {
  .timeline-body .site-header {
    border-bottom-width: 1px;
  }

  body.timeline-body.timeline-app-shell-active {
    height: var(--timeline-viewport-height, 100dvh);
    min-height: var(--timeline-viewport-height, 100dvh);
    max-height: var(--timeline-viewport-height, 100dvh);
    overflow: hidden;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section {
    bottom: auto;
    box-sizing: border-box;
    height: calc(
      var(--timeline-viewport-height, 100dvh) -
      var(--site-header-height) -
      var(--timeline-collapsed-hero-height)
    );
    min-height: 0;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section,
  .timeline-body .timeline-page.timeline-page--collapsed.timeline-page--hero-hidden .timeline-explorer-section {
    height: calc(var(--timeline-viewport-height, 100dvh) - var(--site-header-height));
    top: var(--site-header-height);
    transition: none;
  }

  .timeline-body .timeline-page.timeline-page--collapsed.timeline-page--hero-hidden .timeline-explorer-section {
    height: calc(var(--timeline-viewport-height, 100dvh) - var(--site-header-height));
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-stage,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-shell,
  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-scroll {
    min-height: 0 !important;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-workspace {
    gap: 0 !important;
    padding-top: 0 !important;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer-section .timeline-era-nav {
    border-top: 0;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-explorer {
    margin-top: 0 !important;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-shell {
    border-top: 0 !important;
    border-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .timeline-body .timeline-page .timeline-rail-shell,
  .timeline-body .timeline-page .timeline-detail {
    border: 0 !important;
  }

  .timeline-body .timeline-page .timeline-pane-bottom-stroke {
    display: none !important;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-shell .timeline-column-heading {
    padding-top: 0.72rem;
  }

  .timeline-body .timeline-page.timeline-page--collapsed .timeline-rail-scroll {
    height: 100% !important;
    padding-top: 0 !important;
    scroll-padding-top: 0;
  }

  body > [data-timeline-detail].is-modal-open {
    --detail-modal-block-start: 0px;
    --detail-modal-block-end: 0px;
    --detail-modal-inline-pad: 0px;
    --detail-modal-max-width: 100vw;
    --detail-modal-panel-min-height: 100dvh;
    background: var(--modal-shadowbox-surface) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 100dvh !important;
    inset: 0 !important;
    margin: 0 !important;
    max-height: 100dvh !important;
    max-width: 100vw !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 !important;
    width: 100vw !important;
  }

  body > [data-timeline-detail].is-modal-open .timeline-detail__content {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 100dvh !important;
    width: 100% !important;
  }

  body > [data-timeline-detail].is-modal-open .timeline-detail__photo {
    background: #050505 !important;
    border-radius: 0 !important;
    display: block;
    min-height: 0;
    overflow: hidden !important;
  }

  body > [data-timeline-detail].is-modal-open .timeline-detail__image {
    display: block;
    height: auto;
    max-height: min(44dvh, 22rem);
    object-fit: contain;
    object-position: center center !important;
    position: relative;
    width: 100%;
  }

  body > [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence {
    aspect-ratio: 1.53;
    height: auto;
    margin-bottom: 6px;
    max-height: min(44dvh, 22rem);
    overflow: visible !important;
  }

  body > [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence .timeline-detail__image {
    height: 100%;
    inset: 0;
    position: absolute;
  }

  body > [data-timeline-detail].is-modal-open .timeline-pane-bottom-stroke {
    display: none !important;
  }

  body > [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence::after {
    display: block !important;
  }

  body > [data-timeline-detail].is-modal-open .detail-modal-close {
    right: calc(0.75rem + env(safe-area-inset-right, 0px));
    top: calc(0.75rem + env(safe-area-inset-top, 0px));
  }
}

@media (min-width: 701px) and (max-width: 1120px) and (orientation: portrait) {
  [data-timeline-detail] {
    --detail-modal-block-start: 0px;
    --detail-modal-block-end: 0px;
    --detail-modal-inline-pad: 0px;
    --detail-modal-max-width: 100vw;
    --detail-modal-panel-min-height: 100dvh;
    background: var(--modal-shadowbox-surface) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__content {
    background: var(--modal-shadowbox-surface) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 100dvh !important;
    overflow: visible;
    width: 100vw !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo,
  [data-theme="archival-dark"] [data-timeline-detail].is-modal-open .timeline-detail__photo,
  [data-theme="dark"] [data-timeline-detail].is-modal-open .timeline-detail__photo,
  [data-theme="modern-showa"] [data-timeline-detail].is-modal-open .timeline-detail__photo {
    background: #050505 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: block;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo::before,
  [data-timeline-detail].is-modal-open .timeline-detail__photo::after,
  [data-timeline-detail].is-modal-open .timeline-pane-bottom-stroke {
    display: none !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence {
    aspect-ratio: 1.53 !important;
    height: auto !important;
    margin-bottom: 6px !important;
    max-height: min(44dvh, 22rem) !important;
    overflow: visible !important;
    position: relative !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__image {
    display: block !important;
    height: auto !important;
    inset: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    position: relative !important;
    width: 100% !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence .timeline-detail__image {
    display: block !important;
    height: 100% !important;
    inset: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    position: absolute !important;
    width: 100% !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__image--sequence {
    animation-duration: 14s !important;
    animation-iteration-count: infinite !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__image--sequence-2 {
    display: block !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__photo.has-image-sequence::after {
    display: block !important;
  }

  [data-timeline-detail].is-modal-open .timeline-detail__body {
    background: var(--modal-shadowbox-surface) !important;
    padding: clamp(1rem, 3vw, 1.4rem) clamp(1rem, 4vw, 1.75rem) calc(1.5rem + env(safe-area-inset-bottom, 0px));
  }

  [data-timeline-detail].is-modal-open .timeline-detail__copy {
    border-top: 0 !important;
  }

  [data-timeline-detail].is-modal-open .detail-modal-close {
    right: calc(0.75rem + env(safe-area-inset-right, 0px));
    top: calc(0.75rem + env(safe-area-inset-top, 0px));
  }
}

@media (min-width: 701px) and (max-width: 1120px) and (orientation: landscape) {
  .timeline-page.timeline-page--collapsed .timeline-detail {
    padding-top: 0 !important;
  }

  .timeline-page.timeline-page--collapsed .timeline-detail__photo {
    margin: 0 1rem 1rem !important;
  }
}

@media (min-width: 761px) and (max-width: 1400px) {
  [data-venues-page][data-view="map"] .jp-legend {
    box-sizing: border-box;
    justify-content: flex-start;
    padding-left: 0 !important;
    padding-right: clamp(1rem, 2vw, 1.5rem);
    scroll-padding-left: clamp(1rem, 2vw, 1.5rem);
  }

  [data-venues-page][data-view="map"] .jp-legend::before {
    content: "";
    display: block;
    flex: 0 0 clamp(1.25rem, 2.5vw, 2rem);
    height: 1px;
  }

  [data-venues-page][data-view="map"] .venues-map-canvas::after {
    inset-inline-start: 0 !important;
    left: 0 !important;
    margin-inline-start: clamp(1.25rem, 2.5vw, 2rem);
    top: calc(52px + clamp(0.75rem, 2vw, 1rem));
  }
}

/* Mobile and tablet record details use one edge-to-edge modal surface. */
@media (max-width: 1120px) {
  [data-wrestler-detail].is-modal-open,
  [data-venue-detail].is-modal-open,
  [data-mask-detail].is-modal-open {
    --detail-modal-block-start: 0px;
    --detail-modal-block-end: 0px;
    --detail-modal-inline-pad: 0px;
    --detail-modal-shell-width: 100vw;
    --detail-modal-max-width: 100vw;
    --detail-modal-panel-min-height: 100dvh;
    background: var(--bg-primary, #050505) !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 100dvh !important;
    inset: 0 !important;
    margin: 0 !important;
    max-height: 100dvh !important;
    max-width: 100vw !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 !important;
    width: 100vw !important;
  }

  [data-wrestler-detail].is-modal-open::before,
  [data-wrestler-detail].is-modal-open::after,
  [data-venue-detail].is-modal-open::before,
  [data-venue-detail].is-modal-open::after,
  [data-mask-detail].is-modal-open::before,
  [data-mask-detail].is-modal-open::after {
    content: none !important;
    display: none !important;
  }

  [data-wrestler-detail].is-modal-open > :not(.detail-modal-close),
  [data-mask-detail].is-modal-open > :not(.detail-modal-close),
  [data-venue-detail].is-modal-open .venue-detail__content {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-inline: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  [data-venue-detail].is-modal-open .venue-detail__content {
    border: 0 !important;
  }

  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__portrait,
  [data-mask-detail].is-modal-open .wrestler-detail-panel__portrait,
  [data-venue-detail].is-modal-open .venue-detail__content {
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
  }

  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__summary,
  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__section,
  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__actions,
  [data-mask-detail].is-modal-open .wrestler-detail-panel__summary,
  [data-mask-detail].is-modal-open .wrestler-detail-panel__section,
  [data-mask-detail].is-modal-open .wrestler-detail-panel__actions {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
  }

  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__modal-end,
  [data-mask-detail].is-modal-open .wrestler-detail-panel__summary {
    border-bottom: 0 !important;
    border-radius: 0 !important;
  }

  [data-venue-detail].is-modal-open .venue-detail__hero {
    border-radius: 0 !important;
  }

  [data-wrestler-detail].is-modal-open .detail-modal-close,
  [data-venue-detail].is-modal-open .detail-modal-close,
  [data-mask-detail].is-modal-open .detail-modal-close {
    right: calc(0.75rem + env(safe-area-inset-right, 0px));
    top: calc(0.75rem + env(safe-area-inset-top, 0px));
  }

  .voice-mobile-modal {
    --detail-modal-block-start: 0px;
    --detail-modal-block-end: 0px;
    --detail-modal-inline-pad: 0px;
    --detail-modal-shell-width: 100vw;
    --detail-modal-max-width: 100vw;
    --detail-modal-panel-min-height: 100dvh;
    background: var(--bg-primary, #050505) !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 0 !important;
    width: 100vw !important;
  }

  .voice-mobile-modal__backdrop {
    display: none !important;
  }

  .voice-mobile-modal__panel,
  .voice-mobile-modal .voice-detail__card {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 100dvh !important;
    width: 100% !important;
  }

  .voice-mobile-modal .voice-detail__portrait {
    border-radius: 0 !important;
  }

  .voice-mobile-modal__close {
    right: calc(0.75rem + env(safe-area-inset-right, 0px));
    top: calc(0.75rem + env(safe-area-inset-top, 0px));
  }

  html[data-theme] [data-wrestler-detail].is-modal-open,
  html[data-theme] [data-venue-detail].is-modal-open,
  html[data-theme] [data-mask-detail].is-modal-open,
  html[data-theme] .voice-mobile-modal {
    background: var(--bg-primary, #050505) !important;
    background-image: none !important;
  }
}

@media (min-width: 761px) and (max-width: 1120px) and (orientation: portrait) {
  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__portrait,
  [data-venue-detail].is-modal-open .venue-detail__hero,
  [data-mask-detail].is-modal-open .mask-detail-panel__portrait,
  .voice-mobile-modal.is-modal-open .voice-detail__portrait {
    align-items: center !important;
    background: var(--bg-primary, #050505) !important;
    display: flex !important;
    height: 500px !important;
    justify-content: center !important;
    min-height: 0 !important;
  }

  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__portrait,
  [data-mask-detail].is-modal-open .mask-detail-panel__portrait,
  .voice-mobile-modal.is-modal-open .voice-detail__portrait {
    padding: 0 !important;
  }

  [data-venue-detail].is-modal-open .venue-detail__hero {
    aspect-ratio: auto !important;
  }

  .voice-mobile-modal.is-modal-open .voice-detail__portrait .voice-portrait__image {
    height: 100% !important;
    inset: auto !important;
    max-height: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    position: relative !important;
    width: min(100%, 560px) !important;
  }

  [data-venue-detail].is-modal-open .venue-detail__hero img {
    height: 100% !important;
    inset: auto !important;
    max-height: 100% !important;
    max-width: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    position: relative !important;
    width: min(100%, 560px) !important;
  }

  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__image {
    height: 100% !important;
    inset: auto !important;
    position: relative !important;
    width: min(100%, 560px) !important;
  }

  [data-wrestler-detail].is-modal-open .wrestler-detail-panel__image img {
    object-fit: contain !important;
    object-position: center center !important;
  }
}

@media (max-width: 1120px) {
  body.detail-modal-open .wrestlers-shell,
  body.detail-modal-open .venues-shell {
    position: relative;
    z-index: 4999 !important;
  }

  [data-wrestler-detail],
  [data-venue-detail],
  [data-mask-detail],
  .voice-mobile-modal,
  .voice-mobile-modal__backdrop,
  .voice-mobile-modal__panel {
    animation: none !important;
    transition: none !important;
  }

  [data-wrestler-detail].is-modal-open.is-modal-entering,
  [data-venue-detail].is-modal-open.is-modal-entering,
  [data-mask-detail].is-modal-open.is-modal-entering,
  [data-timeline-detail].is-modal-open.is-modal-entering,
  .voice-mobile-modal.is-modal-open.is-modal-entering {
    animation: none !important;
    clip-path: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }

  [data-wrestler-detail].is-modal-open.is-modal-entering > :not(.detail-modal-close),
  [data-mask-detail].is-modal-open.is-modal-entering > :not(.detail-modal-close),
  [data-venue-detail].is-modal-open.is-modal-entering .venue-detail__content,
  [data-timeline-detail].is-modal-open.is-modal-entering .timeline-detail__content,
  .voice-mobile-modal.is-modal-open.is-modal-entering .voice-mobile-modal__panel {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  [data-wrestler-detail].is-modal-open,
  [data-venue-detail].is-modal-open,
  [data-mask-detail].is-modal-open,
  [data-timeline-detail].is-modal-open {
    animation: none !important;
    background: var(--bg-primary, #050505) !important;
    clip-path: none !important;
    opacity: 1 !important;
    position: fixed !important;
    transform: none !important;
    visibility: visible !important;
    z-index: 5000 !important;
  }

  [data-wrestler-detail].is-modal-open.is-modal-closing,
  [data-venue-detail].is-modal-open.is-modal-closing,
  [data-mask-detail].is-modal-open.is-modal-closing,
  [data-timeline-detail].is-modal-open.is-modal-closing {
    animation: none !important;
    clip-path: none !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }

  [data-wrestler-detail].is-modal-open.is-modal-closing > :not(.detail-modal-close),
  [data-mask-detail].is-modal-open.is-modal-closing > :not(.detail-modal-close),
  [data-venue-detail].is-modal-open.is-modal-closing .venue-detail__content,
  [data-timeline-detail].is-modal-open.is-modal-closing .timeline-detail__content {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  [data-wrestler-detail].is-modal-open .detail-modal-close,
  [data-venue-detail].is-modal-open .detail-modal-close,
  [data-mask-detail].is-modal-open .detail-modal-close,
  [data-timeline-detail].is-modal-open .detail-modal-close,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close,
  body.detail-modal-open > .venue-detail-modal-close {
    align-items: center !important;
    aspect-ratio: 1 !important;
    border-radius: 0 !important;
    bottom: auto !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    height: 44px !important;
    justify-content: center !important;
    left: auto !important;
    min-height: 44px !important;
    min-width: 44px !important;
    opacity: 1 !important;
    padding: 0 !important;
    pointer-events: auto !important;
    position: fixed !important;
    right: calc(0.75rem + env(safe-area-inset-right, 0px)) !important;
    top: calc(0.75rem + env(safe-area-inset-top, 0px)) !important;
    transition: none !important;
    visibility: visible !important;
    width: 44px !important;
    z-index: 5010 !important;
  }

  [data-theme="archival-dark"] body.detail-modal-open > .venue-detail-modal-close,
  [data-theme="dark"] body.detail-modal-open > .venue-detail-modal-close {
    background: rgba(5, 5, 5, 0.88) !important;
    border: 1px solid rgba(245, 245, 240, 0.28) !important;
    box-shadow: none !important;
    color: var(--paper) !important;
  }

  [data-theme="showa-light"] body.detail-modal-open > .venue-detail-modal-close,
  [data-theme="modern-showa"] body.detail-modal-open > .venue-detail-modal-close {
    background: var(--flag-white) !important;
    border: 1px solid rgba(17, 17, 17, 0.32) !important;
    box-shadow: 0 8px 18px rgba(17, 17, 17, 0.14) !important;
    color: var(--ink) !important;
  }

  body.detail-modal-open > .venue-detail-modal-close {
    position: absolute !important;
  }

  body.detail-modal-open > .venue-detail-modal-close .material-symbols-outlined {
    font-size: 1.45rem;
    line-height: 1;
  }

}

/* Keep the standalone About hero aligned with the other in-place route heroes. */
@media (max-width: 1120px) {
  .about-main {
    --archive-hero-height: var(--route-hero-height);
  }

  .about-hero__inner {
    align-content: center;
    align-items: center;
    padding-bottom: clamp(1.5rem, 4vw, 2.25rem);
    padding-top: clamp(1.5rem, 4vw, 2.25rem);
  }

  .about-hero__copy {
    align-self: center;
  }
}

/* Keep Support aligned with the shared in-place route hero on touch layouts. */
@media (max-width: 1120px) {
  .support-main,
  .support-hero {
    --archive-hero-height: var(--route-hero-height);
  }

  .support-hero__inner {
    align-content: center;
    align-items: center;
    padding-bottom: clamp(1.5rem, 4vw, 2.25rem);
    padding-top: clamp(1.5rem, 4vw, 2.25rem);
  }

  .support-hero__copy {
    align-self: center;
  }
}

/* Present wrestler lenses as one continuous filter stack on touch layouts. */
@media (max-width: 1120px) {
  .wrestlers-archive [data-filter-sheet] .lens-buttons {
    gap: 0;
  }

  .wrestlers-archive [data-filter-sheet] .lens-button + .lens-button {
    border-top: 0;
  }
}

/* Keep interactive icon controls square; Vault background eyes stay circular. */
.site-nav-toggle,
.preferences-menu__button,
.theme-toggle,
.filter-sheet__close,
.detail-modal-close,
.venue-detail__close,
.timeline-photo-lightbox__close,
.mask-lightbox__close,
.voice-mobile-modal__close,
.lineage-filter-panel__header button,
.lineage-detail__close,
.lineage-mobile-sheet__close,
.lineage-graph-nav__icon-button,
.jp-tokyo-modal__close,
.voices-rail__arrow,
.footer-social-link,
.video-games-hotspot-card__close,
.vault-room-sheet-close,
.vault-room-detail-modal-close,
.video-games-screenshot-lightbox__head button,
.video-games-screenshot-lightbox__controls button {
  border-radius: 0 !important;
}

/* Button icons stay neutral; red is reserved for states, labels, and surfaces. */
.wrestler-card__link .google-material-icon,
.voice-card__action .material-symbols-outlined,
.voice-card__action .material-symbols-svg {
  color: var(--text-primary) !important;
  fill: currentColor !important;
}

button .material-symbols-outlined,
button .material-symbols-svg,
button .google-material-icon {
  color: var(--text-primary) !important;
  fill: currentColor !important;
}

.site-nav-toggle .material-symbols-outlined,
.site-nav-toggle .material-symbols-svg,
.preferences-menu__button .material-symbols-outlined,
.preferences-menu__button .material-symbols-svg,
.theme-toggle .material-symbols-outlined,
.theme-toggle .material-symbols-svg,
.theme-toggle .theme-toggle__icon,
.theme-toggle .theme-toggle__svg {
  color: #f5f5f0 !important;
  fill: currentColor !important;
}

.video-games-poster-eye .material-symbols-outlined,
.video-games-poster-eye .material-symbols-svg {
  color: #ffffff !important;
  fill: currentColor !important;
}

/* Compact controls use one red interaction state; never a white selected state. */
:is(
  .site-nav-toggle,
  .preferences-menu__button,
  .theme-toggle,
  .filter-sheet__close,
  .detail-modal-close,
  .venue-detail__close,
  .timeline-photo-lightbox__close,
  .mask-lightbox__close,
  .voice-mobile-modal__close,
  .lineage-filter-panel__header button,
  .lineage-detail__close,
  .lineage-mobile-sheet__close,
  .lineage-graph-nav__icon-button,
  .jp-tokyo-modal__close,
  .voices-rail__arrow,
  .footer-social-link,
  .video-games-panel__toggle,
  .video-games-hotspot-card__close,
  .video-games-room-immersive,
  .video-games-selector__arrow,
  .vault-room-sheet-close,
  .vault-room-detail-modal-close,
  .video-games-screenshot-lightbox__head button,
  .video-games-screenshot-lightbox__controls button,
  .ds-segmented-control__button,
  .venues-view-toggle__btn,
  .vault-room-mode-tabs button
):is(:hover, :focus-visible, :active, [aria-expanded="true"], [aria-pressed="true"], [aria-selected="true"], .is-active) {
  background: var(--accent-red-strong) !important;
  border-color: var(--accent-red-strong) !important;
  color: #111111 !important;
  outline: none;
}

:is(
  .site-nav-toggle,
  .preferences-menu__button,
  .theme-toggle,
  .filter-sheet__close,
  .detail-modal-close,
  .venue-detail__close,
  .timeline-photo-lightbox__close,
  .mask-lightbox__close,
  .voice-mobile-modal__close,
  .lineage-filter-panel__header button,
  .lineage-detail__close,
  .lineage-mobile-sheet__close,
  .lineage-graph-nav__icon-button,
  .jp-tokyo-modal__close,
  .voices-rail__arrow,
  .footer-social-link,
  .video-games-panel__toggle,
  .video-games-hotspot-card__close,
  .video-games-room-immersive,
  .video-games-selector__arrow,
  .vault-room-sheet-close,
  .vault-room-detail-modal-close,
  .video-games-screenshot-lightbox__head button,
  .video-games-screenshot-lightbox__controls button,
  .ds-segmented-control__button,
  .venues-view-toggle__btn,
  .vault-room-mode-tabs button
):is(:hover, :focus-visible, :active, [aria-expanded="true"], [aria-pressed="true"], [aria-selected="true"], .is-active)
:is(.material-symbols-outlined, .material-symbols-svg, .google-material-icon) {
  color: #111111 !important;
  fill: currentColor !important;
}

.vault-room-page .video-games-selector__arrow:is(:hover, :focus-visible, :active) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--red) !important;
}

.vault-room-page .video-games-selector__arrow:is(:hover, :focus-visible, :active)
:is(.material-symbols-outlined, .material-symbols-svg, .google-material-icon) {
  color: var(--red) !important;
  fill: currentColor !important;
}

.vault-room-page .video-games-selector__arrow:focus-visible {
  outline: 1px solid rgba(var(--accent-red-rgb), 0.45);
  outline-offset: 0.18rem;
}

@media (hover: hover) and (pointer: fine) {
  .vault-room-page .video-games-room-immersive:not([aria-pressed="true"]):is(:hover, :focus-visible, :active) {
    animation-play-state: running !important;
    background:
      linear-gradient(rgba(8, 6, 5, 0.72), rgba(8, 6, 5, 0.72)) padding-box,
      conic-gradient(
        from var(--rivalry-stroke-angle),
        transparent 0deg,
        transparent 32deg,
        rgba(var(--accent-red-rgb), 0.1) 64deg,
        rgba(var(--accent-red-rgb), 0.76) 108deg,
        rgba(var(--accent-red-rgb), 0.12) 150deg,
        transparent 184deg,
        transparent 214deg,
        rgba(var(--accent-red-rgb), 0.12) 244deg,
        rgba(var(--accent-red-rgb), 0.82) 288deg,
        rgba(var(--accent-red-rgb), 0.14) 332deg,
        transparent 360deg
      ) border-box !important;
    border-color: transparent !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42) !important;
    color: #f5ead6 !important;
  }

  .vault-room-page .video-games-room-immersive:not([aria-pressed="true"]):is(:hover, :focus-visible, :active)
  :is(.material-symbols-outlined, .material-symbols-svg, .google-material-icon) {
    color: #f5ead6 !important;
    fill: currentColor !important;
  }
}

/* The hamburger is navigation chrome, not a red selected-state control. */
@media (max-width: 1120px), (hover: none) and (pointer: coarse) {
  body .site-header .site-nav-toggle:is(:hover, :focus-visible, :active, [aria-expanded="true"]) {
    background: rgba(var(--text-primary-rgb), 0.07) !important;
    border-color: rgba(var(--text-primary-rgb), 0.28) !important;
    color: rgba(var(--text-primary-rgb), 0.9) !important;
    outline: none;
  }

  body .site-header .site-nav-toggle:is(:hover, :focus-visible, :active, [aria-expanded="true"])
  :is(.material-symbols-outlined, .material-symbols-svg) {
    color: #f5f5f0 !important;
    fill: currentColor !important;
  }

  [data-theme="modern-showa"] body .site-header .site-nav-toggle:is(:hover, :focus-visible, :active, [aria-expanded="true"]),
  [data-theme="modern-showa"] body .site-header--home .site-nav-toggle:is(:hover, :focus-visible, :active, [aria-expanded="true"]) {
    background: rgba(var(--on-accent-rgb), 0.07) !important;
    border-color: rgba(var(--on-accent-rgb), 0.28) !important;
    color: var(--on-accent) !important;
  }
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button:is(:hover, :focus-visible, [aria-pressed="true"]),
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button:is(:hover, :focus-visible, [aria-pressed="true"]) {
  background:
    linear-gradient(180deg, rgba(var(--accent-red-rgb), 0.74), rgba(var(--accent-red-rgb), 0.9)),
    var(--timeline-era-image) var(--timeline-era-image-position, center) / cover no-repeat,
    var(--accent-red-strong) !important;
  border-color: var(--accent-red-strong) !important;
  color: #111111 !important;
}

[data-theme="showa-light"] .timeline-page .timeline-era-nav .timeline-era-button:is(:hover, :focus-visible, [aria-pressed="true"]) :is(.timeline-era-button__range, .timeline-era-button__title, .timeline-era-button__description),
[data-theme="modern-showa"] .timeline-page .timeline-era-nav .timeline-era-button:is(:hover, :focus-visible, [aria-pressed="true"]) :is(.timeline-era-button__range, .timeline-era-button__title, .timeline-era-button__description) {
  color: #111111 !important;
}

/* Restore the animated red gradient stroke for the Map and Rivalries affordances. */
[data-venues-page] [data-view-toggle="map"],
[data-venues-page] [data-view-toggle="map"][aria-pressed="false"],
[data-venues-page] [data-view-toggle="map"][aria-pressed="true"],
[data-wrestlers-page] [data-wrestler-view-toggle="rivalries"],
[data-wrestlers-page] .lens-button[data-lens-button="rivalries"] {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

[data-venues-page] [data-view-toggle="map"]::after,
[data-venues-page] [data-view-toggle="map"][aria-pressed="false"]::after,
[data-venues-page] [data-view-toggle="map"][aria-pressed="true"]::after,
[data-wrestlers-page] [data-wrestler-view-toggle="rivalries"]::after,
[data-wrestlers-page] .lens-button[data-lens-button="rivalries"]::after {
  animation: rivalryStrokeSweep 7s linear infinite !important;
  background:
    conic-gradient(
      from var(--rivalry-stroke-angle),
      transparent 0deg,
      transparent 28deg,
      rgba(var(--accent-red-rgb), 0.14) 60deg,
      rgba(var(--accent-red-rgb), 0.92) 106deg,
      rgba(var(--accent-red-rgb), 0.16) 150deg,
      transparent 180deg,
      transparent 208deg,
      rgba(var(--accent-red-rgb), 0.16) 240deg,
      rgba(var(--accent-red-rgb), 1) 286deg,
      rgba(var(--accent-red-rgb), 0.18) 330deg,
      transparent 360deg
    ) !important;
  content: "" !important;
  inset: 0;
  opacity: 0.95;
  padding: 2px;
  pointer-events: none;
  position: absolute;
  z-index: 3;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

[data-venues-page] [data-view-toggle="map"] > *,
[data-wrestlers-page] [data-wrestler-view-toggle="rivalries"] > *,
[data-wrestlers-page] .lens-button[data-lens-button="rivalries"] > * {
  position: relative;
  z-index: 4;
}

@media (prefers-reduced-motion: reduce) {
  [data-venues-page] [data-view-toggle="map"]::after,
  [data-wrestlers-page] [data-wrestler-view-toggle="rivalries"]::after,
  [data-wrestlers-page] .lens-button[data-lens-button="rivalries"]::after {
    animation: none !important;
  }
}

/* Tablet and phone Vault rails use the full width for touch-scrolling cards. */
@media (max-width: 1180px), (hover: none) and (pointer: coarse) {
  .vault-room-page .video-games-selector {
    grid-template-columns: minmax(0, 1fr);
  }

  .vault-room-page .video-games-selector__arrow {
    display: none;
  }

  .vault-room-page .video-games-selector__groups,
  .vault-room-page .video-games-selector__track {
    grid-column: 1;
  }

  .vault-room-page .video-games-selector::before,
  .vault-room-page.is-vault-games-mode .video-games-selector::before {
    left: 0;
  }

  .vault-room-page .video-games-selector::after,
  .vault-room-page.is-vault-games-mode .video-games-selector::after {
    right: 0;
  }
}

/* Tablet Vault rail: flush outer edge, roomier inner card gutter. */
@media (min-width: 700px) and (max-width: 1180px),
       (min-width: 700px) and (hover: none) and (pointer: coarse) {
  .vault-room-page .video-games-selector {
    box-sizing: border-box;
    left: 0;
    right: 0;
  }

  .vault-room-page .video-games-selector__groups,
  .vault-room-page .video-games-selector__track {
    padding-left: calc(0.7rem + 10px);
    padding-right: calc(0.7rem + 10px);
  }
}

/* Flag an active Archive Path on compact Filter controls without adding motion. */
@media (max-width: 1180px), (hover: none) and (pointer: coarse) {
  .filter-sheet-trigger[data-archive-path-active="true"],
  .lineage-filter-trigger[data-archive-path-active="true"],
  .vault-room-mobile-filter-trigger[data-archive-path-active="true"],
  .video-games-panel-float--filters[data-archive-path-active="true"] {
    overflow: visible !important;
    position: relative;
  }

  .filter-sheet-trigger[data-archive-path-active="true"]::after,
  .lineage-filter-trigger[data-archive-path-active="true"]::after,
  .vault-room-mobile-filter-trigger[data-archive-path-active="true"]::after,
  .video-games-panel-float--filters[data-archive-path-active="true"]::after {
    align-items: center;
    background: var(--accent-red-strong);
    border: 2px solid var(--bg-primary, #080605);
    border-radius: 50%;
    box-sizing: border-box;
    color: #fff;
    content: "1";
    display: flex;
    font-size: 0.75rem;
    font-weight: 700;
    height: 1.2rem;
    justify-content: center;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    right: -6px;
    top: -6px;
    width: 1.2rem;
    z-index: 4;
  }
}

/* Final modal close-button contract: all archive modal X buttons share the
   same icon-button token and stay inside tablet/mobile viewports. */
.detail-modal-close,
.voice-mobile-modal__close,
.timeline-photo-lightbox__close,
.mask-lightbox__close,
.jp-tokyo-modal__close {
  background: var(--modal-icon-button-bg) !important;
  border: 1px solid var(--modal-icon-button-border) !important;
  color: var(--modal-icon-button-color) !important;
}

.detail-modal-close .material-symbols-outlined,
.voice-mobile-modal__close .material-symbols-outlined,
.timeline-photo-lightbox__close .material-symbols-outlined,
.mask-lightbox__close .material-symbols-outlined,
.jp-tokyo-modal__close .material-symbols-outlined {
  color: var(--modal-icon-button-color) !important;
  fill: currentColor !important;
}

.detail-modal-close:is(:hover, :focus-visible, :active),
.voice-mobile-modal__close:is(:hover, :focus-visible, :active),
.timeline-photo-lightbox__close:is(:hover, :focus-visible, :active),
.mask-lightbox__close:is(:hover, :focus-visible, :active),
.jp-tokyo-modal__close:is(:hover, :focus-visible, :active) {
  background: var(--modal-icon-button-hover-bg) !important;
  border-color: var(--modal-icon-button-hover-border) !important;
  color: var(--modal-icon-button-hover-color) !important;
}

.detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
.voice-mobile-modal__close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
.timeline-photo-lightbox__close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
.mask-lightbox__close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
.jp-tokyo-modal__close:is(:hover, :focus-visible, :active) .material-symbols-outlined {
  color: var(--modal-icon-button-hover-color) !important;
}

.timeline-detail:not(.is-modal-open) .timeline-detail__close {
  display: none !important;
}

@media (max-width: 1120px) {
  [data-wrestler-detail].is-modal-open .detail-modal-close,
  [data-venue-detail].is-modal-open .detail-modal-close,
  [data-mask-detail].is-modal-open .detail-modal-close,
  [data-timeline-detail].is-modal-open .detail-modal-close,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close,
  body.detail-modal-open > .venue-detail-modal-close {
    position: fixed !important;
    right: var(--modal-icon-button-inline-offset) !important;
    top: var(--modal-icon-button-offset) !important;
  }

  [data-wrestler-detail].is-modal-open .detail-modal-close .material-symbols-outlined,
  [data-wrestler-detail].is-modal-open .detail-modal-close .material-symbols-svg,
  [data-wrestler-detail].is-modal-open .detail-modal-close .material-symbols-svg path,
  [data-venue-detail].is-modal-open .detail-modal-close .material-symbols-outlined,
  [data-venue-detail].is-modal-open .detail-modal-close .material-symbols-svg,
  [data-venue-detail].is-modal-open .detail-modal-close .material-symbols-svg path,
  [data-mask-detail].is-modal-open .detail-modal-close .material-symbols-outlined,
  [data-mask-detail].is-modal-open .detail-modal-close .material-symbols-svg,
  [data-mask-detail].is-modal-open .detail-modal-close .material-symbols-svg path,
  [data-timeline-detail].is-modal-open .detail-modal-close .material-symbols-outlined,
  [data-timeline-detail].is-modal-open .detail-modal-close .material-symbols-svg,
  [data-timeline-detail].is-modal-open .detail-modal-close .material-symbols-svg path,
  body.detail-modal-open > .venue-detail-modal-close .material-symbols-outlined,
  body.detail-modal-open > .venue-detail-modal-close .material-symbols-svg,
  body.detail-modal-open > .venue-detail-modal-close .material-symbols-svg path,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close .material-symbols-outlined,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close .material-symbols-svg,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close .material-symbols-svg path {
    color: var(--modal-icon-button-color) !important;
    fill: var(--modal-icon-button-color) !important;
  }

  [data-wrestler-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active),
  [data-venue-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active),
  [data-mask-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active),
  [data-timeline-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active),
  body.detail-modal-open > .venue-detail-modal-close:is(:hover, :focus-visible, :active),
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close:is(:hover, :focus-visible, :active) {
    background: var(--modal-icon-button-hover-bg) !important;
    border-color: var(--modal-icon-button-hover-border) !important;
    color: var(--modal-icon-button-hover-color) !important;
  }

  [data-wrestler-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
  [data-wrestler-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg,
  [data-wrestler-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg path,
  [data-venue-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
  [data-venue-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg,
  [data-venue-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg path,
  [data-mask-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
  [data-mask-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg,
  [data-mask-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg path,
  [data-timeline-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
  [data-timeline-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg,
  [data-timeline-detail].is-modal-open .detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg path,
  body.detail-modal-open > .venue-detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
  body.detail-modal-open > .venue-detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg,
  body.detail-modal-open > .venue-detail-modal-close:is(:hover, :focus-visible, :active) .material-symbols-svg path,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close:is(:hover, :focus-visible, :active) .material-symbols-outlined,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close:is(:hover, :focus-visible, :active) .material-symbols-svg,
  .voice-mobile-modal.is-modal-open .voice-mobile-modal__close:is(:hover, :focus-visible, :active) .material-symbols-svg path {
    color: var(--modal-icon-button-hover-color) !important;
    fill: var(--modal-icon-button-hover-color) !important;
  }
}

/* Detail-pane close controls are modal chrome only. Keep them out of the
   tablet/desktop side panes so a shared icon-token rule cannot surface a dead X. */
[data-wrestler-detail]:not(.is-modal-open) > .detail-modal-close,
[data-venue-detail]:not(.is-modal-open) > .detail-modal-close,
[data-mask-detail]:not(.is-modal-open) > .detail-modal-close,
[data-timeline-detail]:not(.is-modal-open) > .detail-modal-close {
  display: none !important;
}

body:not(.detail-modal-open) > .detail-modal-close {
  display: none !important;
}

@media (min-width: 1121px) {
  [data-wrestler-detail] > .detail-modal-close,
  [data-venue-detail] > .detail-modal-close,
  [data-mask-detail] > .detail-modal-close,
  body > .detail-modal-close {
    display: none !important;
  }
}
