:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: transparent;
}

body {
  display: grid;
  place-items: center;
  padding: 16px;
}

.win-challenge-overlay {
  --wc-accent: #8b5cf6;
  --wc-accent-rgb: 139, 92, 246;
  --wc-background: #111827;
  --wc-background-rgb: 17, 24, 39;
  --wc-text: #ffffff;
  --wc-text-rgb: 255, 255, 255;
  --wc-success: #22c55e;
  --wc-success-rgb: 34, 197, 94;
  width: min(440px, 100%);
  color: var(--wc-text);
  transition: opacity 220ms ease, transform 260ms ease;
}

.win-challenge-overlay[data-font="modern"] {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.win-challenge-overlay[data-font="rounded"] {
  font-family: Outfit, Inter, ui-sans-serif, system-ui, sans-serif;
}

.win-challenge-overlay[data-font="mono"] {
  font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

.win-challenge-overlay.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px) scale(.985);
}

.win-challenge-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(var(--wc-accent-rgb), .32);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 4%, rgba(var(--wc-accent-rgb), .25), transparent 42%),
    rgba(var(--wc-background-rgb), .94);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .08);
  backdrop-filter: blur(18px);
}

.win-challenge-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 2px 14px;
}

.win-challenge-mark {
  width: 10px;
  height: 10px;
  flex: none;
  border-radius: 999px;
  background: var(--wc-accent);
  box-shadow: 0 0 0 5px rgba(var(--wc-accent-rgb), .15), 0 0 22px var(--wc-accent);
}

.win-challenge-title {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--wc-text);
  font-size: 20px;
  font-weight: 850;
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-challenge-preview {
  margin-left: auto;
  padding: 5px 8px;
  border: 1px solid rgba(var(--wc-accent-rgb), .36);
  border-radius: 999px;
  color: var(--wc-accent);
  background: rgba(var(--wc-accent-rgb), .11);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.win-challenge-items {
  display: grid;
  gap: 9px;
}

.win-challenge-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 13px 14px 11px;
  border: 1px solid rgba(var(--wc-text-rgb), .12);
  border-radius: 15px;
  background: rgba(var(--wc-text-rgb), .06);
  transition: border-color 240ms ease, background-color 240ms ease, transform 240ms ease;
}

.win-challenge-card-content {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.win-challenge-label {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: var(--wc-text);
  font-size: 17px;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-challenge-score {
  flex: none;
  color: var(--wc-accent);
  font-size: 24px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: 1;
  text-shadow: 0 0 18px rgba(var(--wc-accent-rgb), .38);
}

.win-challenge-score.is-status {
  font-size: 17px;
  letter-spacing: .01em;
}

.win-challenge-completed-mark {
  display: none;
  width: 23px;
  height: 23px;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--wc-background);
  background: var(--wc-success);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
}

.win-challenge-progress {
  height: 6px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(var(--wc-text-rgb), .1);
}

.win-challenge-progress-fill {
  display: block;
  width: var(--wc-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(var(--wc-text-rgb), .28), transparent), var(--wc-accent);
  box-shadow: 0 0 16px rgba(var(--wc-accent-rgb), .55);
  transition: width 420ms cubic-bezier(.2, .8, .2, 1), background 240ms ease;
}

.win-challenge-card.is-completed {
  border-color: rgba(var(--wc-success-rgb), .48);
  background: rgba(var(--wc-success-rgb), .11);
}

.win-challenge-card.is-completed .win-challenge-score {
  color: var(--wc-success);
  text-shadow: 0 0 18px rgba(var(--wc-success-rgb), .38);
}

.win-challenge-card.is-completed .win-challenge-completed-mark {
  display: inline-flex;
}

.win-challenge-card.is-completed .win-challenge-progress-fill {
  background: var(--wc-success);
  box-shadow: 0 0 16px rgba(var(--wc-success-rgb), .55);
}

.win-challenge-command {
  margin: 12px 2px 0;
  overflow: hidden;
  color: rgba(var(--wc-text-rgb), .65);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .015em;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-challenge-command::before {
  content: "Chat: ";
  color: var(--wc-accent);
  font-weight: 800;
}

.win-challenge-overlay[data-transparent="true"] .win-challenge-panel {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .92);
}

.win-challenge-overlay[data-transparent="true"] .win-challenge-card {
  border-color: rgba(var(--wc-text-rgb), .22);
  background: rgba(0, 0, 0, .46);
  backdrop-filter: blur(8px);
}

.win-challenge-overlay[data-style="minimal"] .win-challenge-panel {
  border-color: transparent;
  background: rgba(var(--wc-background-rgb), .82);
  box-shadow: none;
}

.win-challenge-overlay[data-style="minimal"] .win-challenge-card {
  padding-inline: 2px;
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
}

.win-challenge-overlay[data-style="glass"] .win-challenge-panel {
  border-color: rgba(var(--wc-accent-rgb), .72);
  background: linear-gradient(145deg, rgba(var(--wc-text-rgb), .12), rgba(var(--wc-background-rgb), .76));
  box-shadow: 0 26px 75px rgba(0, 0, 0, .36), inset 0 1px rgba(255, 255, 255, .16);
  backdrop-filter: blur(26px) saturate(135%);
}

.win-challenge-overlay[data-style="solid"] .win-challenge-panel {
  border-color: rgba(var(--wc-accent-rgb), .42);
  background: var(--wc-background);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .4);
  backdrop-filter: none;
}

.win-challenge-overlay[data-style="solid"] .win-challenge-card {
  border-color: rgba(var(--wc-accent-rgb), .2);
  background: var(--wc-background);
}

.win-challenge-overlay[data-animation="on"] .win-challenge-card.is-just-completed {
  animation: wc-complete-pulse .65s ease-in-out 2;
}

@keyframes wc-complete-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.035); }
}

@media (max-width: 420px) {
  body { padding: 8px; }
  .win-challenge-panel { padding: 14px; }
  .win-challenge-score { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
