:root {
  color-scheme: only light;
}

html,
body {
  background: #efede7;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  color: #1a181b;
  background: rgba(239, 237, 231, .96);
  border-bottom-color: rgba(31, 27, 31, .1);
  box-shadow: 0 10px 36px rgba(44, 35, 40, .055);
  backdrop-filter: blur(24px) saturate(1.18);
}

.shell-no-live .site-header {
  grid-template-columns: auto minmax(0, 1fr);
}

.shell-no-live .site-header .header-live {
  display: none !important;
}

.shell-no-live .header-nav {
  grid-column: 2;
  justify-self: end;
}

.header-nav .nav-button {
  color: #272328;
}

.header-nav .nav-button.is-current,
.header-nav .nav-button:hover {
  border-color: rgba(31, 27, 31, .16);
  background: rgba(255, 255, 255, .55);
}

.header-nav .nav-button-primary {
  color: #fff;
  border-color: #df203d;
  background: #df203d;
}

.header-nav .nav-button-primary:hover {
  color: #fff;
  border-color: #bd102d;
  background: #bd102d;
}

.activity-status-panel {
  position: relative;
  z-index: 30;
  width: 100%;
  min-width: 0;
  min-height: 62px;
  margin: 0;
  border-width: 0 0 1px;
  border-radius: 0;
  color: #f7f4f2;
  border-color: rgba(223, 32, 61, .38);
  background: #171418;
  box-shadow: inset 0 -1px rgba(255, 255, 255, .03), 0 12px 34px rgba(45, 30, 37, .12);
}

.activity-status-title {
  padding-right: 13px;
  border-right: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .54);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  white-space: nowrap;
}

.activity-view {
  min-height: calc(100svh - var(--header-h) - 62px);
  padding-top: 34px;
}

.activity-view .deck-stage {
  width: min(82vw, 530px, calc((100svh - var(--header-h) - 138px) * .72));
  min-width: 250px;
}

.text-page .text-main {
  width: min(calc(100% - 36px), 820px);
}

.text-page .text-main > h1 {
  margin-bottom: 24px;
  font-size: clamp(42px, 8vw, 78px);
}

.policy-lead {
  margin: 0 0 42px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(31,27,31,.12);
  color: #383337 !important;
  font-size: 15px !important;
}

.policy-section {
  margin-top: 34px;
}

.policy-section h2 {
  margin: 0 0 10px;
  color: #1b181b;
  font-size: clamp(17px, 2.5vw, 21px);
  line-height: 1.5;
  letter-spacing: -.025em;
}

.policy-section p {
  margin: 8px 0 0;
}

.policy-section ul {
  margin: 10px 0 0;
  padding-left: 1.35em;
  color: #55514d;
  font-size: 14px;
  line-height: 2;
}

.policy-section a {
  color: #bd1731;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.policy-updated {
  margin-top: 56px !important;
  padding-top: 20px;
  border-top: 1px solid rgba(31,27,31,.12);
  color: #807872 !important;
  font-size: 11px !important;
}

.generator-promo {
  position: relative;
  width: 100%;
  min-height: 106px;
  margin: 0 0 24px;
  padding: 18px 20px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(194, 151, 65, .34);
  border-radius: 14px;
  color: #fff;
  background:
    radial-gradient(circle at 12% 20%, rgba(202, 31, 59, .36), transparent 28%),
    linear-gradient(112deg, #21171b 0%, #100d0f 58%, #26161b 100%);
  box-shadow: 0 16px 38px rgba(53, 35, 40, .14), inset 0 1px rgba(255, 255, 255, .08);
}
.generator-promo::after {
  content: '';
  position: absolute;
  right: 8%; top: -70%;
  width: 190px; height: 230%;
  pointer-events: none;
  transform: rotate(24deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
}
.generator-promo-mark {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 74px; height: 74px;
  border: 1px solid rgba(235, 205, 137, .62);
  border-radius: 50%;
  color: #f4d996;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -.08em;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.025);
}
.generator-promo-copy { position: relative; z-index: 1; min-width: 0; display: grid; gap: 2px; }
.generator-promo-copy small { color: rgba(255,255,255,.52); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .1em; }
.generator-promo-copy strong { color: #fff; font-size: clamp(20px, 3.4vw, 31px); line-height: 1.12; letter-spacing: -.045em; }
.generator-promo-copy em { color: #d9bd78; font-size: 11px; font-style: normal; font-weight: 850; }
.generator-promo-action {
  position: relative;
  z-index: 1;
  min-width: 92px;
  padding: 11px 16px;
  border-radius: 999px;
  color: #251417;
  background: #f0d38c;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
}
.generator-promo:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 21px 46px rgba(53,35,40,.19); }
.generator-promo-compact { width: min(760px, 100%); min-height: 78px; margin: 34px auto 0; padding: 12px 16px; grid-template-columns: minmax(0,1fr) auto; gap: 14px; }
.generator-promo-compact .generator-promo-mark { width: 50px; height: 50px; font-size: 20px; }
.generator-promo-compact .generator-promo-copy strong { font-size: clamp(17px, 2.5vw, 23px); }
.generator-promo-compact .generator-promo-copy { gap: 5px; }
.generator-promo-compact .generator-promo-action { padding: 9px 13px; }
.site-footer button { padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; }

.achievements-luxury-page .generator-promo { margin-top: 0; margin-bottom: 24px; }

@media (max-width: 760px) {
  .shell-no-live { --header-h: 62px; }

  .site-header,
  .shell-no-live .site-header {
    grid-template-columns: auto 1fr;
  }

  .shell-no-live .site-header {
    grid-template-rows: 42px;
  }

  .site-header .header-live {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .site-header .header-nav,
  .shell-no-live .header-nav {
    grid-column: 2;
    grid-row: 1;
    max-width: calc(100vw - 82px);
    overflow-x: auto;
    justify-content: flex-start;
    scrollbar-width: none;
  }

  .site-header .header-nav::-webkit-scrollbar { display: none; }
  .site-header .nav-button { flex: 0 0 auto; }

  .activity-status-panel {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    padding-inline: 15px;
  }

  .activity-status-title { padding-right: 10px; font-size: 8px; }

  .activity-view {
    min-height: calc(100svh - var(--header-h) - 58px);
    padding-top: 26px;
  }

  .activity-view .deck-stage {
    width: min(82vw, 390px, calc((100svh - var(--header-h) - 120px) * .72));
    min-width: 238px;
  }

  .generator-promo {
    min-height: 92px;
    padding: 14px;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
  }
  .generator-promo-mark { width: 54px; height: 54px; font-size: 21px; }
  .generator-promo-copy strong { font-size: clamp(17px, 5.3vw, 23px); }
  .generator-promo-compact { grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
  .members-main .generator-promo-compact { margin-top: 14px; }
  .generator-promo-compact .generator-promo-action { display: block; min-width: 78px; padding: 10px 12px; font-size: 11px; }
}
