:root {
  color-scheme: dark;
  --game-bg: #07172e;
  --game-bg-soft: #0c2441;
  --game-surface: #102943;
  --game-surface-strong: #0a1d34;
  --game-border: #385474;
  --game-text: #edf4ff;
  --game-muted: #9fb1c8;
  --game-text-muted: var(--game-muted);
  --game-text-soft: #7f93ad;
  --game-paper: #f8f3e9;
  --game-paper-strong: #fffaf0;
  --game-paper-text: #433621;
  --game-paper-muted: #75674e;
  --game-gold: #ffbf2f;
  --game-gold-dark: #bd6806;
  --game-blue: #1686d5;
  --game-blue-dark: #075a9d;
  --game-green: #46a658;
  --game-green-dark: #267438;
  --game-radius: 1.25rem;
  --game-radius-sm: .9rem;
  --game-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .32);
  --bs-body-font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --bs-body-bg: var(--game-bg);
  --bs-body-color: var(--game-text);
  --bs-primary: var(--game-blue);
  --bs-primary-rgb: 22, 134, 213;
  --bs-success: var(--game-green);
  --bs-success-rgb: 70, 166, 88;
  --bs-warning: var(--game-gold);
  --bs-warning-rgb: 255, 191, 47;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--game-bg); }
body.game-site,
body.legal-page {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 52% -10%, rgba(36, 112, 177, .48), transparent 38rem),
    linear-gradient(180deg, var(--game-bg-soft), var(--game-bg) 36rem);
  color: var(--game-text);
}

.hidden { display: none !important; }
.sr-only,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.game-navbar {
  position: relative;
  z-index: 30;
  border-bottom: 1px solid rgba(151, 183, 218, .2);
  background: rgba(7, 23, 46, .88);
  box-shadow: 0 .6rem 2rem rgba(0, 0, 0, .2);
  backdrop-filter: blur(16px);
}
.game-navbar .container-xxl { min-height: 4.25rem; }
.game-brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: var(--game-text);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1;
  text-decoration: none;
}
.game-brand:hover,
.game-brand:focus-visible { color: #fff; }
.game-brand img { width: 2.35rem; height: 2.35rem; filter: drop-shadow(0 .25rem .5rem rgba(0,0,0,.3)); }
.game-brand-name { display: block; font-size: 1.05rem; }
.game-brand-tag { display: block; margin-top: .2rem; color: var(--game-gold); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.game-navbar-tools { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; }
.game-navbar .form-select {
  width: auto;
  min-width: 4.5rem;
  border-color: var(--game-border);
  background-color: var(--game-surface-strong);
  color: var(--game-text);
  font-size: .78rem;
  font-weight: 800;
}

.game-status-pill {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  min-height: 2rem;
  padding: .35rem .7rem;
  border: 1px solid rgba(81, 207, 116, .28);
  border-radius: 999px;
  background: rgba(48, 170, 82, .12);
  color: #b8efc5;
  font-size: .72rem;
  white-space: nowrap;
}
.game-status-pill i,
.status-dot {
  flex: 0 0 auto;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #56d876;
  box-shadow: 0 0 .7rem rgba(86, 216, 118, .75);
}

.game-card {
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: var(--game-radius);
  background: rgba(16, 41, 67, .88);
  box-shadow: var(--game-shadow);
  backdrop-filter: blur(14px);
}
.game-paper-card {
  border-color: rgba(255, 221, 148, .55);
  background: var(--game-paper);
  color: var(--game-paper-text);
}
.game-eyebrow {
  margin: 0;
  color: var(--game-gold);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.game-section-title { margin: 0; color: #fff; font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 850; }
.game-section-copy { margin: .45rem 0 0; color: var(--game-muted); line-height: 1.65; }

.btn-game-primary,
.btn-game-success,
.btn-game-warm,
.btn-game-muted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.75rem;
  border: 0;
  border-radius: .75rem;
  color: #fff;
  font-weight: 800;
  box-shadow: inset 0 1px rgba(255,255,255,.28), 0 .3rem .8rem rgba(0,0,0,.18);
}
.btn-game-primary { background: linear-gradient(180deg, #279bea, var(--game-blue-dark)); }
.btn-game-success { background: linear-gradient(180deg, #64bb65, var(--game-green-dark)); }
.btn-game-warm { background: linear-gradient(180deg, #ffc74a, var(--game-gold-dark)); }
.btn-game-muted { background: linear-gradient(180deg, #738399, #45566c); }
.btn-game-primary:hover,
.btn-game-primary:focus-visible,
.btn-game-success:hover,
.btn-game-success:focus-visible,
.btn-game-warm:hover,
.btn-game-warm:focus-visible,
.btn-game-muted:hover,
.btn-game-muted:focus-visible { color: #fff; filter: brightness(1.08); transform: translateY(-1px); }

.game-site :focus-visible,
.legal-page :focus-visible {
  outline: 3px solid var(--game-gold);
  outline-offset: 3px;
}
.game-site .form-control:focus,
.game-site .form-select:focus {
  border-color: var(--game-blue);
  box-shadow: 0 0 0 .22rem rgba(22, 134, 213, .2);
}

.site-footer {
  width: min(1320px, calc(100% - 2rem));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin: 0 auto;
  padding: 1.25rem 0 1.6rem;
  border-top: 1px solid rgba(127, 148, 174, .25);
  color: #8295ae;
  font-size: .75rem;
  line-height: 1.5;
}
.site-footer nav { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem 1.2rem; }
.site-footer a,
.site-footer button { color: #adbed2; text-decoration: none; }
.site-footer a:hover,
.site-footer a:focus-visible,
.site-footer button:hover,
.site-footer button:focus-visible { color: #ffe08a; text-decoration: underline; }
.site-footer button { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
.site-footer .game-version { color: #7f94aa; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.site-footer p { margin: 0; text-align: right; }
.site-footer p a { font-weight: 750; }

@media (max-width: 767.98px) {
  .game-navbar .container-xxl { min-height: 3.75rem; }
  .game-brand img { width: 2rem; height: 2rem; }
  .game-brand-tag { display: none; }
  .game-status-pill { max-width: 8.5rem; overflow: hidden; text-overflow: ellipsis; }
  .site-footer { align-items: flex-start; flex-direction: column; }
  .site-footer p { text-align: left; }
}

@media (max-width: 420px) {
  .game-navbar .container-xxl { gap: .5rem !important; }
  .game-brand { gap: .5rem; }
  .game-brand-name { font-size: .82rem; }
  .game-navbar-tools { gap: .35rem; }
  .game-navbar .form-select { min-width: 4.15rem; }
  .game-status-pill { flex: 0 0 auto; max-width: none; padding-inline: .55rem; font-size: .66rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
