/* Popup presentation only. Load after the unchanged wheel and integration CSS. */
.gw-optin.gw-popup-source[hidden] { display: none !important; }
.gw-popup {
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #102e26;
  color: #fff8e9;
  color-scheme: dark;
  font: 400 16px/1.5 Arial, system-ui, sans-serif;
  text-align: left;
}
.gw-popup:not([open]) { display: none; }
.gw-popup[open] { display: block; }
.gw-popup::backdrop { background: #071c18; }
.gw-popup *, .gw-popup *::before, .gw-popup *::after { box-sizing: border-box; }
.gw-popup .gw-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  width: 100%;
  max-width: none;
  padding: 92px max(24px, calc((100% - 1080px) / 2)) 32px;
  border: 0;
  overflow: visible;
  background: radial-gradient(ellipse at 30% 42%, #335b3d55 0, transparent 52%),
              radial-gradient(ellipse at 82% 6%, #c7a36312 0, transparent 45%), #102e26;
  color: #fff8e9;
  color-scheme: dark;
}
.gw-popup-close {
  position: fixed;
  z-index: 5;
  top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #ebd7a44d;
  border-radius: 50%;
  background: #102e26f5;
  color: #fff8e9;
  font: 400 32px/1 Arial, system-ui, sans-serif;
  cursor: pointer;
  box-shadow: 0 4px 20px #0003;
}
.gw-popup .gw-popup-eyebrow {
  position: absolute;
  top: max(24px, env(safe-area-inset-top));
  left: max(24px, env(safe-area-inset-left));
  margin: 0;
  color: #e6c887;
  font: 700 16px/1.5 Arial, system-ui, sans-serif;
  letter-spacing: .08em;
}
.gw-popup .gw-heading { max-width: 700px; margin: 0 auto 30px; text-align: center; }
.gw-popup .gw-heading h2 {
  margin: 0 0 12px;
  color: #fff8e9;
  font-size: clamp(32px, 3.5vw, 48px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-transform: none;
}
.gw-popup .gw-heading p:not(.gw-popup-eyebrow) { max-width: 48ch; margin: 0 auto; color: #d5dfd3; font-size: 17px; line-height: 1.5; }
.gw-popup .gw-layout {
  display: grid;
  grid-template-columns: minmax(0, 410px) minmax(0, 420px);
  align-items: center;
  gap: clamp(32px, 5vw, 64px);
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
}
.gw-popup .gw-stage {
  width: clamp(220px, 44dvh, 410px);
  max-width: 100%;
  margin: 0 auto;
  filter: drop-shadow(0 20px 30px #0005);
}
.gw-popup .gw-idle { width: 100%; height: 100%; transform: rotate(0deg); transform-origin: center; }
.gw-popup .gw-idle-active { animation: gw-popup-idle 60s linear infinite; }
.gw-popup .gw-pointer { fill: #f2cf8c; stroke: #102e26; }
.gw-popup .gw-center { background: #102e26; border-color: #f2cf8c; color: #fff8e9; }
.gw-popup .gw-controls { width: 100%; min-width: 0; }
.gw-popup .gw-controls > h3 { display: none; }
.gw-popup .gw-spin, .gw-popup .gw-claim {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 62px;
  padding: 17px 22px;
  overflow: hidden;
  border: 1px solid #f2cf8c;
  border-radius: 16px;
  background: #f2cf8c;
  color: #163b30;
  font: 700 19px/1.35 Arial, system-ui, sans-serif;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 26px #0003;
}
.gw-popup .gw-spin:not(:disabled)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, #fff8e93d 50%, transparent 70%);
  transform: translateX(-130%);
  animation: gw-popup-shimmer 7s ease-in-out infinite;
}
.gw-popup .gw-spin:disabled { opacity: .72; cursor: default; box-shadow: none; }
.gw-popup .gw-status { min-height: 0; margin: 16px 0 0; color: #d5dfd3; font-size: 16px; line-height: 1.5; }
.gw-popup .gw-controls:has(.gw-result:not([hidden])) > .gw-spin { display: none; }
.gw-popup .gw-controls:has(.gw-result:not([hidden])) > .gw-status { margin: 0 0 14px; }
.gw-popup .gw-result {
  margin: 0;
  padding: 24px;
  border: 1px solid #e6c88780;
  border-radius: 20px;
  background: #1b3e32;
  box-shadow: 0 12px 40px #0002;
}
.gw-popup .gw-result[hidden] { display: none !important; }
.gw-popup .gw-result h3 { margin: 0 0 12px; color: #f2cf8c; font-size: 28px; line-height: 1.2; letter-spacing: -.02em; }
.gw-popup .gw-result p { margin: 0 0 22px; color: #fff8e9; font-size: 17px; line-height: 1.5; }
.gw-popup .gw-result .gw-claim { font-size: 18px; }
.gw-popup .gw-terms {
  width: 100%;
  max-width: 940px;
  margin: 26px auto 0;
  padding-top: 14px;
  border-top: 1px solid #ebd7a42e;
  color: #d5dfd3;
  font-size: 16px;
  line-height: 1.6;
}
.gw-popup .gw-terms summary { min-height: 44px; padding: 8px 0; color: #e6c887; font-size: 16px; line-height: 1.5; font-weight: 700; cursor: pointer; }
.gw-popup .gw-terms p { margin: 12px 0; font-size: 16px; }
.gw-popup .gw-terms ol { padding-left: 24px; }
.gw-popup .gw-terms li { margin: 10px 0; padding-left: 3px; }
.gw-popup .gw-terms a { display: inline-flex; align-items: center; min-height: 44px; color: #f2cf8c; text-underline-offset: 4px; overflow-wrap: anywhere; }
.gw-popup a:focus-visible, .gw-popup button:focus-visible, .gw-popup summary:focus-visible {
  outline: 3px solid #fff8e9;
  outline-offset: 5px;
}
.gw-popup-launcher {
  position: fixed;
  z-index: 900;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(96px + env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  padding: 0;
  border: 1px solid #e6c887;
  border-radius: 50%;
  background: #173c33;
  color: #fff8e9;
  font: 400 28px/1 Arial, system-ui, sans-serif;
  box-shadow: 0 6px 24px #102e2640;
  cursor: pointer;
}
.gw-popup-launcher[hidden] { display: none !important; }
.gw-popup-launcher:focus-visible { outline: 3px solid #bb670e; outline-offset: 4px; }
@keyframes gw-popup-idle { to { transform: rotate(360deg); } }
@keyframes gw-popup-shimmer { 0%, 55% { transform: translateX(-130%); } 85%, 100% { transform: translateX(130%); } }
@media (hover: hover) {
  .gw-popup .gw-spin:not(:disabled):hover, .gw-popup .gw-claim:hover { background: #ffdfa4; border-color: #ffdfa4; }
  .gw-popup-close:hover { background: #234a3d; }
  .gw-popup-launcher:hover { background: #285745; }
}
@media (max-width: 720px) {
  .gw-popup .gw-section { justify-content: flex-start; padding: 80px 20px 24px; }
  .gw-popup .gw-heading { width: 100%; margin-bottom: 24px; }
  .gw-popup .gw-heading h2 { font-size: clamp(30px, 7.8vw, 40px); }
  .gw-popup .gw-heading p:not(.gw-popup-eyebrow) { font-size: 16px; }
  .gw-popup .gw-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: 430px; }
  .gw-popup .gw-stage { width: clamp(220px, 36dvh, 330px); }
  .gw-popup .gw-controls { text-align: center; }
  .gw-popup .gw-spin, .gw-popup .gw-claim { padding: 16px; font-size: 18px; }
  .gw-popup .gw-result { padding: 22px 18px; text-align: left; }
  .gw-popup .gw-result h3 { font-size: 25px; }
  .gw-popup .gw-result p { font-size: 16px; }
  .gw-popup .gw-terms { max-width: 430px; margin-top: 22px; }
  .gw-popup .gw-popup-eyebrow { top: max(24px, env(safe-area-inset-top)); left: max(20px, env(safe-area-inset-left)); }
}
@media (max-height: 650px) and (min-width: 721px) {
  .gw-popup .gw-section { padding-top: 76px; padding-bottom: 20px; }
  .gw-popup .gw-heading { margin-bottom: 20px; }
  .gw-popup .gw-stage { width: clamp(220px, 44dvh, 300px); }
  .gw-popup .gw-terms { margin-top: 18px; }
}
@media (max-width: 720px) and (max-height: 650px) {
  .gw-popup .gw-section { padding: 64px 20px 20px; }
  .gw-popup .gw-heading { margin-bottom: 12px; }
  .gw-popup .gw-heading h2 { margin-bottom: 8px; font-size: 28px; }
  .gw-popup .gw-heading p:not(.gw-popup-eyebrow) { font-size: 16px; line-height: 1.35; }
  .gw-popup .gw-layout { gap: 12px; }
  .gw-popup .gw-stage { width: 220px; }
  .gw-popup .gw-spin, .gw-popup .gw-claim { min-height: 58px; padding: 12px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-popup .gw-idle-active, .gw-popup .gw-spin:not(:disabled)::after { animation: none; }
  .gw-popup .gw-disc { transition: none; }
  .gw-popup { scroll-behavior: auto; }
}
