/* Subway identity. Financial controls, permission checks and API keys stay unchanged. */
:root {
  --subway-orange: var(--c_shared_ffb02e, #ffb02e);
  --subway-sky: var(--c_shared_52d6ff, #52d6ff);
  --subway-ink: var(--c_shared_0b1222, #0b1222);
  --subway-panel: var(--c_shared_152039, #152039);
}
body {
  background-color: var(--subway-ink);
  background-image: radial-gradient(ellipse at 85% 0, var(--c_shared_243654, #243654) 0, transparent 55%);
}
.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(var(--c_shared_ffb02e-rgb, 255 176 46) / 0.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: var(--c_shared_171a23, #171a23);
  background: linear-gradient(135deg, var(--c_shared_ffd363, #ffd363), var(--c_shared_ffac24, #ffac24));
  border-color: var(--c_shared_ffcf70, #ffcf70);
  box-shadow: 0 9px 24px rgb(var(--c_shared_ffa824-rgb, 255 168 36) / 0.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(var(--c_shared_ffb02e-rgb, 255 176 46) / 0.45);
  background: rgb(var(--c_shared_ffb02e-rgb, 255 176 46) / 0.1);
  color: var(--c_shared_ffcf70, #ffcf70);
}
.subway-integration-notice {
  padding: 16px 20px; border: 1px solid var(--c_shared_624d29, #624d29); border-radius: 16px;
  color: var(--c_shared_f3d79f, #f3d79f); background: var(--c_shared_211d19, #211d19); font-size: 14px; line-height: 1.6;
}
.subway-integration-notice a { color: var(--c_shared_ffffff, #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%, var(--c_shared_234270, #234270), transparent 65%), var(--c_shared_0b1222, #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 rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.14901960784313725); border-radius: 26px;
  background: var(--c_shared_141f34, #141f34); box-shadow: 0 28px 90px rgb(var(--c_shared_000000-rgb, 0 0 0) / 0.4); text-align: left;
}
.subway-ready__art { position: relative; min-height: 430px; background: var(--c_shared_335076, #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, rgb(var(--c_shared_091122-rgb, 9 17 34) / 0.3333333333333333), transparent 40%, rgb(var(--c_shared_091122-rgb, 9 17 34) / 0.4)); }
.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: var(--c_shared_ffcf6c, #ffcf6c); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.game-world .subway-ready h2 { margin: 14px 0; color: var(--c_shared_ffffff, #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: var(--c_shared_b8c8de, #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: rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.027450980392156862); border: 1px solid rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.08627450980392157); border-radius: 12px; color: var(--c_shared_c1cfe2, #c1cfe2); text-align: center; font-size: 11px; }
.subway-ready__controls b { color: var(--c_shared_ffcf6c, #ffcf6c); font-size: 23px; line-height: 1.2; }
.subway-ready__hint { color: var(--c_shared_8ea5c0, #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 rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.09411764705882353); color: var(--c_shared_9fb3cd, #9fb3cd); font-size: 12px; }
.subway-ready__summary b { display: block; color: var(--c_shared_ffffff, #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 var(--c_shared_ffe19a, #ffe19a); border-radius: 12px; color: var(--c_shared_231b0d, #231b0d);
  background: linear-gradient(120deg, var(--c_shared_ffda79, #ffda79), var(--c_shared_ffae30, #ffae30)); font-weight: 850; font-size: 14px;
  letter-spacing: .015em; text-transform: none; box-shadow: 0 8px 25px rgb(var(--c_shared_ffb52e-rgb, 255 181 46) / 0.09411764705882353);
  display: flex; align-items: center; justify-content: space-between; cursor: pointer;
}
.subway-ready__content > small { display: block; margin-top: 12px; color: var(--c_shared_93a7c1, #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: var(--c_shared_ffffff, #fff); background: rgb(var(--c_shared_091322-rgb, 9 19 34) / 0.6588235294117647); backdrop-filter: blur(2px); pointer-events: auto;
}
.subway-countdown > span { color: var(--c_shared_ffcf6c, #ffcf6c); font-size: 12px; font-weight: 850; letter-spacing: .2em; }
.subway-countdown > strong { font-size: clamp(72px, 15vw, 130px); line-height: 1; font-weight: 900; }
.subway-countdown.is-message > strong { font-size: clamp(24px, 6vw, 36px); }
.subway-countdown > p { font-size: 13px; color: var(--c_shared_d0daeb, #d0daeb); }
.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: var(--c_shared_0b1222, #0b1222); color: var(--c_shared_ffffff, #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, rgb(var(--c_shared_0b1222-rgb, 11 18 34) / 0.9215686274509803), rgb(var(--c_shared_0b1222-rgb, 11 18 34) / 0.7333333333333333)), url('/assets/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: rgb(var(--c_shared_152039-rgb, 21 32 57) / 0.9607843137254902); border: 1px solid rgb(var(--c_shared_ffca58-rgb, 255 202 88) / 0.2196078431372549); border-radius: 22px; box-shadow: 0 24px 65px rgb(var(--c_shared_000000-rgb, 0 0 0) / 0.4);
  color: var(--c_shared_eaf1ff, #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: rgb(var(--c_shared_ffbb38-rgb, 255 187 56) / 0.12549019607843137); color: var(--c_shared_ffcf6c, #ffcf6c); font-size: 26px; }
.overlay--game .game-stage .subway-result h2 { color: var(--c_shared_ffffff, #fff); text-shadow: none; font-size: clamp(24px, 4.5vw, 30px); margin: 7px 0 15px; }
.overlay--game .game-stage .subway-result > p { color: var(--c_shared_ffc966, #ffc966); }
.overlay--game .game-stage .subway-result dl div { border-color: rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.07450980392156863); border-radius: 10px; background: rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.023529411764705882); animation: none; }
.overlay--game .game-stage .subway-result dt { color: var(--c_shared_9fb2cc, #9fb2cc); font-size: 9px; }
.overlay--game .game-stage .subway-result dd { color: var(--c_shared_ffffff, #fff); font-size: 14px; }
.overlay--game .game-stage .subway-result .game-result__balance { background: var(--c_shared_0b1526, #0b1526); border-color: rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.06274509803921569); color: var(--c_shared_b9cbe4, #b9cbe4); }
.overlay--game .game-stage .subway-result .game-result__balance b { color: var(--c_shared_ffffff, #fff); }
.overlay--game .game-stage .subway-result .game-result__loss-note { color: var(--c_shared_aabbd3, #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: var(--c_shared_bdcce1, #bdcce1); }
.overlay--game .game-modal .game-stage--result > .game-demo-label { margin: 2px 0 0; flex-shrink: 0; color: var(--c_shared_91a5c1, #91a5c1); }
.public-demo .demo-outcome, .public-demo .demo-outcome[data-outcome="lost"] {
  background: var(--c_shared_152039, #152039); border-color: rgb(var(--c_shared_ffca58-rgb, 255 202 88) / 0.2196078431372549); color: var(--c_shared_eaf1ff, #eaf1ff); border-radius: 22px;
}
.public-demo .demo-outcome__brand { width: 150px; height: 64px; filter: none; }
.public-demo .demo-outcome__label { color: var(--c_shared_ffcf6c, #ffcf6c); }
.public-demo .demo-outcome__title { color: var(--c_shared_ffffff, #fff); text-shadow: none; }
.public-demo .demo-outcome__value, .public-demo .demo-outcome[data-outcome="lost"] .demo-outcome__value { color: var(--c_shared_ffcf6c, #ffcf6c); }
.public-demo .demo-outcome__caption, .public-demo .demo-outcome__message,
.public-demo .demo-outcome__footnote, .public-demo .demo-outcome .demo-secondary { color: var(--c_shared_b9cbe4, #b9cbe4); }
.public-demo .demo-outcome .demo-primary {
  color: var(--c_shared_231b0d, #231b0d); background: linear-gradient(120deg, var(--c_shared_ffda79, #ffda79), var(--c_shared_ffae30, #ffae30)); border-color: var(--c_shared_ffe19a, #ffe19a);
  box-shadow: 0 8px 25px rgb(var(--c_shared_ffb52e-rgb, 255 181 46) / 0.09411764705882353); border-radius: 12px;
}
.public-demo .demo-outcome .demo-secondary:hover { background: rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.047058823529411764); color: var(--c_shared_ffffff, #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: var(--c_shared_f7fbff, #f7fbff); text-align: center;
  background: radial-gradient(ellipse at 50% 32%, var(--c_shared_263c61, #263c61), var(--c_shared_0b1222, #0b1222) 72%);
  backdrop-filter: none; text-shadow: none;
}
.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: 2px solid var(--c_shared_ffbc45, #ffbc45); box-shadow: 0 16px 50px rgb(var(--c_shared_000000-rgb, 0 0 0) / 0.5333333333333333);
}
.game-loading .game-loading__detail { color: var(--c_shared_b4c7e2, #b4c7e2); font-size: 14px; }
.game-loading > i { background: rgb(var(--c_shared_ffffff-rgb, 255 255 255) / 0.1411764705882353); }
.game-loading > i b { background: linear-gradient(90deg, var(--c_shared_ffb02e, #ffb02e), var(--c_shared_ffe293, #ffe293)); }
.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; }
}
