.nx-body.game-page {
  background:
    radial-gradient(circle at 90% 18%, rgba(25, 120, 176, 0.1), transparent 32rem),
    var(--bg, #071019);
}
.nx-body .game-hero {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background: #09141e;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.nx-body .game-hero__background,
.nx-body .game-hero__shade { position: absolute; inset: 0; }
.nx-body .game-hero__background {
  background: linear-gradient(135deg, #123247, #071019) center / cover;
  transform: scale(1.015);
}
.nx-body .game-hero__shade {
  background:
    linear-gradient(90deg, rgba(4, 12, 19, 0.97) 0%, rgba(4, 12, 19, 0.72) 35%, rgba(4, 12, 19, 0.03) 72%),
    linear-gradient(0deg, #071019 0%, rgba(7, 16, 25, 0.08) 45%);
}
.nx-body .game-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 620px;
  width: min(1220px, calc(100% - 48px));
  margin-inline: auto;
  padding-top: 28px;
  padding-bottom: 64px;
  flex-direction: column;
}
.nx-body .game-hero__title { max-width: 640px; margin-top: auto; }
.nx-body .game-kicker {
  color: #72cdec;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.nx-body .game-wordmark {
  margin-top: 15px;
  color: #e2f7ff;
  font-size: clamp(40px, 6vw, 68px);
  font-weight: 300;
  letter-spacing: 0.12em;
  line-height: 0.9;
}
.nx-body .game-wordmark strong { font-weight: 700; }
.nx-body .game-hero__title > p {
  max-width: 520px;
  margin: 22px 0 0;
  color: #9cafbd;
  font-size: 16px;
  line-height: 1.7;
}
.nx-body .game-tags { display: flex; margin-top: 20px; flex-wrap: wrap; gap: 8px; }
.nx-body .game-tags span {
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 5px;
  color: #d5e4ee;
  font-size: 12px;
  background: rgba(5, 14, 21, 0.38);
}
.nx-body .trailer-button {
  position: absolute;
  right: 0;
  bottom: 72px;
  display: flex;
  color: #eef7fb;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.nx-body .trailer-button > span {
  display: grid;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  place-items: center;
}
.nx-body .trailer-button svg { width: 18px; fill: currentColor; }
.nx-body .game-overview {
  display: grid;
  padding: 48px 0 80px;
  grid-template-columns: minmax(0, 1fr) 315px;
  gap: 34px;
}
.nx-body .game-gallery__main {
  display: block;
  width: 100%;
  height: 420px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 14px;
  background-position: center;
  background-size: cover;
  background-color: #102030;
}
.nx-body .gallery-counter {
  display: inline-block;
  margin: 18px;
  padding: 6px 10px;
  border-radius: 5px;
  color: #fff;
  background: rgba(4, 12, 18, 0.55);
  font-size: 12px;
}
.nx-body .game-gallery__thumbs {
  display: grid;
  margin-top: 10px;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}
.nx-body .game-gallery__thumbs button {
  height: 80px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 7px;
  opacity: 0.5;
  background-position: center;
  background-size: cover;
}
.nx-body .game-gallery__thumbs button.is-active { opacity: 1; border-color: #4bc2f4; }
.nx-body .game-description,
.nx-body .game-updates,
.nx-body .game-reviews { padding-top: 56px; }
.nx-body .game-section-title > span,
.nx-body .game-section-title > div > span {
  color: #41bced;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.nx-body .game-section-title h2 { margin: 8px 0 0; font-size: 30px; }
.nx-body .game-section-title--row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.nx-body .game-description__lead {
  margin: 22px 0 14px;
  color: #e0eaf0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}
.nx-body .game-description > p:not(.game-description__lead) {
  margin: 0;
  color: #879bad;
  font-size: 15px;
  line-height: 1.8;
}
.nx-body .game-feature-grid {
  display: grid;
  margin-top: 28px;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.nx-body .game-feature-grid > div {
  padding: 20px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 10px;
  background: linear-gradient(145deg, #101f2c, #0b1721);
}
.nx-body .feature-icon {
  display: grid;
  width: 28px;
  height: 28px;
  margin-bottom: 12px;
  border-radius: 6px;
  color: #5cccf8;
  background: rgba(53, 179, 231, 0.11);
  place-items: center;
}
.nx-body .game-feature-grid strong { display: block; font-size: 15px; }
.nx-body .game-feature-grid p { margin: 6px 0 0; color: #718798; font-size: 13px; }
.nx-body .game-update-grid {
  display: grid;
  margin-top: 20px;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.nx-body .game-update-card {
  overflow: hidden;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 11px;
  background: #0c1822;
  color: inherit;
  text-decoration: none;
}
.nx-body .game-update-card__image {
  height: 140px;
  background: #102030 center / cover;
}
.nx-body .game-update-card > div:last-child { padding: 15px 17px 18px; }
.nx-body .game-update-card time { color: #5fbfe6; font-size: 12px; }
.nx-body .game-update-card h3 { margin: 7px 0 0; font-size: 16px; }
.nx-body .write-review,
.nx-body .text-link {
  color: #8fa4b4;
  font-size: 13px;
  text-decoration: none;
}
.nx-body .write-review {
  display: inline-flex;
  height: 34px;
  padding: 0 13px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 7px;
  align-items: center;
  background: #0e1c27;
}
.nx-body .review-summary {
  margin-top: 22px;
  padding: 24px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 11px;
  background: linear-gradient(135deg, #101f2d, #0a161f);
}
.nx-body .review-score strong { color: #7ede58; font-size: 36px; }
.nx-body .review-score span { display: block; margin-top: 6px; font-size: 14px; }
.nx-body .game-sidebar { display: flex; flex-direction: column; gap: 14px; }
.nx-body .purchase-card,
.nx-body .game-meta-card,
.nx-body .system-card {
  overflow: hidden;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 13px;
  background: linear-gradient(145deg, #101f2c, #0a161f);
}
.nx-body .purchase-card { position: sticky; top: 78px; }
.nx-body .purchase-card__cover {
  display: grid;
  height: 150px;
  background: #102030 center / cover;
  place-items: center;
  color: #e6f8ff;
  font-size: 16px;
  letter-spacing: 0.12em;
  text-align: center;
}
.nx-body .purchase-card__body { padding: 20px; }
.nx-body .purchase-edition {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  color: #8da1b1;
  font-size: 13px;
}
.nx-body .purchase-edition strong { color: #eaf4fa; font-size: 18px; }
.nx-body .buy-button,
.nx-body .wishlist-button {
  display: flex;
  width: 100%;
  height: 42px;
  margin-top: 8px;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.nx-body .buy-button { color: #07141d; background: #58c9f9; }
.nx-body .wishlist-button {
  color: #cfe0ec;
  border: 1px solid var(--line, #1c2d3a);
  background: transparent;
}
.nx-body .purchase-includes { margin-top: 16px; color: #8aa0b2; font-size: 13px; }
.nx-body .purchase-includes ul { margin: 8px 0 0; padding-left: 18px; }
.nx-body .game-meta-card { padding: 18px 20px; }
.nx-body .game-meta-card dl { margin: 0; }
.nx-body .game-meta-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line, #1c2d3a);
  font-size: 13px;
}
.nx-body .game-meta-card dt { color: #6b8193; }
.nx-body .game-meta-card dd { margin: 0; color: #eaf4fa; }
.nx-body .game-language { margin-top: 12px; }
.nx-body .game-language span { color: #6b8193; font-size: 12px; }
.nx-body .game-language p { margin: 4px 0 0; font-size: 14px; }
.nx-body .system-card { padding: 18px 20px 20px; }
.nx-body .system-card h3 { margin: 0 0 12px; font-size: 16px; }
.nx-body .system-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.nx-body .system-tabs button {
  height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 6px;
  color: #8aa0b2;
  background: transparent;
  font-size: 12px;
}
.nx-body .system-tabs button.is-active { color: #07141d; background: #52c5f3; border-color: #52c5f3; }
.nx-body .system-req {
  display: none;
  margin: 0;
  white-space: pre-wrap;
  color: #c5d3de;
  font-size: 13px;
  line-height: 1.55;
  font-family: inherit;
}
.nx-body .system-req.is-active { display: block; }
@media (max-width: 980px) {
  .nx-body .game-overview,
  .nx-body .game-feature-grid,
  .nx-body .game-update-grid { grid-template-columns: 1fr; }
  .nx-body .trailer-button { position: static; margin-top: 24px; }
  .nx-body .purchase-card { position: static; }
}

/* Launcher download — mock launcher.html, Windows-only Game Center */
.nx-body.launcher-page {
  background:
    radial-gradient(circle at 82% 0, rgba(34, 140, 196, 0.16), transparent 32rem),
    var(--bg, #071019);
}
.launcher-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line, #1c2d3a);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.launcher-hero__glow {
  position: absolute;
  inset: auto -8% -20% auto;
  width: 42rem;
  height: 42rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 176, 230, 0.18), transparent 68%);
}
.launcher-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 560px;
  width: min(1220px, calc(100% - 48px));
  margin-inline: auto;
  padding-top: 48px;
  padding-bottom: 56px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 470px);
  align-items: center;
  gap: 40px;
}
.launcher-hero__copy h1 {
  margin: 10px 0 16px;
  font-size: clamp(40px, 6vw, 68px);
  letter-spacing: -0.06em;
  line-height: 0.92;
}
.launcher-hero__copy > p {
  max-width: 520px;
  margin: 0;
  color: #7f94a6;
  font-size: 15px;
}
.launcher-cta {
  display: flex;
  margin-top: 28px;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.launcher-download {
  display: inline-flex;
  min-width: 240px;
  height: 46px;
  padding: 0 18px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  color: #07141d !important;
  background: linear-gradient(115deg, #67d2fa, #3ab2e9);
  font-size: 14px;
  font-weight: 800;
}
.launcher-download svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.launcher-cta__meta {
  display: flex;
  flex-direction: column;
}
.launcher-cta__meta strong { font-size: 16px; }
.launcher-cta__meta span { margin-top: 4px; color: #667c8e; font-size: 13px; }
.launcher-os {
  display: flex;
  margin-top: 24px;
  gap: 8px;
}
.launcher-os span {
  display: inline-flex;
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 8px;
  color: #7d91a2;
  align-items: center;
  background: rgba(9, 20, 29, 0.7);
  font-size: 13px;
  font-weight: 700;
}
.launcher-os .is-active {
  color: #eaf4fa;
  border-color: rgba(74, 186, 232, 0.4);
  background: rgba(43, 145, 188, 0.14);
}
.launcher-os .is-disabled { opacity: 0.45; cursor: not-allowed; }
.launcher-window {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  background: #0b1721;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}
.launcher-window__bar {
  display: flex;
  height: 38px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line, #1c2d3a);
  align-items: center;
  gap: 6px;
}
.launcher-window__bar span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #355064;
}
.launcher-window__bar span:first-child { background: #d06a4a; }
.launcher-window__bar span:nth-child(2) { background: #d0b24a; }
.launcher-window__bar span:nth-child(3) { background: #4ec97a; }
.launcher-window__bar strong {
  margin-left: 10px;
  color: #8aa0b0;
  font-size: 11px;
  letter-spacing: 0.16em;
}
.launcher-window__body {
  display: grid;
  min-height: 280px;
  grid-template-columns: 132px 1fr;
}
.launcher-window__body aside {
  display: flex;
  padding: 16px 12px;
  border-right: 1px solid var(--line, #1c2d3a);
  flex-direction: column;
  gap: 6px;
  background: #08131b;
}
.launcher-window__body aside b {
  padding: 8px 10px;
  border-radius: 7px;
  color: #6d8294;
  font-size: 12px;
  font-weight: 600;
}
.launcher-window__body aside .is-current {
  color: #dff3fb;
  background: rgba(53, 154, 196, 0.16);
}
.launcher-window__games {
  display: flex;
  padding: 16px;
  flex-direction: column;
  gap: 10px;
}
.launcher-window__games article {
  display: grid;
  min-height: 68px;
  padding: 8px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 10px;
  grid-template-columns: 72px 1fr auto;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.02);
}
.launcher-thumb {
  height: 52px;
  border-radius: 7px;
  background: linear-gradient(135deg, #1a3348, #0c1822) center / cover;
}
.launcher-window__games strong { display: block; font-size: 13px; }
.launcher-window__games small { color: #6a8092; font-size: 12px; }
.launcher-window__games span { color: #6ad0f4; font-size: 12px; font-weight: 800; }
.launcher-features,
.launcher-specs,
.launcher-verify,
.launcher-faq {
  padding-top: 64px;
}
.launcher-faq { padding-bottom: 80px; }
.launcher-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.launcher-feature-grid article {
  padding: 22px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 12px;
  background: linear-gradient(160deg, #101f2c, #0b1721);
}
.launcher-feature-grid span {
  display: grid;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 9px;
  color: #67d0f6;
  background: rgba(46, 150, 194, 0.12);
  place-items: center;
}
.launcher-feature-grid span svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}
.launcher-feature-grid h3 { margin: 0 0 8px; font-size: 16px; }
.launcher-feature-grid p { margin: 0; color: #6d8294; font-size: 14px; }
.launcher-specs {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: 28px;
  align-items: start;
}
.launcher-specs h2,
.launcher-verify h2,
.launcher-faq h2 {
  margin: 8px 0 10px;
  font-size: 32px;
  letter-spacing: -0.04em;
}
.launcher-specs p,
.launcher-verify p { margin: 0; color: #6d8294; }
.launcher-spec-list {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 12px;
  background: #0c1822;
}
.launcher-spec-list div {
  display: grid;
  min-height: 54px;
  padding: 0 18px;
  border-bottom: 1px solid var(--line, #1c2d3a);
  grid-template-columns: 120px 1fr;
  align-items: center;
}
.launcher-spec-list div:last-child { border-bottom: 0; }
.launcher-spec-list dt { color: #667c8e; }
.launcher-verify__card,
.launcher-hash {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.launcher-verify__card {
  padding: 22px 24px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 14px;
  background: linear-gradient(145deg, #101f2c, #0b1721);
}
.launcher-hash code {
  padding: 10px 12px;
  border-radius: 8px;
  color: #9ad8f2;
  background: #08131b;
  font-size: 12px;
}
.launcher-hash button {
  height: 40px;
  padding: 0 14px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 8px;
  color: #d5e6ef;
  background: #0d1a24;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.launcher-faq-list details {
  margin-bottom: 8px;
  padding: 4px 18px 12px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 12px;
  background: #0c1822;
}
.launcher-faq-list summary {
  padding: 14px 0;
  cursor: pointer;
  font-weight: 700;
}
.launcher-faq-list p { margin: 0 0 8px; color: #7d92a3; }
@media (max-width: 980px) {
  .launcher-hero__inner,
  .launcher-specs,
  .launcher-feature-grid { grid-template-columns: 1fr; }
  .launcher-window__body { grid-template-columns: 1fr; }
  .launcher-window__body aside { flex-direction: row; border-right: 0; border-bottom: 1px solid var(--line, #1c2d3a); }
}

.nx-body.catalog-page {
  background:
    radial-gradient(circle at 12% 0%, rgba(25, 120, 176, 0.12), transparent 28rem),
    var(--bg, #071019);
}
.nx-body.catalog-page .catalog-heading {
  padding-top: 36px;
  padding-bottom: 8px;
}
.nx-body.catalog-page .catalog-heading__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}
.nx-body.catalog-page .catalog-heading__row > div {
  flex: 1;
  min-width: 0;
}
.nx-body.catalog-page .catalog-heading h1 {
  margin: 8px 0;
  font-size: clamp(42px, 6vw, 68px);
  letter-spacing: -0.055em;
  line-height: 1;
}
.nx-body.catalog-page .catalog-heading p {
  margin: 0;
  color: #7d92a3;
  font-size: 14px;
}
.nx-body.catalog-page .forum-breadcrumbs {
  display: flex;
  margin-bottom: 18px;
  align-items: center;
  gap: 8px;
  color: #6d8294;
  font-size: 13px;
  font-weight: 600;
}
.nx-body.catalog-page .forum-breadcrumbs a:hover { color: #fff; }
.nx-body.catalog-page .catalog-search {
  display: flex;
  flex: 0 0 290px;
  width: 290px;
  margin-left: auto;
  height: 46px;
  padding: 0 16px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 9px;
  align-items: center;
  gap: 10px;
  background: rgba(15, 28, 40, 0.76);
}
.nx-body.catalog-page .catalog-search svg {
  width: 17px;
  color: #6e8396;
  flex: none;
}
.nx-body.catalog-page .catalog-search input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  color: #edf5fa;
  background: transparent;
  font: inherit;
  font-size: 12px;
}
.nx-body.catalog-page .catalog-search input::placeholder { color: #607689; }
.nx-body.catalog-page .catalog-list { padding-top: 18px; }
.nx-body.catalog-page .game-card__info h3 a { color: inherit; }
.nx-body.catalog-page .game-card__info h3 a:hover { color: #c8e9f8; }
.nx-body.catalog-page .catalog-empty {
  margin: 28px 0 0;
  color: #7d92a3;
  font-size: 14px;
}
.nx-body.catalog-page .catalog-empty-state {
  padding: 48px 28px;
  border: 1px solid var(--line, #1c2d3a);
  border-radius: 16px;
  background: #0c1822;
}
.nx-body.catalog-page .catalog-empty-state strong {
  display: block;
  font-size: 22px;
  letter-spacing: -0.03em;
}
.nx-body.catalog-page .catalog-empty-state p {
  margin: 8px 0 22px;
  color: #7d92a3;
}
.nx-body.catalog-page .category-strip { padding-top: 48px; }
@media (max-width: 720px) {
  .nx-body.catalog-page .catalog-heading__row {
    flex-direction: column;
    align-items: stretch;
  }
  .nx-body.catalog-page .catalog-search { width: 100%; }
}

