/* Page structure and existing interactive states. Shared design tokens live in design-system.css. */
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  min-height:100svh;
  overflow-x:hidden;
  color:var(--ink);
  background:radial-gradient(circle at 5% 7%,rgba(242,138,56,.2),transparent 24rem),radial-gradient(circle at 96% 38%,rgba(66,105,78,.14),transparent 28rem),var(--cream);
  font-family:Inter,ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased
}
button {
  font:inherit
}
.leaf {
  position:fixed;
  z-index:-1;
  width:180px;
  height:90px;
  border-radius:100% 0 100% 0;
  background:rgba(242,138,56,.1);
  transform:rotate(30deg);
  pointer-events:none
}
.leaf.one {
  top:8%;
  left:-90px
}
.leaf.two {
  right:-95px;
  top:47%;
  transform:rotate(205deg);
  background:rgba(23,63,50,.08)
}
.shell {
  width:min(1120px,calc(100% - 32px));
  margin:auto;
  padding:22px 0 56px
}
.topbar {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  margin-bottom:14px
}
.top-actions {
  display:flex;
  align-items:center;
  gap:8px
}
.day-pill {
  padding:9px 13px;
  border:1px solid rgba(23,63,50,.12);
  border-radius:999px;
  color:var(--forest);
  background:rgba(255,253,248,.68);
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
  backdrop-filter:blur(10px)
}
.auth-trigger {
  max-width:180px;
  overflow:hidden;
  padding:9px 13px;
  border:0;
  border-radius:999px;
  color:var(--cream);
  background:var(--forest);
  font-size:.78rem;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(23,63,50,.14);
  transition:transform .2s ease,background .2s ease
}
.auth-trigger:hover,.auth-trigger:focus-visible {
  transform:translateY(-2px);
  background:var(--deep);
  outline:none
}
.auth-trigger:disabled {
  cursor:wait;
  opacity:.58;
  transform:none
}
.main-nav {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  max-width:640px;
  margin:0 auto 38px;
  padding:5px;
  border:1px solid rgba(23,63,50,.1);
  border-radius:18px;
  background:rgba(255,253,248,.72);
  box-shadow:0 8px 28px rgba(31,55,43,.07);
  backdrop-filter:blur(10px)
}
.main-nav a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-radius:13px;
  color:var(--forest);
  font-size:.78rem;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  transition:color .2s ease,background .2s ease,transform .2s ease
}
.main-nav a:hover,.main-nav a:focus-visible {
  color:var(--deep);
  background:#fff0dc;
  outline:none;
  transform:translateY(-1px)
}
.main-nav .history-nav {
  color:var(--white);
  background:var(--orange-dark);
  box-shadow:0 6px 15px rgba(217,107,32,.2)
}
.main-nav .history-nav:hover,.main-nav .history-nav:focus-visible {
  color:var(--white);
  background:#bd591b
}
.hero-stage {
  position:relative
}
.hero {
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
  animation:rise .7s ease both
}
.registered-panel {
  width:190px;
  padding:16px;
  border:1px solid rgba(23,63,50,.09);
  border-radius:20px;
  background:rgba(255,253,248,.9);
  box-shadow:0 12px 36px rgba(44,59,49,.1);
  backdrop-filter:blur(10px);
  text-align:left
}
.hero-registered {
  position:absolute;
  top:8px;
  left:0
}
.entry-registered {
  position:absolute;
  top:50%;
  right:calc(100% + 24px);
  transform:translateY(-50%)
}
.registered-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:11px
}
.registered-title {
  margin:0;
  color:var(--forest);
  font-size:.92rem;
  font-weight:950;
  letter-spacing:-.025em
}
.registered-count {
  padding:4px 8px;
  border-radius:999px;
  color:var(--orange-dark);
  background:#fff0dc;
  font-size:.65rem;
  font-weight:950;
  white-space:nowrap
}
.registered-list {
  display:grid;
  gap:5px;
  max-height:210px;
  margin:0;
  padding:0 4px 0 0;
  overflow:auto;
  list-style:none;
  scrollbar-width:thin;
  scrollbar-color:rgba(23,63,50,.2) transparent
}
.registered-name {
  overflow:hidden;
  padding:7px 9px;
  border-radius:10px;
  color:#44544b;
  background:#f4efe3;
  font-size:.75rem;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap
}
.registered-name { display:flex; align-items:center; justify-content:space-between; gap:8px }
.registered-name > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis }
.registered-eliminated,.leaderboard-eliminated {
  flex:none;
  padding:3px 7px;
  border-radius:999px;
  color:#9f4938;
  background:#f7e4db;
  font-size:.58rem;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase
}
.registered-empty {
  padding:5px 2px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.4
}
.registered-status {
  min-height:0;
  margin:8px 0 0;
  color:#a64e1c;
  font-size:.68rem;
  font-weight:750
}
.registered-status:empty {
  display:none
}
.leaderboard-preview {
  width:230px;
  padding:16px;
  border:1px solid rgba(23,63,50,.1);
  border-radius:20px;
  background:rgba(255,253,248,.94);
  box-shadow:0 12px 36px rgba(44,59,49,.11);
  backdrop-filter:blur(10px);
  text-align:left
}
.hero-leaderboard-preview {
  position:absolute;
  top:8px;
  right:0
}
.leaderboard-preview-head {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px
}
.leaderboard-preview-icon {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  color:var(--orange-dark);
  background:#fff0dc;
  font-size:.82rem;
  font-weight:950
}
.leaderboard-preview-title {
  margin:0;
  color:var(--forest);
  font-size:.94rem;
  font-weight:950;
  letter-spacing:-.025em
}
.leaderboard-preview-list {
  display:grid;
  gap:5px;
  max-height:230px;
  margin:0;
  padding:0;
  overflow:auto;
  list-style:none;
  scrollbar-width:thin;
  scrollbar-color:rgba(23,63,50,.2) transparent
}
.leaderboard-preview-row {
  display:grid;
  grid-template-columns:29px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:6px 8px 6px 6px;
  border:1px solid transparent;
  border-radius:12px;
  background:#f4efe3
}
.leaderboard-preview-row.top-1 {
  border-color:#efc65e;
  background:#fff1bd
}
.leaderboard-preview-row.top-2 {
  background:#e9eeec
}
.leaderboard-preview-row.top-3 {
  background:#f3d7c5
}
.leaderboard-preview-row.is-current {
  border-color:var(--orange);
  box-shadow:inset 3px 0 var(--orange)
}
.leaderboard-preview-row.is-eliminated,.leaderboard-row.is-eliminated { opacity:.68 }
.leaderboard-row.is-eliminated { background:#f5eee8 }
.leaderboard-row.is-eliminated .leaderboard-name { text-decoration:line-through; text-decoration-color:rgba(159,73,56,.5) }
.leaderboard-preview-row.is-eliminated .leaderboard-preview-name-text { text-decoration:line-through; text-decoration-color:rgba(159,73,56,.5) }
.leaderboard-eliminated { grid-column:2/-1; justify-self:start }
.leaderboard-preview-rank {
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:9px;
  color:var(--forest);
  background:rgba(255,255,255,.72);
  font-size:.72rem;
  font-weight:950
}
.leaderboard-preview-info {
  min-width:0
}
.leaderboard-preview-name {
  display:flex;
  align-items:center;
  min-width:0;
  color:var(--deep);
  font-size:.74rem;
  font-weight:950
}
.leaderboard-preview-name-text {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.leaderboard-preview-crown {
  margin-right:4px;
  color:#a56b00;
  font-size:.82rem
}
.leaderboard-preview .leaderboard-you {
  margin-left:5px;
  padding:2px 5px;
  font-size:.52rem
}
.leaderboard-preview-meta {
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.61rem;
  font-weight:750
}
.leaderboard-preview-empty {
  padding:10px 2px;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.4
}
.leaderboard-preview-self {
  margin:9px 0 0;
  padding:7px 9px;
  border-radius:10px;
  color:var(--forest);
  background:#fff0dc;
  font-size:.68rem;
  font-weight:900
}
.leaderboard-preview-self[hidden] {
  display:none
}
.leaderboard-preview-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:35px;
  margin-top:10px;
  border-radius:11px;
  color:var(--white);
  background:var(--forest);
  font-size:.68rem;
  font-weight:900;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease
}
.leaderboard-preview-link:hover,.leaderboard-preview-link:focus-visible {
  transform:translateY(-1px);
  background:var(--deep);
  outline:none
}
.leaderboard-preview-status {
  min-height:0;
  margin:7px 0 0;
  color:#a64e1c;
  font-size:.65rem;
  font-weight:750
}
.leaderboard-preview-status:empty {
  display:none
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  color:var(--orange-dark);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase
}
.eyebrow:before,.eyebrow:after {
  content:"";
  width:22px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  opacity:.45
}
h1 {
  margin:0;
  color:var(--deep);
  font-size:clamp(3.4rem,12vw,7.8rem);
  font-weight:900;
  letter-spacing:-.075em;
  line-height:.86
}
h1 span {
  color:var(--orange)
}
.progress-wrap {
  max-width:650px;
  margin:28px auto 0
}
.progress-meta {
  display:flex;
  justify-content:space-between;
  margin-bottom:9px;
  color:var(--forest);
  font-size:.78rem;
  font-weight:800
}
.progress-track {
  height:11px;
  overflow:hidden;
  border:1px solid rgba(23,63,50,.1);
  border-radius:999px;
  background:rgba(255,255,255,.58)
}
.progress-fill {
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--orange),#f5b24d);
  box-shadow:0 0 18px rgba(242,138,56,.45);
  transition:width 1s cubic-bezier(.2,.8,.2,1)
}
.challenge-card {
  position:relative;
  isolation:isolate;
  max-width:820px;
  margin:auto;
  overflow:hidden;
  padding:clamp(26px,5vw,54px);
  border-radius:34px;
  color:var(--white);
  background:var(--forest);
  box-shadow:var(--shadow);
  animation:rise .7s .1s ease both
}
.challenge-card:before {
  content:"";
  position:absolute;
  z-index:-1;
  width:360px;
  height:360px;
  right:-190px;
  top:-220px;
  border:55px solid rgba(255,255,255,.055);
  border-radius:50%
}
.challenge-label {
  margin:0;
  color:#f8c997;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase
}
h2 {
  margin:8px 0 4px;
  font-size:clamp(2rem,6vw,3.9rem);
  letter-spacing:-.045em;
  line-height:1
}
.workout {
  margin:18px 0 32px;
  color:#fff0d4;
  font-size:clamp(2.7rem,9vw,5.8rem);
  font-weight:900;
  letter-spacing:-.06em;
  line-height:.95
}
.workout[hidden] {
  display:none
}
.challenge-parts {
  margin:18px 0 28px
}
.challenge-parts[hidden] {
  display:none
}
.challenge-parts-hint {
  margin:0 0 10px;
  color:rgba(255,255,255,.68);
  font-size:.82rem;
  font-weight:700
}
.challenge-parts-list {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:stretch;
  gap:9px
}
.challenge-part-display,.challenge-part-choice {
  display:flex;
  align-items:center;
  min-width:0;
  min-height:72px;
  margin:0;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:16px;
  color:#fff0d4;
  background:rgba(255,255,255,.075);
  font-size:clamp(1rem,2.5vw,1.45rem);
  font-weight:850;
  line-height:1.25
}
.challenge-part-choice {
  gap:12px;
  cursor:pointer
}
.challenge-part-choice:has(input:checked) {
  border-color:#ffd19a;
  background:rgba(255,209,154,.14)
}
.challenge-part-choice input {
  flex:none;
  width:22px;
  height:22px;
  accent-color:#f28a38
}
.challenge-part-choice input:disabled {
  opacity:.78
}
.challenge-part-separator {
  align-self:center;
  color:#ffd19a;
  font-size:.82rem;
  font-weight:950;
  text-transform:uppercase
}
.levels {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.level {
  min-height:94px;
  padding:15px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  color:var(--white);
  background:rgba(255,255,255,.075);
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease
}
.level:hover,.level:focus-visible {
  transform:translateY(-4px);
  border-color:rgba(248,201,151,.65);
  background:rgba(255,255,255,.13);
  outline:none
}
.level:active {
  transform:scale(.98)
}
.level strong {
  display:block;
  margin-bottom:5px;
  color:#ffd19a;
  font-size:1.35rem
}
.level span {
  font-size:.86rem;
  font-weight:750
}
.level:disabled {
  cursor:wait;
  opacity:.58;
  transform:none
}
.bonus-challenge {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:14px;
  padding:15px 17px;
  border:1px solid rgba(255,209,154,.36);
  border-radius:17px;
  background:rgba(255,209,154,.1)
}
.bonus-challenge[hidden] { display:none }
.bonus-challenge-copy { min-width:0 }
.bonus-kicker {
  color:#ffd19a;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase
}
.bonus-challenge-copy p {
  margin:4px 0 2px;
  color:var(--white);
  font-size:.92rem;
  font-weight:800;
  line-height:1.35
}
.bonus-value {
  color:#ffd19a;
  font-size:.76rem;
  font-weight:850
}
.bonus-challenge-action { flex:none; text-align:right }
.bonus-button {
  min-height:44px;
  padding:0 16px;
  border:0;
  border-radius:13px;
  color:var(--deep);
  background:#ffd19a;
  font-weight:950;
  cursor:pointer
}
.bonus-button:hover,.bonus-button:focus-visible { background:#ffe1b8; outline:2px solid #fff0d4; outline-offset:2px }
.bonus-button:disabled { cursor:default; opacity:.56 }
.bonus-status {
  min-height:1em;
  margin:5px 0 0;
  color:#ffe2bd;
  font-size:.69rem;
  font-weight:750
}
.score-bonus {
  display:block;
  margin-top:3px;
  color:#ffd19a;
  font-size:.72rem;
  font-weight:800
}
.score-bonus[hidden] { display:none }
.score-summary {
  display:grid;
  grid-template-columns:1.35fr repeat(2,.8fr);
  gap:9px;
  margin-top:18px
}
.score-summary[hidden] {
  display:none
}
.score-item {
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.07)
}
.score-label {
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.62);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase
}
.score-value {
  display:block;
  color:#fff0d4;
  font-size:clamp(.86rem,2vw,1rem);
  font-weight:900;
  line-height:1.25
}
.score-points {
  display:block;
  margin-top:2px;
  color:#ffd19a;
  font-size:.76rem;
  font-weight:800
}
.save-status {
  min-height:1.2em;
  margin:9px 2px 0;
  color:#f8c997;
  font-size:.75rem;
  font-weight:750;
  text-align:center
}
.motivation {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:22px 0 0;
  color:rgba(255,255,255,.72);
  font-size:.88rem
}
.motivation b {
  color:var(--orange)
}
.home-weekly-report {
  width:min(100% - 32px,820px);
  margin:18px auto 0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px 12px;
  padding:12px 15px;
  border:1px solid #eac99f;
  border-radius:15px;
  color:var(--forest);
  background:#fff2df;
  text-decoration:none
}
.home-weekly-report[hidden] {
  display:none
}
.home-weekly-report-new {
  grid-row:1;
  grid-column:1;
  padding:4px 7px;
  border-radius:999px;
  color:#743f21;
  background:#f6cfaa;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase
}
.home-weekly-report strong {
  grid-column:2;
  color:var(--deep);
  font-size:.82rem;
  font-weight:950
}
.home-weekly-report > span:last-child {
  grid-column:3;
  color:var(--orange-dark);
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap
}
.home-weekly-report:hover,.home-weekly-report:focus-visible {
  border-color:var(--orange-dark);
  outline:2px solid var(--orange);
  outline-offset:2px
}
.content-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  max-width:820px;
  margin:18px auto 0
}
.info-card {
  padding:clamp(24px,4vw,34px);
  border:1px solid rgba(23,63,50,.09);
  border-radius:28px;
  background:rgba(255,253,248,.78);
  box-shadow:0 12px 40px rgba(44,59,49,.07);
  backdrop-filter:blur(10px);
  animation:rise .7s .2s ease both
}
.card-heading {
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 22px;
  color:var(--forest);
  font-size:1.12rem;
  font-weight:900;
  letter-spacing:-.02em
}
.icon {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:13px;
  color:var(--orange-dark);
  background:#fff0dc
}
.icon svg {
  width:19px;
  height:19px
}
.rules {
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none
}
.rules li {
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#4f5b53;
  font-size:.93rem;
  line-height:1.45
}
.check {
  display:grid;
  place-items:center;
  flex:0 0 24px;
  width:24px;
  height:24px;
  margin-top:-1px;
  border-radius:50%;
  color:var(--white);
  background:var(--forest);
  font-size:.75rem;
  font-weight:900
}
.leaderboard-card {
  max-width:960px;
  margin:18px auto 0;
  padding:clamp(24px,4vw,34px);
  border:1px solid rgba(23,63,50,.09);
  border-radius:28px;
  background:rgba(255,253,248,.84);
  box-shadow:0 12px 40px rgba(44,59,49,.07);
  backdrop-filter:blur(10px);
  animation:rise .7s .25s ease both
}
.leaderboard-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px
}
.leaderboard-title-wrap {
  display:flex;
  align-items:center;
  gap:12px
}
.leaderboard-title {
  margin:0;
  color:var(--forest);
  font-size:clamp(1.6rem,4vw,2.25rem);
  font-weight:950;
  letter-spacing:-.045em
}
.leaderboard-copy {
  margin:5px 0 0;
  color:var(--muted);
  font-size:.82rem
}
.leaderboard-self {
  margin:0;
  padding:9px 13px;
  border-radius:999px;
  color:var(--cream);
  background:var(--forest);
  font-size:.75rem;
  font-weight:900;
  white-space:nowrap
}
.leaderboard-self[hidden] {
  display:none
}
.leaderboard-list {
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none
}
.leaderboard-row {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 100px 110px;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:9px 14px 9px 9px;
  border:1px solid rgba(23,63,50,.08);
  border-radius:17px;
  background:rgba(255,255,255,.58)
}
.leaderboard-row.is-current {
  border-color:rgba(242,138,56,.6);
  background:#fff3e0;
  box-shadow:inset 4px 0 var(--orange)
}
.leaderboard-rank {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:13px;
  color:var(--forest);
  background:#edf0e8;
  font-size:.9rem;
  font-weight:950
}
.leaderboard-row.top-1 .leaderboard-rank {
  color:#6a4510;
  background:#ffd875
}
.leaderboard-row.top-2 .leaderboard-rank {
  color:#46504d;
  background:#dfe6e3
}
.leaderboard-row.top-3 .leaderboard-rank {
  color:#67391f;
  background:#e8b18d
}
.leaderboard-name {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  overflow:hidden;
  color:var(--deep);
  font-size:.95rem;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap
}
.leaderboard-name > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis }
.leaderboard-name .leaderboard-you { flex:none }
.leaderboard-you {
  display:inline-block;
  margin-left:7px;
  padding:3px 7px;
  border-radius:999px;
  color:var(--orange-dark);
  background:#ffe3bf;
  font-size:.62rem;
  font-weight:950;
  vertical-align:2px;
  text-transform:uppercase
}
.leaderboard-points,.leaderboard-days {
  color:var(--forest);
  font-size:.82rem;
  font-weight:850;
  text-align:right
}
.leaderboard-empty {
  padding:22px;
  text-align:center;
  color:var(--muted);
  font-size:.88rem
}
.leaderboard-status {
  min-height:1.2em;
  margin:10px 0 0;
  color:#a64e1c;
  font-size:.75rem;
  font-weight:750;
  text-align:center
}
.confetti-layer {
  position:absolute;
  z-index:3;
  inset:0;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none
}
.confetti {
  position:absolute;
  left:var(--left);
  top:var(--top);
  width:var(--size);
  height:calc(var(--size)*1.45);
  border-radius:2px;
  opacity:0;
  pointer-events:none;
  animation:confetti var(--duration) cubic-bezier(.16,.72,.32,1) var(--delay) forwards
}
.feedback {
  position:absolute;
  z-index:5;
  top:22px;
  left:50%;
  display:flex;
  align-items:center;
  gap:12px;
  width:min(90%,560px);
  padding:14px 14px 14px 18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;
  color:var(--deep);
  background:#fff1d8;
  box-shadow:0 16px 42px rgba(5,25,19,.3);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-14px) scale(.96);
  transition:opacity .24s ease,transform .32s cubic-bezier(.2,.8,.2,1)
}
.feedback.show {
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0) scale(1)
}
.feedback-icon {
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:11px;
  color:var(--white);
  background:var(--orange);
  font-size:1rem;
  font-weight:950
}
.feedback-text {
  flex:1;
  margin:0;
  text-align:left;
  font-size:clamp(.88rem,2vw,1rem);
  font-weight:850;
  line-height:1.35
}
.feedback-close {
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:10px;
  color:var(--forest);
  background:rgba(23,63,50,.08);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer
}
.feedback-close:hover,.feedback-close:focus-visible {
  background:rgba(23,63,50,.15);
  outline:none
}
body.entry-active {
  overflow:hidden
}
.entry-gate {
  position:fixed;
  z-index:45;
  inset:0;
  display:grid;
  place-items:center;
  overflow-x:hidden;
  overflow-y:auto;
  padding:24px;
  color:var(--ink);
  background:radial-gradient(circle at 12% 12%,rgba(242,138,56,.24),transparent 25rem),radial-gradient(circle at 92% 85%,rgba(23,63,50,.13),transparent 26rem),var(--cream)
}
.entry-gate[hidden] {
  display:none
}
.entry-gate:before,.entry-gate:after {
  content:"";
  position:absolute;
  width:230px;
  height:110px;
  border-radius:100% 0 100% 0;
  pointer-events:none
}
.entry-gate:before {
  top:5%;
  left:-120px;
  background:rgba(242,138,56,.12);
  transform:rotate(28deg)
}
.entry-gate:after {
  right:-120px;
  bottom:9%;
  background:rgba(23,63,50,.08);
  transform:rotate(205deg)
}
.entry-content {
  position:relative;
  z-index:1;
  width:min(100%,760px);
  text-align:center;
  animation:rise .6s ease both
}
.entry-brand {
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-bottom:38px;
  color:var(--forest);
  font-weight:950;
  text-transform:uppercase
}
.entry-brand-name {
  font-size:clamp(1.65rem,3.2vw,2.25rem);
  letter-spacing:.11em;
  line-height:1
}
.entry-brand-mark {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:14px;
  color:var(--cream);
  background:var(--forest);
  box-shadow:0 10px 25px rgba(23,63,50,.2)
}
.entry-brand-mark svg {
  width:23px
}
.entry-title {
  margin:0 auto;
  color:var(--deep);
  font-size:clamp(3.3rem,10vw,7.4rem);
  font-weight:950;
  letter-spacing:-.07em;
  line-height:.9
}
.entry-title span {
  display:block;
  color:var(--orange)
}
.entry-actions {
  display:grid;
  grid-template-columns:1fr .52fr;
  gap:12px;
  width:min(100%,520px);
  margin:42px auto 0
}
.entry-button {
  min-height:58px;
  padding:14px 20px;
  border:0;
  border-radius:18px;
  font-size:.88rem;
  font-weight:950;
  letter-spacing:.035em;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,opacity .2s ease
}
.entry-button:hover,.entry-button:focus-visible {
  transform:translateY(-3px);
  outline:none
}
.entry-button:disabled {
  cursor:wait;
  opacity:.55;
  transform:none
}
.entry-yes {
  color:var(--white);
  background:var(--forest);
  box-shadow:0 14px 32px rgba(23,63,50,.2)
}
.entry-yes:hover,.entry-yes:focus-visible {
  background:var(--deep)
}
.entry-no {
  color:var(--forest);
  border:1px solid rgba(23,63,50,.16);
  background:rgba(255,253,248,.7)
}
.entry-no:hover,.entry-no:focus-visible {
  background:#fff0dc
}
.entry-status {
  min-height:1.4em;
  margin:15px 0 0;
  color:#a64e1c;
  font-size:.78rem;
  font-weight:800
}
.entry-joke {
  position:fixed;
  z-index:1;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(13,45,36,.58);
  backdrop-filter:blur(9px);
  animation:entryFade .2s ease both
}
.entry-joke[hidden] {
  display:none
}
.entry-joke-card {
  width:min(100%,470px);
  padding:clamp(28px,7vw,46px);
  border-radius:30px;
  background:var(--cream);
  box-shadow:0 28px 90px rgba(8,34,26,.34);
  animation:entryPop .3s cubic-bezier(.2,.8,.2,1) both
}
.entry-joke-title {
  margin:0 0 26px;
  color:var(--deep);
  font-size:clamp(2.2rem,8vw,4rem);
  font-weight:950;
  letter-spacing:-.055em;
  line-height:1
}
.entry-joke-card .entry-button {
  width:100%
}
.rules-gate {
  position:fixed;
  z-index:46;
  inset:0;
  overflow:auto;
  padding:clamp(24px,5vw,56px) 20px;
  color:var(--ink);
  background:radial-gradient(circle at 90% 8%,rgba(242,138,56,.2),transparent 22rem),radial-gradient(circle at 6% 92%,rgba(23,63,50,.12),transparent 25rem),var(--cream)
}
.rules-gate[hidden] {
  display:none
}
.rules-onboarding {
  width:min(100%,900px);
  margin:auto;
  animation:rise .5s ease both
}
.rules-onboarding-head {
  margin-bottom:30px;
  text-align:center
}
.rules-onboarding-kicker {
  margin:0 0 10px;
  color:var(--orange-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.15em;
  text-transform:uppercase
}
.rules-onboarding-title {
  margin:0;
  color:var(--deep);
  font-size:clamp(2.8rem,7vw,5.3rem);
  font-weight:950;
  letter-spacing:-.06em;
  line-height:.95
}
.rules-onboarding-copy {
  margin:14px 0 0;
  color:var(--muted);
  font-size:clamp(.95rem,2vw,1.12rem);
  font-weight:700
}
.rules-onboarding-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.rules-onboarding-card {
  position:relative;
  min-height:152px;
  padding:25px 25px 23px;
  border:1px solid rgba(23,63,50,.09);
  border-radius:26px;
  background:rgba(255,253,248,.86);
  box-shadow:0 12px 34px rgba(44,59,49,.07)
}
.rules-onboarding-card:nth-child(2),.rules-onboarding-card:nth-child(4) {
  background:#fff0dc
}
.rules-onboarding-number {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:17px;
  border-radius:11px;
  color:var(--cream);
  background:var(--forest);
  font-size:.76rem;
  font-weight:950
}
.rules-onboarding-card h2 {
  margin:0 0 8px;
  color:var(--deep);
  font-size:1.35rem;
  font-weight:950;
  letter-spacing:-.035em;
  line-height:1.05
}
.rules-onboarding-card p {
  margin:0;
  color:#5d665f;
  font-size:.9rem;
  font-weight:650;
  line-height:1.45
}
.rules-onboarding-actions {
  display:grid;
  grid-template-columns:auto minmax(230px,390px);
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:24px
}
.rules-back {
  min-height:54px;
  padding:12px 18px;
  border:0;
  border-radius:16px;
  color:var(--forest);
  background:transparent;
  font-size:.82rem;
  font-weight:900;
  cursor:pointer
}
.rules-back:hover,.rules-back:focus-visible {
  background:rgba(23,63,50,.07);
  outline:none
}
.rules-start {
  min-height:56px;
  padding:14px 24px;
  border:0;
  border-radius:18px;
  color:var(--white);
  background:var(--forest);
  box-shadow:0 14px 32px rgba(23,63,50,.2);
  font-size:.9rem;
  font-weight:950;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease
}
.rules-start:hover,.rules-start:focus-visible {
  transform:translateY(-3px);
  background:var(--deep);
  outline:none
}
.rules-start:disabled,.rules-back:disabled {
  cursor:wait;
  opacity:.55;
  transform:none
}
.rules-status {
  grid-column:1/-1;
  min-height:1.3em;
  margin:0;
  color:#a64e1c;
  font-size:.76rem;
  font-weight:800;
  text-align:center
}
.mohv-egg {
  position:fixed;
  z-index:12;
  left:0;
  top:0;
  display:flex;
  align-items:baseline;
  gap:5px;
  max-width:calc(100vw - 16px);
  padding:9px 12px;
  border:1px solid rgba(105,45,145,.13);
  border-radius:11px;
  color:#713593;
  background:#fff;
  box-shadow:0 7px 22px rgba(55,29,69,.17);
  font:inherit;
  white-space:nowrap;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translate3d(var(--egg-x,8px),var(--egg-y,8px),0);
  will-change:transform;
  transition:opacity .12s ease,visibility .12s ease,box-shadow .18s ease;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none
}
.mohv-egg.ready {
  opacity:1;
  visibility:visible
}
.mohv-egg.resting {
  box-shadow:0 9px 28px rgba(113,53,147,.28),0 0 0 2px rgba(113,53,147,.08)
}
.mohv-egg.vanished {
  opacity:0;
  visibility:hidden;
  pointer-events:none
}
.mohv-egg strong {
  font-size:.78rem;
  font-weight:950;
  letter-spacing:-.02em
}
.mohv-egg span {
  font-size:.65rem;
  font-weight:800
}
.shell[aria-hidden="true"] .mohv-egg {
  opacity:0;
  visibility:hidden;
  pointer-events:none
}
.auth-overlay {
  position:fixed;
  z-index:50;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(13,45,36,.56);
  backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease
}
.auth-overlay.open {
  opacity:1;
  visibility:visible
}
.auth-panel {
  position:relative;
  width:min(100%,430px);
  padding:30px;
  border:1px solid rgba(23,63,50,.1);
  border-radius:28px;
  background:var(--cream);
  box-shadow:0 28px 90px rgba(8,34,26,.32);
  transform:translateY(12px) scale(.98);
  transition:transform .28s cubic-bezier(.2,.8,.2,1)
}
.auth-overlay.open .auth-panel {
  transform:translateY(0) scale(1)
}
.auth-close {
  position:absolute;
  top:15px;
  right:15px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:11px;
  color:var(--forest);
  background:rgba(23,63,50,.08);
  font-size:1.3rem;
  cursor:pointer
}
.auth-close:hover,.auth-close:focus-visible {
  background:rgba(23,63,50,.15);
  outline:none
}
.auth-kicker {
  margin:0 0 10px;
  color:var(--orange-dark);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase
}
.auth-title {
  margin:0 38px 10px 0;
  color:var(--deep);
  font-size:clamp(2rem,8vw,3rem);
  font-weight:900;
  letter-spacing:-.05em;
  line-height:1
}
.auth-copy {
  margin:0 0 22px;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.55
}
.auth-view[hidden] {
  display:none
}
.google-button,.auth-primary,.auth-secondary {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  padding:12px 18px;
  border-radius:15px;
  font-weight:850;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease
}
.google-button {
  gap:11px;
  border:1px solid rgba(23,63,50,.14);
  color:var(--forest);
  background:var(--white)
}
.google-button:hover,.google-button:focus-visible {
  transform:translateY(-2px);
  border-color:rgba(23,63,50,.28);
  outline:none
}
.google-button svg {
  width:20px;
  height:20px
}
.auth-form {
  display:grid;
  gap:12px
}
.auth-label {
  color:var(--forest);
  font-size:.8rem;
  font-weight:850
}
.auth-email {
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-weight:600;
  overflow-wrap:anywhere
}
.auth-input {
  width:100%;
  height:52px;
  padding:0 16px;
  border:1px solid rgba(23,63,50,.18);
  border-radius:15px;
  color:var(--ink);
  background:var(--white);
  font:inherit;
  font-weight:750;
  outline:none
}
.auth-input:focus {
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(242,138,56,.14)
}
.auth-primary {
  border:0;
  color:var(--white);
  background:var(--forest)
}
.auth-primary:hover,.auth-primary:focus-visible {
  transform:translateY(-2px);
  background:var(--deep);
  outline:none
}
.auth-secondary {
  margin-top:10px;
  border:0;
  color:var(--forest);
  background:transparent
}
.auth-secondary:hover,.auth-secondary:focus-visible {
  background:rgba(23,63,50,.07);
  outline:none
}
.admin-link {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin-top:12px;
  border-radius:15px;
  color:var(--white);
  background:var(--orange-dark);
  font-size:.86rem;
  font-weight:900;
  text-decoration:none
}
.admin-link:hover,.admin-link:focus-visible {
  background:#bd591b;
  outline:none
}
.admin-link[hidden] {
  display:none
}
.auth-status {
  min-height:1.3em;
  margin:10px 0 0;
  color:#a64e1c;
  font-size:.8rem;
  font-weight:750;
  line-height:1.4
}
.auth-note {
  margin:16px 0 0;
  color:#85887f;
  font-size:.73rem;
  line-height:1.45
}
.auth-busy {
  opacity:.65;
  pointer-events:none
}
@keyframes rise {
  from {
    opacity:0;
    transform:translateY(16px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@keyframes entryFade {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}
@keyframes entryPop {
  from {
    opacity:0;
    transform:translateY(14px) scale(.96)
  }
  to {
    opacity:1;
    transform:translateY(0) scale(1)
  }
}
@keyframes confetti {
  0% {
    opacity:0;
    transform:translate(-50%,-50%) scale(.2) rotate(0)
  }
  12% {
    opacity:1;
    transform:translate(-50%,-50%) scale(1) rotate(35deg)
  }
  72% {
    opacity:1
  }
  100% {
    opacity:0;
    transform:translate(calc(-50% + var(--drift)),calc(-50% + var(--drop))) rotate(var(--r))
  }
}
@media(max-width:1180px) {
  .entry-registered {
    position:static;
    width:min(100%,520px);
    margin:28px auto 0;
    transform:none
  }
}
@media(max-width:1000px) {
  .hero-registered {
    position:static;
    width:min(100%,560px);
    margin:-10px auto 34px
  }
  .hero-leaderboard-preview {
    display:none
  }
  .hero {
    margin-bottom:34px
  }
}
@media(max-width:700px) {
  .shell {
    width:min(100% - 22px,560px);
    padding-top:14px
  }
  .topbar {
    gap:8px;
    margin-bottom:10px
  }
  .top-actions {
    gap:6px
  }
  .day-pill,.auth-trigger {
    padding:8px 10px;
    font-size:.7rem
  }
  .auth-trigger {
    max-width:108px
  }
  .main-nav {
    margin-bottom:32px;
    border-radius:16px
  }
  .main-nav a {
    min-height:40px;
    padding:7px 5px;
    font-size:.7rem
  }
  h1 {
    font-size:clamp(3.55rem,19vw,5.4rem)
  }
  .registered-panel,.leaderboard-preview {
    width:100%;
    padding:14px;
    border-radius:18px
  }
  .registered-list {
    max-height:164px;
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .registered-name {
    font-size:.72rem
  }
  .entry-registered {
    margin-top:24px
  }
  .challenge-card {
    border-radius:28px
  }
  .levels {
    gap:8px
  }
  .level {
    min-height:86px;
    border-radius:17px
  }
  .level strong {
    font-size:1.15rem
  }
  .level span {
    font-size:.76rem
  }
  .challenge-parts-list { grid-template-columns:1fr }
  .challenge-part-separator { justify-self:center }
  .challenge-part-display,.challenge-part-choice { min-height:60px; font-size:1rem }
  .bonus-challenge { align-items:stretch; flex-direction:column }
  .bonus-challenge-action { text-align:left }
  .bonus-button { width:100% }
  .score-summary {
    grid-template-columns:1.4fr 1fr
  }
  .score-item:first-child {
    grid-column:1/-1
  }
  .home-weekly-report {
    grid-template-columns:auto minmax(0,1fr);
    gap:8px
  }
  .home-weekly-report-new { grid-column:1; }
  .home-weekly-report strong { grid-column:2; }
  .home-weekly-report > span:last-child {
    grid-column:2;
    white-space:normal
  }
  .content-grid {
    grid-template-columns:1fr
  }
  .info-card,.leaderboard-card {
    border-radius:24px
  }
  .leaderboard-head {
    align-items:flex-start;
    flex-direction:column
  }
  .leaderboard-row {
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:8px;
    padding-right:12px
  }
  .leaderboard-rank {
    width:36px;
    height:36px
  }
  .leaderboard-days {
    grid-column:2/4;
    text-align:left;
    color:var(--muted);
    font-size:.72rem
  }
  .leaderboard-points {
    font-size:.78rem
  }
  .auth-panel {
    padding:27px 22px;
    border-radius:24px
  }
  .entry-gate {
    padding:18px
  }
  .entry-brand {
    gap:11px;
    margin-bottom:30px
  }
  .entry-brand-name {
    font-size:1.35rem;
    letter-spacing:.09em
  }
  .entry-brand-mark {
    width:40px;
    height:40px
  }
  .entry-brand-mark svg {
    width:21px
  }
  .entry-actions {
    grid-template-columns:1fr;
    margin-top:34px
  }
  .entry-button {
    min-height:56px
  }
  .entry-joke-card {
    border-radius:25px
  }
  .rules-gate {
    padding:30px 14px
  }
  .rules-onboarding-head {
    margin-bottom:22px
  }
  .rules-onboarding-title {
    font-size:clamp(2.65rem,14vw,4rem)
  }
  .rules-onboarding-grid {
    grid-template-columns:1fr;
    gap:10px
  }
  .rules-onboarding-card {
    display:grid;
    grid-template-columns:38px 1fr;
    column-gap:12px;
    min-height:0;
    padding:18px;
    border-radius:21px
  }
  .rules-onboarding-number {
    grid-row:1/3;
    width:36px;
    height:36px;
    margin:0
  }
  .rules-onboarding-card h2 {
    align-self:end;
    margin-bottom:5px;
    font-size:1.12rem
  }
  .rules-onboarding-card p {
    font-size:.82rem
  }
  .rules-onboarding-actions {
    grid-template-columns:1fr;
    margin-top:18px
  }
  .rules-start {
    grid-row:1
  }
  .rules-back {
    grid-row:2
  }
  .rules-status {
    grid-row:3
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important
  }
}
.history-link {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin-top:12px;
  border:1px solid rgba(23,63,50,.14);
  border-radius:15px;
  color:var(--forest);
  background:var(--white);
  font-size:.86rem;
  font-weight:900;
  text-decoration:none
}
.history-link:hover,.history-link:focus-visible {
  border-color:var(--orange);
  background:#fff3e0;
  outline:none
}
.history-link[hidden] {
  display:none
}


/* October deadline and start timers */
.countdown-panel {
  position:relative;
  border:1px solid rgba(23,63,50,.12);
  border-radius:24px;
  box-shadow:0 18px 46px rgba(23,63,50,.12);
  font-variant-numeric:tabular-nums
}
.entry-countdown {
  position:absolute;
  z-index:2;
  top:50%;
  left:calc(100% + clamp(28px,4vw,72px));
  width:clamp(220px,16vw,280px);
  padding:24px 20px 20px;
  overflow:hidden;
  transform:translateY(-50%);
  color:var(--cream);
  border-color:rgba(255,255,255,.15);
  background:linear-gradient(145deg,#173f32,#214f40);
  text-align:left
}
.entry-countdown:after {
  content:"";
  position:absolute;
  top:-44px;
  right:-48px;
  width:126px;
  height:126px;
  border-radius:50%;
  background:rgba(242,138,56,.16);
  pointer-events:none
}
.countdown-kicker {
  margin:0 0 12px;
  color:var(--orange);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
  line-height:1.35;
  text-transform:uppercase
}
.entry-countdown .countdown-kicker {
  position:relative;
  z-index:1;
  color:#ffd19a
}
.countdown-clock {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:baseline;
  gap:4px
}
.countdown-unit {
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:3px;
  min-width:0;
  color:inherit
}
.countdown-unit strong {
  font-size:1.55rem;
  font-weight:950;
  letter-spacing:-.055em;
  line-height:1
}
.countdown-unit small {
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.01em
}
.entry-countdown .countdown-unit {
  padding:11px 3px;
  border-radius:12px;
  color:#fff8e9;
  background:rgba(255,255,255,.09)
}
.entry-countdown .countdown-unit strong {
  font-size:1.65rem
}
.countdown-caption {
  margin:12px 0 0;
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
  line-height:1.4
}
.entry-countdown .countdown-caption {
  color:rgba(255,248,233,.75)
}
.countdown-panel.is-complete .countdown-clock {
  display:none
}
.countdown-panel.is-complete .countdown-caption {
  margin-top:0;
  font-weight:850
}
.entry-countdown.is-complete {
  background:linear-gradient(145deg,#ad4d1f,#d96b20)
}
.launch-countdown {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  width:min(100%,460px);
  max-width:100%;
  margin:0 auto 38px;
  padding:36px 28px;
  color:var(--forest);
  border-color:rgba(23,63,50,.1);
  background:rgba(255,253,248,.84);
  text-align:left
}
.launch-countdown-mark {
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:20px;
  color:var(--cream);
  background:var(--forest)
}
.launch-countdown-mark svg {
  width:34px;
  height:34px
}
.launch-countdown-copy {
  min-width:0
}
.launch-countdown .countdown-kicker {
  margin:0 0 5px;
  color:var(--orange-dark);
  font-size:.8rem
}
.launch-countdown .countdown-clock {
  display:flex;
  gap:14px
}
.launch-countdown .countdown-unit {
  justify-content:flex-start;
  gap:2px
}
.launch-countdown .countdown-unit strong {
  font-size:1.9rem
}
.launch-countdown .countdown-unit small {
  color:var(--muted);
  font-size:.8rem
}
.launch-countdown .countdown-caption {
  margin-top:9px;
  font-size:.78rem
}
.launch-countdown.is-complete {
  border-color:rgba(242,138,56,.34);
  background:#fff0dc
}
@media (max-width:1320px) {
  .entry-countdown {
    position:static;
    width:min(100%,420px);
    margin:26px auto 0;
    transform:none
  }
}
@media (max-width:700px) {
  .entry-countdown {
    padding:19px 16px 17px
  }
  .entry-countdown .countdown-unit {
    padding:9px 2px
  }
  .entry-countdown .countdown-unit strong {
    font-size:1.45rem
  }
  .launch-countdown {
    gap:12px;
    width:min(100%,420px);
    margin-bottom:25px;
    padding:18px 16px;
    border-radius:20px
  }
  .launch-countdown-mark {
    width:48px;
    height:48px;
    border-radius:15px
  }
  .launch-countdown-mark svg {
    width:27px;
    height:27px
  }
  .launch-countdown .countdown-clock {
    gap:6px
  }
  .launch-countdown .countdown-unit strong {
    font-size:1.3rem
  }
  .launch-countdown .countdown-unit small {
    font-size:.64rem
  }
  .launch-countdown .countdown-caption {
    font-size:.68rem
  }
}
