:root {
  --bg: #111917;
  --panel: rgba(14, 24, 22, 0.9);
  --panel-strong: rgba(11, 20, 19, 0.96);
  --text: #fff8e8;
  --muted: rgba(255, 248, 232, 0.76);
  --soft: rgba(255, 248, 232, 0.58);
  --gold: #f2c66d;
  --gold-hot: #ffe7aa;
  --red: #b94c45;
  --green: #4b9b7b;
  --line: rgba(242, 198, 109, 0.26);
  --line-cold: rgba(102, 176, 145, 0.22);
  --radius: 8px;
  --shadow: rgba(0, 0, 0, 0.44);
  --font-display: "Cormorant Garamond", Georgia, serif;
}

@view-transition {
  navigation: none;
}

html {
  scroll-behavior: auto;
  background: #111917;
}

*,
*::before,
*::after {
  animation: none !important;
  transition: none !important;
  letter-spacing: 0 !important;
}

body {
  background: #111917;
}

body::before {
  z-index: 0;
  opacity: 1;
  background:
    linear-gradient(90deg, rgba(76, 10, 25, 0.74) 0%, rgba(17, 27, 29, 0.48) 48%, rgba(1, 71, 50, 0.7) 100%),
    linear-gradient(180deg, rgba(5, 10, 17, 0.16) 0%, rgba(6, 12, 16, 0.56) 72%, rgba(7, 12, 14, 0.9) 100%),
    url("/assets/wbge-winter-campus-2026.webp") center / cover fixed no-repeat;
  mix-blend-mode: normal;
}

body::after {
  z-index: 1;
  opacity: 0;
}

.wbge-real-snow {
  position: fixed;
  inset: 0;
  z-index: 3;
  display: block;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: 0.84;
}

/* The launch lock is a full-screen layer. Raise the existing real snowfall
   above it too, so the locked page feels like the rest of the site. */
body.wbge-launch-locked .wbge-real-snow {
  z-index: 9001;
  opacity: 0.64;
}

.neo-bg,
.wbge-route-flow,
.wbge-fx-snow,
.celestial-crown {
  display: none !important;
}

.site-shell {
  width: min(1440px, calc(100% - 3rem));
  padding: 1.15rem 0 2.5rem;
}

.topbar {
  min-height: 5rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.brand {
  gap: 0.8rem;
}

.brand-logo {
  width: 13.5rem;
  min-height: 4rem;
  padding: 0.55rem;
  border-color: rgba(242, 198, 109, 0.44);
  border-radius: 8px;
  background: linear-gradient(135deg, #fffaf0, #f4d58e);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.brand-season,
.date-chip,
.topnav a {
  min-height: 2.75rem;
  border-radius: 8px;
}

.brand-season {
  border-color: rgba(242, 198, 109, 0.28);
  color: #fff2cb;
  background: rgba(12, 23, 21, 0.88);
  box-shadow: none;
}

.topnav {
  gap: 0.45rem;
}

.topnav a,
.date-chip {
  color: rgba(255, 248, 232, 0.82);
  background: rgba(9, 18, 17, 0.7);
}

.topnav a:hover,
.topnav a.is-active {
  color: #191006;
  border-color: rgba(242, 198, 109, 0.76);
  background: linear-gradient(135deg, #ffe9ad, #e8ad4d);
  box-shadow: none;
  transform: none;
}

.date-chip {
  border-color: rgba(102, 176, 145, 0.34);
  color: #e5fff4;
  box-shadow: none;
}

.page {
  padding-top: 2rem;
}

.hero-grid,
.form-layout,
.criteria-layout {
  gap: 3rem;
}

.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 0.95fr);
  min-height: calc(var(--app-height) - 9.5rem);
}

h1,
h2,
h3 {
  text-shadow: none;
}

.home-page h1,
.form-intro h1,
.criteria-hero h1,
.not-found-card h1,
.wbge-launch-card h1,
.stage-copy h2 {
  font-family: var(--font-display);
  font-weight: 700;
}

h1 {
  max-width: 10ch;
  color: #fff8e8;
  font-size: 5.7rem;
  line-height: 0.94;
}

.home-page h1 {
  max-width: 10ch;
  font-size: 6.1rem;
  line-height: 0.9;
  text-shadow: 0 8px 34px rgba(242, 198, 109, 0.14);
}

.criteria-hero h1,
.form-intro h1,
.criteria-page .criteria-hero h1 {
  max-width: 11ch;
  font-size: 4.7rem;
  line-height: 0.96;
}

.form-intro h1 {
  max-width: 10ch;
  font-size: 4rem;
}

.eyebrow,
.schedule-title,
.turnstile-title,
.verification-title,
.stage-copy span {
  color: var(--gold);
  text-shadow: none;
}

.lead,
.card-head p,
.field-note,
.verification-copy,
.criteria-copy p,
.stage-copy p {
  color: var(--muted);
}

.home-page .hero-eyebrow {
  max-width: 42rem;
  margin-bottom: 0.8rem;
  color: #ffe4a0;
}

.home-page .hero-copy > .lead {
  max-width: 44rem;
}

.button,
button.button,
.verification-actions button {
  min-height: 3.2rem;
  border-radius: 8px;
  box-shadow: none;
  transform: none !important;
}

.button-primary {
  color: #1b1107;
  background: linear-gradient(135deg, #ffe7a4, #eaae4c 58%, #c46144);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24);
}

.button-ghost,
.button-secondary,
.verification-actions button {
  border-color: rgba(242, 198, 109, 0.28);
  color: #fff2d0;
  background: rgba(12, 23, 21, 0.82);
  box-shadow: none;
}

.button:hover,
button.button:hover,
.button:active,
button.button:active {
  transform: none;
}

.button:focus-visible,
button:focus-visible,
.topnav a:focus-visible,
.brand:focus-visible,
input:focus-visible {
  outline: 3px solid rgba(255, 231, 170, 0.92);
  outline-offset: 3px;
}

.quick-facts,
.process-grid {
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.home-page .quick-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.quick-facts article,
.process-grid article,
.form-card,
.orbital-card,
.countdown-card,
.signal-stack span,
.glass-card {
  border-color: rgba(255, 255, 255, 0.13);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(23, 34, 32, 0.95), rgba(10, 18, 17, 0.9)),
    rgba(11, 20, 19, 0.92);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(12px);
}

.quick-facts article,
.process-grid article {
  min-height: 8.5rem;
  border-radius: 8px;
  transform: none !important;
}

.quick-facts article:hover,
.process-grid article:hover,
.criterion-row:hover {
  border-color: rgba(242, 198, 109, 0.34);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
  transform: none;
}

.quick-facts span,
.process-grid span,
.criterion-icon {
  border-radius: 8px;
  background: linear-gradient(135deg, #ffe9ae, #e9ad4b 62%, #c96146);
  box-shadow: none;
}

.hero-object {
  align-self: center;
}

.home-page .hero-object {
  margin-top: 0;
}

.countdown-card {
  margin-top: 0;
  padding: 0.75rem;
  border-color: rgba(242, 198, 109, 0.24);
}

.countdown-card span:not(.countdown-label) {
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.055);
}

.countdown-label {
  color: #ffe8ad;
}

.orbital-card {
  margin-top: 0.8rem;
  padding: 0.9rem;
  transform: none !important;
}

.home-page .orbital-card-text {
  padding: 1.35rem 1.45rem;
}

.home-page .orbital-card-text .stage-copy {
  padding-top: 0;
}

.orbital-card::before {
  display: none;
}

.hero-image {
  min-height: 0;
  aspect-ratio: 16 / 9;
  border-radius: 6px;
  background:
    linear-gradient(180deg, transparent 45%, rgba(7, 12, 14, 0.52)),
    url("/assets/wbge-winter-campus-2026.webp") center / cover no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.home-page .hero-image {
  min-height: 0;
}

.stage-copy h2 {
  font-size: 2.25rem;
  line-height: 1.08;
}

.form-layout {
  grid-template-columns: minmax(17rem, 0.56fr) minmax(38rem, 1.44fr);
  align-items: start;
}

.form-intro {
  padding-top: 1rem;
}

.signal-stack {
  display: none;
}

.form-card {
  padding: 1.4rem;
}

.field-grid {
  gap: 0.75rem;
}

input,
.wbge-admin-field input,
.wbge-admin-field textarea {
  border-radius: 7px;
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.065);
  box-shadow: none;
}

input:focus,
.wbge-admin-field input:focus,
.wbge-admin-field textarea:focus {
  border-color: rgba(242, 198, 109, 0.72);
  box-shadow: 0 0 0 3px rgba(242, 198, 109, 0.12);
}

.schedule-card,
.turnstile-card,
.verification-card,
.form-status {
  padding: 1rem 0 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 0;
  background: transparent;
}

.schedule-scroll {
  overflow-x: visible;
}

.schedule-grid {
  grid-template-columns: 6.4rem repeat(5, minmax(0, 1fr));
  gap: 0.38rem;
  min-width: 0;
}

.schedule-cell {
  min-width: 0;
  min-height: 3.55rem;
  padding: 0.4rem;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.045);
  font-size: 0.78rem;
}

.schedule-cell.header {
  color: #1b1107;
  background: linear-gradient(135deg, #ffe7a4, #eaae4c);
}

.schedule-cell.checkbox {
  transform: none !important;
}

.schedule-cell.checkbox:hover {
  border-color: rgba(242, 198, 109, 0.38);
  transform: none;
}

.schedule-cell.checkbox input {
  flex: 0 0 auto;
  border-radius: 4px;
}

.schedule-cell.is-suggested {
  background: rgba(242, 198, 109, 0.1);
}

.schedule-cell.is-checked {
  border-color: rgba(242, 198, 109, 0.72);
  background: rgba(242, 198, 109, 0.15);
}

.slot-tag {
  overflow-wrap: anywhere;
}

.criteria-layout {
  grid-template-columns: minmax(20rem, 0.68fr) minmax(36rem, 1.32fr);
  align-items: start;
}

.criteria-panel {
  gap: 0.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.criteria-page .criteria-panel .card-head h2 {
  max-width: 18ch;
  font-size: 2.8rem;
}

.criteria-list {
  gap: 0.6rem;
}

.criterion-row {
  grid-template-columns: 3.35rem minmax(0, 1fr) minmax(11rem, 0.72fr);
  border-radius: 8px;
  border-color: rgba(255, 255, 255, 0.13);
  background:
    linear-gradient(135deg, rgba(22, 33, 31, 0.95), rgba(9, 18, 17, 0.91)),
    rgba(11, 20, 19, 0.92);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24);
  transform: none !important;
}

.criterion-icon {
  width: 3.35rem;
}

.site-footer,
.home-page .site-footer,
.criteria-page .site-footer {
  position: relative;
  left: auto;
  bottom: auto;
  width: min(1440px, calc(100% - 3rem));
  margin: 0 auto 1.25rem;
  transform: none;
  color: rgba(255, 248, 232, 0.72);
  font-size: 1rem;
  text-shadow: none;
}

.not-found-card {
  padding: 2rem;
}

.not-found-card h1 {
  font-size: 3.8rem;
}

.personal-refresh {
  border-radius: 8px;
}

.wbge-launch-gate {
  background:
    linear-gradient(90deg, rgba(76, 10, 25, 0.76), rgba(15, 27, 25, 0.5) 48%, rgba(1, 71, 50, 0.72)),
    linear-gradient(180deg, rgba(8, 13, 15, 0.18), rgba(8, 13, 15, 0.82)),
    url("/assets/wbge-winter-campus-2026.webp") center / cover no-repeat,
    #111917;
}

.wbge-launch-gate::before {
  opacity: 0.22;
}

.wbge-launch-gate::after {
  background: linear-gradient(180deg, rgba(5, 10, 12, 0.08), rgba(5, 10, 12, 0.52));
}

.wbge-launch-card {
  border-color: rgba(242, 198, 109, 0.4);
  border-radius: 8px;
  background: rgba(10, 20, 18, 0.94);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.52);
}

.wbge-launch-card::before {
  display: none;
}

.wbge-launch-card h1 {
  max-width: none;
  font-size: 5.4rem;
  text-shadow: none;
}

.wbge-launch-kicker,
.wbge-launch-countdown strong {
  color: #ffe6a4;
  text-shadow: none;
}

.wbge-launch-date,
.wbge-launch-countdown span {
  border-radius: 8px;
  border-color: rgba(242, 198, 109, 0.3);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
}

.wbge-admin-overlay {
  background:
    linear-gradient(90deg, rgba(76, 10, 25, 0.78), rgba(14, 27, 25, 0.56) 48%, rgba(1, 64, 46, 0.76)),
    linear-gradient(180deg, rgba(7, 12, 14, 0.18), rgba(7, 12, 14, 0.8)),
    url("/assets/wbge-winter-campus-2026.webp") center / cover no-repeat !important;
  backdrop-filter: none !important;
}

.wbge-admin-overlay::before {
  background: linear-gradient(180deg, rgba(8, 13, 15, 0.08), rgba(8, 13, 15, 0.62)) !important;
}

.wbge-admin-panel {
  border-radius: 8px !important;
  border-color: rgba(242, 198, 109, 0.36) !important;
  background: rgba(10, 20, 18, 0.96) !important;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: none !important;
}

.wbge-admin-panel::before {
  display: none !important;
}

.wbge-admin-button,
.wbge-admin-entry,
.wbge-admin-statbar span,
.wbge-admin-login-card,
.wbge-admin-list-head,
.wbge-admin-gate-panel,
.wbge-admin-edit-panel {
  border-radius: 8px !important;
}

.wbge-admin-button {
  background: linear-gradient(135deg, #ffe7a4, #eaae4c 58%, #c46144) !important;
  box-shadow: none !important;
  transform: none !important;
}

.wbge-admin-button.secondary {
  color: #fff2d0 !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.wbge-admin-entry,
.wbge-admin-gate-panel,
.wbge-admin-edit-panel,
.wbge-admin-login-card,
.wbge-admin-list-head {
  background: rgba(255, 255, 255, 0.045) !important;
  box-shadow: none !important;
}

.wbge-admin-gate-panel {
  grid-template-columns: minmax(14rem, 1fr) minmax(16rem, 1fr) !important;
}

.wbge-admin-gate-fields {
  grid-template-columns: minmax(14rem, 1fr) !important;
}

.wbge-admin-gate-panel > .wbge-admin-button {
  grid-column: 1 / -1;
  justify-self: end;
  min-width: min(100%, 17rem);
}

@media (min-width: 1441px) {
  .site-shell,
  .site-footer,
  .home-page .site-footer,
  .criteria-page .site-footer {
    width: min(1540px, calc(100% - 5rem));
  }

  h1,
  .home-page h1 {
    font-size: 6.2rem;
  }
}

@media (max-width: 1024px) {
  .site-shell {
    width: min(100% - 2rem, 58rem);
  }

  .topbar,
  .hero-grid,
  .form-layout,
  .criteria-layout {
    grid-template-columns: 1fr;
  }

  .topnav {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .hero-grid {
    min-height: auto;
  }

  .hero-object,
  .form-card,
  .criteria-panel {
    width: 100%;
  }

  h1,
  .home-page h1 {
    font-size: 4.7rem;
  }

  .criteria-hero h1,
  .form-intro h1,
  .criteria-page .criteria-hero h1 {
    font-size: 4.1rem;
  }

  .form-intro h1 {
    font-size: 3.5rem;
  }

  .site-footer,
  .home-page .site-footer,
  .criteria-page .site-footer {
    width: min(100% - 2rem, 58rem);
  }

  .home-page .quick-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .site-shell {
    width: min(100% - 1rem, 44rem);
    padding-top: 0.6rem;
  }

  .topbar {
    gap: 0.75rem;
  }

  .brand {
    align-items: stretch;
    flex-direction: column;
  }

  .brand-logo {
    width: min(100%, 18rem);
  }

  .brand-season {
    width: max-content;
  }

  .topnav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
  }

  .topnav a {
    padding-inline: 0.45rem;
    font-size: 0.8rem;
  }

  .date-chip {
    grid-column: 1 / -1;
    min-height: 3rem;
    padding: 0.65rem 0.8rem;
    text-align: center;
    white-space: normal;
  }

  .page {
    padding-top: 1.25rem;
  }

  .hero-grid,
  .form-layout,
  .criteria-layout {
    gap: 1.5rem;
  }

  h1,
  .home-page h1,
  .criteria-hero h1,
  .form-intro h1,
  .criteria-page .criteria-hero h1 {
    max-width: 12ch;
    font-size: 3.45rem;
  }

  .form-intro h1 {
    max-width: 11ch;
    font-size: 3rem;
  }

  .process-grid,
  .field-grid {
    grid-template-columns: 1fr;
  }

  .home-page .quick-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-facts article,
  .process-grid article {
    min-height: 0;
  }

  .hero-actions,
  .cta-row {
    flex-direction: column;
  }

  .button,
  button.button {
    width: 100%;
  }

  .stage-copy h2,
  .criteria-page .criteria-panel .card-head h2 {
    font-size: 2.15rem;
  }

  .countdown-card {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .countdown-label {
    grid-column: 1 / -1;
  }

  .criterion-row,
  .verification-card {
    grid-template-columns: 1fr;
  }

  .schedule-day-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.3rem;
    margin-top: 0.9rem;
  }

  .schedule-day-tabs button {
    min-width: 0;
    min-height: 3rem;
    padding: 0.45rem 0.2rem;
    border: 1px solid rgba(242, 198, 109, 0.22);
    border-radius: 7px;
    color: rgba(255, 248, 232, 0.82);
    background: rgba(255, 255, 255, 0.055);
    font-weight: 900;
  }

  .schedule-day-tabs button[aria-pressed="true"] {
    color: #1b1107;
    border-color: rgba(242, 198, 109, 0.72);
    background: linear-gradient(135deg, #ffe7a4, #eaae4c);
  }

  .schedule-day-tabs small {
    display: none;
  }

  .schedule-grid {
    grid-template-columns: minmax(5.7rem, 0.82fr) minmax(0, 1.18fr);
  }

  .schedule-cell.header,
  .schedule-cell.checkbox {
    display: none;
  }

  .schedule-cell.hour,
  .schedule-card[data-active-day="monday"] .schedule-cell[data-schedule-day="monday"],
  .schedule-card[data-active-day="tuesday"] .schedule-cell[data-schedule-day="tuesday"],
  .schedule-card[data-active-day="wednesday"] .schedule-cell[data-schedule-day="wednesday"],
  .schedule-card[data-active-day="thursday"] .schedule-cell[data-schedule-day="thursday"],
  .schedule-card[data-active-day="friday"] .schedule-cell[data-schedule-day="friday"] {
    display: flex;
  }

  .schedule-cell.checkbox {
    justify-content: flex-start;
    gap: 0.45rem;
  }

  .wbge-launch-card h1 {
    font-size: 3.5rem;
  }

  .wbge-launch-card {
    padding: 1.5rem;
  }

  .site-footer,
  .home-page .site-footer,
  .criteria-page .site-footer {
    width: min(100% - 1rem, 44rem);
  }

  .wbge-admin-gate-panel,
  .wbge-admin-gate-fields {
    grid-template-columns: 1fr !important;
  }

  .wbge-admin-gate-panel > .wbge-admin-button {
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 480px) {
  h1,
  .home-page h1,
  .criteria-hero h1,
  .form-intro h1,
  .criteria-page .criteria-hero h1 {
    font-size: 2.75rem;
  }

  .form-intro h1 {
    font-size: 2.35rem;
    line-height: 1;
  }

  .home-page .quick-facts {
    grid-template-columns: 1fr;
  }

  .form-card,
  .orbital-card,
  .not-found-card {
    padding: 0.85rem;
  }

  .countdown-card,
  .wbge-launch-countdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .countdown-label {
    grid-column: 1 / -1;
  }

  .wbge-launch-card h1 {
    font-size: 2.65rem;
  }

  .not-found-card h1 {
    font-size: 2.7rem;
  }
}
