/* Content begins in the space left by the original advertising slots. */
body[data-design-site] main {
  padding-block: 0 16px;
  margin-top: -8px;
}
body[data-design-site] main > .breadcrumb {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 18px;
}
body[data-design-site] main > h1:not(.sr-only, .visually-hidden) {
  font-size: 18px;
  line-height: 24px;
  margin: 0 0 6px;
}
body[data-design-site] .detail-toolbar {
  margin: 0;
}
body[data-design-site] .search-tools {
  margin: 0 0 6px;
  padding-block: 0;
}
body[data-design-site] .result-grid {
  row-gap: 14px;
  grid-auto-rows: auto;
  align-content: start;
}
body[data-design-site] .result-grid .catalogue-content-group {
  row-gap: 14px;
  align-content: start;
}
body[data-design-site] :is(.entry-copy, .complete-copy) {
  min-height: 0;
}
body[data-design-site] .result-grid :is(h3, .entry-copy h3) {
  min-height: 0;
}
body[data-design-site] .page-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 12px;
  margin-bottom: 6px;
}
body[data-design-site] .page-heading :is(h1, h2) {
  font-size: 18px;
  line-height: 24px;
  margin: 0;
}
body[data-design-site] .page-heading h2 {
  font-size: 16px;
  font-weight: 400;
}
body[data-design-site] .page-heading + section {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
body[data-design-site] .page-heading + section > p:first-child {
  margin-top: 0;
}
body[data-design-site] .information-section {
  padding-block: 10px;
  margin-block: 0 14px;
}
body[data-design-site] .information-section h2 {
  margin-bottom: 6px;
}
body[data-design-site] .reading-main {
  padding-block: 0 16px;
}
body[data-design-site] .reading-intro {
  margin: 0 0 8px;
}
body[data-design-site] .reading-intro h1 {
  font-size: 18px;
  line-height: 1.35;
  margin: 0 0 8px;
}
body[data-design-site] .reading-directory .reading-card {
  padding-block: 8px;
  margin-block: 0;
  gap: 8px;
  align-content: start;
}
body[data-design-site] .reading-directory .reading-summary {
  display: block;
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.5;
}
body[data-design-site] .reading-directory .reading-copy > .reading-context {
  margin: 6px 0 0;
}
body[data-design-site] .reading-directory .reading-card :is(h2, h3) {
  margin-block: 6px 0;
}
body[data-design-page="article"] .reading-intro > .article-lead {
  display: block;
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.55;
}
body[data-design-page="article"] .reading-intro > .reading-context {
  margin: 0 0 8px;
}
body[data-design-page="article"] .reading-body > section {
  margin: 0 0 16px;
  padding-block: 0;
}
body[data-design-page="article"] .reading-back {
  margin: 16px auto 0;
  max-width: 70ch;
}
body[data-design-site] .compact-index-heading {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 0 0 6px;
}
body[data-design-site] .compact-index-heading h1 {
  font-size: 18px;
  line-height: 24px;
  margin: 0;
}
body[data-design-site] .compact-index-heading span {
  font-size: 14px;
}
body[data-design-site] .compact-game-index .complete-grid {
  grid-auto-rows: auto;
  gap: 14px 12px;
  margin: 0;
  align-items: start;
}
body[data-design-site] .compact-game-index .complete-copy {
  padding: 6px 0 0;
}
body[data-design-site] .compact-game-index .complete-copy strong {
  min-height: 0;
  font-size: 16px;
  line-height: 1.35;
}
body[data-design-site] .compact-game-index .complete-card {
  gap: 0;
  padding: 0;
}
body[data-design-site] .compact-game-index .complete-card:last-child {
  grid-column: auto;
}
body[data-design-site] .compact-index-tail {
  margin-top: 14px;
  display: flex;
  gap: 12px;
  align-items: center;
}
body[data-design-site] .compact-index-tail p {
  font-size: 14px;
}
@media (max-width: 699px) {
  body[data-design-site] .compact-game-index .complete-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* The membership pictures lead; the alternate criteria follow the board. */
body[data-design-site="Game45"] .membership-board {
  margin-top: 0;
}
body[data-design-site="Game45"] .zone-column > h2 {
  margin: 0 0 6px;
  font-size: 16px;
}
body[data-design-site="Game45"] .membership-card h3 {
  min-height: 0;
  padding: 6px 8px;
}
body[data-design-site="Game45"] .criteria-receipt {
  margin-top: 16px;
}

/* A complete, readable headline leads straight into the original opening paragraph. */
body[data-design-page="article"] .reading-intro {
  margin: 0 0 3px;
}
body[data-design-page="article"] .reading-intro h1 {
  font-size: 18px;
  line-height: 22px;
  margin: 0;
  font-weight: 500;
}
body[data-design-page="article"] .reading-body > section:first-child {
  display: flow-root;
}
body[data-design-page="article"] .reading-body > section:first-child > h2 {
  float: left;
  width: 96px;
  font-size: 16px;
  line-height: 22px;
  margin: 0 12px 6px 0;
  font-weight: 500;
}
body[data-design-page="article"] .reading-body > section:first-child > p {
  margin-top: 0;
}
body[data-design-page="article"] .article-metadata {
  margin-block: 16px;
}
body[data-design-page="article"] .article-metadata .article-lead {
  margin-bottom: 8px;
}

body[data-design-page="information"] main > section {
  max-width: 70ch;
}
body[data-design-page="information"] main > p {
  max-width: 70ch;
}
body[data-design-site] .compact-game-index.index-rows .complete-grid {
  grid-template-columns: 1fr;
}
body[data-design-site] .compact-game-index.index-rows .complete-art {
  min-height: 96px;
}
body[data-design-site] .result-grid :is(.entry-image, .image-cell, .paired-picture) {
  min-height: 96px;
}
body[data-design-site] .category-example-pair .entry-image {
  min-height: 96px;
}
body[data-design-site] .error-note {
  padding: 0;
  margin: 0 0 12px;
}
body[data-design-site] .error-note h1 {
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  body[data-design-site] .compact-game-index.index-rows .complete-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body[data-design-page="article"] .long-article-heading > button {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: 100%;
  min-height: 44px;
  max-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  font: inherit;
  line-height: 22px;
  text-align: left;
  color: inherit;
  background: transparent;
  text-decoration: underline dotted;
  text-underline-offset: 3px;
}
body[data-design-page="information"] .information-section {
  margin-bottom: 12px;
  padding-block: 6px;
}
body[data-design-page="information"] .information-section p {
  margin-block: 0;
}
body[data-design-page="information"] .information-section h2 {
  margin-block: 0 6px;
}
body[data-design-site] main > h1 + section {
  margin-top: 0;
  padding-top: 0;
}
body[data-design-site] main > h1 + section > h2 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 22px;
}

/* An empty slot leaves a small, deliberate gap below the shared navigation. */
body[data-design-site] [id^="ad-banner"][hidden] + main {
  margin-top: 10px;
}
body[data-design-site] header nav[aria-label="Main navigation"] a {
  text-decoration: none;
  position: relative;
  isolation: isolate;
}
body[data-design-site] header nav[aria-label="Main navigation"] a[aria-current="page"] {
  box-shadow: none;
}
body[data-design-site] header nav[aria-label="Main navigation"] a[aria-current="page"]::before {
  content: "";
  position: absolute;
  inset: 7px -5px;
  z-index: -1;
  pointer-events: none;
  background: #e5ece7;
  border-bottom: 2px solid #4a6d62;
  border-radius: 0;
}

body[data-compact-error] main > section:first-child {
  padding: 0;
  margin: 0 0 6px;
  border: 0;
}
body[data-compact-error] main > section:first-child h1 {
  font-size: 18px;
  line-height: 24px;
  margin: 0;
}
body[data-compact-error] .page-support {
  margin-top: 0;
}
@media (min-width: 768px) {
  body[data-design-page="information"] .information-section > h2 {
    float: left;
    width: 144px;
    font-size: 16px;
    line-height: 24px;
    margin: 0 14px 6px 0;
  }
  body[data-design-page="information"] .information-section {
    display: flow-root;
    padding-block: 0;
  }
}

/* Let the longest real title determine this row, without reserving an empty line. */
body[data-design-site="Game45"] [data-game-grid] .membership-card.game-link h3 {
  min-height: 0;
  height: auto;
}

/* Balanced visual padding is stable for every navigation state. */
body[data-design-site] header nav[aria-label="Main navigation"] {
  gap: 0 4px;
}
body[data-design-site] header nav[aria-label="Main navigation"] a {
  padding-inline: 8px;
}
body[data-design-site] header nav[aria-label="Main navigation"] a[aria-current="page"]::before {
  inset-inline: 0;
}
body[data-design-site] .reading-directory {
  border-top: 0;
}
body[data-design-site] .reading-directory > li:first-child,
body[data-design-site] .reading-directory > li:first-child > .reading-card {
  border-top: 0;
}

/* A tall panel keeps the close control fixed and the actual categories compact. */
.native-categories {
  min-height: 70dvh;
  max-height: calc(100dvh - 24px);
}
.native-categories .dialog-inner {
  min-height: calc(70dvh - 2px);
  max-height: calc(100dvh - 26px);
}
.native-categories .dialog-head {
  flex: none;
}
.native-categories .category-destinations {
  flex: 1;
  min-height: 0;
  align-content: start;
  overflow-y: auto;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
}
.native-categories .category-destinations a {
  gap: 10px;
}
.native-categories .category-label {
  flex: 1;
  min-width: 0;
}
.native-categories .category-mark {
  display: inline-flex;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  align-items: center;
  justify-content: center;
  border-left: 3px solid #709184;
  background: #e8efea;
}
.native-categories .category-mark svg {
  display: block;
}

/* The normal phone header is one 56px row; navigation alone can scroll. */
@media (min-width: 380px) and (max-width: 699px) {
  body[data-design-site] header {
    display: grid;
    grid-template-columns: max-content 44px minmax(0, 1fr);
    grid-template-rows: 44px;
    align-items: center;
    gap: 6px;
    min-height: 56px;
    height: 56px;
    padding: 5px 12px 6px;
  }
  body[data-design-site] header .identity-row {
    display: contents;
  }
  body[data-design-site] header .wordmark {
    grid-column: 1;
    grid-row: 1;
    min-height: 44px;
    margin: 0;
    white-space: nowrap;
    max-width: none;
    font-size: 16px;
    line-height: 20px;
  }
  body[data-design-site] header .discovery-trigger {
    grid-column: 2;
    grid-row: 1;
    width: 44px;
    height: 44px;
    margin: 0;
  }
  body[data-design-site] header nav[aria-label="Main navigation"] {
    grid-column: 3;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    height: 44px;
    border: 0;
  }
}
body[data-design-site] .detail-toolbar {
  display: flex;
  height: 44px;
  min-height: 44px;
  align-items: center;
  gap: 6px;
}
body[data-design-site] .detail-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  flex: 0 0 44px;
  padding: 0;
  margin: 0;
  position: relative;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-decoration: none;
}
body[data-design-site] .detail-back svg {
  display: block;
}
body[data-design-site] .detail-toolbar h1 {
  display: flex;
  align-items: center;
  height: 44px;
  min-width: 0;
  margin: 0;
}
body[data-design-site] .detail-toolbar h1 button {
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding-block: 0;
  line-height: 44px;
}

/* The game window leads; its shape is a UI choice, not thumbnail metadata. */
body[data-design-site] .player {
  overflow: visible;
}
body[data-design-site] .player .frame-surface {
  width: min(100%, 96dvh);
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 4 / 3;
  margin-inline: auto;
  flex: none;
  background: #111820;
}
body[data-design-site] .player .frame-surface iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  transform: none;
}
body[data-design-site] .player .player-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 4px 0 0;
  background: var(--paper);
  color: var(--ink);
  flex-wrap: nowrap;
}
body[data-design-site] .player :is(.player-primary, .player-secondary) {
  display: flex;
  align-items: center;
  gap: 2px;
}
body[data-design-site] .player .player-toolbar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  cursor: pointer;
  white-space: nowrap;
}
body[data-design-site] .player .player-primary button {
  background: var(--ink);
  color: var(--paper);
  padding-inline: 12px;
  min-width: 76px;
}
body[data-design-site] .player .player-toolbar button:disabled {
  opacity: 0.55;
  cursor: default;
}
body[data-design-site] .player .player-toolbar svg {
  flex: 0 0 18px;
}
body[data-design-site] .player .player-status {
  padding: 5px 0;
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
}
body[data-design-site] .player:fullscreen {
  background: var(--paper);
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  overflow-y: auto;
  padding: max(4px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right))
    max(4px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
}
body[data-design-site] .player:fullscreen .frame-surface {
  width: 100%;
  height: 0;
  min-width: 0;
  max-width: none;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  flex: 1 1 0;
  margin: 0;
}
body[data-design-site] .player:fullscreen .player-toolbar {
  flex: none;
}
@media (min-width: 700px) {
  body[data-design-site] .player .frame-surface {
    width: min(100%, 1152px, 128dvh);
    aspect-ratio: 16 / 9;
  }
}
@media (max-width: 359px) {
  body[data-design-site] .player .player-toolbar button {
    gap: 4px;
    padding-inline: 6px;
    font-size: 13px;
  }
  body[data-design-site] .player .player-primary button {
    min-width: 66px;
  }
}

/* Game Membership: All games in a left membership rail, individual categories in a right register. */
body[data-design-site="Game45"] header nav[aria-label="Main navigation"] a[aria-current]::before {
  content: none;
}
body[data-design-site="Game45"] header nav[aria-label="Main navigation"] a[aria-current]::after {
  content: "";
  position: absolute;
  left: 1px;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border: 1px solid var(--accent);
  border-right: 0;
}
body[data-design-site="Game45"] .native-categories {
  width: min(560px, calc(100% - 24px));
  inset: 12px auto auto 12px;
  border-radius: 0;
}
body[data-design-site="Game45"] .native-categories .category-destinations {
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 0 10px;
  padding-inline: 0;
}
body[data-design-site="Game45"] .native-categories .category-destinations a {
  grid-column: 2;
  padding: 10px 2px;
  min-height: 56px;
  gap: 6px;
  border-bottom: 1px solid var(--line);
}
body[data-design-site="Game45"] .native-categories .category-destinations a:first-child {
  grid-column: 1;
  grid-row: 1 / span 8;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 18px;
  border: 0;
  border-right: 1px solid var(--line);
}
body[data-design-site="Game45"]
  .native-categories
  .category-destinations
  a:first-child
  .category-label {
  flex: 0;
  text-align: center;
}
body[data-design-site="Game45"] .native-categories .category-mark {
  border: 0;
  background: transparent;
  width: 24px;
  flex-basis: 24px;
}
@media (min-width: 380px) and (max-width: 699px) {
  body[data-design-site="Game45"] header {
    grid-template-columns: max-content minmax(0, 1fr) 44px;
  }
  body[data-design-site="Game45"] header .discovery-trigger {
    grid-column: 3;
  }
  body[data-design-site="Game45"] header nav[aria-label="Main navigation"] {
    grid-column: 2;
  }
}

/* A real right drawer, flush with the viewport edge. */
body[data-design-site="Game45"] .native-categories {
  margin: 0;
  inset: 0 0 0 auto;
  width: min(88vw, 360px);
  max-width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  max-height: 100dvh;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
}
body[data-design-site="Game45"] .native-categories .dialog-inner {
  height: 100%;
  min-height: 0;
  max-height: 100%;
}
body[data-design-site="Game45"] .native-categories .dialog-head {
  padding-top: max(6px, env(safe-area-inset-top));
  flex: none;
}
body[data-design-site="Game45"] .native-categories .category-destinations {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
}
@media (min-width: 700px) {
  body[data-design-site="Game45"] .native-categories {
    width: 380px;
  }
}

/* Desktop keeps the compact shared frame instead of adding a second header row. */
@media (min-width: 700px) {
  body[data-design-site="Game45"] header {
    display: grid;
    grid-template-columns: max-content 44px minmax(0, 1fr);
    grid-template-rows: 44px;
    align-items: center;
    min-height: 56px;
    height: 56px;
    gap: 10px;
    padding: 5px 16px 6px;
  }
  body[data-design-site="Game45"] header .identity-row {
    display: contents;
  }
  body[data-design-site="Game45"] header .wordmark {
    grid-column: 1;
    grid-row: 1;
    min-height: 44px;
    max-width: none;
    white-space: nowrap;
  }
  body[data-design-site="Game45"] header .discovery-trigger {
    grid-column: 2;
    grid-row: 1;
  }
  body[data-design-site="Game45"] header nav[aria-label="Main navigation"] {
    grid-column: 3;
    grid-row: 1;
    width: 100%;
    height: 44px;
    padding: 0;
  }
}

/* Browsing and reading form two connected paths below the identity. */
body[data-design-site="Game45"] header.site-masthead {
  display: block;
  height: auto;
  min-height: 0;
  padding: 4px 12px 0;
}
body[data-design-site="Game45"] .common-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
}
body[data-design-site="Game45"] header.site-masthead .wordmark {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: none;
  margin: 0;
  padding: 0;
  font-size: 21px;
  line-height: 25px;
  white-space: nowrap;
}
body[data-design-site="Game45"] header.site-masthead .discovery-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] {
  display: grid !important;
  grid-template-columns: 1.2fr 1.3fr 0.9fr 0.8fr;
  width: 100%;
  max-width: none;
  min-height: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  gap: 0;
  border-top: 1px solid var(--line);
  overflow: visible;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 0 6px;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  border: 0;
  white-space: nowrap;
}
body[data-design-site="Game45"]
  header.site-masthead
  nav[aria-label="Main navigation"]
  a:nth-child(3) {
  border-left: 1px solid var(--line);
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a::after {
  display: none;
}
body[data-design-site="Game45"]
  header.site-masthead
  nav[aria-label="Main navigation"]
  a[aria-current]::before {
  inset: 7px 5px;
}
@media (min-width: 768px) {
  body[data-design-site="Game45"] header.site-masthead {
    padding-inline: 24px;
  }
  body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

/* Game-list excerpts stay brief; article summaries and complete descriptions are untouched. */
body[data-design-site="Game45"]
  :is(.listing-summary, .palette-summary, .supplement-summary, .support-copy > span) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  min-height: 0;
  height: auto;
  max-height: 2lh;
}
body[data-design-site="Game45"]
  :is(.game-link h3, .supplement-copy > strong, .support-copy > strong, .complete-copy > strong) {
  box-sizing: content-box;
  min-height: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
  height: auto;
  max-height: 1lh;
}

/* Enlarged text may grow the identity and route strip without clipping. */
body[data-design-site="Game45"] .common-identity {
  flex-wrap: wrap;
}
body[data-design-site="Game45"] header.site-masthead .wordmark {
  display: block;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  align-content: center;
  white-space: normal;
  overflow: visible;
  line-height: 1.2;
}
body[data-design-site="Game45"] header.site-masthead .discovery-trigger {
  flex-shrink: 0;
  margin-left: auto;
  min-height: 44px;
  height: auto;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] {
  height: auto;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a {
  height: auto;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

/* Preserve complete navigation words as text grows; the route strip can scroll. */
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] {
  grid-template-columns: repeat(4, minmax(max-content, 1fr));
  overflow-x: auto;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a {
  white-space: nowrap;
  overflow-wrap: normal;
}

/* Two pairs share a quiet open strip; a small bracket marks the current path. */
body[data-design-site="Game45"] header.site-masthead {
  border-bottom: 0;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] {
  border-top: 0;
  column-gap: 4px;
}
body[data-design-site="Game45"]
  header.site-masthead
  nav[aria-label="Main navigation"]
  a:nth-child(3) {
  border-left: 0;
  padding-left: 12px;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a::before,
body[data-design-site="Game45"]
  header.site-masthead
  nav[aria-label="Main navigation"]
  a[aria-current]::before {
  content: "";
  display: block;
  position: static;
  inset: auto;
  flex: 0 0 4px;
  width: 4px;
  height: 14px;
  margin-right: 6px;
  border: 1px solid currentColor;
  border-right: 0;
  border-radius: 0;
  background: transparent;
  opacity: 0;
  transform: none;
}
body[data-design-site="Game45"]
  header.site-masthead
  nav[aria-label="Main navigation"]
  a[aria-current]::before {
  opacity: 1;
}

/* V2: linked membership marks and one right register replace the tall header strip. */
body[data-design-site="Game45"] header.site-masthead {
  display: block;
  min-height: 52px;
  padding: 4px 12px;
}
body[data-design-site="Game45"] .common-identity {
  min-height: 44px;
  gap: 8px;
}
body[data-design-site="Game45"] header.site-masthead .wordmark {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  font-size: 19px;
  line-height: 1.2;
}
body[data-design-site="Game45"] .identity-mark {
  flex: 0 0 28px;
  color: #426f5a;
}
body[data-design-site="Game45"] header.site-masthead .discovery-trigger {
  width: auto;
  min-width: 44px;
  height: auto;
  min-height: 44px;
  gap: 5px;
  padding: 0 4px;
}
body[data-design-site="Game45"] .category-action-label {
  font:
    14px/1.3 Arial,
    sans-serif;
}
body[data-design-site="Game45"] header.site-masthead .native-categories {
  background: #f6faf6;
}
body[data-design-site="Game45"] header.site-masthead .native-categories .dialog-head {
  padding-inline: 16px;
  border-bottom: 0;
}
body[data-design-site="Game45"] header.site-masthead .native-categories .dialog-head h2 {
  font-size: 18px;
  line-height: 1.25;
  margin: 0;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] {
  position: static;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: auto;
  min-height: 88px;
  flex: none;
  width: auto;
  margin: 0 12px 8px;
  padding: 0;
  gap: 0 8px;
  border: 0;
  overflow: visible;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a {
  width: auto;
  padding: 0 10px;
  min-height: 44px;
  height: auto;
  justify-content: flex-start;
  white-space: normal;
  overflow-wrap: normal;
  font-size: 16px;
}
body[data-design-site="Game45"]
  header.site-masthead
  nav[aria-label="Main navigation"]
  a[aria-current] {
  color: #24553e;
  font-weight: 600;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a::after {
  display: none;
}
body[data-design-site="Game45"] .native-categories .category-destinations {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(52px, auto);
  align-content: start;
  gap: 0;
  padding: 0 16px max(12px, env(safe-area-inset-bottom));
  border-top: 1px solid #d5e0d6;
  overflow-y: auto;
}
body[data-design-site="Game45"] .native-categories .category-destinations a,
body[data-design-site="Game45"] .native-categories .category-destinations a:first-child {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  grid-column: auto;
  grid-row: auto;
  min-height: 52px;
  height: auto;
  padding: 5px 6px;
  gap: 12px;
  border: 0;
  border-bottom: 1px solid #dce5dc;
  font-size: 16px;
}
body[data-design-site="Game45"] .native-categories .category-destinations a:first-child {
  margin-bottom: 4px;
  font-weight: 600;
}
body[data-design-site="Game45"]
  .native-categories
  .category-destinations
  a:first-child
  .category-label {
  flex: 1;
  text-align: left;
}
body[data-design-site="Game45"] .native-categories .category-mark {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  background: #e7eee5;
  border: 0;
}
body[data-design-site="Game45"] .native-categories .category-label {
  flex: 1;
  min-width: 0;
}
body[data-design-site="Game45"] .native-categories .category-destinations small {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
body[data-design-site="Game45"] .native-categories .category-destinations a[aria-current] {
  background: #e6eee3;
  box-shadow: inset 3px 0 #426f5a;
}

/* Shared patterns use the full reading width, including every following entry. */
body[data-design-site="Game45"] .reading-home > ol {
  grid-template-columns: minmax(0, 1fr);
}

/* The set action looks lighter while retaining its complete touch target. */
body[data-design-site="Game45"] [data-zone-footer] {
  padding-block: 4px;
}
body[data-design-site="Game45"] [data-zone-more] {
  position: relative;
  isolation: isolate;
  min-height: 44px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  line-height: 1.2;
  box-shadow: none;
}
body[data-design-site="Game45"] [data-zone-more]::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5px 0;
  border-radius: 6px;
  background: var(--paper);
  box-shadow: inset 0 0 0 1px var(--line);
  pointer-events: none;
}
body[data-design-site="Game45"] [data-zone-more]:hover::before {
  background: var(--directory-soft);
}

@media (max-width: 360px) {
  body[data-design-site="Game45"] header.site-masthead .category-action-label {
    display: none;
  }
  body[data-design-site="Game45"] header.site-masthead .discovery-trigger {
    width: 44px;
  }
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8em), 1fr));
}

/* Full-size labels stay inside the player when text is enlarged. */
body[data-design-site] .player .player-toolbar,
body[data-design-site] .player :is(.player-primary, .player-secondary) {
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

/* Content line boxes grow with text-only enlargement, preserving normal spacing. */
body[data-design-site] main > .breadcrumb {
  line-height: 1.3846153846;
}
body[data-design-site] main > h1:not(.sr-only, .visually-hidden),
body[data-design-site] .page-heading h1,
body[data-design-site] .compact-index-heading h1,
body[data-design-site] .error-note h1,
body[data-compact-error] main > section:first-child h1 {
  line-height: 1.3333333333;
}
body[data-design-site] .page-heading h2 {
  line-height: 1.5;
}
body[data-design-page="article"] .reading-intro h1,
body[data-design-page="article"] .long-article-heading > button {
  line-height: 1.2222222222;
}
body[data-design-page="article"] .long-article-heading > button {
  max-height: 2lh;
}
body[data-design-page="article"] .reading-body > section:first-child > h2,
body[data-design-site] main > h1 + section > h2 {
  line-height: 1.375;
}
@media (min-width: 768px) {
  body[data-design-page="information"] .information-section > h2 {
    line-height: 1.5;
  }
}

/* Dropdown 2026-10-22: local states and optically aligned controls. */
body[data-design-site="Game45"] {
  --directory-ink: #24523c;
  --directory-soft: #e6efe4;
  --directory-active: #d5e6d1;
  --directory-edge: #b6cdb0;
  --directory-accent: #426f5a;
}
body[data-design-site="Game45"] header.site-masthead :is(summary, [data-discovery-open]) {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--directory-ink);
  line-height: 1.2;
  text-decoration: none;
}
body[data-design-site="Game45"] header.site-masthead :is(summary, [data-discovery-open])::before {
  content: "";
  position: absolute;
  inset: 6px 0;
  border-radius: 6px;
  background: transparent;
  z-index: -1;
  pointer-events: none;
}
body[data-design-site="Game45"] header.site-masthead summary {
  list-style: none;
}
body[data-design-site="Game45"] header.site-masthead summary::marker {
  content: "";
}
body[data-design-site="Game45"] header.site-masthead summary::-webkit-details-marker {
  display: none;
}
body[data-design-site="Game45"] header.site-masthead summary::after {
  content: none;
}
body[data-design-site="Game45"] header.site-masthead :is(summary, [data-discovery-open]) > svg {
  display: block;
  flex: none;
  vertical-align: middle;
  transform-origin: center;
}
body[data-design-site="Game45"] header.site-masthead summary > svg {
  width: 14px;
  height: 14px;
}
body[data-design-site="Game45"] header.site-masthead [data-discovery-open] > svg {
  width: 22px;
  height: 22px;
}
body[data-design-site="Game45"] header.site-masthead [data-site-menu][open] summary > svg {
  transform: rotate(180deg);
}
body[data-design-site="Game45"]
  header.site-masthead
  [data-site-menu]:has(a[aria-current="page"])
  summary::before,
body[data-design-site="Game45"]:has(.native-categories [data-category-link][aria-current="page"])
  header.site-masthead
  [data-discovery-open]::before {
  background: var(--directory-soft);
}
body[data-design-site="Game45"] header.site-masthead [data-site-menu][open] summary::before,
body[data-design-site="Game45"]:has(.native-categories[open])
  header.site-masthead
  [data-discovery-open]::before {
  background: var(--directory-active);
  box-shadow: inset 0 0 0 1px var(--directory-edge);
}
body[data-design-site="Game45"]
  header.site-masthead
  :is(summary, [data-discovery-open]):hover::before {
  background: var(--directory-active);
}
body[data-design-site="Game45"]
  :is(header.site-masthead, .native-categories)
  :is(a, summary, button):focus-visible {
  outline: 2px solid var(--directory-accent);
  outline-offset: 2px;
}
body[data-design-site="Game45"] .native-categories .category-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
body[data-design-site="Game45"] .native-categories .category-mark svg {
  display: block;
  width: 22px;
  height: 22px;
  flex: none;
}
body[data-design-site="Game45"] .native-categories .category-label {
  min-width: 0;
  line-height: 1.3;
}
body[data-design-site="Game45"] .native-categories .category-destinations small {
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}
body[data-design-site="Game45"] .native-categories .category-destinations a:hover {
  background: var(--directory-soft);
}
body[data-design-site="Game45"] .native-categories .category-destinations a[aria-current="page"] {
  background: var(--directory-active);
  color: var(--directory-ink);
  font-weight: 600;
}
body[data-design-site="Game45"]:has(
    header .native-categories nav[aria-label="Main navigation"] a[aria-current="page"]
  )
  header.site-masthead
  [data-discovery-open]::before {
  background: var(--directory-soft);
}
body[data-design-site="Game45"]:has(header .native-categories[open])
  header.site-masthead
  [data-discovery-open]::before {
  background: var(--directory-active);
}
body[data-design-site="Game45"] header.site-masthead .category-action-label {
  line-height: 1.2;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a {
  border-radius: 5px;
  align-items: center;
  line-height: 1.3;
}
body[data-design-site="Game45"] header.site-masthead nav[aria-label="Main navigation"] a:hover {
  background: var(--directory-soft);
}
body[data-design-site="Game45"]
  header.site-masthead
  nav[aria-label="Main navigation"]
  a[aria-current="page"] {
  background: var(--directory-active);
  color: var(--directory-ink);
  font-weight: 600;
}
body[data-design-site="Game45"] .native-categories .category-destinations a,
body[data-design-site="Game45"] .native-categories .category-destinations a:first-child {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
}
body[data-design-site="Game45"] .native-categories .category-destinations a[aria-current] {
  box-shadow: inset 3px 0 var(--directory-accent);
}
body[data-design-site="Game45"]
  .native-categories
  .category-destinations
  a[aria-current]
  .category-mark {
  background: #c0d5bb;
}

/* Selected names keep their full text; each site retains its own header layout. */
body[data-design-site="Game45"] header.site-masthead .trigger-caption {
  min-width: 0;
  line-height: 1.2;
  white-space: nowrap;
}
body[data-design-site="Game45"] header.site-masthead [data-discovery-open][data-visible-caption] {
  width: auto;
  height: auto;
  flex: 0 0 auto;
  padding-inline: 8px;
  gap: 6px;
  font-size: 14px;
}
body[data-design-site="Game45"] :is(.reading-home, .reading-directory) .reading-card :is(h2, h3),
body[data-design-site="Game45"] :is(.reading-home, .reading-directory) .reading-summary {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  height: auto;
  min-height: 0;
  max-height: 2lh;
}

@media (max-width: 360px) {
  body[data-design-site="Game45"] header.site-masthead .wordmark {
    font-size: 16px;
  }
}

/* Preview headlines occupy one line; full article headings remain untouched. */
body[data-design-site="Game45"] :is(.reading-home, .reading-directory) .reading-card :is(h2, h3) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
  height: auto;
  min-height: 0;
  max-height: 1lh;
}
/* Keep every lifecycle control and status inset from the player edge. */
body[data-design-site="Game45"] .player .player-controls {
  box-sizing: border-box;
  padding-inline: 0;
}
body[data-design-site="Game45"] .player .player-status {
  line-height: 1.4;
  overflow-wrap: anywhere;
}
body[data-design-site="Game45"] .player :is(.player-toolbar, .player-status) {
  padding-inline: 0;
}
@media (max-width: 699px) {
  body[data-design-site="Game45"] header.site-masthead .wordmark {
    flex: 1 1 0;
    min-width: 0;
  }
  body[data-design-site="Game45"] header.site-masthead .brand-text {
    min-width: 0;
    white-space: normal;
  }
}

/* An enlarged wordmark keeps its intrinsic word width and can move to a row. */
body[data-design-site="Game45"] header.site-masthead .wordmark {
  min-width: min-content;
}

body[data-design-site="Game45"] header.site-masthead :is(.wordmark, .brand-text) {
  overflow-wrap: normal;
  word-break: normal;
}

/* Stable header slots: only text disclosures use a selected caption. */
body[data-design-site="Game45"] header.site-masthead .trigger-caption {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 0;
}
body[data-design-site="Game45"] .player .player-toolbar {
  flex-wrap: wrap;
}
body[data-design-site="Game45"] .player :is(.player-primary, .player-secondary) {
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}
body[data-design-site="Game45"] .player .player-secondary {
  margin-left: auto;
  justify-content: flex-end;
}
body[data-design-site="Game45"]
  :is(
    .game-link h3,
    .palette-card .palette-copy h3,
    .palette-band .palette-card h3,
    .supplement-copy > strong,
    .support-copy > strong,
    .complete-copy > strong
  ),
body[data-design-site="Game45"] :is(.reading-home, .reading-directory) .reading-card :is(h2, h3) {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  height: auto;
  min-height: 0;
  max-height: 1lh;
}
/* One finite related group uses original descriptions and its existing site treatment. */
body[data-design-site="Game45"] .page-support .support-group {
  align-items: stretch;
}
body[data-design-site="Game45"] .page-support .support-game {
  align-content: start;
  align-items: start;
}
body[data-design-site="Game45"] header.site-masthead [data-discovery-open][data-visible-caption] {
  box-sizing: border-box;
  width: 112px;
  min-width: 112px;
  max-width: 112px;
  flex: 0 0 112px;
  height: 44px;
  padding-inline: 8px;
  gap: 6px;
}
@media (max-width: 360px) {
  body[data-design-site="Game45"] header.site-masthead [data-discovery-open][data-visible-caption] {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    flex-basis: 100px;
  }
}
body[data-design-site="Game45"] header.site-masthead .native-categories,
body[data-design-site="Game45"] .native-categories {
  box-sizing: border-box;
  width: 70vw;
  min-width: 0;
  max-width: none;
}
body[data-design-site="Game45"] .native-categories .dialog-head {
  flex-wrap: wrap;
}
body[data-design-site="Game45"] .native-categories .category-destinations {
  grid-auto-rows: max-content;
}

body[data-design-site="Game45"] .page-support .support-copy {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* A narrow register keeps category words intact; counts use the label column below. */
@media (max-width: 600px) {
  body[data-design-site="Game45"] .native-categories .category-destinations a,
  body[data-design-site="Game45"] .native-categories .category-destinations a:first-child {
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 6px;
    padding-inline: 4px;
  }
  body[data-design-site="Game45"] .native-categories .category-mark {
    grid-column: 1;
    grid-row: 1;
    width: 24px;
    padding-inline: 1px;
  }
  body[data-design-site="Game45"] .native-categories .category-label {
    grid-column: 2;
    grid-row: 1;
    overflow-wrap: normal;
    word-break: normal;
  }
  body[data-design-site="Game45"] .native-categories .category-destinations small {
    grid-column: 2;
    grid-row: 2;
  }
}
@media (max-width: 360px) {
  body[data-design-site="Game45"] header.site-masthead .native-categories .dialog-head h2 {
    font-size: 14px;
  }
}

/* Related games pair a small preview with the original, two-line description. */
body[data-design-site="Game45"] [data-supplement-style="Game45"] .supplement-games {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px 16px;
  align-items: stretch;
}
body[data-design-site="Game45"] [data-supplement-style="Game45"] .supplement-game {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}
body[data-design-site="Game45"] [data-supplement-style="Game45"] .supplement-picture {
  position: relative;
  height: auto;
  min-height: 64px;
}
body[data-design-site="Game45"] [data-supplement-style="Game45"] .supplement-picture img {
  position: absolute;
  inset: 0;
}
body[data-design-site="Game45"] [data-supplement-style="Game45"] .supplement-copy {
  display: grid;
  gap: 4px;
  align-content: start;
  min-width: 0;
  padding: 6px 0;
}
body[data-design-site="Game45"] .supplement-summary {
  font-size: 13px;
  line-height: 1.45;
}
body[data-design-site="Game45"] .reading-home > ol > li {
  grid-column: 1 / -1;
  grid-row: auto;
  min-width: 0;
}
body[data-design-site="Game45"] .reading-home .reading-card {
  box-sizing: border-box;
  width: 100%;
}
body[data-design-site="Game45"] .reading-home .reading-copy {
  width: 100%;
  flex: 1;
}
@media (min-width: 700px) {
  body[data-design-site="Game45"] [data-supplement-style="Game45"] .supplement-games {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
