body.quickest-winner-active {
  color-scheme: light;
  --bg: #fff0e7;
  --surface: rgba(255, 250, 247, .94);
  --surface-2: #ffe3d1;
  --border: rgba(235, 93, 11, .26);
  --text: var(--brand-ink);
  --muted: #6d4b36;
  --accent: var(--brand-sunrise);
  --accent-strong: var(--brand-sunrise-dark);
  --warning: var(--brand-sunrise-dark);
  background:
    linear-gradient(180deg, rgba(255, 250, 247, .72), rgba(255, 224, 207, .9)),
    url("/brand/images/criteo-background-lines.png") center / cover no-repeat;
}

.participant-app {
  min-height: 100dvh;
  padding: max(1rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));
}
.participant-shell { width: min(680px, 100%); margin: 0 auto; display: grid; gap: 1rem; }
.participant-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .25rem .15rem; }
.participant-header .brand-event-title { max-width: min(48vw, 22rem); }
.participant-card { padding: clamp(1.2rem, 4vw, 2rem); }
.hero { text-align: center; padding-block: clamp(1.7rem, 7vw, 3rem); }
.hero .title { font-size: clamp(2rem, 10vw, 4rem); }
.join-card {
  margin-top: 8vh;
  position: relative;
  overflow: hidden;
}
.join-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/brand/images/criteo-background-lines.png") center / cover no-repeat;
  opacity: .16;
  pointer-events: none;
}
.join-card > * { position: relative; }
.join-logo { display: block; width: min(148px, 44vw); height: auto; margin: 0 0 2.2rem; }
.join-form { margin-top: 1.5rem; display: grid; gap: .85rem; }
.code-input { text-transform: uppercase; text-align: center; font-weight: 700; font-size: 1.25rem; }
.status-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; margin-top: 1.2rem; }
.metric { padding: 1rem; background: rgba(255, 240, 231, .88); border: 1px solid var(--border); border-radius: 8px; }
.metric strong { display: block; font-size: 1.55rem; }
.metric span { color: var(--muted); font-size: .83rem; }
.search-wrap { position: sticky; top: .4rem; z-index: 2; padding-block: .3rem; background: linear-gradient(var(--bg), rgba(255, 247, 242, 0)); }
.nominee-list { display: grid; gap: .65rem; }
.nominee-card {
  width: 100%;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: .9rem 1rem;
  background: rgba(255, 255, 255, .84);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.nominee-card:hover { border-color: rgba(235, 93, 11, .36); }
.nominee-card.selected { border-color: var(--accent); background: var(--brand-sunrise-soft); box-shadow: 0 0 0 2px rgba(235, 93, 11, .16); }
.nominee-name { font-weight: 800; }
.nominee-subtitle { display: block; color: var(--muted); font-size: .83rem; margin-top: .15rem; }
.nominee-check { width: 24px; height: 24px; border: 2px solid var(--border); border-radius: 50%; display: grid; place-items: center; flex: none; }
.selected .nominee-check { border-color: var(--brand-sunrise-dark); background: var(--accent); }
.selected .nominee-check::after { content: "✓"; color: var(--brand-ink); font-weight: 900; }
.vote-footer { position: sticky; bottom: max(.5rem, env(safe-area-inset-bottom)); padding: .75rem 0 0; background: linear-gradient(rgba(255, 247, 242, 0), var(--bg) 30%); }
.vote-footer .button { width: 100%; }
.participant-countdown {
  min-height: calc(100dvh - 7rem);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 1.2rem;
  text-align: center;
}
.participant-countdown .title {
  max-width: 100%;
  font-size: clamp(2rem, 9vw, 4.5rem);
  overflow-wrap: anywhere;
}
.countdown-number {
  display: grid;
  place-items: center;
  width: clamp(9rem, 42vw, 15rem);
  aspect-ratio: 1;
  border: 2px solid rgba(235, 93, 11, .44);
  border-radius: 999px;
  background: rgba(235, 93, 11, .1);
  box-shadow: 0 0 70px rgba(235, 93, 11, .2), 0 20px 70px rgba(46, 31, 20, .16);
  color: var(--brand-sunrise-dark);
  font-size: clamp(5rem, 28vw, 10rem);
  line-height: 1;
  font-weight: 900;
  animation: countdown-pulse .95s cubic-bezier(.2,.8,.2,1) infinite;
}
.special-award-countdown .countdown-number { border-color: rgba(235, 93, 11, .66); background: rgba(235, 93, 11, .16); }
.quickest-winner-shell { min-height: calc(100dvh - max(1rem, env(safe-area-inset-top)) - max(1.5rem, env(safe-area-inset-bottom))); }
.quickest-winner-active .participant-header { color: var(--brand-ink); }
.quickest-winner-active .pill { background: rgba(255, 255, 255, .7); border-color: rgba(235, 93, 11, .28); color: #653300; }
.quickest-award-winner {
  min-height: calc(100dvh - 7rem);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 1rem;
  text-align: center;
  color: var(--brand-ink);
  border: 1px solid rgba(235, 93, 11, .24);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 250, 247, .72), rgba(255, 224, 207, .86)),
    url("/brand/images/criteo-background-lines.png") center / cover no-repeat;
  box-shadow: 0 28px 80px rgba(166, 61, 0, .2), inset 0 0 80px rgba(255, 255, 255, .28);
}
.quickest-award-winner .title {
  font-size: clamp(2.4rem, 12vw, 5.4rem);
  line-height: .98;
  overflow-wrap: anywhere;
}
.quickest-award-winner .eyebrow,
.quickest-award-winner .subtitle { color: #653300; }
.special-award-card { border-color: rgba(235, 93, 11, .32); }
.closing-award-card {
  border-color: rgba(127, 226, 181, .46);
  background: linear-gradient(180deg, rgba(255, 250, 247, .82), rgba(255, 224, 207, .9));
  box-shadow: 0 24px 70px rgba(166, 61, 0, .18), 0 0 50px rgba(127, 226, 181, .15);
}
.closing-award-card .title { font-size: clamp(2rem, 10vw, 4.5rem); overflow-wrap: anywhere; }
.closing-award-card .subtitle { color: #653300; font-size: clamp(1.05rem, 4.4vw, 1.45rem); }
.reveal-card {
  text-align: center;
  box-shadow: 0 0 0 1px rgba(235, 93, 11, .16), 0 22px 60px rgba(46, 31, 20, .18), 0 0 56px rgba(235, 93, 11, .13);
  animation: reveal-pop .65s cubic-bezier(.2,.8,.2,1) both;
}
.winner-chip-list {
  display: grid;
  gap: .85rem;
  margin-top: 1.2rem;
}
.winner-chip {
  padding: 1rem;
  border: 1px solid rgba(235, 93, 11, .28);
  border-radius: 8px;
  background: rgba(255, 250, 247, .88);
  box-shadow: 0 10px 34px rgba(46, 31, 20, .12);
}
.winner-name {
  margin: 0 0 .45rem;
  font-size: clamp(2.4rem, 11vw, 4.8rem);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.joint .winner-name { font-size: clamp(2rem, 9vw, 3.8rem); }
.winner-subtitle { color: var(--muted); font-size: 1.05rem; }
@media (max-width: 440px) {
  .tally-row { grid-template-columns: 70px 1fr 38px; gap: .55rem; }
  .participant-card { border-radius: 8px; }
  .participant-header .brand-logo { height: 1.1rem; }
  .participant-header .brand-event-title { max-width: 42vw; }
}

.participant-round-timer { margin: -.15rem 0 .1rem; }
.nominee-card:disabled {
  cursor: not-allowed;
  opacity: .58;
  box-shadow: none;
}
.nominee-card:disabled:hover { border-color: var(--border); }
@media (max-width: 440px) {
  .participant-round-timer { width: 100%; justify-content: space-between; }
}
