:root {
  color-scheme: dark;
  --rh-ink: #07090d;
  --rh-ink-2: #0b0f16;
  --rh-surface: #101620;
  --rh-surface-2: #151d29;
  --rh-surface-3: #1b2533;
  --rh-text: #f6f7f2;
  --rh-muted: #a5aebd;
  --rh-dim: #747f91;
  --rh-line: rgba(255, 255, 255, .09);
  --rh-line-strong: rgba(255, 255, 255, .16);
  --rh-orange: #ff6b35;
  --rh-yellow: #ffc857;
  --rh-lime: #b7f34a;
  --rh-cyan: #57d8ff;
  --rh-danger: #ff5f6d;
  --rh-radius-sm: 12px;
  --rh-radius: 18px;
  --rh-radius-lg: 28px;
  --rh-max: 1240px;
  --rh-shadow: 0 24px 70px rgba(0, 0, 0, .38);
  --rh-font: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  --rh-mono: "IBM Plex Mono", "Cascadia Code", Consolas, monospace;
  --rh-accent: #b7f34a;
  --rh-accent-2: #57d8ff;
  --rh-theme-glow: rgba(183, 243, 74, .2);
}

body[data-rh-theme="pokemon"] { --rh-accent:#b7f34a; --rh-accent-2:#a66cff; --rh-theme-glow:rgba(166,108,255,.26); }
body[data-rh-theme="crystal"] { --rh-accent:#7fe8ff; --rh-accent-2:#d8b45c; --rh-theme-glow:rgba(90,191,255,.24); }
body[data-rh-theme="ember"] { --rh-accent:#ffbd69; --rh-accent-2:#ff5364; --rh-theme-glow:rgba(255,83,100,.24); }
body[data-rh-theme="hyrule"] { --rh-accent:#9bea72; --rh-accent-2:#f3c55b; --rh-theme-glow:rgba(84,203,119,.24); }
body[data-rh-theme="nebula"] { --rh-accent:#ff7b3f; --rh-accent-2:#56d8ff; --rh-theme-glow:rgba(255,90,42,.25); }
body[data-rh-theme="arcade"] { --rh-accent:#ff5b61; --rh-accent-2:#62a7ff; --rh-theme-glow:rgba(255,70,79,.24); }
body[data-rh-theme="chakra"] { --rh-accent:#ff9b42; --rh-accent-2:#9d6cff; --rh-theme-glow:rgba(255,139,50,.24); }
body[data-rh-theme="dragon"] { --rh-accent:#ff9f32; --rh-accent-2:#4aa7ff; --rh-theme-glow:rgba(255,137,36,.24); }
body[data-rh-theme="vault"] { --rh-accent:#b7f34a; --rh-accent-2:#57d8ff; --rh-theme-glow:rgba(87,216,255,.2); }

body[data-rh-theme] {
  --rh-lime: var(--rh-accent);
  --rh-cyan: var(--rh-accent-2);
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
  background: var(--rh-ink);
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--rh-text) !important;
  font-family: var(--rh-font) !important;
  line-height: 1.65;
  background:
    radial-gradient(900px 520px at 12% -10%, rgba(255, 107, 53, .14), transparent 68%),
    radial-gradient(720px 520px at 98% 18%, rgba(87, 216, 255, .08), transparent 64%),
    linear-gradient(180deg, var(--rh-ink), var(--rh-ink-2) 52%, var(--rh-ink)) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .022;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

img { max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
::selection { color: #071009; background: var(--rh-lime); }

:focus-visible {
  outline: 3px solid var(--rh-cyan) !important;
  outline-offset: 3px;
}

.rh-skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 10000;
  padding: 10px 14px;
  color: #071009;
  background: var(--rh-lime);
  border-radius: 10px;
  font-weight: 800;
  transform: translateY(-150%);
}

.rh-skip-link:focus { transform: translateY(0); }

/* Unified site chrome */
.rh-shell {
  position: sticky;
  top: 0;
  z-index: 5000;
  border-bottom: 1px solid var(--rh-line);
  background: rgba(7, 9, 13, .82);
  backdrop-filter: blur(18px) saturate(1.35);
}

.rh-shell__inner {
  width: min(calc(100% - 32px), var(--rh-max));
  min-height: 72px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 24px;
}

.rh-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  flex: 0 0 auto;
  text-decoration: none;
}

.rh-brand__mark {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #0d1117;
  font: 900 13px/1 var(--rh-mono);
  border-radius: 14px;
  background: linear-gradient(135deg, var(--rh-lime), var(--rh-yellow));
  box-shadow: 0 0 30px rgba(183, 243, 74, .16);
}

.rh-brand__mark::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(7, 9, 13, .25);
  border-radius: 10px;
}

.rh-brand__name {
  color: var(--rh-text);
  font-size: 19px;
  font-weight: 850;
  letter-spacing: -.035em;
}

.rh-brand__name span { color: var(--rh-lime); }

.rh-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 4px;
}

.rh-nav a,
.rh-nav button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 0 13px;
  color: var(--rh-muted);
  border: 0;
  border-radius: 12px;
  background: transparent;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: color .2s, background .2s, transform .2s;
}

.rh-nav a:hover,
.rh-nav button:hover {
  color: var(--rh-text);
  background: rgba(255, 255, 255, .055);
}

.rh-nav__search kbd {
  padding: 2px 6px;
  color: var(--rh-dim);
  border: 1px solid var(--rh-line);
  border-radius: 6px;
  font: 600 10px/1.4 var(--rh-mono);
}

.rh-nav .rh-nav__play {
  margin-left: 6px;
  padding-inline: 16px;
  color: #091006;
  background: var(--rh-lime);
  box-shadow: 0 8px 28px rgba(183, 243, 74, .12);
}

.rh-nav .rh-nav__play:hover {
  color: #091006;
  background: #c8ff68;
  transform: translateY(-1px);
}

.rh-menu-button { display: none !important; }

html.rh-enhanced body > .topbar,
html.rh-enhanced body > .topnav,
html.rh-enhanced body > .site-header,
html.rh-enhanced body > header.header,
html.rh-enhanced body > header:not(.rh-shell) { display: none !important; }

html.rh-enhanced body > footer:not(.rh-site-footer),
html.rh-enhanced body > .site-footer { display: none !important; }

.rh-site-footer {
  position: relative;
  margin-top: 80px;
  border-top: 1px solid var(--rh-line);
  background: rgba(5, 7, 10, .72);
}

.rh-site-footer__inner {
  width: min(calc(100% - 32px), var(--rh-max));
  margin: auto;
  padding: 42px 0 34px;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 28px;
}

.rh-site-footer p {
  max-width: 520px;
  margin: 12px 0 0;
  color: var(--rh-muted);
  font-size: 14px;
}

.rh-footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 10px 28px;
}

.rh-footer-links a {
  color: var(--rh-muted);
  text-decoration: none;
  font-size: 14px;
}

.rh-footer-links a:hover { color: var(--rh-lime); }

.rh-footer-bottom {
  grid-column: 1 / -1;
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--rh-dim);
  border-top: 1px solid var(--rh-line);
  font: 600 11px/1.5 var(--rh-mono);
  text-transform: uppercase;
  letter-spacing: .07em;
}

/* Shared legacy-page upgrade layer */
html.rh-enhanced .container,
html.rh-enhanced .wrap,
html.rh-enhanced .content-wrap,
html.rh-enhanced .page-wrap,
html.rh-enhanced main {
  width: min(calc(100% - 32px), var(--rh-max));
  margin-inline: auto;
}

html.rh-enhanced main { min-height: 55vh; }
html.rh-enhanced main,
html.rh-enhanced .content-grid > *,
html.rh-enhanced .page-grid > *,
html.rh-enhanced .article-grid > *,
html.rh-enhanced .layout > * { min-width: 0; }

/* Breadcrumbs injected into legacy two-column grids must occupy their own row. */
html.rh-enhanced .content-grid > .rh-breadcrumbs,
html.rh-enhanced .page-grid > .rh-breadcrumbs,
html.rh-enhanced .article-grid > .rh-breadcrumbs,
html.rh-enhanced .layout > .rh-breadcrumbs,
html.rh-enhanced .grid > .rh-breadcrumbs,
html.rh-enhanced .main-grid > .rh-breadcrumbs,
html.rh-enhanced .top-grid > .rh-breadcrumbs {
  width: 100%;
  max-width: none;
  margin: 0;
  grid-column: 1 / -1;
}

html.rh-enhanced .content-grid > main,
html.rh-enhanced .page-grid > main,
html.rh-enhanced .article-grid > main,
html.rh-enhanced .layout > main,
html.rh-enhanced .grid > main,
html.rh-enhanced .main-grid > main,
html.rh-enhanced .top-grid > main,
html.rh-enhanced .content-grid > article,
html.rh-enhanced .page-grid > article,
html.rh-enhanced .article-grid > article,
html.rh-enhanced .layout > article,
html.rh-enhanced .grid > article,
html.rh-enhanced .main-grid > article,
html.rh-enhanced .top-grid > article {
  width: 100%;
  margin-inline: 0;
}

html.rh-enhanced h1,
html.rh-enhanced h2,
html.rh-enhanced h3,
html.rh-enhanced h4 {
  color: var(--rh-text);
  font-family: var(--rh-font) !important;
  text-wrap: balance;
}

html.rh-enhanced h1 {
  letter-spacing: -.055em;
  line-height: .98;
}

html.rh-enhanced h2 {
  letter-spacing: -.035em;
  line-height: 1.08;
}

html.rh-enhanced p { text-wrap: pretty; }

html.rh-enhanced .hero {
  border-bottom: 1px solid var(--rh-line);
}

html.rh-enhanced .hero,
html.rh-enhanced .hero-section {
  position: relative;
  background:
    radial-gradient(700px 420px at 85% 10%, rgba(87, 216, 255, .09), transparent 65%),
    radial-gradient(620px 380px at 10% 0%, rgba(255, 107, 53, .13), transparent 62%);
}

html.rh-enhanced .eyebrow,
html.rh-enhanced .kicker,
html.rh-enhanced .hero-eyebrow,
html.rh-enhanced .section-label,
html.rh-enhanced .badge {
  color: var(--rh-lime) !important;
  font-family: var(--rh-mono) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}

html.rh-enhanced .panel,
html.rh-enhanced .card,
html.rh-enhanced .meta-card,
html.rh-enhanced .feature,
html.rh-enhanced .fact-card,
html.rh-enhanced .sidebar-card,
html.rh-enhanced .toc-card,
html.rh-enhanced .callout,
html.rh-enhanced .faq-item {
  border-color: var(--rh-line) !important;
  background: linear-gradient(145deg, rgba(24, 32, 44, .88), rgba(13, 18, 26, .9)) !important;
  box-shadow: none !important;
}

html.rh-enhanced a.card:hover,
html.rh-enhanced .game-card:hover,
html.rh-enhanced .top10-card:hover,
html.rh-enhanced .similar-card:hover {
  border-color: rgba(183, 243, 74, .34) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28) !important;
  transform: translateY(-4px);
}

html.rh-enhanced .btn,
html.rh-enhanced .btn-primary,
html.rh-enhanced .play-btn,
html.rh-enhanced .btn-download,
html.rh-enhanced a.primary {
  border-radius: 12px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}

html.rh-enhanced .btn-primary,
html.rh-enhanced .play-btn,
html.rh-enhanced a.primary {
  color: #091006 !important;
  border-color: var(--rh-lime) !important;
  background: var(--rh-lime) !important;
  box-shadow: 0 12px 34px rgba(183, 243, 74, .11) !important;
}

html.rh-enhanced .btn-primary:hover,
html.rh-enhanced .play-btn:hover,
html.rh-enhanced a.primary:hover {
  color: #091006 !important;
  background: #c9ff6c !important;
}

html.rh-enhanced .btn-ghost,
html.rh-enhanced .btn-secondary {
  color: var(--rh-text) !important;
  border-color: var(--rh-line-strong) !important;
  background: rgba(255, 255, 255, .045) !important;
}

html.rh-enhanced .chip,
html.rh-enhanced .pill,
html.rh-enhanced .tag,
html.rh-enhanced .filter-pill {
  color: var(--rh-muted) !important;
  border-color: var(--rh-line) !important;
  background: rgba(255, 255, 255, .04) !important;
}

html.rh-enhanced table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid var(--rh-line);
  border-radius: var(--rh-radius);
  background: rgba(14, 19, 27, .8);
}

html.rh-enhanced th,
html.rh-enhanced td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--rh-line);
  text-align: left;
}

html.rh-enhanced th {
  color: var(--rh-lime);
  font: 800 11px/1.4 var(--rh-mono);
  text-transform: uppercase;
  letter-spacing: .07em;
}

html.rh-enhanced blockquote {
  margin-inline: 0;
  padding: 18px 22px;
  color: var(--rh-muted);
  border-left: 3px solid var(--rh-lime);
  border-radius: 0 var(--rh-radius-sm) var(--rh-radius-sm) 0;
  background: rgba(183, 243, 74, .05);
}

html.rh-enhanced input[type="search"],
html.rh-enhanced input[type="text"] {
  color: var(--rh-text) !important;
  border-color: var(--rh-line-strong) !important;
  background: rgba(7, 10, 15, .82) !important;
}

html.rh-enhanced .ad-label,
html.rh-enhanced .rh-ad-label {
  color: var(--rh-dim) !important;
  font: 700 9px/1.5 var(--rh-mono) !important;
  letter-spacing: .14em !important;
}

html.rh-enhanced .ad-rail:has(.ad-wrap:not(:has(*))),
html.rh-enhanced .ad-shell:has(.ad-wrap:not(:has(*))),
html.rh-enhanced .rh-ad-shell:has(.rh-ad-wrap:not(:has(*))) {
  display: none !important;
}

/* Global search */
.rh-search {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: none;
  place-items: start center;
  padding: min(14vh, 120px) 16px 30px;
  background: rgba(2, 4, 7, .76);
  backdrop-filter: blur(15px);
}

.rh-search[data-open="true"] { display: grid; }

.rh-search__panel {
  width: min(720px, 100%);
  max-height: min(720px, 76vh);
  overflow: hidden;
  border: 1px solid var(--rh-line-strong);
  border-radius: 24px;
  background: #0d121a;
  box-shadow: 0 40px 110px rgba(0, 0, 0, .64);
}

.rh-search__input-wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--rh-line);
}

.rh-search__input-wrap span { color: var(--rh-lime); }

.rh-search input {
  width: 100%;
  padding: 0;
  color: var(--rh-text);
  border: 0;
  outline: 0;
  background: transparent;
  font-size: clamp(17px, 3vw, 22px);
}

.rh-search__close {
  width: 34px;
  height: 34px;
  color: var(--rh-muted);
  border: 1px solid var(--rh-line);
  border-radius: 9px;
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
}

.rh-search__results {
  max-height: calc(min(720px, 76vh) - 75px);
  overflow: auto;
  padding: 10px;
}

.rh-search__result {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 13px;
  align-items: center;
  padding: 11px;
  color: var(--rh-text);
  border: 1px solid transparent;
  border-radius: 14px;
  text-decoration: none;
}

.rh-search__result:hover,
.rh-search__result:focus {
  border-color: var(--rh-line);
  background: rgba(255, 255, 255, .05);
}

.rh-search__glyph {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: #11180a;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--rh-lime), var(--rh-yellow));
  font: 900 17px/1 var(--rh-mono);
  font-style: normal;
}

.rh-search__result strong { display: block; font-size: 14px; }
.rh-search__result small { color: var(--rh-muted); }
.rh-search__result em { color: var(--rh-dim); font: 700 10px/1 var(--rh-mono); font-style: normal; text-transform: uppercase; }
.rh-search__empty { padding: 40px 20px; color: var(--rh-muted); text-align: center; }

/* Future pages created by generate_pages_auto.js */
.rh-generated-game {
  width: min(calc(100% - 32px), 1080px) !important;
  padding-block: clamp(48px, 8vw, 96px);
}

.rh-generated-game__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .65fr);
  gap: clamp(28px, 6vw, 72px);
  align-items: center;
}

.rh-generated-game__hero h1 {
  margin: 12px 0 18px;
  font-size: clamp(50px, 9vw, 96px);
}

.rh-generated-game__hero p { max-width: 660px; color: var(--rh-muted); font-size: 18px; }

.rh-generated-game__hero img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border: 1px solid var(--rh-line-strong);
  border-radius: 26px;
  box-shadow: var(--rh-shadow);
}

.rh-generated-game__info {
  margin-top: 70px;
  padding: clamp(24px, 5vw, 46px);
  border: 1px solid var(--rh-line);
  border-radius: var(--rh-radius-lg);
  background: var(--rh-surface);
}

.rh-generated-game__info h2 { margin-top: 0; }
.rh-generated-game__info p { margin-bottom: 0; color: var(--rh-muted); }

/* Homepage */
html.rh-enhanced main.rh-home { width: 100%; max-width: none; margin: 0; }
.rh-home .rh-frame { width: min(calc(100% - 32px), var(--rh-max)); margin-inline: auto; }

.rh-home-hero {
  position: relative;
  overflow: hidden;
  min-height: min(810px, calc(100vh - 72px));
  display: grid;
  align-items: center;
  border-bottom: 1px solid var(--rh-line);
}

.rh-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to bottom, black, transparent 84%);
}

.rh-home-hero__inner {
  position: relative;
  z-index: 1;
  padding-block: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(40px, 7vw, 96px);
  align-items: center;
}

.rh-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 24px;
  color: var(--rh-lime);
  font: 800 11px/1.4 var(--rh-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.rh-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rh-lime);
  box-shadow: 0 0 0 6px rgba(183, 243, 74, .1), 0 0 22px var(--rh-lime);
}

.rh-home-hero h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(4rem, 8.6vw, 8.3rem);
  line-height: .82;
  letter-spacing: -.075em;
}

.rh-home-hero h1 span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px rgba(246, 247, 242, .52);
}

.rh-home-hero__lede {
  max-width: 610px;
  margin: 30px 0 0;
  color: var(--rh-muted);
  font-size: clamp(17px, 2vw, 21px);
}

.rh-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.rh-action {
  min-height: 52px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid var(--rh-line-strong);
  border-radius: 14px;
  color: var(--rh-text);
  background: rgba(255, 255, 255, .045);
  text-decoration: none;
  font-weight: 800;
  cursor: pointer;
}

.rh-action--primary { color: #091006; border-color: var(--rh-lime); background: var(--rh-lime); }
.rh-action:hover { transform: translateY(-2px); }

.rh-hero-deck { position: relative; min-height: 540px; }

.rh-featured-game {
  position: absolute;
  inset: 0 50px 40px 0;
  overflow: hidden;
  border: 1px solid var(--rh-line-strong);
  border-radius: 32px;
  background: var(--rh-surface);
  box-shadow: var(--rh-shadow);
  transform: rotate(1.8deg);
}

.rh-featured-game > img { width: 100%; height: 100%; object-fit: cover; }

.rh-featured-game::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(4, 7, 10, .98), rgba(4, 7, 10, .1) 65%);
}

.rh-featured-game__copy { position: absolute; z-index: 1; inset: auto 26px 26px; }
.rh-featured-game__copy small { color: var(--rh-lime); font: 800 10px/1.4 var(--rh-mono); letter-spacing: .1em; text-transform: uppercase; }
.rh-featured-game__copy h2 { margin: 7px 0 4px; font-size: clamp(30px, 5vw, 50px); line-height: .98; letter-spacing: -.05em; }
.rh-featured-game__copy p { margin: 0; color: #c9cfda; }

.rh-deck-chip {
  position: absolute;
  z-index: 3;
  right: 0;
  padding: 13px 16px;
  border: 1px solid var(--rh-line-strong);
  border-radius: 14px;
  color: var(--rh-text);
  background: rgba(12, 17, 24, .94);
  box-shadow: 0 18px 45px rgba(0,0,0,.32);
  font: 700 12px/1.35 var(--rh-mono);
}

.rh-deck-chip--top { top: 64px; }
.rh-deck-chip--bottom { bottom: 84px; }
.rh-deck-chip b { color: var(--rh-lime); }

.rh-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 44px;
  border-top: 1px solid var(--rh-line);
  border-bottom: 1px solid var(--rh-line);
}

.rh-metric { padding: 17px 18px 17px 0; }
.rh-metric + .rh-metric { padding-left: 18px; border-left: 1px solid var(--rh-line); }
.rh-metric strong { display: block; font-size: 20px; }
.rh-metric span { color: var(--rh-dim); font: 700 10px/1.4 var(--rh-mono); text-transform: uppercase; letter-spacing: .08em; }

.rh-section { padding-block: clamp(66px, 9vw, 116px); }
.rh-section + .rh-section { border-top: 1px solid var(--rh-line); }
.rh-section-head { margin-bottom: 32px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.rh-section-head__copy { max-width: 680px; }
.rh-section-head h2 { margin: 8px 0 0; font-size: clamp(38px, 6vw, 68px); line-height: .96; letter-spacing: -.06em; }
.rh-section-head p { margin: 16px 0 0; color: var(--rh-muted); }
.rh-mono-label { color: var(--rh-lime); font: 800 10px/1.4 var(--rh-mono); letter-spacing: .11em; text-transform: uppercase; }

.rh-game-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }

.rh-game-tile {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  color: var(--rh-text);
  border: 1px solid var(--rh-line);
  border-radius: 22px;
  background: var(--rh-surface);
  text-decoration: none;
  transition: transform .25s, border-color .25s;
}

.rh-game-tile:hover { transform: translateY(-6px); border-color: rgba(183, 243, 74, .35); }
.rh-game-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.rh-game-tile:hover img { transform: scale(1.04); }
.rh-game-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5, 8, 12, .97), transparent 64%); }
.rh-game-tile__copy { position: absolute; z-index: 2; inset: auto 18px 18px; }
.rh-game-tile__copy small { color: var(--rh-lime); font: 800 9px/1.4 var(--rh-mono); text-transform: uppercase; letter-spacing: .09em; }
.rh-game-tile__copy h3 { margin: 5px 0 3px; font-size: 21px; letter-spacing: -.035em; }
.rh-game-tile__copy p { margin: 0; color: #b7bfcc; font-size: 13px; }

.rh-universe-grid { display: grid; grid-template-columns: 1.45fr repeat(2, 1fr); gap: 14px; }
.rh-universe-card {
  position: relative;
  min-height: 270px;
  overflow: hidden;
  border: 1px solid var(--rh-line);
  border-radius: 24px;
  text-decoration: none;
  background: var(--rh-surface);
}
.rh-universe-card:first-child { grid-row: span 2; }
.rh-universe-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) brightness(.68); transition: transform .5s, filter .3s; }
.rh-universe-card:hover img { transform: scale(1.045); filter: saturate(1.05) brightness(.78); }
.rh-universe-card::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(4,7,10,.98),transparent 66%); }
.rh-universe-card__copy { position:absolute; z-index:2; inset:auto 22px 22px; }
.rh-universe-card__copy h3 { margin:0; font-size:clamp(24px,3vw,38px); letter-spacing:-.045em; }
.rh-universe-card__copy p { max-width:420px; margin:7px 0 0; color:#c3cad5; font-size:14px; }

.rh-handheld-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  overflow: hidden;
  border: 1px solid var(--rh-line-strong);
  border-radius: 30px;
  background: linear-gradient(135deg, #13202a, #11171f);
}
.rh-handheld-banner__copy { padding: clamp(30px, 6vw, 68px); }
.rh-handheld-banner__copy h2 { margin: 10px 0 14px; font-size: clamp(40px, 6vw, 72px); line-height: .92; letter-spacing: -.065em; }
.rh-handheld-banner__copy p { max-width: 590px; color: var(--rh-muted); }
.rh-handheld-banner__image { position: relative; min-height: 440px; }
.rh-handheld-banner__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rh-handheld-banner__image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#13202a,transparent 45%); }

.rh-home-footer-note { color: var(--rh-dim); font: 700 11px/1.6 var(--rh-mono); }

@media (max-width: 980px) {
  .rh-nav a:not(.rh-nav__play), .rh-nav .rh-nav__search { display: none; }
  .rh-menu-button { display: inline-flex !important; }
  .rh-nav[data-open="true"] {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    padding: 12px 16px 18px;
    display: grid;
    background: #090d13;
    border-bottom: 1px solid var(--rh-line);
  }
  .rh-nav[data-open="true"] a:not(.rh-nav__play), .rh-nav[data-open="true"] .rh-nav__search { display: flex; }
  .rh-nav[data-open="true"] .rh-nav__play { margin-left: 0; }
  .rh-home-hero__inner { grid-template-columns: 1fr; }
  .rh-hero-deck { width: min(620px, 100%); margin-inline: auto; }
  .rh-game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rh-universe-grid { grid-template-columns: repeat(2, 1fr); }
  .rh-universe-card:first-child { grid-column: 1 / -1; grid-row: auto; }
}

@media (max-width: 720px) {
  .rh-shell__inner { width: min(calc(100% - 22px), var(--rh-max)); min-height: 64px; }
  .rh-brand__mark { width: 38px; height: 38px; border-radius: 12px; }
  .rh-brand__name { font-size: 17px; }
  .rh-nav .rh-nav__play { display: none; }
  .rh-nav[data-open="true"] .rh-nav__play { display: flex; }
  .rh-site-footer__inner { grid-template-columns: 1fr; }
  .rh-footer-bottom { flex-direction: column; }
  .rh-home-hero { min-height: auto; }
  .rh-home-hero__inner { padding-block: 56px; }
  .rh-home-hero h1 { font-size: clamp(3.8rem, 20vw, 6.3rem); }
  .rh-home-hero__lede { margin-top: 24px; }
  .rh-hero-deck { min-height: 450px; }
  .rh-featured-game { inset: 0 18px 30px 0; border-radius: 24px; }
  .rh-deck-chip { right: -3px; }
  .rh-deck-chip--top { top: 38px; }
  .rh-deck-chip--bottom { bottom: 60px; }
  .rh-metrics { grid-template-columns: 1fr; }
  .rh-metric + .rh-metric { padding-left: 0; border-left: 0; border-top: 1px solid var(--rh-line); }
  .rh-section-head { align-items: start; flex-direction: column; }
  .rh-game-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rh-game-tile { min-height: 300px; }
  .rh-universe-grid { grid-template-columns: 1fr; }
  .rh-universe-card:first-child { grid-column: auto; min-height: 330px; }
  .rh-handheld-banner { grid-template-columns: 1fr; }
  .rh-handheld-banner__image { min-height: 320px; order: -1; }
  .rh-handheld-banner__image::after { background: linear-gradient(to top, #13202a, transparent 45%); }
  html.rh-enhanced table { display: block; overflow-x: auto; white-space: nowrap; }
  html.rh-enhanced .content-grid,
  html.rh-enhanced .page-grid,
  html.rh-enhanced .article-grid,
  html.rh-enhanced .layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html.rh-enhanced main,
  html.rh-enhanced .panel,
  html.rh-enhanced .sidebar-stack,
  html.rh-enhanced .sidebar-card,
  html.rh-enhanced .content,
  html.rh-enhanced article,
  html.rh-enhanced section {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html.rh-enhanced a,
  html.rh-enhanced code,
  html.rh-enhanced pre { overflow-wrap: anywhere; }
  .rh-generated-game__hero { grid-template-columns: 1fr; }
  .rh-generated-game__hero img { max-width: 390px; order: -1; }
}

@media (max-width: 440px) {
  .rh-game-grid { grid-template-columns: 1fr; }
  .rh-game-tile { min-height: 350px; }
  .rh-actions { display: grid; }
  .rh-action { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Homepage 2026: image-independent, fast and resilient */
.rh-home-2026 {
  --launch-lime: #c8ff45;
  --launch-cyan: #5be7ff;
  --launch-violet: #a687ff;
  overflow-x: hidden;
  background:
    radial-gradient(900px 600px at 78% 4%, rgba(91, 231, 255, .1), transparent 65%),
    radial-gradient(700px 520px at 9% 18%, rgba(200, 255, 69, .08), transparent 68%),
    #07090d !important;
}

.rh-home-2026 .rh-site-footer { margin-top: 0; }
.rh-launch { overflow: hidden; }
.rh-launch-hero { position: relative; padding: clamp(70px, 9vw, 132px) 0 0; }
.rh-launch-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 82%);
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}

.rh-launch-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  align-items: center;
  gap: clamp(44px, 7vw, 100px);
}

.rh-live-pill {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  color: #b8c0cd;
  border: 1px solid var(--rh-line);
  border-radius: 999px;
  background: rgba(13, 18, 26, .7);
  font: 700 9px/1 var(--rh-mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.rh-live-pill > span { width: 7px; height: 7px; border-radius: 50%; background: var(--launch-lime); box-shadow: 0 0 14px var(--launch-lime); animation: rh-pulse 2s ease-in-out infinite; }
.rh-live-pill b { color: var(--launch-lime); }

.rh-launch-copy h1 {
  max-width: 800px;
  margin: 24px 0 0;
  font-size: clamp(4rem, 7.7vw, 7.8rem);
  line-height: .84;
  letter-spacing: -.077em;
}
.rh-launch-copy h1 em { display: block; color: var(--launch-lime); font-style: normal; text-shadow: 0 0 50px rgba(200,255,69,.12); }
.rh-launch-copy > p { max-width: 650px; margin: 30px 0 0; color: var(--rh-muted); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.55; }
.rh-launch-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 32px; }
.rh-launch-button {
  min-height: 52px;
  padding: 0 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: var(--rh-text);
  border: 1px solid var(--rh-line-strong);
  border-radius: 13px;
  background: rgba(255,255,255,.045);
  text-decoration: none;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s, border-color .2s, background .2s;
}
.rh-launch-button:hover { transform: translateY(-2px); border-color: rgba(200,255,69,.45); }
.rh-launch-button--hot { color:#0a0e07; border-color:var(--launch-lime,var(--rh-lime)); background:var(--launch-lime,var(--rh-lime)); box-shadow:0 14px 40px rgba(200,255,69,.12); }
.rh-launch-button--hot:hover { background: #d4ff6a; }
.rh-launch-button kbd { padding: 3px 7px; color: #24300f; border: 1px solid rgba(9,14,7,.2); border-radius: 6px; font: 700 9px/1.4 var(--rh-mono); }
.rh-launch-proof { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 10px 28px; color: var(--rh-dim); font: 700 10px/1.4 var(--rh-mono); letter-spacing: .05em; text-transform: uppercase; }
.rh-launch-proof span { display: flex; gap: 9px; align-items: center; }
.rh-launch-proof i { color: var(--launch-lime); font-style: normal; }

.rh-vault { min-width: 0; padding: 1px; border-radius: 24px; background: linear-gradient(135deg, rgba(200,255,69,.65), rgba(91,231,255,.12) 42%, rgba(255,255,255,.12)); box-shadow: 0 36px 100px rgba(0,0,0,.42), 0 0 70px rgba(91,231,255,.05); transform: rotate(1deg); }
.rh-vault__bar { min-height: 48px; padding: 0 17px; display: flex; align-items: center; gap: 15px; color: #687487; border-radius: 23px 23px 0 0; background: #0c1118; font: 700 8px/1 var(--rh-mono); letter-spacing: .08em; }
.rh-vault__bar > span { display: flex; gap: 5px; }
.rh-vault__bar i { width: 7px; height: 7px; border-radius: 50%; background: #27303d; }
.rh-vault__bar i:first-child { background: #ff6b5e; }
.rh-vault__bar i:nth-child(2) { background: #ffc857; }
.rh-vault__bar i:last-child { background: var(--launch-lime); }
.rh-vault__bar b { margin-right: auto; }
.rh-vault__bar em { color: var(--launch-lime); font-style: normal; }
.rh-vault__screen { position: relative; overflow: hidden; padding: clamp(24px, 4vw, 38px); border-radius: 0 0 23px 23px; background: linear-gradient(145deg, #0d141c, #090d13); }
.rh-vault__screen::before { content:""; position:absolute; width:260px; height:260px; right:-100px; top:-110px; border-radius:50%; background:rgba(91,231,255,.08); filter:blur(16px); }
.rh-vault__scan { position:absolute; inset:0; opacity:.03; pointer-events:none; background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,#fff 4px); }
.rh-vault__prompt { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.rh-vault__prompt span { color: var(--launch-lime); font: 700 9px/1.4 var(--rh-mono); letter-spacing: .09em; text-transform: uppercase; }
.rh-vault__prompt strong { max-width: 210px; text-align: right; font-size: 22px; line-height: 1.05; letter-spacing: -.04em; }
.rh-vibe-row { position: relative; margin-top: 26px; display: grid; gap: 8px; }
.rh-vibe-row a { min-width: 0; min-height: 67px; padding: 0 15px; display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 13px; color: var(--rh-text); border: 1px solid var(--rh-line); border-radius: 13px; background: rgba(255,255,255,.025); text-decoration: none; transition: transform .2s, border-color .2s, background .2s; }
.rh-vibe-row a:hover { transform: translateX(5px); border-color: rgba(200,255,69,.36); background: rgba(200,255,69,.055); }
.rh-vibe-row b { color: var(--launch-lime); font: 700 9px/1.4 var(--rh-mono); text-transform: uppercase; }
.rh-vibe-row span { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rh-vibe-row i { color: #505c6c; font: 700 11px/1 var(--rh-mono); font-style: normal; }
.rh-vault__footer { margin-top: 19px; padding-top: 16px; display: flex; justify-content: space-between; gap: 10px; color: #5f6b7d; border-top: 1px solid var(--rh-line); font: 700 8px/1.4 var(--rh-mono); text-transform: uppercase; }

.rh-launch-ticker { position: relative; z-index: 2; margin-top: clamp(70px,9vw,120px); overflow: hidden; border-block: 1px solid var(--rh-line); background: rgba(255,255,255,.025); }
.rh-launch-ticker div { width: max-content; padding: 15px 0; color: #5f6876; font: 700 10px/1 var(--rh-mono); letter-spacing: .14em; white-space: nowrap; animation: rh-ticker 24s linear infinite; }
.rh-launch-ticker span { padding: 0 26px; color: var(--launch-lime); }

.rh-launch-section { position: relative; padding: clamp(76px, 10vw, 132px) 0; }
.rh-launch-section + .rh-launch-section { border-top: 1px solid var(--rh-line); }
.rh-launch-heading { margin-bottom: 34px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.rh-launch-heading h2, .rh-signal-copy h2, .rh-pocket__copy h2 { margin: 8px 0 0; font-size: clamp(42px, 6vw, 74px); line-height: .92; letter-spacing: -.065em; }
.rh-launch-heading > p { max-width: 470px; margin: 0; color: var(--rh-muted); }
.rh-kicker { color:var(--launch-lime,var(--rh-lime)); font:700 9px/1.4 var(--rh-mono); letter-spacing:.12em; text-transform:uppercase; }

.rh-world-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; }
.rh-world { --accent: var(--launch-lime); position:relative; min-height: 245px; padding: 21px; display:flex; flex-direction:column; overflow:hidden; color:var(--rh-text); border:1px solid var(--rh-line); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); text-decoration:none; transition:transform .25s,border-color .25s; }
.rh-world::before { content:""; position:absolute; width:180px; height:180px; right:-90px; top:-90px; border-radius:50%; background:var(--accent); opacity:.08; filter:blur(10px); transition:opacity .25s,transform .4s; }
.rh-world:hover { transform:translateY(-6px); border-color:color-mix(in srgb,var(--accent) 40%,transparent); }
.rh-world:hover::before { opacity:.16; transform:scale(1.2); }
.rh-world:first-child { grid-column:span 2; }
.rh-world:nth-child(2),.rh-world:nth-child(3),.rh-world:nth-child(4),.rh-world:nth-child(5) { grid-column:span 1; }
.rh-world > span { color:#647082; font:700 9px/1 var(--rh-mono); }
.rh-world > strong { margin-top:40px; font-size:clamp(23px,2.2vw,32px); line-height:1; letter-spacing:-.045em; }
.rh-world p { margin:12px 0 24px; color:var(--rh-muted); font-size:13px; line-height:1.5; }
.rh-world > b { margin-top:auto; color:var(--accent); font:700 9px/1.4 var(--rh-mono); text-transform:uppercase; }
.rh-world--cyan { --accent:var(--launch-cyan); }
.rh-world--orange { --accent:#ff8b4a; }
.rh-world--violet { --accent:var(--launch-violet); }
.rh-world--red { --accent:#ff6375; }

.rh-launch-section--signal { background:rgba(255,255,255,.018); }
.rh-signal-grid { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:clamp(46px,9vw,130px); align-items:start; }
.rh-signal-copy p { max-width:500px; margin:22px 0 0; color:var(--rh-muted); font-size:17px; }
.rh-text-link { margin-top:28px; display:inline-flex; gap:14px; color:var(--launch-lime); text-decoration:none; font-weight:800; }
.rh-rank-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--rh-line); }
.rh-rank-list li { border-bottom:1px solid var(--rh-line); }
.rh-rank-list a { min-height:94px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:18px; color:var(--rh-text); text-decoration:none; transition:padding .2s,background .2s; }
.rh-rank-list a:hover { padding-inline:12px; background:rgba(200,255,69,.035); }
.rh-rank-list em { color:#566173; font:700 11px/1 var(--rh-mono); font-style:normal; }
.rh-rank-list span { min-width:0; display:grid; }
.rh-rank-list b { font-size:clamp(18px,2vw,24px); letter-spacing:-.03em; }
.rh-rank-list small { margin-top:2px; color:var(--rh-dim); font:700 9px/1.4 var(--rh-mono); text-transform:uppercase; }
.rh-rank-list strong { color:var(--launch-lime); font:700 13px/1 var(--rh-mono); }

.rh-pocket { min-height:430px; display:grid; grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr); overflow:hidden; border:1px solid var(--rh-line-strong); border-radius:30px; background:linear-gradient(135deg,#101923,#0c1017); }
.rh-pocket__art { min-height:400px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle,rgba(91,231,255,.12),transparent 58%); }
.rh-console { position:relative; width:250px; height:350px; padding:30px 28px; border:1px solid rgba(255,255,255,.2); border-radius:32px 32px 52px 32px; background:linear-gradient(145deg,#c8ff45,#83d429); box-shadow:0 40px 80px rgba(0,0,0,.38),inset -12px -12px 25px rgba(0,0,0,.12); transform:rotate(-8deg); }
.rh-console__screen { height:154px; padding:16px; display:grid; place-items:center; color:#bafc41; border:10px solid #27313b; border-radius:12px 12px 30px 12px; background:radial-gradient(circle,#18332c,#081310); box-shadow:inset 0 0 30px rgba(91,231,255,.12); }
.rh-console__screen span { font:700 42px/1 var(--rh-mono); text-shadow:0 0 20px rgba(200,255,69,.6); }
.rh-console__screen b { font:700 8px/1 var(--rh-mono); letter-spacing:.2em; }
.rh-dpad,.rh-dpad::before { position:absolute; width:68px; height:24px; left:31px; bottom:75px; border-radius:5px; background:#27313b; box-shadow:0 4px 8px rgba(0,0,0,.25); }
.rh-dpad::before { content:""; left:22px; bottom:-22px; transform:rotate(90deg); }
.rh-button { position:absolute; width:36px; height:36px; right:34px; bottom:96px; border-radius:50%; background:#1d2630; box-shadow:0 5px 0 #11171e; }
.rh-button--b { right:82px; bottom:72px; }
.rh-pocket__copy { padding:clamp(38px,7vw,90px); align-self:center; }
.rh-pocket__copy p { max-width:600px; margin:21px 0 0; color:var(--rh-muted); font-size:18px; }
.rh-home-legal { max-width:900px; margin:24px auto 0; color:#555f6e; text-align:center; font:700 9px/1.6 var(--rh-mono); }

@keyframes rh-pulse { 50% { opacity:.45; transform:scale(.75); } }
@keyframes rh-ticker { to { transform:translateX(-50%); } }

@media (max-width: 1050px) {
  .rh-launch-hero__grid { grid-template-columns:1fr; }
  .rh-vault { width:min(680px,100%); transform:none; }
  .rh-world-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rh-world:first-child,.rh-world:nth-child(n+2) { grid-column:span 1; }
  .rh-world:last-child { grid-column:1/-1; }
}

@media (max-width: 720px) {
  .rh-launch-hero { padding-top:56px; }
  .rh-launch-copy h1 { font-size:clamp(3.6rem,18vw,6rem); }
  .rh-launch-copy > p { margin-top:24px; }
  .rh-launch-proof { gap:10px 17px; }
  .rh-vault__prompt { align-items:start; flex-direction:column; }
  .rh-vault__prompt strong { text-align:left; }
  .rh-vibe-row a { grid-template-columns:54px minmax(0,1fr) auto; }
  .rh-launch-heading { align-items:start; flex-direction:column; }
  .rh-world-grid { grid-template-columns:1fr; }
  .rh-world:first-child,.rh-world:nth-child(n+2),.rh-world:last-child { grid-column:auto; }
  .rh-world { min-height:210px; }
  .rh-signal-grid { grid-template-columns:1fr; }
  .rh-pocket { grid-template-columns:1fr; }
  .rh-pocket__art { min-height:390px; }
  .rh-pocket__copy { padding-top:18px; }
}

@media (max-width: 440px) {
  .rh-launch-actions { display:grid; }
  .rh-launch-button { width:100%; }
  .rh-launch-proof span { width:100%; }
  .rh-vault__screen { padding:22px 17px; }
  .rh-vault__bar b { display:none; }
  .rh-vault__footer { align-items:start; flex-direction:column; }
  .rh-rank-list a { grid-template-columns:34px minmax(0,1fr) auto; gap:10px; }
  .rh-rank-list small { white-space:normal; }
  .rh-console { transform:scale(.82) rotate(-7deg); }
}

/* Canonical content and directory experience */
.rh-breadcrumbs { width:min(calc(100% - 32px),var(--rh-max)); margin:22px auto 0; display:flex; align-items:center; gap:10px; overflow:hidden; color:var(--rh-dim); font:700 9px/1.4 var(--rh-mono); letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.rh-breadcrumbs a { color:var(--rh-muted); text-decoration:none; }
.rh-breadcrumbs a:hover { color:var(--rh-lime); }
.rh-breadcrumbs i { color:#3b4656; font-style:normal; }
.rh-breadcrumbs span { overflow:hidden; text-overflow:ellipsis; }

.rh-directory,.rh-game-landing { width:min(calc(100% - 32px),var(--rh-max)); margin:auto; padding:clamp(62px,8vw,110px) 0; }
.rh-directory__hero { max-width:950px; padding-bottom:clamp(60px,8vw,100px); }
.rh-directory__hero h1 { margin:13px 0 20px; font-size:clamp(4rem,9vw,8.2rem); line-height:.84; letter-spacing:-.075em; }
.rh-directory__hero p { max-width:720px; margin:0 0 28px; color:var(--rh-muted); font-size:clamp(18px,2vw,22px); }
.rh-directory__section { padding:clamp(58px,7vw,90px) 0; border-top:1px solid var(--rh-line); }
.rh-directory__head { margin-bottom:27px; display:flex; align-items:end; justify-content:space-between; gap:24px; }
.rh-directory__head h2 { margin:8px 0 0; font-size:clamp(36px,5vw,60px); line-height:.94; letter-spacing:-.055em; }
.rh-directory__head>a { color:var(--rh-lime); text-decoration:none; font-weight:800; }
.rh-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.rh-directory-grid>a { min-height:260px; padding:24px; display:flex; flex-direction:column; color:var(--rh-text); border:1px solid var(--rh-line); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); text-decoration:none; transition:transform .22s,border-color .22s; }
.rh-directory-grid>a:hover { transform:translateY(-5px); border-color:rgba(183,243,74,.38); }
.rh-directory-grid small { color:var(--rh-lime); font:700 9px/1.4 var(--rh-mono); letter-spacing:.08em; text-transform:uppercase; }
.rh-directory-grid strong { margin-top:30px; font-size:clamp(22px,2.3vw,32px); line-height:1.02; letter-spacing:-.04em; }
.rh-directory-grid p { color:var(--rh-muted); font-size:14px; }
.rh-directory-grid span { margin-top:auto; color:var(--rh-lime); font:700 9px/1.4 var(--rh-mono); text-transform:uppercase; }
.rh-directory-grid--compact>a { min-height:190px; }

.rh-game-landing__hero { position:relative; isolation:isolate; min-height:580px; padding:clamp(34px,6vw,72px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); align-items:center; gap:clamp(38px,7vw,90px); overflow:hidden; border:1px solid color-mix(in srgb,var(--rh-accent) 22%,rgba(255,255,255,.12)); border-radius:30px; background:radial-gradient(680px 440px at 88% 8%,var(--rh-theme-glow),transparent 66%),linear-gradient(145deg,#111923,#080c12); box-shadow:0 42px 110px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.04); }
.rh-game-landing__hero::before { content:""; position:absolute; z-index:-2; inset:-8% -4% -8% 47%; background-image:var(--rh-cover-image); background-size:cover; background-position:center; opacity:.3; filter:saturate(1.2) contrast(1.04); transform:rotate(2deg) scale(1.05); -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 34%,#000 100%); mask-image:linear-gradient(90deg,transparent 0%,#000 34%,#000 100%); }
.rh-game-landing__hero::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(6,9,13,.98) 0%,rgba(6,9,13,.88) 39%,rgba(6,9,13,.28) 74%,rgba(6,9,13,.62) 100%),linear-gradient(180deg,transparent 55%,rgba(4,7,10,.82)); }
.rh-game-landing__hero > * { position:relative; z-index:1; }
.rh-game-landing__hero h1 { margin:13px 0 20px; font-size:clamp(3.8rem,8vw,7.4rem); line-height:.84; letter-spacing:-.075em; }
.rh-game-landing__hero p { max-width:720px; color:var(--rh-muted); font-size:clamp(17px,2vw,21px); }
.rh-game-landing__hero dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rh-game-landing__hero dl div { min-height:120px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--rh-line); border-radius:17px; background:rgba(255,255,255,.03); }
.rh-game-landing__hero dt { color:var(--rh-dim); font:700 9px/1.4 var(--rh-mono); text-transform:uppercase; }
.rh-game-landing__hero dd { margin:0; color:var(--rh-accent); font-size:19px; font-weight:800; }
.rh-game-landing__hero dl div { border-color:color-mix(in srgb,var(--rh-accent) 16%,rgba(255,255,255,.1)); background:rgba(8,12,18,.74); backdrop-filter:blur(16px); }
.rh-game-landing__hero .rh-kicker { color:var(--rh-accent); }
.rh-game-landing__hero h1 { text-shadow:0 12px 55px rgba(0,0,0,.65); }
.rh-game-landing__body { padding:clamp(65px,9vw,120px) clamp(0px,4vw,50px); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:clamp(40px,8vw,110px); }
.rh-game-landing__body h2 { margin:12px 0 20px; font-size:clamp(38px,5.5vw,68px); line-height:.94; letter-spacing:-.06em; }
.rh-game-landing__body article p { color:var(--rh-muted); font-size:18px; }
.rh-game-landing__body aside { align-self:start; padding:24px; border:1px solid var(--rh-line); border-radius:18px; background:rgba(255,255,255,.025); }
.rh-game-landing__body aside strong { color:var(--rh-lime); }
.rh-game-landing__body aside p { margin-bottom:0; color:var(--rh-muted); }

@media (max-width:850px) {
  .rh-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rh-game-landing__hero,.rh-game-landing__body { grid-template-columns:1fr; }
  .rh-game-landing__hero { min-height:0; }
}
@media (max-width:560px) {
  .rh-directory__hero h1 { font-size:clamp(3.5rem,18vw,5.4rem); }
  .rh-directory__head { align-items:start; flex-direction:column; }
  .rh-directory-grid { grid-template-columns:1fr; }
  .rh-directory-grid>a { min-height:220px; }
  .rh-game-landing { width:min(calc(100% - 20px),var(--rh-max)); }
  .rh-game-landing__hero { padding:29px 20px; border-radius:22px; }
  .rh-game-landing__hero h1 { font-size:clamp(3.2rem,17vw,5rem); }
  .rh-game-landing__hero dl { grid-template-columns:1fr; }
  .rh-game-landing__hero dl div { min-height:92px; }
}

.rh-error-page { width:min(calc(100% - 32px),900px); min-height:calc(100vh - 72px); margin:auto; padding:90px 0; display:flex; flex-direction:column; justify-content:center; }
.rh-error-page>strong { max-width:800px; font-size:clamp(4rem,10vw,8.5rem); line-height:.84; letter-spacing:-.08em; }
.rh-error-page>p { max-width:620px; color:var(--rh-muted); font-size:20px; }

/* Prevent intrinsic table/card widths from expanding legacy grid sidebars. */
.sidebar { min-width:0; grid-template-columns:minmax(0,1fr); }
.sidebar > * { min-width:0; max-width:100%; }
.sidebar table { width:100%; max-width:100%; table-layout:fixed; }
.sidebar :is(td,th) { overflow-wrap:anywhere; }

/* Crawlable, useful A-Z indexes: progressive enhancement must never hide the library from users or search engines. */
.rh-complete-index { width:min(calc(100% - 32px),var(--rh-max)); margin:clamp(42px,7vw,92px) auto; padding:clamp(28px,5vw,52px); border:1px solid var(--rh-line); border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); }
.rh-complete-index__head { max-width:820px; margin-bottom:26px; }
.rh-complete-index__head .rh-kicker { color:var(--rh-lime); }
.rh-complete-index__head h2 { margin:9px 0 12px; color:var(--rh-text); font-size:clamp(32px,4.5vw,58px); line-height:.95; letter-spacing:-.055em; }
.rh-complete-index__head p { margin:0; color:var(--rh-muted); font-size:16px; }
.rh-complete-index__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.rh-complete-index__grid a { min-width:0; padding:13px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--rh-text); border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(4,7,11,.45); text-decoration:none; transition:border-color .18s,background .18s,transform .18s; }
.rh-complete-index__grid a:hover { border-color:rgba(183,243,74,.35); background:rgba(183,243,74,.055); transform:translateY(-2px); }
.rh-complete-index__grid strong { min-width:0; overflow:hidden; font-size:13px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.rh-complete-index__grid span { flex:0 0 auto; color:var(--rh-lime); font:700 8px/1.2 var(--rh-mono); letter-spacing:.05em; text-transform:uppercase; }
@media (max-width:850px) { .rh-complete-index__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .rh-complete-index { width:min(calc(100% - 20px),var(--rh-max)); padding:25px 16px; border-radius:20px; } .rh-complete-index__grid { grid-template-columns:1fr; } }
