/* Subway identity. Financial controls, permission checks and API keys stay unchanged. */
:root {
  --subway-orange: #ffb02e;
  --subway-sky: #52d6ff;
  --subway-ink: #0b1222;
  --subway-panel: #152039;
  color-scheme: dark;
  --background: #0b1222; --bg: #0b1222; --ink: #0b1222; --ink-soft: #141f34;
  --surface: #141f34; --surface-soft: #111b2e; --surface-2: #1a2841; --surface-3: #22334f;
  --panel: #141f34; --sidebar: #0d1729; --text: #f5f7fc; --ice: #f5f7fc;
  --muted: #b2bfd3; --muted-2: #91a2ba; --line: #2c3b53; --line-soft: #243149;
  --primary: #ffc24b; --primary-dark: #ffd783; --primary-soft: #342e22;
  --cyan: #ffc24b; --cyan-bright: #ffe3a2; --gold: #ffc24b; --violet: #8aabfa;
  --radius-sm: 12px; --radius-md: 16px; --radius-lg: 22px; --radius-xl: 26px;
  --shadow: 0 18px 45px #0003;
}
body {
  background-color: var(--subway-ink);
  background-image: radial-gradient(ellipse at 85% 0, #243654 0, transparent 55%);
  color: var(--text);
}
.brand img, .sales-brand img, .auth-brand img, .sidebar-brand img {
  object-fit: contain;
}
.hero__slide { object-position: center 32%; }
.hero__badge, .season-status, .game-menu-card__badge {
  border-color: rgb(255 176 46 / 35%);
}
.hero__content h1, .sales-hero h1 { letter-spacing: -.055em; }
.hero__content h1 span, .sales-hero h1 span { color: var(--subway-orange); }
.action-button--primary, .button--primary, .auth-submit {
  color: #171a23;
  background: linear-gradient(135deg, #ffd363, #ffac24);
  border-color: #ffcf70;
  box-shadow: 0 9px 24px rgb(255 168 36 / 14%);
}
.action-button--primary:hover, .button--primary:hover, .auth-submit:hover {
  filter: brightness(1.07);
}
.sidebar .nav-item.is-active, .sidebar .nav-link.active {
  border-color: rgb(255 176 46 / 45%);
  background: rgb(255 176 46 / 10%);
  color: #ffcf70;
}
.subway-integration-notice {
  padding: 16px 20px; border: 1px solid #624d29; border-radius: 16px;
  color: #f3d79f; background: #211d19; font-size: 14px; line-height: 1.6;
}
.subway-integration-notice a { color: #fff; font-weight: 700; }
.game-world .subway-ready {
  position: absolute; z-index: 25; inset: 0; display: grid; place-items: center; align-items: safe center;
  overflow-y: auto; padding: 68px 24px 34px; pointer-events: auto;
  background: radial-gradient(ellipse at 18% 30%, #234270, transparent 65%), #0b1222;
}
.game-world .subway-ready[hidden], .game-world .subway-countdown[hidden] { display: none; }
.game-world .game-close--world { z-index: 35; }
.subway-ready__card {
  display: grid; grid-template-columns: .95fr 1fr; width: min(860px, 100%); flex-shrink: 0;
  overflow: hidden; border: 1px solid #ffffff26; border-radius: 26px;
  background: #141f34; box-shadow: 0 28px 90px #0006; text-align: left;
}
.subway-ready__art { position: relative; min-height: 430px; background: #335076; }
.subway-ready__art > img:first-child { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 46% 50%; }
.subway-ready__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #09112255, transparent 40%, #09112266); }
.subway-ready__art .subway-ready__brand { position: absolute; z-index: 1; width: 180px; max-width: 70%; height: auto; top: 22px; left: 24px; }
.subway-ready__content { padding: 34px; display: flex; flex-direction: column; justify-content: center; }
.subway-ready__eyebrow { color: #ffcf6c; font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.game-world .subway-ready h2 { margin: 14px 0; color: #fff; font-size: clamp(28px, 3.2vw, 38px); line-height: 1.08; letter-spacing: -.035em; text-shadow: none; }
.game-world .subway-ready .game-instruction {
  position: static; transform: none; width: auto; padding: 0; margin: 0; border: 0;
  border-radius: 0; background: none; backdrop-filter: none; box-shadow: none;
  color: #b8c8de; text-align: left; font-size: 14px; line-height: 1.6;
}
.subway-ready__controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 24px; }
.subway-ready__controls span { display: grid; gap: 4px; padding: 10px; background: #ffffff07; border: 1px solid #ffffff16; border-radius: 12px; color: #c1cfe2; text-align: center; font-size: 11px; }
.subway-ready__controls b { color: #ffcf6c; font-size: 23px; line-height: 1.2; }
.subway-ready__hint { color: #8ea5c0; font-size: 11px; margin: 10px 0 18px; }
.subway-ready__summary { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid #ffffff18; color: #9fb3cd; font-size: 12px; }
.subway-ready__summary b { display: block; color: #fff; font-size: 18px; margin-top: 3px; }
.game-world .subway-ready .subway-launch, .overlay--game .subway-result + .game-result__actions .game-start {
  position: static; width: 100%; min-width: 0; min-height: 54px; margin: 10px 0 0; padding: 14px 20px;
  transform: none; border: 1px solid #ffe19a; border-radius: 12px; color: #231b0d;
  background: linear-gradient(120deg, #ffda79, #ffae30); font-weight: 850; font-size: 14px;
  letter-spacing: .015em; text-transform: none; box-shadow: 0 8px 25px #ffb52e18;
  display: flex; align-items: center; justify-content: space-between; cursor: pointer;
}
.subway-ready__content > small { display: block; margin-top: 12px; color: #93a7c1; font-size: 10px; line-height: 1.5; }
.game-world .subway-countdown {
  position: absolute; z-index: 26; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 12px; padding: 24px; text-align: center;
  color: #fff; background: #07365a80; backdrop-filter: none; pointer-events: auto;
}
.subway-countdown > span { color: #ffdf40; font-size: 12px; font-weight: 850; letter-spacing: .2em; }
.subway-countdown > strong { font-family: "Arial Black", Impact, "Segoe UI", sans-serif; font-size: clamp(72px, 15vw, 130px); line-height: 1; font-weight: 900; text-shadow: 0 3px 0 #07365a; }
.subway-countdown.is-message > strong { font-size: clamp(24px, 6vw, 36px); }
.subway-countdown > p { font-size: 13px; color: #e7f6ff; }
.game-world .subway-countdown.is-preparing { inset: auto 18px 24px; width: fit-content; max-width: calc(100% - 36px); margin-inline: auto; padding: 12px 22px; gap: 5px; border-radius: 12px; border: 2px solid #d7f5ffb3; background: #0b4479ed; box-shadow: 0 3px 0 #072f59; backdrop-filter: none; pointer-events: none; }
.game-world .subway-countdown.is-preparing > span { font-size: 9px; }
.game-world .subway-countdown.is-preparing > strong { font-size: 19px; }
.game-world .subway-countdown.is-preparing > p { font-size: 11px; margin: 0; }
.game-world.is-counting > .game-hud, .game-world.is-counting > .game-speed,
.game-world.is-counting > .game-coin-count { visibility: hidden; }

/* Scoped overrides intentionally outrank the inherited polar result styles. */
.overlay--game .game-modal .game-stage--result {
  padding: max(30px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));
  justify-content: safe center; gap: 12px; background: #0b1222; color: #fff;
}
.overlay--game .game-modal .game-stage--result::before { display: none; }
.subway-result-scene { position: fixed; z-index: -1; inset: 0; background: linear-gradient(90deg, #0b1222eb, #0b1222bb), url('/assets/platform/subway-surf/subway-original/art.png') center 35% / cover; }
.overlay--game .game-stage .game-result.subway-result {
  position: relative; width: min(510px, 100%); flex-shrink: 0; margin: auto 0 0; padding: 24px;
  background: #152039f5; border: 1px solid #ffca5838; border-radius: 22px; box-shadow: 0 24px 65px #0006;
  color: #eaf1ff; animation: none; backdrop-filter: none;
}
.overlay--game .game-stage .subway-result::before { display: none; }
.subway-result__brand { display: block; width: 150px; height: auto; margin: 0 auto 18px; }
.subway-result__finish { display: block; width: 42px; height: 42px; margin: 0 auto 10px; border-radius: 12px; background: #ffbb3820; color: #ffcf6c; font-size: 26px; }
.overlay--game .game-stage .subway-result h2 { color: #fff; text-shadow: none; font-size: clamp(24px, 4.5vw, 30px); margin: 7px 0 15px; }
.overlay--game .game-stage .subway-result > p { color: #ffc966; }
.overlay--game .game-stage .subway-result dl div { border-color: #ffffff13; border-radius: 10px; background: #ffffff06; animation: none; }
.overlay--game .game-stage .subway-result dt { color: #9fb2cc; font-size: 9px; }
.overlay--game .game-stage .subway-result dd { color: #fff; font-size: 14px; }
.overlay--game .game-stage .subway-result .game-result__balance { background: #0b1526; border-color: #ffffff10; color: #b9cbe4; }
.overlay--game .game-stage .subway-result .game-result__balance b { color: #fff; }
.overlay--game .game-stage .subway-result .game-result__loss-note { color: #aabbd3; font-size: 12px; letter-spacing: 0; font-weight: 500; line-height: 1.5; }
.overlay--game .subway-result + .game-result__actions { width: min(510px, 100%); flex-shrink: 0; margin: 0 0 auto; animation: none; }
.overlay--game .subway-result + .game-result__actions .game-start { justify-content: center; margin: 0; }
.overlay--game .subway-result + .game-result__actions .game-text-button { color: #bdcce1; }
.overlay--game .game-modal .game-stage--result > .game-demo-label { margin: 2px 0 0; flex-shrink: 0; color: #91a5c1; }
.public-demo .demo-outcome, .public-demo .demo-outcome[data-outcome="lost"] {
  background: #152039; border-color: #ffca5838; color: #eaf1ff; border-radius: 22px;
}
.public-demo .demo-outcome__brand { width: 150px; height: 64px; filter: none; }
.public-demo .demo-outcome__label { color: #ffcf6c; }
.public-demo .demo-outcome__title { color: #fff; text-shadow: none; }
.public-demo .demo-outcome__value, .public-demo .demo-outcome[data-outcome="lost"] .demo-outcome__value { color: #ffcf6c; }
.public-demo .demo-outcome__caption, .public-demo .demo-outcome__message,
.public-demo .demo-outcome__footnote, .public-demo .demo-outcome .demo-secondary { color: #b9cbe4; }
.public-demo .demo-outcome .demo-primary {
  color: #231b0d; background: linear-gradient(120deg, #ffda79, #ffae30); border-color: #ffe19a;
  box-shadow: 0 8px 25px #ffb52e18; border-radius: 12px;
}
.public-demo .demo-outcome .demo-secondary:hover { background: #ffffff0c; color: #fff; }
@media (max-width: 600px) {
  .game-world .subway-ready { padding: 56px 14px 22px; }
  .subway-ready__card { max-width: 410px; grid-template-columns: 1fr; border-radius: 20px; }
  .subway-ready__art { min-height: 150px; height: 19vh; max-height: 200px; }
  .subway-ready__art > img:first-child { object-position: center 32%; }
  .subway-ready__content { padding: 22px; }
  .game-world .subway-ready h2 { margin: 10px 0; font-size: 29px; }
  .subway-ready__controls { margin-top: 16px; }
  .subway-ready__summary { padding: 9px 0; }
  .overlay--game .game-stage .game-result.subway-result { padding: 20px 16px; }
}
@media (max-height: 600px) and (min-width: 601px) {
  .game-world .subway-ready { padding: 20px 70px; }
  .subway-ready__art { min-height: 330px; }
  .subway-ready__content { padding: 20px 26px; }
  .game-world .subway-ready h2 { font-size: 26px; margin-block: 8px; }
  .subway-ready__controls { margin-top: 12px; }
}
.game-world .game-loading {
  padding: 28px; gap: 16px; color: #f7fbff; text-align: center;
  background: radial-gradient(ellipse at 50% 28%, #139bdb, #0864a5 58%, #084374);
  backdrop-filter: none; text-shadow: none;
}
.game-world .game-loading .game-loading__subway {
  width: clamp(112px, 23vw, 170px); height: clamp(112px, 23vw, 170px);
  object-fit: cover; object-position: center 25%; border-radius: 28px;
  border: 3px solid #e7f6ff; box-shadow: 0 5px 0 #07365a;
}
.game-world .game-loading > strong { font-family: "Arial Black", Impact, "Segoe UI", sans-serif; font-style: italic; text-shadow: 0 2px 0 #07365a; }
.game-world .game-loading .game-loading__detail { color: #e7f6ff; font-size: 14px; }
.game-world .game-loading > i { background: #07365a80; }
.game-world .game-loading > i b { background: #ffdf40; }
.game-world.is-loading > .game-hud,
.game-world.is-loading > .game-speed,
.game-world.is-loading > .game-coin-count,
.game-world.is-loading > .game-audio-controls { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .action-button--primary, .button--primary { transition: none; }
}

/* Platform-wide urban system. Status colours (paid, pending, rejected) retain
   their meaning. No layout, permission, form or financial hooks are replaced. */
button, input, select, textarea { accent-color: #ffc24b; }
:is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid #ffd477; outline-offset: 3px; }
::selection { background: #ffc24b; color: #101828; }
.edge-glow { display: none; }
.game-menu-scene { background: #0b1222 url('/assets/platform/subway-surf/subway-original/art.png') center 35% / cover no-repeat; }
.game-menu-scene::after { background: #0b1222b8; backdrop-filter: blur(5px); }
.overlay--game .game-menu-card { width: min(420px, 100%); padding: 28px; background: #142139f5; color: #f2f6ff; border-color: #ffc95d45; border-radius: 22px; box-shadow: 0 24px 75px #0006; }
.overlay--game .game-menu-card__media { width: calc(100% + 56px); height: 140px; margin: -28px -28px 22px; border-radius: 21px 21px 0 0; object-position: center 28%; }
.overlay--game .game-menu-balance span, .overlay--game .game-menu-best span, .overlay--game .game-menu-label { color: #a5b9d4; }
.overlay--game .game-menu-balance strong { color: #ffda85; }
.overlay--game .game-menu-best b { color: #f0f5ff; }
.overlay--game .game-menu-divider { background: #354963; }
.overlay--game .game-menu-card .stake-chips button { background: #1d2e49; border-color: #3a4d69; color: #dce8f8; border-radius: 11px; }
.overlay--game .game-menu-card .stake-chips button.is-active { background: #3b3325; border-color: #ffd477; color: #ffd477; transform: none; box-shadow: none; }
.overlay--game .game-menu-card .stake-chips button:hover:not(:disabled) { color: #ffe1a0; border-color: #ffd477; }
.overlay--game .game-menu-card .game-integrity-notice { background: #123b354a; border-color: #499b8261; color: #b1e4d3; }
.overlay--game .game-menu-card .game-integrity-notice.is-pending { background: #2a30404a; border-color: #75859f61; color: #c4d1e5; }
.overlay--game .game-menu-card .game-menu-rule { color: #b0c2dc; }
.overlay--game .game-menu-card .game-start { color: #172039; background: linear-gradient(110deg, #ffdb79, #ffad30); border-color: #ffe3a1; box-shadow: 0 12px 32px #ffb02e14; border-radius: 12px; font-size: 14px; letter-spacing: .02em; text-transform: none; }
.overlay--game .game-menu-card .game-menu-link { color: #cbdaf0; background: #21314a; border-radius: 11px; letter-spacing: 0; text-transform: none; font-size: 12px; }
.overlay--game .game-menu-card .game-menu-link--muted { background: transparent; color: #a4b6cf; }
.overlay--game .game-close, .game-world .game-close, .game-world .game-sound { background: #15243dd9; color: #eaf2ff; border-color: #59739670; border-radius: 12px; }
.game-world .game-cashout { color: #16243a; background: #ffc24b; border-color: #ffdf95; box-shadow: 0 8px 24px #0004; }
.app-shell.app-shell--portal { background: transparent; box-shadow: none; }
.portal-topbar, .portal-bottom-nav { background: #0c1629f5; border-color: #2c3b53; }
.portal-topbar .brand .brand__lockup { width: 165px; filter: none; }
.portal-topbar .desktop-nav a { color: #b2bfd3; }
.portal-topbar .desktop-nav a:hover { color: #ffd477; }
.portal-topbar .balance-pill, .portal-topbar .profile-shortcut { background: #19263c; border-color: #34425c; box-shadow: none; }
.portal-topbar .balance-pill span { color: #9eb1cd; }
.portal-topbar .balance-pill strong { color: #fff; }
.profile-shortcut > span { color: #ffcf70; background: #4b3b20; }
.portal-bottom-nav button { color: #9cabc3; }
.portal-bottom-nav button.is-active { color: #ffcf70; }
.portal-bottom-nav .nav-play { background: #ffc24b; color: #152039; box-shadow: 0 8px 25px #0004; }
.portal-hero--v26 .campaign-banner { border-radius: 22px; border-color: #354764; background: #263752; }
.portal-hero--v26 .campaign-banner::before { background: linear-gradient(0deg, #0b1222bd, transparent 60%); }
.campaign-banner__status { background: #0b1222ad; color: #e7eefb; border-color: #ffffff25; }
.portal-hero--v26 .play-panel { background: linear-gradient(135deg, #1b2c46, #121f34); border-color: #40516a; border-radius: 22px; box-shadow: none; }
.portal-main .portal-hero--v26 { display: grid; grid-template-columns: 1.05fr 1fr; gap: 20px; align-items: stretch; }
.portal-main .portal-hero--v26 .campaign-banner { height: 420px; min-height: 0; margin: 0; }
.portal-main .portal-hero--v26 .play-panel { width: 100%; min-height: 0; margin: 0; padding: 28px; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto auto; grid-template-areas: "topline" "copy" "actions" "telemetry"; gap: 18px; }
.portal-main .portal-hero--v26 .play-panel__copy { padding: 0; align-self: center; }
.portal-main .portal-hero--v26 .play-panel__copy h1 { font-size: clamp(28px, 3vw, 42px); }
.portal-main .portal-hero--v26 .play-panel__actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 10px; align-items: stretch; }
.portal-main .portal-hero--v26 .play-panel__actions > button { display: flex; justify-content: center; align-items: center; gap: 9px; width: 100%; min-width: 0; min-height: 50px; padding: 12px; font-size: 13px; }
.portal-main .portal-hero--v26 .play-panel__actions svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.portal-main .portal-hero--v26 .play-panel__actions .primary-cta svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.portal-main .portal-hero--v26 .season-telemetry { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; height: auto; padding: 14px 0 0; margin: 0; border-top: 1px solid #3c4e68; border-left: 0; }
.portal-main .portal-hero--v26 .season-telemetry > span { padding: 0; border: 0; }
.play-panel__topline > span, .play-panel__copy h1 em { color: #ffd477; }
.play-panel__copy h1 { color: #fff; text-shadow: none; }
.play-panel__copy p { color: #b5c5dc; }
.play-panel__actions .primary-cta, .primary-cta--play { color: #172039; background: linear-gradient(110deg, #ffda76, #ffa82b); border-color: #ffe0a0; border-radius: 13px; box-shadow: 0 8px 18px #ffad241c; animation: none; }
.play-panel__actions .secondary-cta { background: #253751; border-color: #405575; color: #d9e6fa; }
.performance-strip, .performance-strip > article { color: #e8f1ff; border-color: #2c3b53; background: #141f34; }
.performance-strip small { color: #a8b8d0; }
.performance-strip strong { color: #fff; }
.performance-strip__icon { background: #ffc24b15; color: #ffca65; }
.performance-strip > button { color: #ffca65; background: #1b2840; border-color: #34435e; }
.portal-main .section-kicker, .portal-main .section-heading h2 { color: #ffce6f; }
.portal-main .about-card.power-guide { background: #121e33; border-color: #344965; border-radius: 22px; }
.portal-main .about-card__intro h2, .portal-main .power-guide > h3, .portal-main .guide-info-card h3 { color: #f1f6ff; }
.portal-main .power-guide .guide-info-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.portal-main .power-guide .guide-info-card { padding: 18px; align-items: flex-start; }
.portal-main .power-guide .guide-info-card h3 { font-size: 16px; margin: 0 0 10px; line-height: 1.4; }
.portal-main .power-guide .guide-info-card h4 { font-size: 15px; margin-bottom: 8px; }
.portal-main .power-guide .guide-info-card p { font-size: 13px; line-height: 1.6; }
.portal-main .power-guide > h3 { font-size: 22px; margin: 32px 0 18px; }
.portal-main .power-guide .guide-tip { margin-top: 22px; }
.portal-main .power-guide .guide-tip p { font-size: 12px; line-height: 1.6; }
.portal-hero--v26 .campaign-banner::before { animation: none; inset: 0; width: auto; height: auto; transform: none; }
.portal-hero--v26 .season-telemetry { border-color: #3c4e68; }
.portal-hero--v26 .season-telemetry small { color: #a9bcd5; }
.portal-hero--v26 .season-telemetry strong { color: #ffd477; }
.portal-bottom-nav .diamond-button--play { border-color: #0c1629; background: #ffc24b; box-shadow: 0 8px 18px #0004; border-radius: 18px; }
.portal-bottom-nav .diamond-button--play span { color: #172039; }
.portal-bottom-nav .diamond-button--play small { color: #ffd477; }
.portal-main .demo-banner { background: #17253d; border-color: #3f5273; border-radius: 16px; }
.portal-main .demo-banner > span { color: #ffce6f; background: #ffce6f14; }
.portal-main .demo-banner strong { color: #f0f5ff; }
.portal-main .demo-banner p { color: #aebed5; }
.portal-main .site-footer p { color: #94a6c1; }
.guide-panel, .guide-panel[open], .guide-info-card, .guide-panel__body article { color: #e8f1ff; background: #141f34; border-color: #2d405c; border-radius: 14px; }
.guide-panel summary strong, .guide-info-card h4, .guide-panel__body h3 { color: #f1f6ff; }
.guide-panel summary small, .guide-info-card p, .guide-panel__body p, .guide-panel__copy p { color: #aebed5; }
.guide-panel summary > .guide-icon, .guide-panel summary > i { color: #ffce6f; background: #ffc24b18; }
.guide-chip-list span, .guide-tip { color: #b7c6da; background: #1b2b43; border-color: #344965; }
.guide-tip strong { color: #f3f7ff; }

/* Auth, account access and public website share the same visual language. */
.auth-scene { background: #1b2d49; }
.auth-scene::before { background: linear-gradient(180deg, #111b3022 15%, #0b1222e8 90%), linear-gradient(90deg, #0b122255, transparent); }
.auth-scene__art img { object-position: 44% center; }
.auth-scene__copy h1 em, .auth-kicker, .auth-switch a { color: #ffd477; }
.auth-panel { background: radial-gradient(ellipse at 100% 0, #33435f55, transparent 65%), #0b1222; }
.auth-panel::before { opacity: .16; background-image: linear-gradient(135deg, transparent 49.6%, #7294c02b 50%, transparent 50.4%); background-size: 80px 80px; }
.auth-input, .auth-input:focus-within { background: #17243a; border-color: #3a4b65; border-radius: 12px; }
.auth-input:focus-within { border-color: #eab651; box-shadow: 0 0 0 4px #ffcf6c14; }
.auth-input input::placeholder { color: #7f94b0; }
.auth-scene__metric { background: #14243ce0; border-radius: 12px; border-color: #ffffff29; }
.auth-submit { background: linear-gradient(110deg, #ffdb79, #ffad30); color: #172039; border-color: #ffe3a1; box-shadow: 0 12px 32px #ffb02e14; border-radius: 12px; }
.blocked-content, .blocked-status { background: #141f34; border-color: #35455f; }
.blocked-banner::before { background: linear-gradient(90deg, #0b1222f5, #0b1222c5 50%, #0b122230); }
.blocked-banner-copy span, .blocked-reason-card h2 { color: #ffcf70; }
.blocked-reason { background: #0f1a2d; border-color: #34425b; color: #dce7f6; }
.blocked-shell button, .blocked-status a { color: #19223a; background: #ffca63; border-color: #ffe09d; }
.sales-header { background: #0c1629df; border-color: #2c3b53; }
.sales-brand img { filter: none; }
.sales-hero { gap: 64px; }
.sales-hero__glow { background: #ffb02e17; }
.sales-hero h1 em, .season-showcase h2 em, .final-cta h2 em { color: #ffca63; text-shadow: none; }
.sales-header .button:not(.button--ghost), .sales-hero .button, .sales-preview .button,
.season-showcase .button, .final-cta .button:not(.button--outline), .account-card > a {
  background: linear-gradient(110deg, #ffda76, #ffa82b); color: #172039; border-color: #ffe1a0; box-shadow: 0 8px 25px #ffb02e18; border-radius: 12px;
}
.button--outline, .button--ghost { border-color: #465874; color: #e2ebfa; }
.game-frame { background: #223854; border-color: #9ab0cf40; border-radius: 24px; transform: rotate(2deg); box-shadow: 0 36px 80px #0005, 0 0 0 7px #ffffff05; }
.game-frame__live, .game-frame__score, .floating-card { background: #142039e8; border-color: #ffffff23; color: #f5f8ff; }
.floating-card--ranking > span { color: #ffcc68; background: #ffcc6818; }
.quick-strip { border-color: #30435f; background: #131f35; }
.quick-strip strong { color: #ffcf70; }
.preview-cards article, .account-card { background: #16243a; border-color: #344965; border-radius: 20px; box-shadow: none; }
.preview-cards b { color: #ffcf70; }
.season-showcase { background: #101b2d; border-color: #2c3b53; }
.season-showcase__visual { background: #15233c; border-radius: 24px; }
.season-showcase__visual img { object-position: center; }
.season-showcase__mission { background: #111f35de; border-color: #ffffff25; }
.season-points article { background: #1a2940; border-color: #364960; }
.season-points b { color: #ffd477; background: #ffc24b15; }
.feature-card { background: #14213a; border-color: #34435e; border-radius: 20px; }
.feature-card img { object-fit: cover; }
.feature-card::after { background: linear-gradient(180deg, transparent 32%, #0b1222f5 100%); }
.feature-card--cyan::after { background: linear-gradient(180deg, transparent 24%, #0b1222f5 100%); }
.feature-card span { color: #ffcf70; }
.account-card__stats div { background: #101a2c; border-color: #34435e; }
.account-card__stats small { color: #aebed5; }
.account-card__stats div:first-child strong { color: #ffcf70; font-size: 18px; }
.final-cta { background: radial-gradient(ellipse at 50% 100%, #745c2029, transparent 60%), #16243a; border-color: #4a5567; border-radius: 24px; }
.final-cta > img { border-radius: 24px; object-fit: cover; filter: none; }

/* Operational UI: ADMIN and affiliate controls keep their existing layout,
   status semantics and data. The brand now uses amber, slate and electric blue. */
.sidebar { background: #0e192c; border-color: #293c59; }
.sidebar__brand, .sidebar__footer { border-color: #293c59; }
.sidebar .nav-link { color: #a8b8d0; border-radius: 10px; }
.sidebar .nav-link:is(.is-active, .active) { color: #ffda87; border-color: #7b613640; background: #ffc24b12; box-shadow: inset 3px 0 #ffc24b; }
.sidebar .nav-link:hover { background: #1c2c44; color: #fff; }
.sidebar .nav-link.is-active .nav-icon { color: #ffd477; }
.admin-topbar { background: #0e192cf5; border-color: #293c59; }
.breadcrumb > span, .settings-kicker, .page-head__eyebrow { color: #ffcf70; }
.operator-chip { background: #1b2c44; border-color: #3d5272; }
.operator-chip__avatar, .avatar { color: #ffda87; background: #4b3b20; }
.panel, .settings-card, .metric-card, .toolbar, .media-card, .media-section,
.manager-permission, .gateway-card, .admin-modal, .modal-section, .admin-toast { background: #141f34; border-color: #2c3b53; }
.panel__header, .admin-modal__head, .admin-modal__footer, .modal-actions--sticky { background: #111d31; border-color: #2c3b53; }
.data-table th { color: #aebed5; background: #101a2c; border-color: #2c3b53; }
.data-table td { border-color: #263751; }
.data-table tbody tr:hover td { background: #1b2b43; }
.admin-workspace .field input:not([type=checkbox]):not([type=radio]):not([type=color]),
.admin-workspace .field select, .admin-workspace .field textarea, .control,
.admin-modal .field input:not([type=checkbox]):not([type=radio]):not([type=color]),
.admin-modal .field select, .admin-modal .field textarea, .toggle-field { background: #0f192a; color: #edf3ff; border-color: #3a4a64; }
.button--primary, .admin-content .button--primary { background: #ffc24b; border-color: #ffd684; color: #182239; box-shadow: none; }
.button--primary:hover { background: #ffda85; }
.metric-card__icon { color: #ffce6f; background: #ffce6f17; }
.table-action:not(.table-action--danger), .tabs button, .user-tabs button { color: #bfd0e8; background: #192840; border-color: #3a4c68; }
.tabs button.is-active, .user-tabs button.is-active { color: #ffdb8e; background: #443724; border-color: #b4914e; }
.modal-summary, .transaction-confirm-summary { background: #1b2940; border-color: #40526b; }
.notice { border-radius: 12px; }
.media-card__preview { background: #101c30; }

/* Payment QR surfaces remain white. Never tint the QR image or canvas. */
.modal, .modal.modal--payment { background: #141f34; color: #edf3ff; border-color: #3a4a64; border-radius: 20px; }
.modal .modal__header { background: #111d31; border-color: #34435e; }
.modal .modal__header h2 { color: #f6f8ff; }
.modal .modal__header p, .modal .modal__header .eyebrow { color: #ffcf70; }
.modal .icon-button { color: #d0ddf0; background: #23334c; border-color: #405470; }
.modal .form-field :is(input, select, textarea), .modal .payment-pix-code { color: #edf3ff; background: #0f1a2e; border-color: #3c4f6b; }
.modal .form-field label, .modal .payment-limits, .modal .modal__lead { color: #bdcce0; }
.modal .summary-card, .modal--payment .summary-card { background: linear-gradient(110deg, #263650, #1c2a41); border-color: #4c5b73; color: #f7f9ff; }
.modal .summary-card strong { color: #fff; }
.modal .summary-card span, .modal .summary-card b { color: #ffcf70; }
.modal .quick-values button { color: #e8f1ff; background: #1b2b44; border-color: #405575; }
.modal .quick-values button[data-deposit-cents="5000"] { background: #3c3324; border-color: #ffd477; box-shadow: inset 0 0 0 1px #ffd477; }
.modal .quick-values button:is(:hover, :focus-visible, .is-active) { color: #ffda87; border-color: #ffcf70; background: #443723; }
.modal .action-button:not(.action-button--secondary):not(.action-button--danger), .modal .payment-pix-code button,
.portal-topbar .deposit-shortcut { color: #172039; background: #ffc24b; border-color: #ffd783; box-shadow: none; border-radius: 12px; }
.modal .action-button--secondary { background: #243650; color: #dce8fa; border-color: #415876; }
.modal .security-note, .modal .payment-history > article, .modal .withdrawal-amounts { background: #101b2d; color: #b8c8de; border-color: #344965; }
.deposit-demo-banner { background: #172740; border-color: #8b744340; }
.deposit-demo-banner::after { background: linear-gradient(100deg, #131f35f5 10%, #17253ee8 50%, #17253e35); }
.deposit-demo-banner__eyebrow, .deposit-demo-banner__amount { color: #ffda85; }
.deposit-demo-choice { background: #192840; border-color: #3a4a64; }
.deposit-offer, .deposit-offer__card, .deposit-offer-preview { color: #e8f1ff; background: #16243a; border-color: #40516d; }

/* Affiliate workspace, wallet, profile, support and integration cards. */
.modal :is(.profile-card, .profile-season, .referral-panel, .referral-card, .referral-push, .referral-pixel,
.referral-summary, .referral-stat, .referral-metric, .referral-metric-card, .referral-link, .referral-guide, .referral-chart-card),
.referral-dashboard :is(.referral-panel, .referral-card) { background: #182740; border-color: #3a4d69; color: #e1ebf9; }
.modal :is(.referral-push h3, .referral-pixel h3, .referral-pixel-heading h3, .referral-metric strong) { color: #f5f8ff; }
.modal :is(.referral-push p, .referral-push small, .referral-pixel-heading p, .referral-pixel-note, .referral-pixel-fields small) { color: #b1c2da; }
.modal :is(.referral-push-options label, .referral-pixel-toggle, .referral-pixel-events > span, .referral-pixel-status, .referral-push-install) { background: #101d32; border-color: #3a4d69; color: #d1e0f4; }
.modal .referral-pixel-fields input[type="text"], .modal .referral-pixel-fields input[type="password"] { background: #101d32; color: #f0f6ff; border-color: #3a4d69; }
.modal :is(.referral-push-icon, .referral-pixel-icon, .referral-pixel-badge) { background: #ffc24b14; color: #ffda85; border-color: #8b744340; }
.referral-button:not(.referral-button--outline) { background: #ffc24b; color: #172039; border-color: #ffdb8e; }
.referral-button--outline { background: #21324e; color: #c5d8f0; border-color: #476285; }
.profile-card, .profile-hero { background: linear-gradient(125deg, #223958, #111d31); border-color: #3d5272; }
.drawer { background: #111d31; color: #dce8f8; border-color: #344965; }
.drawer__hero { background: linear-gradient(125deg, #2b405e, #131e32); }
.drawer-link:hover { background: #23354f; color: #ffcf70; }
.drawer-link--affiliate { color: #ffda87; background: #332e26; border-color: #765f39; }
.drawer-link--affiliate > span:first-child { color: #182239; background: #ffc24b; }
.modal .history-card, .modal .payment-history-card { color: #e6eefb; background: #17263e; border-color: #3a4c68; }
.modal .history-card dt { color: #aabdd8; }
.modal .history-card dd { color: #f4f8ff; }
.modal .consent-choice { background: #182941; border-color: #405575; }
.modal .consent-choice strong { color: #eaf2ff; }
.modal .consent-choice small { color: #aebfd7; }
.referral-center .referral-tabs, .referral-center .referral-periods { background: #111d31; border-color: #344965; }
.referral-center .referral-tabs button, .referral-center .referral-periods button { color: #aebfd7; }
.referral-center .referral-tabs button[aria-selected="true"] { color: #ffda87; border-bottom-color: #ffc24b; }
.referral-center .referral-periods button[aria-pressed="true"] { background: #3d3324; color: #ffda87; box-shadow: none; }
.referral-center :is(.referral-links, .referral-game-results, .referral-members, .referral-level, .referral-invite--sub) { background: #17263e; border-color: #3a4d69; color: #e4eefb; }
.referral-center :is(.referral-section-heading h3, .referral-card > h3, .referral-level h3, .referral-invite h3, .referral-links > summary, .referral-funnel strong) { color: #edf4ff; }
.referral-center :is(.referral-invite p, .referral-invite label, .referral-invite small, .referral-section-heading p, .referral-card > p, .referral-disclosure, .referral-metric div > span, .referral-metric small, .referral-funnel > div > span, .referral-member small, .referral-level > small, .referral-filter, .referral-pagination, .referral-footer) { color: #aebfd7; }
.referral-center :is(.referral-link-control input, .referral-filter select) { background: #101b2e; color: #dceaff; border-color: #405575; }
.referral-center .referral-balance { background: linear-gradient(120deg, #304361, #17243a); border-color: #887141; }
.referral-center :is(.referral-eyebrow, .referral-share, .referral-refresh, .referral-chart-total, .referral-level > span) { color: #ffce6f; }
.referral-center .referral-metric__icon, .referral-center .referral-avatar { color: #ffce6f; background: #ffce6f16; border-color: #ffce6f30; }
.referral-center .referral-chart { border-color: #3a4d69; background: repeating-linear-gradient(to top, transparent 0, transparent 49px, #8aa4ca18 50px); }
.referral-center .referral-chart__day i, .referral-center .referral-funnel i { background: linear-gradient(#ffd574, #e9a43b); }
.referral-center .referral-chart__day i.is-zero, .referral-center .referral-funnel > div > div { background: #354663; }
.referral-center .referral-chart-data, .referral-center .referral-chart__day small { color: #adc0dc; }
.referral-center :is(.referral-member, .referral-chart-data td, .referral-chart-data th, .referral-footer) { border-color: #344965; }
.referral-center .referral-link-control .referral-button { background: #ffc24b; color: #172039; border-color: #ffd783; }
.referral-center .referral-button:hover:not(:disabled) { background: #ffdb8e; color: #172039; border-color: #ffe3aa; }
.affiliate-dashboard__hero { background: linear-gradient(125deg, #2b405e, #131e32); border-color: #77613c; }
.affiliate-dashboard__hero::after { content: "↗"; color: #ffda8726; }
.affiliate-dashboard__badge { color: #ffcf70; background: #ffcf7014; border-color: #ffcf7040; }
.affiliate-dashboard__metrics article, .affiliate-dashboard__link { background: #17263e; color: #dceaff; border-color: #405575; }
.affiliate-dashboard__metrics strong, .affiliate-dashboard__link-details a, .affiliate-dashboard__link-details span { color: #f0f5ff; }
.affiliate-dashboard__link button { background: #ffc24b; color: #172039; }
.profile-menu button, .account-menu button { background: #17263e; color: #d6e5f7; border-color: #334965; }
.activity-toast, .activity-notification { background: #17263eee; border-color: #b8954938; color: #f0f5fc; }
.tracking-banner, .tracking-dialog { background: #152039; border-color: #3c4f6b; color: #dce7f6; }

/* In-game HUD and crash presentation are Subway-specific, above the renderer. */
.game-world { --subway-hud-panel: #0b4479e8; --subway-hud-line: #d7f5ffb3; --subway-hud-gold: #ffdf40; }
.game-world > .game-hud, .game-world > .game-speed, .game-world > .game-coin-count,
.game-world > .game-effects, .game-world > .game-powerups, .game-world > .game-audio-controls { z-index: 12; }
.game-world .game-hud__card, .game-world .game-hud__chip, .game-world .game-goal, .game-world .game-speed, .game-world .game-coin-count { color: #fff; background: var(--subway-hud-panel); border-color: var(--subway-hud-line); backdrop-filter: none; box-shadow: 0 2px 0 #072f59, inset 0 1px 0 #ffffff26; border-radius: 10px; }
.game-world .game-hud__chip > span, .game-world .game-goal > span, .game-world .game-speed > span { color: #e7f6ff; }
.game-world .game-goal i { background: #062f59; }
.game-world .game-goal i b { background: var(--subway-hud-gold); box-shadow: none; }
.game-world .game-hud strong, .game-world .game-hud b, .game-world .game-coin-count strong { color: var(--subway-hud-gold); font-variant-numeric: tabular-nums; text-shadow: 0 1px 0 #072f59; }
.game-world .game-effects { background: transparent; }
.game-world .game-powerup { width: 70px; padding: 6px 2px; color: #f0f6ff; }
.game-world .game-powerup__dial { background: #0b4479ed; border: 2px solid #e7f6ff; box-shadow: 0 2px 0 #072f59; }
.game-world .game-powerup__ring-track { stroke: #072f59; }
.game-world .game-powerup > strong { color: #fff; text-shadow: 0 1px 2px #072f59, 0 -1px 2px #072f59; line-height: 1.3; letter-spacing: .03em; }
.game-world .game-powerup time { font-size: 11px; padding: 3px 6px; color: #092443; background: var(--subway-hud-gold); border-color: #fff9dc; font-variant-numeric: tabular-nums; }
/* Keep pickup/expiry cues, but stop idle icon pulsing from competing with the track. */
.game-world .game-powerup.is-active:not(.is-ending) :is(.game-powerup__dial, .game-powerup__symbol, .game-powerup__glyph) { animation: none; }
.game-world :is(.game-sound, .game-close--world):focus-visible { outline: 3px solid #ffdf40; outline-offset: 3px; }
/* Explicit action, separate from the withdrawal control and powerup timers. */
.game-world .game-board {
  display: none; position: absolute; z-index: 13;
  left: max(16px, calc(env(safe-area-inset-left) + 10px));
  bottom: max(132px, calc(env(safe-area-inset-bottom) + 122px));
  width: 132px; min-height: 58px; padding: 7px 10px;
  grid-template-columns: 1fr auto; align-items: center; gap: 1px 10px;
  color: #092443; background: var(--subway-hud-gold); border: 2px solid #fff9dc;
  border-radius: 10px; box-shadow: 0 3px 0 #072f59; text-align: left;
  cursor: pointer; touch-action: manipulation;
}
.game-world.is-running .game-board:not([hidden]) { display: grid; }
.game-world .game-board[hidden] { display: none; }
.game-world .game-board > span { font-size: 23px; line-height: 1; }
.game-world .game-board > strong { font-size: 18px; font-variant-numeric: tabular-nums; }
.game-world .game-board > small { grid-column: 1 / -1; font-size: 8px; font-weight: 850; line-height: 1.4; letter-spacing: .02em; }
.game-world .game-board:disabled { color: #d4e6f4; background: #315b80; border-color: #96afc4; box-shadow: none; cursor: default; }
.game-world .game-board:enabled:hover { background: #ffec83; }
.game-world .game-board:enabled:active { box-shadow: 0 1px 0 #072f59; }
.game-world .game-board:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.game-world .game-effects > *, .subway-powerup { border-radius: 12px; border: 1px solid #ffd27180; background: #17243ae8; color: #ffda7a; box-shadow: 0 4px 18px #0004; }
.game-world .game-effects :is(small, b, strong) { color: #fff; font-variant-numeric: tabular-nums; }
.subway-powerup__timer { display: block; color: #ffda7a; font-weight: 850; font-variant-numeric: tabular-nums; }
.subway-impact { position: absolute; z-index: 24; inset: 0; display: grid; place-items: center; padding: 24px; background: #101a2be0; backdrop-filter: blur(7px); }
.subway-impact[hidden] { display: none; }
.subway-impact__panel { width: min(360px, 100%); padding: 28px; border: 1px solid #f594504d; border-radius: 20px; background: #18263de8; box-shadow: 0 18px 65px #0005; text-align: center; }
.subway-impact__icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 18px; border: 2px solid #ffb655; border-radius: 14px; background: #ffb65512; color: #ffd07b; font-size: 34px; }
.subway-impact__icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2; }
.subway-impact__title, .game-world .subway-impact .subway-impact__panel > strong { display: block; margin-top: 8px; color: #f7faff; font-size: 26px; font-weight: 900; letter-spacing: -.03em; }
.subway-impact__panel p, .subway-impact__panel small { display: block; margin: 9px 0 0; color: #b4c5dd; font-size: 13px; line-height: 1.5; }
.public-demo { background: #0b1222; }
.public-demo .demo-intro { background: #141f34; border-color: #8b744354; border-radius: 24px; }
.public-demo .demo-intro::before { background: linear-gradient(0deg, #141f34 4%, transparent 65%); }
.public-demo .demo-intro__badge { color: #ffda85; border-color: #ffda8545; background: #302c23; }
.public-demo .demo-primary { color: #172039; background: linear-gradient(110deg, #ffdb79, #ffad30); border-color: #ffe3a1; box-shadow: 0 12px 32px #ffb02e14; border-radius: 12px; }
.public-demo .demo-secondary { color: #c0d1e8; border-color: #3a4c68; }
@media (max-width: 900px), (max-height: 650px) {
  /* Inherited 28px dials were almost entirely covered by their timer pills. */
  .game-world .game-powerups { max-width: min(220px, calc(100% - 80px)); flex-wrap: wrap; gap: 12px 6px; }
  .game-world .game-powerup { flex: 0 0 54px; width: 54px; padding: 2px 0 8px; }
  .game-world .game-powerup__dial { width: 44px; height: 44px; }
  .game-world .game-powerup__symbol { font-size: 24px; }
  .game-world .game-powerup__glyph { width: 24px; height: 24px; }
  .game-world .game-powerup time { font-size: 10px; padding: 2px 5px; }
}
@media (max-width: 760px) {
  .portal-topbar .brand .brand__lockup { width: 126px; }
  .sales-hero { gap: 36px; }
  .game-frame { transform: none; }
  .sales-header { padding-inline: 18px; }
  .portal-bottom-nav { border-top: 1px solid #3a4c68; }
  .portal-main .power-guide .guide-info-grid--three { grid-template-columns: 1fr; }
  .portal-main .portal-hero--v26 { grid-template-columns: 1fr; gap: 14px; }
  .portal-main .portal-hero--v26 .campaign-banner { height: 230px; }
  .portal-main .portal-hero--v26 .play-panel { padding: 22px; gap: 16px; }
  .portal-main .portal-hero--v26 .play-panel__copy h1 { font-size: 31px; }
  .portal-main .portal-hero--v26 .play-panel__copy p { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .primary-cta, .game-frame, .feature-card img, .auth-submit { animation: none; transition: none; transform: none; }
  .game-world .game-powerup, .game-world .game-powerup *, .game-world .game-loading > i b, .game-world .game-sound { animation: none; transition: none; }
  .game-world .game-goal i b { transition: none; }
}
