@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('brand/fonts/cormorant-infant-light.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('brand/fonts/cormorant-infant-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('brand/fonts/cormorant-infant-medium.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('brand/fonts/cormorant-infant-semibold.woff2') format('woff2');
}
@font-face {
  font-family: 'Hauora';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('brand/fonts/hauora-light.woff2') format('woff2');
}
@font-face {
  font-family: 'Hauora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('brand/fonts/hauora-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Hauora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('brand/fonts/hauora-medium.woff2') format('woff2');
}
@font-face {
  font-family: 'Hauora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('brand/fonts/hauora-semibold.woff2') format('woff2');
}
@font-face {
  font-family: 'Hauora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('brand/fonts/hauora-bold.woff2') format('woff2');
}

:root { --font-display: 'Cormorant Infant', Georgia, serif; --font-sans: 'Hauora', system-ui, -apple-system, sans-serif; --font-condensed: var(--font-sans); --bg: #0A1A42; --bg2: #112250; --card: #112250; --card2: #293F6D; --accent: #C9C9D4; --accent-bright: #F6F6F6; --on-accent: #0A1A42; --text: #F6F6F6; --text2: #C9C9D4; --border: rgba(201, 201, 212, 0.14); --border2: rgba(201, 201, 212, 0.24); --muted: rgba(246, 246, 246, 0.45); --accent-dim: rgba(201, 201, 212, 0.12); --accent-soft: rgba(201, 201, 212, 0.15); --accent-faint: rgba(201, 201, 212, 0.08); --accent-hairline: rgba(201, 201, 212, 0.06); --accent-strong: rgba(201, 201, 212, 0.42); --accent-ring: rgba(201, 201, 212, 0.55); --accent-glow: 0 0 18px rgba(201, 201, 212, 0.35), 0 0 40px rgba(201, 201, 212, 0.15); --accent-text-glow: 0 0 12px rgba(201, 201, 212, 0.45); --accent-shadow-xs: 0 0 4px rgba(201, 201, 212, 0.28); --accent-shadow-sm: 0 0 8px rgba(201, 201, 212, 0.40); --accent-shadow-md: 0 0 10px rgba(201, 201, 212, 0.40); --accent-shadow-lg: 0 0 10px rgba(201, 201, 212, 0.50); --accent-shadow-xl: 0 4px 16px rgba(201, 201, 212, 0.35); --accent-drop-sm: drop-shadow(0 0 4px rgba(201, 201, 212, 0.28)); --accent-drop-md: drop-shadow(0 0 8px rgba(201, 201, 212, 0.22)); --accent-drop-lg: drop-shadow(0 0 6px rgba(201, 201, 212, 0.24)); --surface-02: rgba(246, 246, 246, 0.02); --surface-03: rgba(246, 246, 246, 0.03); --surface-04: rgba(246, 246, 246, 0.04); --surface-05: rgba(246, 246, 246, 0.05); --surface-06: rgba(246, 246, 246, 0.06); --surface-08: rgba(246, 246, 246, 0.08); --surface-10: rgba(246, 246, 246, 0.10); --surface-12: rgba(246, 246, 246, 0.12); --surface-18: rgba(246, 246, 246, 0.18); --surface-40: rgba(246, 246, 246, 0.40); --surface-45: rgba(246, 246, 246, 0.45); --surface-60: rgba(246, 246, 246, 0.60); --surface-64: rgba(246, 246, 246, 0.64); --surface-70: rgba(246, 246, 246, 0.70); --surface-72: rgba(246, 246, 246, 0.72); --surface-82: rgba(246, 246, 246, 0.82); --bg-00: rgba(10, 26, 66, 0); --bg-02: rgba(10, 26, 66, 0.02); --bg-04: rgba(10, 26, 66, 0.04); --bg-06: rgba(10, 26, 66, 0.06); --bg-12: rgba(10, 26, 66, 0.12); --bg-16: rgba(10, 26, 66, 0.16); --bg-18: rgba(10, 26, 66, 0.18); --bg-35: rgba(10, 26, 66, 0.35); --bg-65: rgba(10, 26, 66, 0.65); --bg-70: rgba(10, 26, 66, 0.70); --bg-72: rgba(10, 26, 66, 0.72); --bg-75: rgba(10, 26, 66, 0.75); --bg-76: rgba(10, 26, 66, 0.76); --bg-78: rgba(10, 26, 66, 0.78); --bg-88: rgba(10, 26, 66, 0.88); --bg-92: rgba(10, 26, 66, 0.92); --bg-96: rgba(10, 26, 66, 0.96); --shadow-soft: 0 18px 44px rgba(10, 26, 66, 0.28); --shadow-modal: 0 18px 50px rgba(10, 26, 66, 0.38); --shadow-modal-strong: 0 24px 64px rgba(10, 26, 66, 0.46); --shadow-modal-accent: 0 24px 64px rgba(10, 26, 66, 0.46), 0 0 0 1px rgba(201, 201, 212, 0.18); --shadow-stage-current: 0 24px 68px rgba(10, 26, 66, 0.48), 0 0 26px rgba(201, 201, 212, 0.24); --text-shadow-strong: 0 4px 20px rgba(10, 26, 66, 0.45); --warning: #DCA64A; --warning-soft: rgba(220, 166, 74, 0.15); --warning-border: rgba(220, 166, 74, 0.50); --warning-shadow: 0 0 10px rgba(220, 166, 74, 0.15); --success: #88C995; --success-soft: rgba(136, 201, 149, 0.15); --medal-gold: #D9BE62; --medal-silver: #C9C9D4; --medal-bronze: #B8875D; --white: #F6F6F6; --brand-hero-bg: var(--bg2); --brand-gradient-fade: linear-gradient(180deg, var(--bg-02) 0%, var(--bg-16) 30%, var(--bg-92) 100%); --brand-gradient-side: linear-gradient(90deg, var(--bg-72) 0%, var(--bg-16) 42%, var(--bg-72) 100%); --brand-gradient-home: radial-gradient(circle at top center, var(--accent-soft) 0%, var(--bg-00) 34%), linear-gradient(180deg, var(--bg-35) 0%, var(--bg-92) 280px, var(--bg) 520px); --brand-gradient-soft: linear-gradient(180deg, var(--accent-faint) 0%, transparent 100%); --brand-gradient-faint: linear-gradient(180deg, var(--accent-hairline) 0%, transparent 100%); --brand-gradient-cta: linear-gradient(135deg, var(--accent-dim), var(--surface-04)); --brand-gradient-progress: linear-gradient(90deg, var(--accent), var(--accent-bright)); }

* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }

body {
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.app-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 92px;
  z-index: 120;
  display: grid;
  grid-template-columns: 88px 1fr 88px;
  align-items: start;
  padding: 24px 18px 0;
  color: var(--text);
  background: linear-gradient(180deg, var(--bg-88), var(--bg-00));
  pointer-events: none;
}
@media (min-width: 721px) {
  .app-topbar {
    width: min(100%, 430px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}
.app-topbar-close {
  font-size: 17px;
  line-height: 40px;
  color: var(--surface-82);
}
.app-topbar-brand {
  text-align: center;
  line-height: 1;
  transform: translateY(1px);
}
.app-topbar-title {
  display: block;
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--accent-bright);
}
.app-topbar-sub {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--text2);
}
.app-topbar-more {
  justify-self: end;
  width: 34px;
  height: 34px;
  border: 2px solid var(--accent-bright);
  border-radius: 50%;
  color: var(--accent-bright);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  letter-spacing: 1px;
}

/* ── Typography ───────────────────────────────────── */
.title-xl {
  font-family: var(--font-display);
  font-size: 36px;
  letter-spacing: 3px;
  line-height: 1;
  text-wrap: balance;
}
.title-lg {
  font-family: var(--font-display);
  font-size: 26px;
  letter-spacing: 2px;
  line-height: 1;
  text-wrap: balance;
}
.title-md {
  font-family: var(--font-display);
  font-size: 20px;
  letter-spacing: 1.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.neon-red {
  color: var(--accent-bright);
  text-shadow: var(--accent-text-glow);
}

/* ── Header ───────────────────────────────────────── */
.header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
  position: sticky;
  top: 0;
  z-index: 100;
}
@media (min-width: 721px) {
  body > .header,
  body > .select-page-hero,
  body > .week-banner,
  body > .games,
  body > #archive-section,
  body > .bottom-nav,
  body > .archive-banner,
  body > .archive-list,
    body > main {
    width: min(100%, 390px);
    margin-left: auto;
    margin-right: auto;
  }
}
.back-btn {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border2);
  border-radius: 10px;
  font-size: 16px;
  color: var(--text);
  text-decoration: none;
  flex-shrink: 0;
}

/* ── Cards ────────────────────────────────────────── */
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}
.card.glowing {
  border-color: var(--accent);
  box-shadow: var(--accent-glow);
}
.card-top-line {
  height: 2px;
  background: var(--accent);
  box-shadow: 0 0 8px var(--accent-ring);
}

/* ── Badges ───────────────────────────────────────── */
.badge {
  display: inline-block;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.badge-red {
  background: var(--accent);
  color: var(--on-accent);
  box-shadow: 0 0 10px var(--accent-strong);
}
.badge-outline {
  background: transparent;
  border: 1px solid var(--border2);
  color: var(--muted);
}

/* ── Buttons ──────────────────────────────────────── */
.btn {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 12px;
  font-family: var(--font-display);
  font-size: 18px;
  letter-spacing: 1.5px;
  cursor: pointer;
  transition-property: opacity, transform;
  transition-duration: 0.15s;
}
.btn:active { opacity: 0.85; transform: scale(0.96); }
.btn-accent {
  background: var(--brand-gradient-progress);
  color: var(--on-accent);
  box-shadow: 0 4px 16px var(--accent-strong);
}
.btn-outline {
  background: transparent;
  border: 1px solid var(--border2);
  color: var(--muted);
  font-size: 15px;
}
.btn-waitlist {
  background: var(--warning-soft);
  border: 1px solid var(--warning-border);
  color: var(--warning);
  box-shadow: 0 0 10px var(--warning-soft);
  font-size: 16px;
}
.btn:disabled {
  background: var(--card2);
  color: var(--muted);
  box-shadow: none;
  cursor: default;
}

/* ── Meta chips ───────────────────────────────────── */
.meta-row { display: flex; flex-wrap: wrap; gap: 8px; }
.meta-chip {
  background: var(--card2);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 400;
  font-family: var(--font-sans);
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 5px;
}
.meta-chip-icon {
  width: 14px;
  height: 14px;
  object-fit: contain;
  flex-shrink: 0;
}
.meta-chip b { color: var(--text2); }

/* ── Seats bar ────────────────────────────────────── */
.seats-bar {
  height: 3px;
  background: var(--card2);
  border-radius: 2px;
  margin-top: 6px;
}
.seats-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 2px;
  box-shadow: 0 0 6px var(--accent-ring);
}

/* ── Section label ────────────────────────────────── */
.section-label {
  font-family: var(--font-condensed);
  font-size: 12px;
  letter-spacing: 2.5px;
  color: var(--muted);
  margin-bottom: 10px;
}

/* ── Empty state ──────────────────────────────────── */
.empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--muted);
}
.empty .icon {
  width: 56px;
  min-height: 56px;
  margin: 0 auto 12px;
  font-size: 48px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.empty .icon img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  display: block;
}
.empty-svg-icon {
  width: 56px;
  height: 56px;
  color: var(--muted);
  display: block;
}
.inline-svg-icon,
.result-inline-icon,
.hist-inline-icon,
.status-inline-icon,
.ach-popup-tag-icon {
  width: 14px;
  height: 14px;
  color: currentColor;
  flex-shrink: 0;
  vertical-align: -2px;
}
img.inline-svg-icon,
img.result-inline-icon,
img.hist-inline-icon,
img.status-inline-icon,
img.ach-popup-tag-icon {
  object-fit: contain;
}
.medal-svg-icon {
  width: 24px;
  height: 24px;
  display: block;
  filter: var(--accent-drop-sm);
  object-fit: contain;
}

/* ── Neon divider ─────────────────────────────────── */
.neon-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  margin: 20px 0;
  opacity: 0.5;
}

/* ── SELECT visual system ───────────────────────────────── */
.select-page-shell {
  min-height: 100vh;
  background:
    var(--brand-gradient-home),
    var(--bg);
}
.select-page-hero {
  position: relative;
  min-height: 336px;
  padding: 112px 24px 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid var(--border);
}
.select-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("brand/tournaments-hero-bg.png") 58% center / cover no-repeat;
  opacity: 0.94;
  z-index: -3;
}
.select-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, var(--bg-12) 0%, var(--bg-16) 58%, var(--bg-88) 100%),
    linear-gradient(90deg, var(--bg-78) 0%, var(--bg-18) 56%, var(--bg-35) 100%);
  z-index: -2;
}
.select-page-brand {
  display: none;
  position: absolute;
  top: 34px;
  left: 50%;
  transform: translateX(-50%);
  width: min(148px, 40vw);
  filter: var(--accent-drop-md);
}
.select-page-kicker {
  font-family: var(--font-sans);
  color: var(--text2);
  font-size: 19px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-top: 14px;
  order: 2;
}
.select-page-title {
  font-family: var(--font-display);
  font-size: 70px;
  line-height: 0.9;
  letter-spacing: 0;
  color: var(--accent-bright);
  text-shadow: var(--text-shadow-strong);
  text-wrap: balance;
  order: 1;
}
.select-page-sub {
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-sans);
  font-size: 17px;
  letter-spacing: 0.12em;
  color: var(--text2);
  text-transform: uppercase;
  order: 3;
}
.select-page-sub::before,
.select-page-sub::after {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--accent);
  transform: rotate(45deg);
  box-shadow: var(--accent-shadow-xs);
}
.select-content-band {
  padding: 16px 16px 104px;
  background:
    radial-gradient(circle at 50% 0%, var(--accent-hairline) 0%, var(--bg-00) 46%),
    var(--bg);
}
.games .card,
.archive-card,
.profile-nearest-wrap,
.next-tournament-compact,
.referral-compact,
.stat-card,
.contact-card {
  position: relative;
  background:
    radial-gradient(circle at right top, var(--surface-08), var(--bg-00) 36%),
    linear-gradient(180deg, var(--surface-05), var(--surface-02)),
    var(--card);
  border: 1px solid var(--border2);
  border-radius: 22px;
  box-shadow: var(--shadow-soft), inset 0 1px 0 var(--surface-08);
}
.games .card::before,
.archive-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    url("brand/pattern-1.svg") center / 180px auto repeat;
  opacity: 0.07;
  mix-blend-mode: screen;
}
.games .card > *,
.archive-card > * {
  position: relative;
  z-index: 1;
}
.games .card:nth-child(odd)::after {
  content: "";
  position: absolute;
  right: -34px;
  top: 18px;
  width: 174px;
  height: 174px;
  background: url("brand/icons/suit-spades.png") center / contain no-repeat;
  opacity: 0.10;
  pointer-events: none;
}
.games .card:nth-child(even)::after {
  content: "";
  position: absolute;
  right: -30px;
  top: 22px;
  width: 166px;
  height: 166px;
  background: url("brand/icons/suit-clubs.png") center / contain no-repeat;
  opacity: 0.10;
  pointer-events: none;
}
.select-page-hero + .week-banner {
  display: none;
}
.games .game-title {
  font-family: var(--font-display);
  font-size: 42px;
  line-height: 0.92;
  letter-spacing: 0;
  color: var(--accent-bright);
}
@media (max-width: 430px) {
  .select-page-hero {
    min-height: 324px;
    padding: 108px 22px 26px;
  }
  .select-page-title {
    font-size: 62px;
  }
  .select-page-kicker {
    font-size: 17px;
  }
  .select-page-sub {
    font-size: 15px;
  }
  .games .game-title {
    font-size: 38px;
  }
}
.games .meta-chip {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--surface-06);
  border: 1px solid var(--border);
}
.games .btn.btn-accent {
  min-height: 54px;
  border-radius: 8px;
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.24em;
}
.games .btn.btn-accent::before,
.games .btn.btn-accent::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 18px 2px;
  background: currentColor;
  transform: rotate(45deg);
}
.games .seats-bar {
  height: 5px;
  background: var(--bg-65);
}
.games .seats-fill {
  box-shadow: var(--accent-shadow-sm);
}
.archive-banner {
  position: relative;
  min-height: 252px;
  padding: 72px 24px 28px;
  overflow: hidden;
  border-radius: 0;
  border: 1px solid var(--border2);
  border-left: none;
  border-right: none;
  background:
    radial-gradient(circle at right 24%, var(--surface-12) 0%, var(--bg-00) 34%),
    var(--bg);
  box-shadow: var(--shadow-soft);
}
.archive-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("brand/pattern-1.svg") center / 190px auto repeat,
    url("brand/icons/suit-spades.png") right -28px top 48px / 190px auto no-repeat;
  opacity: 0.15;
  pointer-events: none;
}
.archive-banner > * {
  position: relative;
  z-index: 1;
}
.archive-title {
  font-family: var(--font-display);
  font-size: clamp(44px, 13vw, 74px);
  line-height: 0.9;
  letter-spacing: 0;
  color: var(--accent-bright);
  text-shadow: var(--text-shadow-strong);
}
.archive-title .neon-red {
  display: block;
  margin-top: 12px;
  font-family: var(--font-sans);
  font-size: 18px;
  letter-spacing: 0.28em;
  color: var(--text2);
  text-shadow: none;
}
.archive-count {
  margin-top: 22px;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--surface-06);
  border: 1px solid var(--border2);
  color: var(--text2);
  box-shadow: inset 0 1px 0 var(--surface-08);
}

/* ── Task 11 SELECT layouts ───────────────────────── */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: url("brand/pattern-1.svg") center top / 320px auto repeat;
  opacity: 0.05;
  z-index: 0;
}

.select-app-frame {
  position: relative;
  z-index: 1;
  width: min(100%, 430px);
  margin: 0 auto;
}

.app-topbar,
.select-topbar {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  width: min(100%, 430px) !important;
  margin: 0 auto !important;
  height: 64px !important;
  display: grid !important;
  grid-template-columns: 82px 1fr 82px !important;
  align-items: center !important;
  padding: 0 16px !important;
  background: var(--bg-88) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  transform: none !important;
  box-shadow: none !important;
  pointer-events: none;
  z-index: 120;
}

.app-topbar-close,
.select-topbar-close {
  font: 400 15px/1.25 var(--font-sans) !important;
  color: var(--text) !important;
}

.app-topbar-brand,
.select-topbar-brand {
  text-align: center;
  line-height: 1;
  transform: none !important;
}

.app-topbar-title,
.select-topbar-title {
  display: block;
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  font-weight: 600;
  letter-spacing: 0.12em !important;
  color: var(--text) !important;
}

.app-topbar-sub,
.select-topbar-sub {
  display: block;
  margin-top: 5px;
  font: 400 8px/1.25 var(--font-sans) !important;
  letter-spacing: 0.18em !important;
  color: var(--muted) !important;
}

.app-topbar-more,
.select-topbar-more {
  justify-self: end;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid var(--border) !important;
  border-radius: 50% !important;
  color: var(--text) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--font-sans);
  letter-spacing: 0.08em;
}

.select-screen {
  width: min(100%, 390px);
  min-height: 100vh;
  margin: 0 auto;
  padding-bottom: 104px;
  background: var(--bg);
}

.select-screen-body {
  width: min(100%, 430px);
  margin: 0 auto;
  padding: 20px 16px 0;
}

.select-screen-head {
  position: relative;
  min-height: 176px;
  padding-top: 12px;
  margin-bottom: 20px;
}

.select-head-object {
  position: absolute;
  top: 0;
  right: 0;
  width: 150px;
  height: 150px;
  pointer-events: none;
  /* Reserved for approved 3D object asset. */
}

.select-screen-title-main {
  display: block;
  font-family: var(--font-display);
  font-size: 60px;
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--text);
}

.select-screen-title-sub {
  display: block;
  margin-top: 10px;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--text2);
  opacity: 0.6;
}

.select-divider {
  position: relative;
  height: 7px;
  margin: 20px 0;
}

.select-divider::before,
.select-divider::after {
  content: "";
  position: absolute;
  top: 3px;
  height: 1px;
  background: var(--border);
}

.select-divider::before { left: 0; right: calc(50% + 20px); }
.select-divider::after { left: calc(50% + 20px); right: 0; }

.select-divider span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 7px;
  height: 7px;
  background: var(--accent);
  transform: translateX(-50%) rotate(45deg);
}

.select-pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: transparent;
  color: var(--text2);
  font: 400 15px/1 var(--font-sans);
}

.select-pill.dates {
  gap: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.select-pill.dates::before,
.select-pill.dates::after {
  content: "";
  width: 6px;
  height: 6px;
  background: currentColor;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.select-card-list,
.games,
.archive-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 0 16px 104px !important;
}

.games .card.schedule-card,
.schedule-card {
  position: relative;
  overflow: hidden;
  overflow: clip;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 18px !important;
  border: 1px solid rgba(201, 201, 212, 0.18) !important;
  background:
    linear-gradient(90deg, rgba(6, 15, 38, 0.96) 0%, rgba(8, 19, 48, 0.86) 52%, rgba(8, 19, 48, 0.28) 100%),
    linear-gradient(180deg, rgba(8, 18, 48, 0.40) 0%, rgba(8, 18, 48, 0.90) 100%),
    url("brand/tournament-card-1.png") right center / cover no-repeat !important;
  padding: 16px 16px 14px !important;
  box-shadow: inset 0 0 0 1px rgba(246, 246, 246, 0.02), 0 14px 34px rgba(10, 26, 66, 0.22) !important;
  cursor: pointer;
}

.games .card.schedule-card:nth-child(3n + 2),
.schedule-card:nth-child(3n + 2) {
  background:
    linear-gradient(90deg, rgba(6, 15, 38, 0.96) 0%, rgba(8, 19, 48, 0.86) 52%, rgba(8, 19, 48, 0.28) 100%),
    linear-gradient(180deg, rgba(8, 18, 48, 0.40) 0%, rgba(8, 18, 48, 0.90) 100%),
    url("brand/tournament-card-2.png") right center / cover no-repeat !important;
}

.games .card.schedule-card:nth-child(3n),
.schedule-card:nth-child(3n) {
  background:
    linear-gradient(90deg, rgba(6, 15, 38, 0.96) 0%, rgba(8, 19, 48, 0.86) 52%, rgba(8, 19, 48, 0.28) 100%),
    linear-gradient(180deg, rgba(8, 18, 48, 0.40) 0%, rgba(8, 18, 48, 0.90) 100%),
    url("brand/tournament-card-3.png") right center / cover no-repeat !important;
}

.games .card.schedule-card::before,
.games .card.schedule-card::after,
.schedule-card::before,
.schedule-card::after,
.archive-card::before,
.archive-card::after {
  display: none !important;
}

.games .card.schedule-card > *,
.schedule-card > * {
  position: relative;
  z-index: 1;
}

.games .card.schedule-card .schedule-card-object,
.schedule-card .schedule-card-object {
  position: absolute;
  z-index: 0;
}

.schedule-card-object {
  display: none;
}

.schedule-day-chip {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  min-width: 58px;
  padding: 0 15px;
  border-radius: 15px;
  background: rgba(246, 246, 246, 0.12);
  color: var(--text);
  font: 600 12px/1 var(--font-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(246, 246, 246, 0.12), 0 8px 18px rgba(2, 9, 28, 0.22);
}

.schedule-title {
  position: relative;
  z-index: 1;
  min-height: 70px;
  max-height: 70px;
  margin: 16px 0 14px;
  font-family: var(--font-display);
  font-size: 35px;
  font-weight: 500;
  line-height: 1;
  color: var(--text);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.schedule-chip-row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin-bottom: 12px;
}

.schedule-chip {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 6px;
  border: 1px solid rgba(201, 201, 212, 0.18);
  background: rgba(10, 26, 66, 0.36);
  color: var(--text2);
  font: 500 14px/1.1 var(--font-sans);
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-details {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
}

.schedule-detail {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font: 400 12px/1.2 var(--font-sans);
}

.schedule-detail b {
  color: var(--text2);
  font-weight: 500;
  text-align: right;
}

.schedule-detail.stacked {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.schedule-detail small,
.schedule-detail em {
  display: inline-block;
  margin-left: 4px;
  color: var(--accent);
  font: inherit;
  font-style: normal;
}

.schedule-option-list {
  display: grid;
  gap: 6px;
}

.schedule-option {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--text2);
}

.schedule-option b {
  white-space: nowrap;
}

.schedule-description {
  position: relative;
  z-index: 1;
  margin: 0 0 14px;
  color: var(--text2);
  font: 400 13px/1.45 var(--font-sans);
}

.schedule-address {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 4px 0 13px;
  max-width: calc(100% - 18px);
  color: var(--text2);
  font: 500 14px/1.25 var(--font-sans);
}

.schedule-pin {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  background: url("brand/icons/location.png") center / contain no-repeat;
  filter: var(--accent-drop-sm);
}

.schedule-seats-row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  font: 400 14px/1 var(--font-sans);
  color: var(--text2);
}

.schedule-seats-row b {
  font-weight: 700;
  color: var(--text);
}

.schedule-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border-radius: 10px;
  background: rgba(10, 26, 66, 0.48);
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
  text-shadow: 0 1px 4px rgba(2, 9, 28, 0.75);
}

.schedule-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 8px rgba(136, 201, 149, 0.8);
}

.schedule-dot.full {
  background: var(--accent);
}

.schedule-progress {
  position: relative;
  z-index: 1;
  height: 5px;
  margin-bottom: 16px;
  border-radius: 2px;
  background: rgba(10, 26, 66, 0.65);
  overflow: hidden;
}

.schedule-progress-fill {
  height: 100%;
  border-radius: 2px;
  background: var(--brand-gradient-progress);
}

.schedule-action {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  border: none;
  border-radius: 7px;
  background: linear-gradient(180deg, var(--accent-bright), var(--accent));
  color: var(--on-accent);
  font: 600 16px/1.2 var(--font-sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.schedule-action-label {
  max-width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-top: 1px;
}

.schedule-action-label::before,
.schedule-action-label::after {
  content: "";
  width: 7px;
  height: 7px;
  background: currentColor;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.schedule-action:active {
  transform: scale(0.96);
}

.schedule-action:disabled,
.btn-closed.schedule-action {
  background: var(--surface-08);
  color: var(--muted);
  cursor: default;
}

.schedule-guest {
  margin-top: 10px;
}

.schedule-guest-add,
.schedule-guest-current button,
.schedule-guest-actions button {
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid var(--border);
  font: 600 12px/1 var(--font-sans);
  cursor: pointer;
}

.schedule-guest-add {
  width: 100%;
  background: var(--surface-04);
  color: var(--text2);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.schedule-guest-add:active,
.schedule-guest-current button:active,
.schedule-guest-actions button:active {
  transform: scale(0.96);
}

.schedule-guest-current {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 12px;
  padding: 8px 10px 8px 12px;
  background: var(--surface-04);
  color: var(--muted);
  font: 400 13px/1.35 var(--font-sans);
}

.schedule-guest-current b {
  color: var(--text2);
  font-weight: 600;
}

.schedule-guest-current button,
.schedule-guest-actions button:first-child {
  background: transparent;
  color: var(--muted);
  padding: 0 12px;
}

.schedule-guest-form {
  display: none;
  margin-top: 10px;
  gap: 8px;
}

.schedule-guest-form.active {
  display: grid;
}

.schedule-guest-form input {
  min-height: 44px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-04);
  color: var(--text);
  padding: 0 12px;
  font: 400 15px/1 var(--font-sans);
  outline: none;
}

.schedule-guest-form input:focus {
  border-color: var(--accent);
}

.schedule-guest-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.schedule-guest-actions button:last-child {
  background: var(--accent);
  color: var(--on-accent);
  border-color: var(--accent);
}

.archive-month-header {
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-04);
}

.archive-month-line {
  display: none !important;
}

.archive-month-label:first-child {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
  color: var(--text) !important;
  text-transform: none !important;
}

.archive-month-count {
  margin-left: auto;
  color: var(--muted);
  font: 400 13px/1 var(--font-sans);
  text-transform: none;
}

.archive-month-arrow {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 16px !important;
  transition-property: transform;
  transition-duration: 0.2s;
}

.archive-month-arrow.open {
  transform: rotate(180deg);
}

.archive-month-games {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.archive-card {
  border-radius: 18px !important;
  border: 1px solid var(--border) !important;
  background: var(--card) !important;
  padding: 18px !important;
  box-shadow: none !important;
}

.archive-inner {
  padding: 0 !important;
}

.archive-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px !important;
}

.archive-date {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 13px;
  color: var(--text2) !important;
  font: 400 12px/1 var(--font-sans) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.archive-pax {
  color: var(--muted) !important;
  font: 400 12px/1 var(--font-sans) !important;
}

.archive-game-title {
  margin: 12px 0 14px !important;
  color: var(--text) !important;
  font-family: var(--font-display) !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.archive-podium {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.archive-podium-row {
  min-height: 34px;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-top: 1px solid var(--border);
}

.archive-medal {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
}

.archive-medal svg {
  display: none;
}

.archive-name {
  color: var(--text2) !important;
  font: 400 15px/1 var(--font-sans) !important;
}

.archive-pts {
  margin-left: auto;
  color: var(--text2) !important;
  font: 400 15px/1 var(--font-sans) !important;
}

.archive-pts small {
  color: var(--muted);
  font-size: 12px;
}

/* Task 11 conflict guards: keep old Garage rules from shifting SELECT screens. */
.app-topbar,
.select-topbar {
  -webkit-backdrop-filter: blur(12px);
}

.week-banner,
#archive-section .neon-divider,
#archive-section .archive-banner {
  display: none !important;
}

#tab-home .select-screen {
  min-height: auto !important;
  padding-bottom: 0 !important;
  background: transparent !important;
}

#tab-home .select-screen-body,
#tab-games .select-screen-body {
  padding: 20px 16px 0 !important;
}

#tab-games > .select-screen-body {
  width: min(100%, 430px);
  padding: 0 !important;
}

#tab-games .select-screen-head {
  min-height: 314px;
  margin: 0 0 18px;
  padding: 112px 24px 22px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(5, 13, 36, 0.54) 0%, rgba(5, 13, 36, 0.12) 56%, rgba(5, 13, 36, 0.00) 100%),
    linear-gradient(180deg, rgba(5, 13, 36, 0.02) 0%, rgba(5, 13, 36, 0.08) 62%, var(--bg) 100%),
    url("brand/tournaments-hero-bg.png") 50% center / cover no-repeat;
}

#tab-games .select-head-object,
#tab-games .select-divider {
  display: none;
}

#tab-games .select-screen-title-main {
  max-width: 330px;
  font-size: 60px;
  line-height: 0.96;
  text-shadow: 0 6px 26px rgba(2, 9, 28, 0.42);
}

#tab-games .select-screen-title-sub {
  margin-top: 14px;
  max-width: 318px;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.28em;
  color: var(--text2);
  opacity: 0.82;
}

#tab-games .select-pill.dates {
  min-height: 34px;
  margin-top: 26px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--text2);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-shadow: 0 4px 18px rgba(2, 9, 28, 0.48);
}

#home-nearest {
  margin: 0 16px 104px !important;
  padding: 0 !important;
}

#home-nearest .schedule-card {
  margin: 0 !important;
}

#tab-games #archive-section,
#tab-games #games-schedule-section {
  display: none;
}

#tab-games[data-games-view="archive"] #archive-section,
#tab-games[data-games-view="schedule"] #games-schedule-section {
  display: block;
}

#tab-games[data-games-view="archive"] #games-hero-dates {
  display: none;
}

#games-container,
#archive-container,
.games,
.archive-list {
  width: 100% !important;
  max-width: 430px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.archive-month-header + .archive-card,
.archive-month-header + .archive-month-games {
  margin-top: 12px !important;
}

.archive-month-games + .archive-month-header {
  margin-top: 20px !important;
}

.schedule-action.btn-registered,
.schedule-action.btn-waitlisted {
  background: rgba(10, 26, 66, 0.58) !important;
  border: 1px solid rgba(201, 201, 212, 0.22) !important;
  box-shadow: inset 0 0 0 1px rgba(246, 246, 246, 0.03) !important;
  color: var(--text) !important;
}

.schedule-action .reg-cancel {
  display: none !important;
}

.schedule-action-status {
  min-height: 56px;
  padding: 0 12px;
  justify-content: space-between;
  gap: 8px;
  letter-spacing: 0;
  text-transform: none;
}

.schedule-action-status-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font: 700 13px/1.15 var(--font-sans);
  text-align: left;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.schedule-action-cancel {
  flex: 0 0 auto;
  color: var(--surface-60);
  font: 500 9px/1 var(--font-sans);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.schedule-players {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.schedule-players-title {
  color: var(--muted);
  font: 500 12px/1 var(--font-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.schedule-players-head {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.schedule-players-count {
  color: var(--text2);
  font: 600 12px/1 var(--font-sans);
  font-variant-numeric: tabular-nums;
}

.schedule-players-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.schedule-players-list span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 0 10px;
  color: var(--text2);
  background: var(--surface-04);
  font: 400 12px/1 var(--font-sans);
}

.schedule-players-empty {
  color: var(--muted);
  font: 400 13px/1.4 var(--font-sans);
}

.schedule-waitlist {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.schedule-waitlist-title {
  margin-bottom: 8px;
  color: var(--muted);
  font: 500 12px/1 var(--font-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.game-title,
.archive-game-title,
.modal-game-title {
  text-wrap: balance;
}
.seats-fill,
.rating-level-progress-fill,
.status-bar-fill,
.status-progress-bar,
.level-carousel-progress-fill {
  background: var(--brand-gradient-progress);
}

/* Party 11: segmented tournaments screen */
#tab-games #archive-section,
#tab-games #games-schedule-section {
  display: none;
}

#tab-games[data-games-view="schedule"] #games-schedule-section,
#tab-games[data-games-view="archive"] #archive-section {
  display: block;
}

#tab-games[data-games-view="archive"] #games-hero-dates {
  display: none !important;
}

#tab-games[data-games-view="archive"] .select-screen-title-main {
  font-size: clamp(56px, 15vw, 74px);
}

#tab-games .games-segment {
  max-width: 430px;
}

#tab-games .select-screen-head {
  min-height: 292px;
  margin-bottom: 8px;
  padding: 94px 24px 24px;
  background:
    linear-gradient(90deg, rgba(5, 13, 36, 0.58) 0%, rgba(5, 13, 36, 0.18) 56%, rgba(5, 13, 36, 0.00) 100%),
    linear-gradient(180deg, rgba(5, 13, 36, 0.00) 0%, rgba(5, 13, 36, 0.10) 56%, rgba(8, 20, 54, 0.96) 100%),
    url("brand/tournaments-hero-bg.png") 50% center / cover no-repeat;
}

#tab-games .select-screen-head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -42px;
  height: 76px;
  background: linear-gradient(180deg, rgba(8, 20, 54, 0.94), rgba(8, 20, 54, 0));
  pointer-events: none;
}

#tab-games .select-screen-title-main {
  font-size: clamp(46px, 13vw, 58px);
}

#tab-games .select-screen-title-sub {
  margin-top: 10px;
  font-size: 16px;
  letter-spacing: 0.24em;
}

#tab-games .select-pill.dates {
  margin-top: 20px;
  font-size: 18px;
}

.schedule-card .schedule-title,
.archive-card .archive-game-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.schedule-card .schedule-title {
  margin: 14px 0 14px;
  min-height: 0;
  max-height: none;
  font-size: clamp(36px, 10.8vw, 46px);
  line-height: 0.96;
}

.schedule-card .schedule-chip-row {
  align-items: stretch;
  margin-bottom: 12px;
}

.schedule-card .schedule-chip {
  max-width: 100%;
}

.schedule-card .schedule-chip:nth-child(2) {
  white-space: normal;
}

.schedule-card .schedule-address {
  margin-bottom: 14px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.3;
  max-width: 78%;
  text-wrap: pretty;
}

.schedule-format,
.tournament-modal-label {
  position: relative;
  z-index: 1;
  color: var(--surface-70);
  font: 650 12px/1.3 var(--font-condensed);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.schedule-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font: 650 12px/1 var(--font-condensed);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.schedule-details summary,
.schedule-players summary {
  list-style: none;
  cursor: pointer;
}

.schedule-details summary::-webkit-details-marker,
.schedule-players summary::-webkit-details-marker {
  display: none;
}

.schedule-details summary::after,
summary.schedule-players-head::after {
  content: "⌄";
  color: var(--surface-60);
}

.schedule-details[open] summary::after,
.schedule-players[open] summary.schedule-players-head::after {
  content: "⌃";
}

.schedule-details-body {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.schedule-detail {
  padding: 0;
  border-bottom: 0;
  line-height: 1.35;
}

.schedule-players-head {
  margin-bottom: 0;
  display: flex !important;
}

.schedule-players[open] .schedule-players-head {
  margin-bottom: 10px;
}

.schedule-action {
  overflow: visible;
  box-shadow: 0 14px 34px rgba(4, 11, 30, 0.24);
}

.schedule-action-label {
  gap: 18px;
  overflow: visible;
}

.schedule-action-label::before,
.schedule-action-label::after {
  width: 8px;
  height: 8px;
  margin-top: 0;
}

.tournament-modal-header {
  padding-bottom: 4px;
}

.tournament-modal-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.tournament-modal-info {
  display: grid;
  gap: 12px;
  padding: 0 20px 16px;
}

.tournament-modal-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font: 500 14px/1.35 var(--font-sans);
}

.tournament-modal-row:first-child {
  grid-template-columns: 1fr;
  gap: 6px;
}

.tournament-modal-row b {
  min-width: 0;
  color: var(--text2);
  font-weight: 600;
  text-align: right;
  overflow-wrap: anywhere;
}

.tournament-modal-row:first-child b {
  text-align: left;
  overflow-wrap: normal;
}

.tournament-modal-block {
  display: grid;
  gap: 6px;
}

.tournament-modal-text {
  color: var(--text2);
  font: 400 14px/1.45 var(--font-sans);
  text-wrap: pretty;
}

.tournament-modal-details {
  margin: 2px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.tournament-modal-action {
  padding: 2px 20px 20px;
}

.roster-player {
  min-height: 40px;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 10px 5px 6px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--surface-04);
  color: var(--text2);
  font: 500 13px/1.1 var(--font-sans);
}

button.roster-player {
  cursor: pointer;
  transition: transform 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

button.roster-player:active {
  transform: scale(0.96);
}

.roster-player-index {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.roster-player-photo {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(246, 246, 246, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
  color: var(--text);
  font-family: var(--font-display);
  font-size: 15px;
  flex: 0 0 auto;
}

.roster-player-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.roster-player-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-sheet .schedule-players {
  margin: 0;
  padding: 16px 20px 14px;
  border-top: 1px solid var(--border);
}

.modal-sheet .schedule-players-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.modal-sheet .roster-player {
  width: 100%;
  min-height: 46px;
  justify-content: flex-start;
  border-radius: 12px;
  padding: 6px 10px;
  background: rgba(246, 246, 246, 0.035);
}

.modal-sheet .roster-player-index {
  width: 24px;
  text-align: center;
}

.modal-sheet .schedule-waitlist {
  margin-top: 14px;
  padding-top: 14px;
}

button.result-row {
  width: 100%;
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.result-row.clickable:active {
  transform: scale(0.98);
}

.result-row.clickable {
  border-radius: 10px;
  transition: transform 0.15s ease, background-color 0.15s ease;
}

.result-row.clickable:hover {
  background: rgba(246, 246, 246, 0.035);
}

#archive-container {
  display: grid;
  gap: 8px;
}

#archive-container .archive-month-header {
  min-height: 48px !important;
  border-radius: 14px !important;
}

#archive-container .archive-month-games {
  gap: 6px;
  margin-top: 6px !important;
}

#archive-container .archive-month-games + .archive-month-header {
  margin-top: 10px !important;
}

#archive-container .archive-card {
  padding: 14px !important;
  border-radius: 14px !important;
}

/* Party 11 refinement: tournaments use the same quiet page frame as Club/Rating. */
#tab-games .games-page-title {
  padding-top: 20px;
  padding-bottom: 6px;
}

#tab-games .games-segment {
  max-width: 430px;
  margin: 0 auto;
  padding: 0 16px;
  min-height: 68px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: end;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 16px 34px rgba(2, 9, 28, 0.1);
}

#tab-games .games-segment-btn {
  position: relative;
  min-height: 54px;
  padding: 0 8px 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font: 700 16px/1 var(--font-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 0.15s ease, color 0.18s ease, opacity 0.18s ease;
}

#tab-games .games-segment-btn.active {
  background: transparent;
  border-color: transparent;
  color: var(--text);
}

#tab-games .games-segment-btn.active::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 2px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
}

#tab-games #games-schedule-section,
#tab-games #archive-section {
  padding-top: 10px;
}

#tab-games .week-banner {
  display: none !important;
}

.schedule-card .schedule-address {
  max-width: 100%;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 13px;
  line-height: 1.2;
}

.schedule-card .schedule-address span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-dot.warn {
  background: #d6c179;
  box-shadow: 0 0 7px rgba(214, 193, 121, 0.62);
}

.archive-banner {
  max-width: 430px;
  margin: 8px auto 12px !important;
  padding: 0 16px;
}

.archive-count {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  background: var(--surface-03) !important;
  border-color: var(--border) !important;
  color: var(--text2) !important;
}

/* Visual scale pass: compact home hero and calm numeric cards. */
#tab-home {
  background:
    linear-gradient(180deg, rgba(8, 20, 54, 0.02) 0%, rgba(8, 20, 54, 0.12) 116px, var(--bg) 168px),
    url("brand/select-main-bg.png") center top / 100% auto no-repeat,
    var(--bg) !important;
  background-repeat: no-repeat !important;
}

#tab-home .select-screen {
  width: 100% !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
}

#tab-home .select-screen-body {
  width: 100% !important;
  max-width: none !important;
  padding: 12px 12px 0 !important;
}

#home-hero.select-screen-head {
  min-height: 118px !important;
  margin-bottom: 0 !important;
  padding: 8px 0 4px !important;
  overflow: hidden;
}

#home-hero.select-screen-head::after {
  content: none;
}

#home-hero .select-screen-title-main {
  position: relative;
  z-index: 1;
  font-size: clamp(25px, 7.8vw, 33px) !important;
  line-height: 0.95 !important;
  max-width: 360px;
}

#home-hero .select-screen-title-sub {
  position: relative;
  z-index: 1;
  margin-top: 5px !important;
  font-size: clamp(8px, 2.5vw, 11px) !important;
  letter-spacing: 0.2em !important;
  max-width: 360px;
}

#home-hero .select-divider {
  position: relative;
  z-index: 1;
  margin: 6px 0 !important;
  max-width: 360px;
}

#home-hero .select-pill.dates {
  position: relative;
  z-index: 1;
  min-height: 28px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
}

@media (min-width: 520px) {
  #tab-home {
    background:
      linear-gradient(180deg, rgba(8, 20, 54, 0.02) 0%, rgba(8, 20, 54, 0.16) 142px, var(--bg) 202px),
      url("brand/select-main-bg.png") center top / 100% auto no-repeat,
      var(--bg) !important;
  }
}

#tab-home #home-nearest {
  margin: -6px 12px 104px !important;
}

#tab-games {
  background: var(--bg) !important;
}

#tab-games .games-hero-head {
  position: relative;
  min-height: 126px;
  padding: 20px 16px 6px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(8, 20, 54, 0.08) 0%, rgba(8, 20, 54, 0.02) 58%, rgba(8, 20, 54, 0.00) 100%),
    linear-gradient(180deg, rgba(8, 20, 54, 0.00) 0%, rgba(8, 20, 54, 0.05) 52%, rgba(8, 20, 54, 0.58) 78%, var(--bg) 100%),
    url("brand/select-main-bg.png") center top / 100% auto no-repeat;
}

#tab-games .games-hero-head::after {
  content: none;
}

#tab-games .games-hero-head .select-screen-title-main {
  position: relative;
  z-index: 1;
  max-width: 360px;
  font-size: clamp(28px, 8.6vw, 36px) !important;
  line-height: 0.95 !important;
}

#tab-games .games-hero-head .select-screen-title-sub {
  position: relative;
  z-index: 1;
  max-width: 360px;
  margin-top: 6px !important;
  font-size: clamp(9px, 2.8vw, 12px) !important;
  letter-spacing: 0.2em !important;
}

#tab-games .games-hero-head .select-divider {
  position: relative;
  z-index: 1;
  display: block !important;
  max-width: 360px;
  margin: 8px 0 !important;
}

#tab-games .games-hero-head .select-pill.dates {
  position: relative;
  z-index: 1;
  width: fit-content;
  min-height: 28px !important;
  margin-top: 0 !important;
  padding: 0 12px !important;
  border: 1px solid var(--border) !important;
  border-radius: 999px !important;
  background: var(--surface-03) !important;
  color: var(--text2) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
}

#tab-games .week-banner {
  display: none !important;
}

#tab-games .games-segment {
  margin-top: 4px !important;
}

.tab-page-title {
  font-size: 26px !important;
  padding-top: 22px !important;
}

.archive-card .archive-game-title {
  font-size: clamp(22px, 6.2vw, 28px) !important;
  line-height: 1.04 !important;
  margin: 8px 0 10px !important;
}

.archive-card {
  padding: 16px 16px 14px !important;
}

.archive-card .archive-meta,
.archive-card .archive-count {
  font-size: 12px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
}

.archive-card .archive-podium-row {
  min-height: 30px !important;
}

.archive-card .archive-name,
.archive-card .archive-pts {
  font-size: 14px !important;
}

.archive-card .archive-pts small {
  font-size: 11px !important;
}

.p-value,
.player-value {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}

.p-value {
  font-size: 34px !important;
  line-height: 0.9 !important;
}

.player-value {
  font-size: 30px !important;
  line-height: 0.9 !important;
}

.stat-value,
.player-profile-stat-value {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  text-shadow: none !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}

.stat-value {
  font-size: 34px !important;
  line-height: 0.95 !important;
}

.player-profile-stat-value {
  font-size: 30px !important;
  line-height: 0.95 !important;
}

.result-pts,
.archive-pts {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: var(--text) !important;
  font-variant-numeric: tabular-nums;
}

.result-pts {
  font-size: 24px !important;
  line-height: 0.95 !important;
}

.archive-pts {
  font-size: 20px !important;
  line-height: 1 !important;
}

.result-pts small,
.archive-pts small {
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  color: var(--muted) !important;
}

.archive-medal {
  color: var(--text);
  font: 500 18px/1 var(--font-display);
}

.archive-medal img {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
  display: block !important;
}

.podium-item {
  min-height: 106px !important;
}

.podium-item.p1 {
  min-height: 126px !important;
}

/* Unified SELECT surfaces: archive, rating, profile. */
:root {
  --select-panel-bg:
    radial-gradient(circle at 50% 0%, rgba(246, 246, 246, 0.075), rgba(246, 246, 246, 0) 42%),
    linear-gradient(180deg, rgba(246, 246, 246, 0.035), rgba(246, 246, 246, 0.014)),
    rgba(14, 32, 78, 0.58);
  --select-panel-shadow:
    0 18px 42px rgba(2, 9, 28, 0.16),
    inset 0 1px 0 rgba(246, 246, 246, 0.055),
    inset 0 0 0 1px rgba(246, 246, 246, 0.045);
}

#archive-container.archive-list {
  display: block !important;
  padding: 0 16px 104px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

.app-feature-disabled {
  display: none !important;
}

#archive-container .archive-month-header {
  min-height: 56px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#archive-container .archive-month-header:first-child {
  border-top: 1px solid var(--border) !important;
}

#archive-container .archive-month-header:not(:first-child) {
  border-top: 1px solid var(--border) !important;
}

#archive-container .archive-month-header + .archive-month-games,
#archive-container .archive-month-games + .archive-month-header {
  margin-top: 0 !important;
}

#archive-container .archive-month-games {
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 14px 14px !important;
}

#archive-container .archive-month-games.collapsed {
  display: none !important;
}

.browser-auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 12%, rgba(201,201,212,0.12), transparent 34%),
    var(--bg);
}

.browser-auth-overlay.active {
  display: flex;
}

.browser-auth-card {
  width: min(100%, 360px);
  padding: 28px 24px;
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.055), rgba(255,255,255,0.12), rgba(255,255,255,0.045)),
    rgba(255,255,255,0.035);
  box-shadow:
    inset 0 0 0 1px rgba(201,201,212,0.26),
    0 24px 70px rgba(0,0,0,0.32);
  text-align: center;
}

.browser-auth-logo {
  width: 96px;
  height: auto;
  margin: 0 auto 22px;
  display: block;
}

.browser-auth-title {
  color: var(--text);
  font: 500 40px/0.95 var(--font-display);
  text-wrap: balance;
}

.browser-auth-text {
  margin: 12px 0 20px;
  color: var(--muted);
  font: 400 14px/1.45 var(--font-sans);
  text-wrap: pretty;
}

.browser-auth-widget {
  min-height: 42px;
  display: grid;
  place-items: center;
}

.browser-auth-error {
  min-height: 18px;
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.schedule-card.highlight {
  box-shadow:
    inset 0 0 0 1px rgba(246,246,246,0.36),
    0 0 0 1px rgba(246,246,246,0.14),
    0 0 34px rgba(201,201,212,0.22) !important;
}

#archive-container .archive-card {
  position: relative;
  margin: 0 !important;
  padding: 14px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#archive-container .archive-card::before,
#archive-container .archive-card::after {
  content: none !important;
}

#archive-container .archive-card:first-child {
  border-top: 1px solid rgba(201, 201, 212, 0.12) !important;
}

#archive-container .archive-card + .archive-card {
  margin-top: 20px !important;
  padding-top: 28px !important;
}

#archive-container .archive-card + .archive-card::before {
  content: "" !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  display: block !important;
  background: linear-gradient(90deg, transparent 0%, rgba(201, 201, 212, 0.34) 34%, transparent 34%, transparent 66%, rgba(201, 201, 212, 0.34) 66%, transparent 100%);
  opacity: 0.78;
  pointer-events: none;
}

#archive-container .archive-card + .archive-card::after {
  content: "" !important;
  position: absolute;
  left: 50%;
  top: -4px;
  width: 8px;
  height: 8px;
  display: block !important;
  background: var(--accent);
  transform: translateX(-50%) rotate(45deg);
  box-shadow: var(--accent-shadow-xs);
  opacity: 0.88;
  pointer-events: none;
}

#archive-container .archive-top-row {
  margin-bottom: 8px !important;
}

#archive-container .archive-date {
  min-height: 24px !important;
  padding: 0 10px !important;
  background: rgba(246, 246, 246, 0.035) !important;
}

#archive-container .archive-game-title {
  font-size: clamp(22px, 6vw, 28px) !important;
  margin: 8px 0 10px !important;
}

#archive-container .archive-podium-row {
  min-height: 28px !important;
}

.podium-item,
.list-item,
.stat-card,
.loyalty-compact,
.current-game-metric,
.profile-nearest-card,
.history-item,
.player-profile-stat,
.player-profile-season-row,
.settings-card,
.profile-data-card {
  background: var(--select-panel-bg) !important;
  border-color: var(--border2) !important;
  box-shadow: var(--select-panel-shadow) !important;
}

.podium-item {
  border-radius: 18px !important;
}

.podium-item.p1 {
  border-color: rgba(201, 201, 212, 0.34) !important;
}

.list-item {
  border-radius: 15px !important;
}

.rank-num {
  background: rgba(246, 246, 246, 0.045) !important;
  border-color: rgba(201, 201, 212, 0.18) !important;
}

#tab-profile .loyalty-compact,
#tab-profile .next-tournament-compact,
#tab-profile .stat-card,
#tab-profile .history-item {
  border-radius: 18px !important;
}

#tab-profile .loyalty-compact,
#tab-profile .next-tournament-compact,
#tab-profile .stat-card,
#tab-profile .history-item,
#tab-profile .profile-nearest-card,
#tab-profile .current-game-metric {
  background:
    radial-gradient(circle at 50% 0%, var(--surface-08), var(--bg-00) 58%),
    rgba(255,255,255,0.04) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-soft), inset 0 1px 0 var(--surface-08) !important;
}

#tab-profile .history-item.win {
  border-left: 1px solid var(--border) !important;
}

.month-chip {
  background: var(--select-panel-bg) !important;
  border-color: var(--border2) !important;
  box-shadow: inset 0 1px 0 rgba(246, 246, 246, 0.04) !important;
}

.month-chip.active {
  background: rgba(201, 201, 212, 0.88) !important;
  border-color: rgba(201, 201, 212, 0.88) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    0 12px 28px rgba(2, 9, 28, 0.18) !important;
}

.modal-sheet .player-profile-stat .player-profile-stat-value,
.player-profile-sheet .player-profile-stat-value {
  font-family: var(--font-display) !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 0.95 !important;
  letter-spacing: 0 !important;
  color: var(--text) !important;
  text-shadow: none !important;
  font-variant-numeric: tabular-nums;
}

/* Final surface pass: keep Rating, tournament sheets, archive sheets and public profiles aligned with Club. */
:root {
  --select-panel-bg:
    radial-gradient(circle at 50% 0%, var(--surface-08), var(--bg-00) 58%),
    rgba(255, 255, 255, 0.04);
  --select-panel-shadow:
    var(--shadow-soft),
    inset 0 1px 0 var(--surface-08);
}

#tab-rating .next-tournament-compact,
#tab-rating .podium-item,
#tab-rating .list-item,
#tab-rating .month-chip:not(.active),
.modal-sheet,
.modal-sheet .roster-player,
.player-profile-stat,
.player-profile-season-list,
.player-profile-history-row {
  background: var(--select-panel-bg) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--select-panel-shadow) !important;
}

#tab-rating .rating-inner-tabs,
#tab-rating .month-bar {
  background: var(--bg) !important;
}

#tab-rating .podium-section {
  padding-top: 18px !important;
}

#tab-rating .podium-item {
  border-radius: 18px !important;
  color: var(--text) !important;
}

#tab-rating .podium-item.p1 {
  border-color: var(--border2) !important;
}

#tab-rating .list-item {
  min-height: 60px !important;
  border-radius: 18px !important;
}

#tab-rating .list-item.me {
  background: var(--select-panel-bg) !important;
  border-color: var(--border2) !important;
}

#tab-rating .rank-num {
  background: rgba(246, 246, 246, 0.04) !important;
  border-color: var(--border) !important;
  box-shadow: inset 0 1px 0 var(--surface-06) !important;
}

.modal-sheet {
  max-height: min(82vh, 610px) !important;
  border-radius: 20px 20px 0 0 !important;
  border-bottom: 0 !important;
  background-color: var(--bg) !important;
}

.modal-header {
  padding: 18px 20px 14px !important;
}

.modal-game-title {
  text-wrap: balance;
}

.modal-meta-row,
.tournament-modal-chip-row {
  margin-bottom: 2px !important;
}

.tournament-modal-info {
  padding: 14px 20px 16px !important;
  gap: 10px !important;
}

.tournament-modal-row {
  grid-template-columns: 86px minmax(0, 1fr) !important;
  padding-bottom: 9px !important;
}

.tournament-modal-row:first-child {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
}

.tournament-modal-row b {
  text-align: right !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.tournament-modal-row:first-child b {
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.modal-sheet .schedule-players {
  padding: 14px 20px 12px !important;
}

.modal-sheet .schedule-players-list {
  gap: 7px !important;
}

.modal-sheet .roster-player {
  min-height: 42px !important;
  border-radius: 14px !important;
}

.modal-sheet .result-row {
  min-height: 60px;
  padding: 10px 20px !important;
  background: transparent !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--border) !important;
}

.modal-sheet .result-row.clickable:hover,
.modal-sheet .result-row.clickable:focus-visible {
  background: transparent !important;
  border-radius: 0 !important;
}

.result-place img {
  filter: var(--accent-drop-sm);
}

.player-profile-sheet {
  padding: 18px 20px 24px !important;
}

.player-profile-stats {
  gap: 8px !important;
}

.player-profile-stat {
  min-height: 58px !important;
  border-radius: 16px !important;
  padding: 10px 8px !important;
}

.player-profile-season-list {
  border-radius: 18px !important;
  overflow: hidden;
}

.player-profile-season-row {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
}

.player-profile-season-row:last-child {
  border-bottom: 0 !important;
}

.player-profile-season-points,
.player-profile-history-score {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}

.player-profile-history-row {
  min-height: 56px !important;
  border-radius: 18px !important;
}

/* Games page as one continuous feed: active tournaments first, archive below. */
#tab-games .games-segment {
  display: none !important;
}

#tab-games #games-schedule-section,
#tab-games #archive-section,
#tab-games[data-games-view="archive"] #archive-section,
#tab-games[data-games-view="schedule"] #games-schedule-section {
  display: block !important;
}

#tab-games #archive-section {
  margin-top: 4px !important;
  padding-top: 0 !important;
}

#tab-games .archive-banner {
  max-width: 430px;
  margin: 0 auto 4px !important;
  padding: 0 16px !important;
}

#tab-games .archive-banner::before {
  content: none !important;
}

#tab-games .archive-count {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--muted) !important;
  font: 500 13px/1 var(--font-sans) !important;
  letter-spacing: 0.22em !important;
}

#tab-games #archive-container.archive-list {
  padding-top: 0 !important;
}

#archive-container .archive-pax {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--muted) !important;
  font: 400 13px/1.1 var(--font-sans) !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

#archive-container .archive-top-row {
  align-items: center !important;
}

#archive-container .archive-card .archive-date {
  margin-right: auto;
}

.modal-sheet .modal-meta-row:empty {
  display: none !important;
}

/* Current release locks: no levels/achievements, compact closed archive feed. */
.app-feature-disabled,
[data-feature="achievements"],
[data-feature="statuses"],
#home-status-block,
#profile-level-carousel,
#profile-levels-roadmap,
#panel-levels,
#pp-achievements {
  display: none !important;
}

#tab-games .archive-banner {
  display: block !important;
  max-width: 430px !important;
  min-height: 0 !important;
  margin: 6px auto 2px !important;
  padding: 0 16px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#tab-games .archive-banner::before,
#tab-games .archive-banner::after {
  content: none !important;
}

#tab-games .archive-count {
  display: block !important;
  color: var(--muted) !important;
  font: 500 13px/1 var(--font-sans) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
}

#tab-games .games {
  padding-bottom: 0 !important;
}

#tab-games #archive-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#archive-container.archive-list {
  padding-top: 0 !important;
}

#archive-container .archive-month-header {
  min-height: 52px !important;
}

#archive-container .archive-month-games.collapsed {
  display: none !important;
}
