/* Light presentation layer. Brand artwork and offer data remain unchanged. */
:root {
  color-scheme: light;
  scroll-padding-top: 84px;
  scroll-padding-bottom: 110px;
  --bg: #f7f6fb;
  --bg-2: #f2eff8;
  --panel: #fff;
  --panel-2: #f5f1fc;
  --panel-3: #e9e1f8;
  --line: #e1ddea;
  --line-2: #d3cbdf;
  --ink: #221b34;
  --ink-2: #595269;
  --ink-3: #6c647b;
  --violet: #7042de;
  --violet-2: #6940c5;
  --violet-deep: #4c24ae;
  --green: #15803d;
  --green-2: #15803d;
  --gold: #fbbf24;
  --pink: #be185d;
  --red: #b42333;
}

body {
  background: var(--bg);
  color: var(--ink);
}

a { color: var(--violet-2); }
a:hover { color: var(--violet-deep); }
::selection { background: #e5dafb; color: #301959; }
:focus-visible { outline: 3px solid #7042de; outline-offset: 4px; }
.skip-link { background: #fff; color: #4c24ae; box-shadow: 0 4px 18px #38215426; }

/* Navigation stays compact, with a visible mobile play button. */
.site-head {
  background: rgb(255 255 255 / 94%);
  border-bottom-color: var(--line);
  box-shadow: 0 2px 18px #3e285507;
}
.nav a:hover { color: var(--violet-deep); background: #f1eafa; }
.nav a[aria-current="page"] { color: var(--violet-deep); }
.nav-toggle { background: #f5f1fc; color: var(--ink); border-color: var(--line-2); }
.toplist-menu-panel[data-astro-cid-5wsejpel] {
  background: #fff;
  color: var(--ink);
  border-color: var(--line-2);
  box-shadow: 0 16px 42px #38215424;
}
.toplist-menu-panel[data-astro-cid-5wsejpel] strong[data-astro-cid-5wsejpel] {
  color: var(--violet-deep);
}
.toplist-menu-panel[data-astro-cid-5wsejpel] a[data-astro-cid-5wsejpel] {
  color: var(--ink-2) !important;
}
.toplist-menu-panel[data-astro-cid-5wsejpel] a[data-astro-cid-5wsejpel]:hover {
  color: var(--violet-deep) !important;
}

/* High-contrast actions keep the established green / violet palette. */
.btn-cta,
.funnel a,
.ledger-sticky__cta {
  background: linear-gradient(135deg, #23cd63, #1db653);
  color: #062d14;
  box-shadow: 0 8px 18px -12px #12833f80;
}
.btn-cta:hover,
.funnel a:hover,
.ledger-sticky__cta:hover { color: #062d14; filter: brightness(.98); }
.header-play.btn-play,
.header-play.btn-play:hover {
  background: linear-gradient(135deg, #23cd63, #1db653);
  color: #062d14;
}
.btn-play:not(.header-play),
.btn-primary { color: #fff; box-shadow: 0 8px 24px -14px #7042de80; }
.btn-play:not(.header-play):hover,
.btn-primary:hover { color: #fff; }
.btn-ghost { background: #fff; color: var(--ink); border-color: var(--line-2); }
.btn-ghost:hover { background: var(--panel-2); color: var(--violet-deep); }
.btn-claim { color: #422b00; box-shadow: 0 8px 20px -14px #c88900a0; }
.btn-claim:hover { color: #422b00; }

/* Hero and article panels are light; decorative artwork is not recoloured. */
.hero__card {
  color: var(--ink);
  background: linear-gradient(110deg, #f0e6fff5, #eee4fff2), url(/img/art/popup-crown.webp) 50% / cover;
  border: 1px solid #d6c9ed;
  box-shadow: 0 20px 48px -30px #7042de40;
}
.hero__card::after { background: radial-gradient(circle, #fff9, #fff0 62%); }
.hero__card .eyebrow { color: #6945a0; }
.hero__card .eyebrow::before { background: #7042de; }
.hero__card p { color: #514363; }
.hero__card .btn-ghost { background: #fff; color: var(--violet-deep); }
.hero__chip { background: #fff; color: #514363; border-color: #d6c9ed; }
.hero__chip::before { background: #15803d; }
.quickstrip a:first-child { background: linear-gradient(135deg, #eee4fc, #fff); }
.trust-strip, .quickstrip, .toc, .note, .funnel, .faq__item,
.gcard, .rail__card, .rail__help { box-shadow: 0 2px 8px #39274e03; }
.gcard .chip { color: #8a5b00; }
.fig .ph { background: linear-gradient(135deg, #f4effc, #fff); }
.heroart { background: #f1ecf8; }
.crosssite { background: linear-gradient(160deg, #fff, #f5f1fc); }
.crosssite__card, .specs { background: #fff; }
.crosssite__card:hover { border-color: #b89ddd; }
.crumbs { opacity: 1; color: var(--ink-3); }
.note-sm, .sources { opacity: 1; color: var(--ink-2); }
.specs dt { opacity: 1; color: var(--ink-3); }
.toplist-note { background: #eee7fc; color: #46335f; }
.table-wrap { background: #fff; }
th { background: #f0ebf8; color: var(--ink); }
tbody tr:nth-child(even) { background: #fbf9fe; }

/* Compact showcase layout is unchanged; only its surface and ink are changed. */
.offer { background: #fff; border-color: var(--line); }
.offer--1 {
  border-color: #bca2ee;
  box-shadow: 0 0 0 1px #7042de12, 0 14px 32px -24px #7042de66;
}
.offer__rank { background: #e9e1f8; color: #4c24ae; }
.offer--1 .offer__rank { color: #fff; }
.offer--alt .offer__badge,
.rail__card--alt .rail__head { background: #e6daf9; color: #4c24ae; }
.offer__brand { color: #6940c5; }
.offer__num { color: #15803d; }
.offer__stars { color: #966600; }
.offer__bullets li::before { color: #15803d; }
.offer__terms { background: #fcfbfe; color: #665d76; }
.offer__logo {
  /* The supplied white-letter brand artwork needs its own dark backplate. */
  background: #241a36;
  border-color: #ddd3ed;
}
.offer__logo::before { opacity: .12; }
.rail__badge {
  background: linear-gradient(140deg, #f2ebfc, #fff);
  border-color: #ded1ef;
}
.rail__badge img {
  background: #241a36;
  border-radius: 9px;
  padding: 6px 10px;
  filter: none;
}
.rail__wordmark { color: #604193; }

/* Topic comparisons have their own local variables, not the global tokens. */
.topic-comparison[data-astro-cid-ofwfj3ln],
.topic-almanac[data-astro-cid-ofwfj3ln] {
  --topic-accent: #6940c5;
  --topic-panel: #fff;
  --topic-muted: #595269;
  --topic-ink: #221b34;
  --topic-line: #e1ddea;
  box-shadow: 0 4px 16px #38215405;
}
.topic-cashout[data-astro-cid-ofwfj3ln] {
  --topic-accent: #00736f;
  --topic-panel: #fff;
  --topic-muted: #496273;
  --topic-ink: #10242e;
  --topic-line: #d6e4ee;
  box-shadow: 0 4px 16px #173e5708;
}
.topic-cta[data-astro-cid-ofwfj3ln],
.topic-cashout[data-astro-cid-ofwfj3ln] .topic-cta[data-astro-cid-ofwfj3ln] {
  color: #fff !important;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.topic-next[data-astro-cid-ofwfj3ln] a[data-astro-cid-ofwfj3ln] { background: #fff; }

/* Inline promotions and existing dialog bodies also use light surfaces. */
.inline-banner {
  background: linear-gradient(135deg, #eee4fc, #f7f2ff 55%, #e8edf9);
  border: 1px solid #d9ccef;
  box-shadow: 0 18px 38px -28px #7042de40;
}
.inline-banner--alt {
  background: linear-gradient(135deg, #fce8f0, #fff5f9 55%, #fff1e4);
  border-color: #efd5e2;
  box-shadow: 0 18px 38px -28px #be185d35;
}
.inline-banner__bg { opacity: .12; mix-blend-mode: multiply; }
.inline-banner::after { background: radial-gradient(circle, #fff8, #fff0 62%); }
.inline-banner__flag { background: #e0d2f5; color: #5b397f; }
.inline-banner--alt .inline-banner__flag { background: #f3d8e5; color: #81314f; }
.inline-banner__in .eyebrow { color: #624382; }
.inline-banner__in .eyebrow::before { background: #7042de; }
.inline-banner__amount { color: #38224f; }
.inline-banner__terms { background: #ede4f7; color: #62556e; }
.inline-banner--alt .inline-banner__terms { background: #f7e4ed; }
.pop__backdrop { background: rgb(36 25 53 / 42%); }
.pop__box {
  background: #fff;
  border-color: #d5c6e9;
  box-shadow: 0 30px 85px -35px #38215466;
}
.pop__art::after { background: linear-gradient(#fff0 40%, #fff); }
.pop__close {
  color: #39274e;
  background: #fff;
  border-color: #d5c6e9;
  width: 44px;
  height: 44px;
}
.pop__close:hover { background: #f4eefa; }
.pop__dismiss { color: #62556e; min-height: 44px; }

/* Legacy promotion CSS uses independent per-component colour tokens. */
body .vit, body .vit-mini, body .vit-sticky, body .vit-pop {
  --vb: #fff;
  --vb2: #f5f1fc;
  --vbd: #dcd2e9;
  --vc: #23c45e;
  --vci: #062d14;
  --vt: #221b34;
  --vt2: #595269;
  --vm: #6c647b;
}
.vit-pop { background: rgb(36 25 53 / 42%); }
.vit-pop__card { box-shadow: 0 20px 70px -30px #38215455; }
.vit__btn:focus-visible { outline-color: #7042de; }
.vit-pop__x { width: 44px; height: 44px; }
.vit-pop__later { min-height: 44px; }
body .vit-sticky,
body .vit-sticky:not([hidden]),
body [data-vit-sticky],
body .vit-pop,
body .vit-pop:not([hidden]),
body [data-vit-pop] {
  display: none !important;
}
.toplist .vit-mini, .topic-row .vit-mini, .offer .vit-mini { display: none !important; }

/* The real game/art remains original; its surrounding controls are light. */
.slotdemo, .slotdemo__frame { background: #f2edf9; }
.slotdemo__bar { background: #fff; }
.slotdemo__bar p { color: var(--ink-2); opacity: 1; }
.slotdemo__play small { color: #fff; }

/* Footer mirrors the grouped navigation without a dark strip. */
.site-foot, .ledger-site-foot { background: #f0edf6; color: var(--ink-3); }
.ledger-foot-brand, .ledger-foot-group a { color: var(--ink); }
.ledger-foot-group h2 { color: #6a5c7b; }
.ledger-foot-group a:hover { color: var(--violet-deep); }
.ledger-back-top { background: #fff; color: var(--violet-deep); border-radius: 10px; }

/* One floating, rounded partner capsule. No paragraph can force it off-screen. */
.ledger-sticky {
  position: fixed;
  z-index: 140;
  left: 50%;
  right: auto;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 44px;
  align-items: center;
  gap: 12px;
  width: min(620px, calc(100vw - 32px));
  min-height: 68px;
  padding: 10px 12px;
  background: #fff;
  color: var(--ink);
  border: 1px solid #d5c6e9;
  border-radius: 22px;
  box-shadow: 0 8px 36px #38215426;
  font-family: var(--font);
  animation: ledger-sticky-enter .18s ease-out;
}
.ledger-sticky[hidden] { display: none !important; }
body:has(.nav.open) .ledger-sticky { visibility: hidden; }
.ledger-sticky__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.ledger-sticky__brand img {
  flex: none;
  object-fit: contain;
  width: 78px;
  height: 44px;
  padding: 4px 6px;
  background: #241a36;
  border-radius: 10px;
}
.ledger-sticky__brand span {
  min-width: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.ledger-sticky__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 22px;
  border-radius: 13px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.ledger-sticky__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #e4dbef;
  border-radius: 50%;
  background: #f5f1fb;
  color: #62556e;
  cursor: pointer;
  font: 400 24px / 1 var(--font);
}
.ledger-sticky__close:hover { background: #eae0f8; color: #4c24ae; }
@keyframes ledger-sticky-enter {
  from { opacity: 0; translate: 0 10px; }
  to { opacity: 1; translate: 0 0; }
}

@media (max-width: 1060px) {
  .nav { background: #fff; box-shadow: 0 16px 24px #3821540d; }
}
@media (max-width: 700px) {
  .ledger-mobile-offers .offer { background: #fff; }
  .ledger-mobile-offers .offer__terms { background: #fcfbfe; }
  .ledger-sticky {
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    transform: none;
    width: auto;
    min-height: 64px;
    padding: 9px;
    gap: 8px;
    border-radius: 20px;
  }
  .ledger-sticky__brand { gap: 8px; }
  .ledger-sticky__brand img { width: 58px; height: 40px; padding: 4px; border-radius: 8px; }
  .ledger-sticky__brand span { font-size: 12px; }
  .ledger-sticky__cta { padding: 10px 14px; font-size: 13px; border-radius: 12px; }
}
@media (max-width: 350px) {
  .ledger-sticky { gap: 6px; padding: 8px; }
  .ledger-sticky__brand { gap: 6px; }
  .ledger-sticky__brand img { width: 48px; height: 38px; }
  .ledger-sticky__brand span { font-size: 11px; }
  .ledger-sticky__cta { padding-inline: 11px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .ledger-sticky,
  .offer,
  .btn-cta,
  .pop__box,
  .crosssite__card { animation: none; transition: none; }
  .btn-play::after { animation: none; }
}
