/* GameFinder.pro reusable page template.
 * Copy this file unchanged for the next game.
 * Owns: palette, background, navigation, game header, statistics, menu buttons,
 * forms/dialogs, setting help, records/demo UI, discovery layout and content cards.
 * Has no dice, board, tray or game-specific action selectors.
 * Shared content tokens are the --page-* variables in the typography section.
 */

:root {
  --gold:#d9b55d;
  --gold-light:#ffe5a0;
  --gold-soft:#d8c488;
  --ivory:#f7efd9;
  --muted:#b8ad98;
  --ink:#05070b;
  --panel:#0c1018;
  --line:#5d4a24;
  --max:1120px;
}

body:has(.demo-bar:not([hidden])) .scorebar {
  margin-bottom:0!important;
}

.demo-bar {
  margin-top:5px!important;
}

.demo-bar small {
  display:none!important;
}

* {
  box-sizing:border-box;
}

[hidden] {
  display:none!important;
}

html {
  background:var(--ink);
  color-scheme:dark;
}

body {
  min-height:100svh;
  margin:0;
  background:radial-gradient(circle at 50% 10%,#283149 0,#101623 24%,#07090f 61%,#030405 100%);
  color:var(--ivory);
  font-family:Arial,sans-serif;
  overflow-x:hidden;
}

button,a,select,input {
  font:inherit;
}

button,a,[role=button] {
  -webkit-tap-highlight-color:transparent;
}

button {
  touch-action:manipulation;
}

button:focus,a:focus {
  outline:none;
}

.game-sitebar {
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  min-height:calc(52px + env(safe-area-inset-top));
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid #4f4022;
  padding:env(safe-area-inset-top) max(12px,calc((100% - 980px)/2 + 12px)) 0;
  background:#07090fed;
  box-shadow:0 10px 32px #000b;
  backdrop-filter:blur(14px);
}

.game-sitebrand {
  display:inline-flex;
  min-height:36px;
  align-items:center;
  border:1px solid #efd58d;
  border-radius:999px;
  padding:8px 44px 8px 12px;
  background:linear-gradient(90deg,#ffe7a0 0,#d3ad50 48%,#6d4d1d 100%);
  box-shadow:inset 0 1px #fff9,0 5px 14px #0008;
  color:#090806;
  font:900 .845rem/1 Arial,sans-serif;
  letter-spacing:.06em;
  text-decoration:none;
  white-space:nowrap;
}

.game-sitebrand span {
  color:inherit;
  font-size:inherit;
  letter-spacing:inherit;
}

.game-home-button {
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  border:1px solid #f5dda0;
  border-radius:999px;
  padding:7px 14px;
  background:linear-gradient(110deg,#aa7d2b,#f3dc91 48%,#ae812d);
  box-shadow:inset 0 1px #fff9,0 5px 14px #0008;
  color:#090806;
  font:900 .72rem/1 Arial,sans-serif;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}

.game-home-button:hover {
  background:linear-gradient(110deg,#c79d48,#ffe9a8 48%,#c79d48);
}

.game-sitebrand:focus-visible,.game-home-button:focus-visible {
  outline:3px solid #fff1b8;
  outline-offset:2px;
}

.game-shell {
  width:min(100%,980px);
  min-height:calc(100svh - 52px);
  margin:auto;
  padding:10px 10px calc(18px + env(safe-area-inset-bottom));
}

.topbar {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  min-height:52px;
  align-items:center;
  gap:10px;
  padding:2px 2px 6px;
}

.game-identity {
  min-width:0;
}

.game-identity h1 {
  margin:0;
  color:var(--gold-light);
  font:normal clamp(20px,5.2vw,27px)/1 Georgia,serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.player-name {
  display:block;
  min-height:14px;
  margin-top:3px;
  color:#b7aa91;
  font-size:11px;
  line-height:14px;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.top-actions {
  display:flex;
  gap:7px;
}

.icon-button {
  display:grid;
  width:39px;
  height:39px;
  place-items:center;
  border:1px solid #80662f;
  border-radius:50%;
  background:linear-gradient(145deg,#192131,#080b11);
  box-shadow:inset 0 1px #fff2,0 5px 14px #0008;
  color:var(--gold-light);
  font-size:18px;
  cursor:pointer;
}

.icon-button:active {
  transform:translateY(1px);
}

.icon-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible {
  outline:3px solid #fff1b8;
  outline-offset:2px;
}

.info-icon {
  font:italic bold 17px Georgia,serif;
}

.scorebar {
  display:flex;
  flex-wrap:wrap;
  gap:1px;
  margin-bottom:8px;
  border:1px solid #6d5629;
  background:#42351d;
}

.scorebar>div {
  flex:1 1 90px;
  min-width:0;
  padding:7px 4px;
  text-align:center;
  background:#080b11;
}

.scorebar span {
  display:block;
  color:#a89c86;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
}

.scorebar strong {
  display:block;
  margin-top:2px;
  color:var(--gold-light);
  font:normal 19px Georgia,serif;
}

.demo-bar {
  display:flex;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px;
  border:1px solid #8b6d32;
  border-radius:13px;
  padding:8px 9px 8px 12px;
  background:linear-gradient(110deg,#221a0d,#0a0e16 72%);
  box-shadow:inset 0 1px #fff2;
}

.demo-bar>span {
  min-width:0;
}

.demo-bar b,.demo-bar small {
  display:block;
}

.demo-bar b {
  color:var(--gold-light);
  font-size:9px;
  letter-spacing:.13em;
}

.demo-bar small {
  margin-top:3px;
  color:#c8bda7;
  font-size:11px;
  line-height:1.3;
}

.demo-bar .secondary-button {
  min-width:104px;
  min-height:36px;
  padding:7px 10px;
  font-size:10px;
  white-space:nowrap;
}

.message {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  border:0;
  padding:0;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.primary-button,.secondary-button {
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gold);
  border-radius:11px;
  padding:10px 16px;
  font-weight:850;
  cursor:pointer;
}

.primary-button {
  width:100%;
  margin-top:17px;
  background:linear-gradient(110deg,#b8892f,#f0d88c,#b8892f);
  box-shadow:inset 0 1px #fff8;
  color:#080706;
}

.secondary-button {
  min-width:150px;
  background:#0b0e15;
  color:var(--gold-light);
}

button:disabled {
  cursor:not-allowed;
  opacity:.38;
}

dialog {
  width:min(450px,calc(100% - 24px));
  max-height:calc(100dvh - 26px);
  margin:auto;
  overflow:auto;
  border:1px solid #8b6d32;
  border-radius:20px;
  padding:21px;
  background:radial-gradient(circle at 50% 0,#222c41,#0b0e15 55%);
  box-shadow:0 28px 100px #000e;
  color:var(--ivory);
}

dialog::backdrop {
  background:#000d;
  backdrop-filter:blur(6px);
}

.dialog-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}

.dialog-top h2,dialog>h2 {
  margin:0;
  color:var(--gold-light);
  font:normal 27px Georgia,serif;
}

dialog h3 {
  margin:18px 0 5px;
  color:var(--gold-light);
  font-size:14px;
}

dialog p {
  font-size:13px;
  line-height:1.55;
}

.dialog-top>.icon-button {
  flex:0 0 39px;
}

.select-field,.switch-row {
  display:flex;
  min-height:58px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #3c321f;
}

.select-field span {
  display:block;
}

.select-field small {
  display:block;
  max-width:230px;
  margin-top:3px;
  color:#a49a86;
  font-size:11px;
}

.select-field select {
  min-width:112px;
  border:1px solid #80662f;
  border-radius:9px;
  padding:9px;
  background:#07090e;
  color:var(--ivory);
}

.switch-row input {
  width:22px;
  height:22px;
  accent-color:var(--gold);
}

.custom-settings[hidden] {
  display:none;
}

.settings-note {
  margin:0;
  padding:10px 4px;
  border-bottom:1px solid #3c321f;
  color:#c8b98f;
  font-size:11px!important;
}

.info-symbol {
  font:italic bold 15px Georgia,serif;
}

.dialog-buttons {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

.dialog-buttons .primary-button {
  margin-top:0;
}

.result-dialog {
  text-align:center;
}

.result-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:16px 0 10px;
  border-block:1px solid #493b21;
}

.result-stats div {
  padding:10px 5px;
  border-right:1px solid #493b21;
}

.result-stats div:last-child {
  border-right:0;
}

.result-stats strong,.result-stats span {
  display:block;
}

.result-stats strong {
  color:var(--gold-light);
  font:normal 23px Georgia,serif;
}

.result-stats span {
  margin-top:3px;
  color:#9f947e;
  font-size:8px;
  letter-spacing:.12em;
}

.result-comparison {
  min-height:20px;
  margin:0;
  color:var(--gold-soft);
  font-weight:800;
}

.record-status {
  min-height:18px;
  margin:8px 0 0;
  color:#c8b98f;
  font-size:11px!important;
}

.result-close {
  width:100%;
  margin-top:9px;
}

.sound-master {
  margin-bottom:5px;
}

.sound-volume-list {
  display:grid;
}

.sound-volume-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 74px;
  gap:7px 12px;
  align-items:center;
  border-bottom:1px solid #3c321f;
  padding:10px 0;
}

.sound-volume-row>span {
  display:flex;
  grid-column:1/-1;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.sound-volume-row output {
  color:var(--gold-soft);
  font-size:12px;
  font-weight:800;
}

.sound-volume-row input[type=range] {
  width:100%;
  accent-color:var(--gold);
}

.sound-preview {
  min-height:34px;
  border:1px solid #80662f;
  border-radius:9px;
  background:#090c12;
  color:var(--gold-light);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.sound-preview:hover {
  border-color:var(--gold-light);
}

.account-benefit-eyebrow {
  display:block;
  margin-bottom:6px;
  color:var(--gold);
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}

.account-benefit-actions {
  display:grid;
  gap:8px;
}

.account-benefit-actions .primary-button {
  margin-top:4px;
}

.account-login-link {
  display:block;
  padding:7px;
  color:var(--gold-soft);
  font-size:12px;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}

.demo-panel {
  margin:0 0 18px;
  border:1px solid #705b30;
  border-radius:15px;
  padding:15px;
  background:linear-gradient(145deg,#171b27,#090c12 72%);
}

.demo-panel h3 {
  margin:0;
  color:var(--gold-light);
  font:normal 21px Georgia,serif;
}

.demo-panel p {
  margin:8px 0 0;
  color:#c4b9a3;
}

.demo-panel .primary-button {
  margin-top:12px;
}

.account-record-panel {
  margin:0 0 18px;
  border:1px solid #705b30;
  border-radius:15px;
  padding:15px;
  background:linear-gradient(145deg,#171b27,#090c12 72%);
}

.account-record-panel>p {
  margin:7px 0 0;
  color:#c4b9a3;
}

.comparison-info-title {
  display:block;
  margin-bottom:6px;
  color:var(--gold-light);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}

.monthly-competition {
  margin-top:13px;
  border:1px solid #80662f;
  border-radius:12px;
  padding:12px;
  background:linear-gradient(145deg,#211b0f,#0b0e15);
}

.monthly-competition p {
  margin:6px 0 10px;
  color:#d8cfbb;
  font-size:12px;
  line-height:1.45;
}

.monthly-competition .primary-button {
  width:100%;
}

.monthly-competition-record {
  color:var(--gold-light)!important;
}

.comparison-level-summary {
  margin-top:13px;
  border-top:1px solid #3b321f;
  padding-top:12px;
}

.comparison-level-summary .secondary-button {
  width:100%;
  margin-top:10px;
}

.comparison-level-chips {
  display:grid;
  min-height:28px;
}

.comparison-level-record {
  margin:0;
  border:0;
  border-bottom:1px solid #302819;
  padding:9px 1px;
  background:transparent;
  color:#ddd2ba;
  font:400 12px/1.35 Arial,sans-serif;
  text-align:left;
}

.comparison-level-record:last-child {
  border-bottom:0;
}

.comparison-level-record.is-empty {
  color:#948b79;
}

.comparison-level-play {
  display:grid;
  width:100%;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  cursor:pointer;
}

.comparison-level-play:hover {
  background:#d6b8660c;
}

.comparison-level-play:focus-visible {
  position:relative;
  z-index:1;
  border-radius:7px;
  outline:2px solid var(--gold-soft);
  outline-offset:2px;
}

.comparison-level-play-action {
  color:var(--gold-soft);
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}

.comparison-level-note,.form-message {
  min-height:18px;
  margin:8px 0 0;
  color:#d4b96e;
  font-size:11px;
}

.record-level-selects {
  display:grid;
  gap:10px;
}

.record-level-slot {
  min-width:0;
  margin:0;
  border:1px solid #3b321f;
  border-radius:12px;
  padding:9px;
  background:#080b1180;
}

.record-level-slot legend {
  padding:0 5px;
  color:var(--gold-light);
  font-size:12px;
  font-weight:800;
}

.record-level-slot>select {
  width:100%;
  margin-bottom:7px;
}

.record-level-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

.record-level-fields label {
  display:grid;
  gap:4px;
  color:#d8cfbb;
  font-size:10px;
}

.record-level-fields label:first-child {
  grid-column:1/-1;
}

.record-level-selects select {
  width:100%;
  min-width:0;
  border:1px solid #796439;
  border-radius:9px;
  padding:9px;
  background:#080b11;
  color:var(--ivory);
}

.record-level-slot.is-empty .record-level-fields {
  display:none;
}

.demo-finger {
  position:fixed;
  z-index:210;
  display:block;
  width:60px;
  height:66px;
  pointer-events:none;
  filter:brightness(1.38) saturate(1.18) drop-shadow(0 4px 4px #000c) drop-shadow(0 0 11px #fff0a8cc);
  font-size:50px;
  line-height:1;
  transform-origin:40% 15%;
  user-select:none;
}

@media(min-width:700px) {
  .game-shell {
    padding-top:14px;
  }
}

@media(max-width:370px) {
  .game-shell {
    padding-inline:6px;
  }
  .top-actions {
    gap:4px;
  }
  .icon-button {
    width:36px;
    height:36px;
  }
  .game-identity h1 {
    font-size:20px;
  }
}

@media(orientation:landscape) and (max-height:700px) {
  .game-shell {
    width:min(960px,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;
  }
}

.preview-capture .game-sitebar {
  display:none;
}

.preview-capture .game-shell {
  min-height:100svh;
  padding-top:8px;
}

.score-gain {
  animation:score-gain .4s ease-out;
}

@keyframes score-gain {
  50% {
    color:#fff;
    transform:scale(1.14);
  }
}

.result-values {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:20px 0;
}

.result-values div {
  padding:10px;
  border:1px solid #5d4a24;
  border-radius:10px;
}

.result-values strong,.result-values span {
  display:block;
}

.result-values strong {
  color:var(--gold-light);
  font:24px Georgia,serif;
}

.result-values span {
  margin-top:5px;
  font-size:12px;
  color:var(--muted);
}

details summary {
  color:var(--gold-light);
  font-weight:700;
  cursor:pointer;
}

.select-field {
  flex-wrap:wrap;
  padding-block:12px;
}

.select-field select {
  width:100%;
  max-width:100%;
  font-size:14px;
}

.is-reduced *, .is-reduced *:before,.is-reduced *:after {
  animation-duration:.01ms!important;
  transition-duration:.01ms!important;
}

.setting-help-entry {
  border-bottom:1px solid #3c321f;
}

.setting-help-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:center;
  gap:8px;
}

.setting-help-row .switch-row,.setting-help-row .select-field {
  min-width:0;
  border-bottom:0;
}

.setting-help-row label>span {
  min-width:0;
  overflow-wrap:anywhere;
  font-size:15px;
  line-height:1.45;
}

.setting-help-row input {
  flex-shrink:0;
}

.setting-help-row select {
  min-width:0;
}

.setting-help-button {
  display:grid;
  place-items:center;
  justify-self:end;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:radial-gradient(circle,#1a2230 0 13px,#80662f 13px 14px,transparent 14px);
  color:var(--gold-light);
  font:italic bold 18px Georgia,serif;
  cursor:pointer;
}

.setting-help-button[aria-expanded=true] {
  background:radial-gradient(circle,#47371b 0 13px,#e1be6c 13px 14px,transparent 14px);
}

.setting-help-button:focus-visible {
  outline:3px solid #fff1b8;
  outline-offset:-3px;
}

.setting-help-bubble {
  position:relative;
  margin:3px 0 15px;
  padding:14px 15px;
  border:1px solid #80662f;
  border-radius:13px;
  background:linear-gradient(145deg,#202737,#10151e);
  box-shadow:0 5px 14px #0005;
  color:#f0e6d2;
  font-size:15px;
  line-height:1.6;
  overflow-wrap:anywhere;
}

.setting-help-bubble:before {
  content:"";
  position:absolute;
  right:16px;
  top:-6px;
  width:10px;
  height:10px;
  border-left:1px solid #80662f;
  border-top:1px solid #80662f;
  background:#1a2230;
  transform:rotate(45deg);
}

.setting-help-bubble-actions {
  display:flex;
  justify-content:flex-end;
  margin:-10px -11px 2px 0;
}

.setting-help-close {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:radial-gradient(circle,#111722 0 14px,#80662f 14px 15px,transparent 15px);
  color:var(--gold-light);
  font-size:17px;
  cursor:pointer;
}

.setting-help-close:focus-visible {
  outline:3px solid #fff1b8;
  outline-offset:-3px;
}

.setting-help-bubble p {
  margin:0;
  font-size:inherit;
  line-height:inherit;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}

.shell {
  width:min(calc(100% - 32px),var(--max));
  margin-inline:auto;
}

.game-detail-main {
  padding-block:clamp(30px,7vw,76px);
}

.game-detail-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:clamp(30px,5vw,54px);
}

.game-detail-copy {
  text-align:center;
}

.game-detail-lead {
  max-width:650px;
  margin:26px auto 0;
}

.game-detail-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:30px;
}

.secondary-link {
  border:1px solid var(--line);
  color:var(--gold-soft);
}

.game-preview-frame {
  position:relative;
  width:min(100%,390px);
  margin:auto;
  overflow:hidden;
  border:1px solid #8c7136;
  border-radius:30px;
  padding:9px;
  background:linear-gradient(145deg,#1b1f29,#08090d);
  box-shadow:0 38px 100px #000d,inset 0 1px #fff3;
}

.game-preview-frame:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,#fff2,transparent 28%);
  pointer-events:none;
}

.game-preview-frame img {
  display:block;
  width:100%;
  height:auto;
  border-radius:21px;
}

.display-ad-placeholder {
  display:grid;
  min-height:120px;
  place-items:center;
  margin:34px 0;
  border:1px dashed #67552f;
  border-radius:18px;
  color:#8e846f;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.game-detail-content {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.game-feature-list {
  display:grid;
  gap:13px;
  margin:20px 0 0;
  padding:0;
  list-style:none;
}

.game-feature-list li {
  position:relative;
  padding-left:20px;
  color:var(--muted);
}

.game-feature-list li:before {
  content:"✦";
  position:absolute;
  left:0;
  color:var(--gold);
}

.membership-card .primary-button {
  width:100%;
  margin-top:22px;
}

.site-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:42px;
  color:#968d7c;
  font-size:.85rem;
}

.site-footer nav {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.site-footer a:hover {
  color:var(--gold-soft);
}

@media(max-width:900px) {
  .game-preview-frame {
    width:min(100%,360px);
  }
  .game-detail-content {
    grid-template-columns:1fr 1fr;
  }
  .membership-card {
    grid-column:1/-1;
  }
}

@media(max-width:620px) {
  .game-detail-main {
    padding-top:28px;
  }
  .game-detail-actions {
    display:grid;
  }
  .game-detail-actions>* {
    width:100%;
  }
  .game-detail-content {
    grid-template-columns:1fr;
  }
  .membership-card {
    grid-column:auto;
  }
  .site-footer {
    display:grid;
    text-align:center;
  }
  .site-footer nav {
    justify-content:center;
  }
  .site-footer p {
    margin:auto;
  }
  .display-ad-placeholder {
    min-height:100px;
  }
}

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

a:focus-visible, select:focus-visible, input:focus-visible {
  outline: 3px solid #fff1b8;
  outline-offset: 3px;
}

.game-detail-actions .primary-button {
  width: auto;
  min-height: 48px;
  margin-top: 0;
  padding: 11px 22px;
}

@media(max-width:620px) {
  .game-detail-actions .primary-button {
    width: 100%;
  }
}

:root {
  --page-font: Arial, Helvetica, sans-serif;
  --page-text-size: 1rem;
  --page-heading-size: 1.375rem;
  --page-subheading-size: 1rem;
  --page-text: #d9d2c4;
  --page-heading: #f3dfa4;
  --page-card-top: #171b27;
  --page-card-bottom: #090c12;
  --page-border: #705b30;
  --page-divider: #d6b86626;
  --page-radius: 1rem;
  --page-card-padding: 1.25rem;
  --page-block-gap: 1rem;
  --page-text-leading: 1.65;
}

.game-content,
#info-dialog.game-content {
  font-family: var(--page-font);
  font-size: var(--page-text-size);
  color: var(--page-text);
  line-height: var(--page-text-leading);
}

.game-content .game-detail-lead,
.game-content .game-detail-card p,
#info-dialog.game-content p {
  font-family: var(--page-font);
  font-size: var(--page-text-size);
  font-weight: 400;
  color: var(--page-text);
  line-height: var(--page-text-leading);
  overflow-wrap: anywhere;
}

.game-content .game-detail-copy h1 {
  color: var(--page-heading);
  font-family: var(--page-font);
  font-size: clamp(2.25rem, 7vw, 4rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}

.game-content .game-detail-card,
#info-dialog.game-content .account-benefit-prompt,
#info-dialog.game-content .demo-panel,
#info-dialog.game-content .info-content-card,
#info-dialog.game-content .account-record-panel {
  min-width: 0;
  border: 1px solid var(--page-border);
  border-radius: var(--page-radius);
  padding: var(--page-card-padding);
  background: linear-gradient(145deg, var(--page-card-top), var(--page-card-bottom) 72%);
  box-shadow: inset 0 1px 0 #ffffff08;
}

#info-dialog.game-content .account-benefit-prompt,
#info-dialog.game-content .demo-panel,
#info-dialog.game-content .info-content-card,
#info-dialog.game-content .account-record-panel {
  margin: 0 0 var(--page-block-gap);
}

.game-content .game-detail-content {
  gap: var(--page-block-gap);
  align-items: start;
}

#info-dialog.game-content .dialog-top h2 {
  color: var(--page-heading);
  font-family: var(--page-font);
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3;
}

.game-content .game-detail-card h2,
.game-content .game-detail-card h3,
#info-dialog.game-content .demo-panel h3,
#info-dialog.game-content .info-content-card > h3,
#info-dialog.game-content .account-benefit-prompt > strong,
#info-dialog.game-content .info-content-card > summary,
#info-dialog.game-content .account-record-panel > summary {
  display: block;
  margin: 0 0 .875rem;
  color: var(--page-heading);
  font-family: var(--page-font);
  font-size: var(--page-heading-size);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

#info-dialog.game-content details > summary {
  display: list-item;
  cursor: pointer;
}

.game-content .game-detail-card p,
#info-dialog.game-content .account-benefit-prompt p,
#info-dialog.game-content .demo-panel p {
  margin: 0 0 1rem;
}

.game-content .game-detail-card > p:last-child,
#info-dialog.game-content .info-rule-section p {
  margin-bottom: 0;
}

.game-content .game-menu-guide-list {
  display: grid;
  gap: 1rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.game-content .game-menu-guide-list li {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  align-items: start;
  gap: .625rem;
}

.game-content .game-menu-guide-list h4,
#info-dialog.game-content .info-rule-section h4 {
  margin: 0 0 .375rem;
  color: var(--page-heading);
  font-family: var(--page-font);
  font-size: var(--page-subheading-size);
  font-weight: 700;
  line-height: 1.4;
}

.game-content .game-menu-guide-list p,
#info-dialog.game-content .game-menu-guide-list p,
#info-dialog.game-content .info-rule-section p {
  margin: 0;
  color: var(--page-text);
  font-size: var(--page-text-size);
  line-height: var(--page-text-leading);
}

.game-content .game-menu-guide-icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--page-border);
  border-radius: 50%;
  color: var(--page-heading);
  font: 400 1.0625rem/1 var(--page-font);
}

.game-content .game-menu-guide-icon.info-icon {
  font-weight: 700;
}

.game-content .game-menu-guide-list .settings-help-note,
#info-dialog.game-content .settings-help-note {
  margin-top: .5rem;
  color: var(--page-text);
}

.game-content .eyebrow,
#info-dialog.game-content .info-menu-card .eyebrow {
  margin: 0 0 .5rem;
  color: var(--page-heading);
  font-family: var(--page-font);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#info-dialog.game-content .info-rule-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--page-divider);
}

#info-dialog.game-content .info-rule-section:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.game-content .primary-button,
.game-content .account-login-link {
  font-family: var(--page-font);
  font-size: var(--page-text-size);
}

@media (max-width: 370px) {
  :root {
    --page-card-padding: 1rem;
  }
}

/* Shared controls for all premium games; no game surface rules. */
.volume-controls{display:grid;gap:16px;margin:18px 0}.volume-row,.sound-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.volume-row input[type=range],.sound-row input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--gold)}.volume-row output,.sound-row output{color:var(--gold-light);font-variant-numeric:tabular-nums}.volume-preview,.volume-row button,.sound-row button{min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ivory);cursor:pointer}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row label{display:flex;min-height:44px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel);color:var(--ivory)}.choice-row input{accent-color:var(--gold)}.result-stats{display:flex;flex-wrap:wrap;gap:1px;margin:18px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.result-stats>div{flex:1 1 90px;padding:12px;background:var(--panel)}.result-stats strong,.result-stats span{display:block}.result-stats span{margin-top:5px;font-size:.75rem;color:var(--muted)}.game-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:52px;align-items:center;gap:10px;padding:2px 2px 6px}.scorebar>button{font:inherit;cursor:pointer;color:inherit}.scorebar>button:focus-visible{outline:3px solid var(--gold-light);outline-offset:-3px}.page-setting-help{position:relative}.page-setting-help>.setting-help-button{float:right;margin:0 0 5px 8px}.page-setting-help::after{content:"";display:table;clear:both}.page-setting-help .setting-help-bubble{clear:both}.page-setting-help:has(>.setting-help-bubble:not([hidden])){z-index:2}fieldset.page-setting-help{min-width:0}.game-content .info-rule-section{margin-top:18px}.game-content .info-rule-section:first-child{margin-top:0}dialog fieldset{margin:14px 0;border:1px solid var(--line);border-radius:12px;padding:12px}dialog legend{padding:0 5px;color:var(--gold-light);font-weight:700}dialog input[type=range]{width:100%;accent-color:var(--gold)}.game-content .game-menu-guide-list h4{margin:0 0 5px}.game-content .game-menu-guide-list p{margin:0 0 9px}.game-content .game-menu-guide-list .settings-help-note{font-size:.875rem;color:var(--page-text-color,var(--muted))}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff1b8;outline-offset:2px}

/* Shared banner clearance and form aliases. */
body.has-game-anchor .game-shell{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.dialog-top>div{min-width:0}.dialog-top .eyebrow{display:none}.full{width:100%}.field{display:grid;gap:8px;margin:16px 0}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.danger-button{width:100%;min-height:44px;margin-top:14px;border:1px solid var(--gold);border-radius:12px;padding:12px;background:linear-gradient(110deg,#aa7d2b,#f3dc91 48%,#ae812d);color:#090806;font-weight:700;cursor:pointer}.info-rules>summary{cursor:pointer}.info-rule-section h4{font-size:1rem;color:var(--page-heading-color,#f3dfa4)}.game-content .info-content-card{margin:16px 0}.game-content .demo-panel{margin:16px 0}.game-content .account-benefit-prompt{margin:16px 0}

body{overflow-y:auto}

.info-rule-section:has(>p[hidden]){display:none}

/* Shared form matrices, record rows and reserved advertisement placeholders. */
.seat-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.seat-settings label{display:grid;gap:8px}.seat-settings select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#080c13;color:var(--ivory)}.range-field{display:grid;gap:10px;margin:16px 0}.range-field>span{display:flex;justify-content:space-between;gap:10px}.range-field input{width:100%;accent-color:var(--gold)}.record-ready-note{margin-top:16px;border-top:1px solid var(--line);padding-top:16px;color:var(--page-text-color,var(--muted))}.record-ready-note strong{color:var(--page-heading-color,var(--gold-light))}.record-ready-note p{margin:8px 0}.record-list{display:grid;gap:0;margin:16px 0}.record-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0;color:var(--ivory)}.record-row:first-child{border-top:0}.solution-show+.primary-button{margin-top:16px}.text-link{color:var(--gold-light)}.ad-placeholder{display:grid;min-height:100px;margin:16px 0;place-items:center;border:1px dashed var(--line);border-radius:12px;background:#080c13;color:var(--muted);font-size:.75rem}.preview-capture .ad-placeholder,.demo-mode .ad-placeholder{display:none}
