._container_vtlwh_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 100%;
  width: 100%;
  min-height: 100%;
  padding: 2rem 1rem;
  background-color: #f7f7f7;
  text-align: center;
  box-sizing: border-box;
}

._toast_vtlwh_16 {
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  background-color: #fee4e2;
  color: #b42318;
  font-size: 1rem;
  font-weight: 500;
  max-width: 28rem;
}

._retryButton_vtlwh_26 {
  min-height: 48px;
  min-width: 200px;
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 0.5rem;
  background-color: #b42318;
  color: #ffffff;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
}

._retryButton_vtlwh_26:hover {
  filter: brightness(0.9);
}

._retryButton_vtlwh_26:focus-visible {
  outline: 3px solid #ababab;
  outline-offset: 2px;
}
/* Fundo neutral-50 (diluição de `--roleta-primary` fica a cargo do tema —
   ver `RoletaPlugin.tsx`); cores literais espelham `@hub/design-tokens`. */

._container_158ud_4 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 100%;
  width: 100%;
  min-height: 100%;
  padding: 2rem 1rem;
  background-color: #f7f7f7;
  text-align: center;
  box-sizing: border-box;
}

._logo_158ud_19 {
  max-height: 200px;
  max-width: 90%;
  object-fit: contain;
}

._logoFallback_158ud_25 {
  height: 120px;
  width: 200px;
  max-width: 90%;
  background-color: #dcdcdc;
  border-radius: 0.5rem;
}

._title_158ud_33 {
  font-size: 2.25rem;
  font-weight: 600;
  color: #1a1a1a;
  max-width: 500px;
  line-height: 1.3;
  margin: 0;
}

._instruction_158ud_42 {
  font-size: 1.125rem;
  font-weight: 400;
  color: #4a4a4a;
  max-width: 480px;
  margin: 0;
}

._startButton_158ud_50 {
  min-height: 48px;
  min-width: 200px;
  max-width: 300px;
  width: 100%;
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--roleta-primary, #007a6b);
  color: #ffffff;
  font-weight: 600;
  font-size: 1.125rem;
  cursor: pointer;
}

._startButton_158ud_50:hover {
  filter: brightness(0.9);
}

._startButton_158ud_50:focus-visible {
  outline: 3px solid #ababab;
  outline-offset: 2px;
}

@media (max-width: 767px) {
  ._logo_158ud_19 {
    max-height: 150px;
  }

  ._title_158ud_33 {
    font-size: 2.25rem;
  }

  ._startButton_158ud_50 {
    padding: 0.75rem 1rem;
  }
}
._container_3yf9m_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  min-height: 100%;
  padding: 1rem;
  background-color: #f7f7f7;
  box-sizing: border-box;
}

._card_3yf9m_13 {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 28rem;
  width: 100%;
  padding: 2rem;
  background-color: #ffffff;
  border: 1px solid #dcdcdc;
  border-radius: 0.75rem;
}

._title_3yf9m_25 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
}

._consentNotice_3yf9m_32 {
  font-size: 0.875rem;
  color: #4a4a4a;
  margin: 0 0 0.75rem;
}

._label_3yf9m_38 {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1a1a1a;
}

._input_3yf9m_44 {
  min-height: 44px;
  padding: 0.5rem 0.75rem;
  border: 1px solid #dcdcdc;
  border-radius: 0.5rem;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

._input_3yf9m_44:focus-visible {
  outline: 3px solid var(--roleta-primary, #007a6b);
  outline-offset: 1px;
}

._error_3yf9m_58 {
  color: #b42318;
  font-size: 0.8125rem;
  margin: -0.25rem 0 0.5rem;
}

._submitButton_3yf9m_64 {
  min-height: 48px;
  margin-top: 0.5rem;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--roleta-primary, #007a6b);
  color: #ffffff;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
}

._submitButton_3yf9m_64:hover {
  filter: brightness(0.9);
}

._submitButton_3yf9m_64:focus-visible {
  outline: 3px solid #ababab;
  outline-offset: 2px;
}
._path_12d2r_1 {
  stroke: #dcdcdc;
  stroke-width: 1;
}

._winnerPath_12d2r_6 {
  stroke: #ffffff;
  stroke-width: 4;
  animation: _celebratePulse_12d2r_1 1s ease-in-out 1 both;
}

/* 3 pulsos (CA-09a): on 200ms -> off 150ms -> on 200ms -> off 150ms ->
   on 200ms -> off permanente, dentro de 1s total (percentuais de 1000ms). */
@keyframes _celebratePulse_12d2r_1 {
  0%,
  20% {
    stroke-opacity: 1;
  }
  20.01%,
  35% {
    stroke-opacity: 0;
  }
  35.01%,
  55% {
    stroke-opacity: 1;
  }
  55.01%,
  70% {
    stroke-opacity: 0;
  }
  70.01%,
  90% {
    stroke-opacity: 1;
  }
  90.01%,
  100% {
    stroke-opacity: 0;
  }
}

/* Redução de movimento: borda estática persistente, sem pulsar. */
@media (prefers-reduced-motion: reduce) {
  ._winnerPath_12d2r_6 {
    animation: none;
    stroke-opacity: 1;
  }
}

._label_12d2r_49 {
  font-family: 'Montserrat', sans-serif;
  font-size: 8px;
  font-weight: 600;
  fill: #ffffff;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.85),
    0 -1px 2px rgba(0, 0, 0, 0.85);
  pointer-events: none;
  user-select: none;
}
._wrapper_1jhup_1 {
  position: relative;
  width: min(80vw, 320px);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}

._wrapperCompact_1jhup_8 {
  position: relative;
  width: min(60vw, 220px);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}

@media (min-width: 768px) {
  ._wrapper_1jhup_1 {
    width: min(60vw, 420px);
  }

  ._wrapperCompact_1jhup_8 {
    width: min(50vw, 260px);
  }
}

@media (min-width: 1280px) {
  ._wrapper_1jhup_1 {
    width: min(50vw, 480px);
  }

  ._wrapperCompact_1jhup_8 {
    width: min(45vw, 300px);
  }
}

._indicator_1jhup_35 {
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 20px solid #ffffff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
  z-index: 2;
}

._dial_1jhup_49,
._dialInstant_1jhup_50 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transform-origin: 50% 50%;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}

._dial_1jhup_49 {
  transition-property: transform;
  transition-duration: var(--roleta-spin-duration, 4000ms);
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

._dialInstant_1jhup_50 {
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  ._dial_1jhup_49 {
    transition: none;
  }
}

._svg_1jhup_74 {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
._container_klcx6_1 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  height: 100%;
  width: 100%;
  min-height: 100%;
  padding: 1rem;
  background-color: #f7f7f7;
  text-align: center;
  box-sizing: border-box;
}

._spinButton_klcx6_17,
._spinButtonDisabled_klcx6_18 {
  min-height: 48px;
  min-width: 200px;
  max-width: 300px;
  width: 100%;
  padding: 0.625rem 1rem;
  border: none;
  border-radius: 0.5rem;
  color: #ffffff;
  font-weight: 600;
  font-size: 1.125rem;
}

._spinButton_klcx6_17 {
  background-color: var(--roleta-primary, #007a6b);
  cursor: pointer;
}

._spinButton_klcx6_17:hover {
  filter: brightness(0.9);
}

._spinButton_klcx6_17:focus-visible {
  outline: 3px solid #ababab;
  outline-offset: 2px;
}

._spinButtonDisabled_klcx6_18 {
  background-color: var(--roleta-primary, #007a6b);
  opacity: 0.5;
  cursor: not-allowed;
}

._hint_klcx6_51 {
  margin: 0;
  font-size: 0.875rem;
  color: #626262;
}

._srOnly_klcx6_57 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

._toast_klcx6_69 {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background-color: #4a4a4a;
  color: #ffffff;
  font-size: 0.875rem;
}

@media (min-width: 768px) {
  ._spinButton_klcx6_17,
  ._spinButtonDisabled_klcx6_18 {
    width: 280px;
  }
}

@media (min-width: 1280px) {
  ._spinButton_klcx6_17,
  ._spinButtonDisabled_klcx6_18 {
    width: 300px;
  }
}
._container_qnvux_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  height: 100%;
  width: 100%;
  min-height: 100%;
  padding: 2rem 1rem;
  background-color: #f7f7f7;
  text-align: center;
  box-sizing: border-box;
}

._prizeImage_qnvux_16 {
  max-height: 200px;
  max-width: 90%;
  object-fit: contain;
}

._prizeLabel_qnvux_22 {
  margin: 0;
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--roleta-primary, #007a6b);
  max-width: 32rem;
  line-height: 1.2;
}

._continueButton_qnvux_31 {
  min-height: 48px;
  min-width: 200px;
  max-width: 300px;
  width: 100%;
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--roleta-primary, #007a6b);
  color: #ffffff;
  font-weight: 600;
  font-size: 1.125rem;
  cursor: pointer;
}

._continueButton_qnvux_31:hover {
  filter: brightness(0.9);
}

._continueButton_qnvux_31:focus-visible {
  outline: 3px solid #ababab;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  ._prizeLabel_qnvux_22 {
    font-size: 2.75rem;
  }

  ._prizeImage_qnvux_16 {
    max-height: 250px;
  }
}

@media (min-width: 1280px) {
  ._prizeLabel_qnvux_22 {
    font-size: 3rem;
  }

  ._prizeImage_qnvux_16 {
    max-height: 300px;
  }
}
._container_65c0f_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  height: 100%;
  width: 100%;
  min-height: 100%;
  padding: 2rem 1rem;
  background-color: #f7f7f7;
  text-align: center;
  box-sizing: border-box;
}

._title_65c0f_16 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
}

._subtitle_65c0f_23 {
  margin: 0;
  font-size: 0.875rem;
  color: #626262;
}

._countdown_65c0f_29 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--roleta-primary, #007a6b);
}

@media (prefers-reduced-motion: reduce) {
  ._countdown_65c0f_29 {
    transition: none;
  }
}
