#signupOfferOverlay {
  position: fixed; inset: 0; z-index: 9200;
  color: #f2efea; background: #16161a;
  background-image: radial-gradient(ellipse at 85% 100%, rgba(245,158,11,.075), transparent 58%);
  font-family: Nunito, -apple-system, BlinkMacSystemFont, sans-serif;
}
#signupOfferOverlay[hidden] { display: none; }
#signupOfferOverlay.signup-offer-resuming-paywall .signup-offer-content,
#signupOfferOverlay.signup-offer-resuming-paywall .signup-offer-footer { visibility: hidden; }
body.signup-offer-active { overflow: hidden !important; }
.signup-offer-card {
  display: flex; flex-direction: column; height: 100%; max-width: 680px; margin: 0 auto;
}
.signup-offer-content {
  flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column;
  align-items: center; justify-content: safe center; padding: 36px 28px 24px; text-align: center;
}
.signup-offer-art {
  position: relative; flex-shrink: 0; width: 224px; height: 200px; margin: 0 0 32px;
  overflow: visible;
}
.signup-offer-scene {
  position: absolute; left: 50%; top: 50%; width: 224px; height: 200px;
  transform: translate(-50%, -50%); transform-origin: center;
}
.signup-offer-ground {
  position: absolute; left: 50%; top: 88%; width: 220px; height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
}
.signup-offer-motion-path {
  position: absolute; left: 50%; top: 88%; width: 480px; height: 220px;
  transform: translate(-50%,-100%); overflow: visible; opacity: 0;
}
.signup-offer-motion-path path {
  fill: none; stroke: rgba(255,171,0,.2); stroke-width: 1;
  stroke-dasharray: 4 7; stroke-linecap: round;
}
.signup-offer-gravity {
  position: absolute; left: calc(50% + 91px); top: calc(88% - 38px);
  color: #716b77; font-size: 10px; font-weight: 900; opacity: 0;
}
.signup-offer-gravity::after {
  content: '\2193'; display: block; margin-top: 1px; color: #9a929f;
  font-size: 15px; line-height: 1; text-align: center;
}
.signup-offer-ball {
  position: absolute; left: 50%; top: 88%; width: 54px; height: 54px; margin: -27px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(circle at 34% 28%, #ffd36e 0, #f7a900 48%, #c66b00 100%);
  box-shadow: 0 10px 13px rgba(0,0,0,.24); will-change: transform, opacity;
}
.signup-offer-ball::after {
  content: ''; position: absolute; left: 11px; top: 8px; width: 13px; height: 9px;
  border-radius: 50%; background: rgba(255,255,255,.22); transform: rotate(-24deg);
}
.signup-offer-impact {
  position: absolute; left: 50%; top: 88%; width: 78px; height: 16px;
  transform: translate(-50%,-50%) scaleX(.2); border-radius: 50%; opacity: 0;
  background: radial-gradient(ellipse,rgba(255,171,0,.22),transparent 70%);
}
.signup-offer-ara-stage {
  position: absolute; left: 50%; top: calc(88% - 80px); width: 180px; height: 180px;
  opacity: 0; transform: translate(-50%,calc(-50% - 7.5px)) scale(.4); transform-origin: center;
  will-change: transform, opacity;
}
.signup-offer-ara-float { position: relative; width: 100%; height: 100%; }
.signup-offer-ara { position: absolute; inset: 0; }
.signup-offer-ara svg {
  display: block; width: 100%; height: 100%; overflow: visible;
  filter: drop-shadow(0 15px 13px rgba(0,0,0,.26));
}
.signup-offer-ara-effects { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.signup-offer-eyes { transform-box: fill-box; transform-origin: center; }
.signup-offer-happy-eyes, .signup-offer-gold-spark, .signup-offer-four-lines { opacity: 0; }
.signup-offer-happy-eyes, .signup-offer-gold-spark, .signup-offer-four-lines,
.signup-offer-ara .ara-graduation-cap {
  transform-box: fill-box; transform-origin: center;
}
.signup-offer-ara .ara-graduation-cap { opacity: 0; transform: translateY(-57.6px); }
.signup-offer-ara-shadow {
  position: absolute; left: 50%; top: 88%; width: 130px; height: 16px;
  transform: translateX(-50%) scaleX(.6); opacity: 0; border-radius: 50%;
  background: radial-gradient(ellipse,rgba(0,0,0,.28),transparent 70%);
}
.signup-offer-entering .signup-offer-motion-path { animation: signupOfferPath 1.54s linear both; }
.signup-offer-entering .signup-offer-gravity { animation: signupOfferGravity 1.54s linear both; }
.signup-offer-entering .signup-offer-ball { animation: signupOfferBall 1.54s linear both; }
.signup-offer-entering .signup-offer-impact { animation: signupOfferImpact 1.54s linear both; }
.signup-offer-entering .signup-offer-ara-stage {
  animation: signupOfferAraGrow .62s cubic-bezier(.22,.72,.24,1) 1.44s both;
}
.signup-offer-entering .signup-offer-ara-shadow {
  animation: signupOfferShadowIn .62s ease-out 1.44s both;
}
.signup-offer-entering .signup-offer-ara-float {
  animation: signupOfferFloat 4.2s ease-in-out 2.06s infinite;
}
.signup-offer-entering .signup-offer-ara .ara-graduation-cap {
  animation: signupOfferCapDrop .62s cubic-bezier(.3,.72,.28,1) 1.44s both;
}
.signup-offer-entering .signup-offer-eyes {
  animation: signupOfferEyesNormal 1.8s linear 1.44s both, signupOfferBlink 6.8s ease-in-out 3.24s infinite;
}
.signup-offer-entering .signup-offer-happy-eyes {
  animation: signupOfferEyesHappy 1.8s linear 1.44s both;
}
.signup-offer-entering .signup-offer-gold-spark-one {
  animation: signupOfferSparkPop .64s ease-out 1.9s both;
}
.signup-offer-entering .signup-offer-gold-spark-two {
  animation: signupOfferSparkPop .64s ease-out 2.01s both;
}
.signup-offer-entering .signup-offer-four-lines {
  animation: signupOfferFourLines .55s ease-out 1.92s both;
}
.signup-offer-settled .signup-offer-ara-stage {
  opacity: 1; transform: translate(-50%,-50%) scale(1);
}
.signup-offer-settled .signup-offer-ara-float {
  animation: signupOfferFloat 4.2s ease-in-out infinite;
}
.signup-offer-settled .signup-offer-eyes {
  animation: signupOfferBlink 6.8s ease-in-out infinite;
}
.signup-offer-settled .signup-offer-ara-shadow {
  opacity: .75; transform: translateX(-50%) scaleX(1);
}
.signup-offer-settled .signup-offer-ara .ara-graduation-cap { opacity: 1; transform: none; }
.signup-offer-settled .signup-offer-four-lines { opacity: 1; }
#signupOfferTitle { margin: 0; color: inherit; font-size: clamp(30px, 4vw, 43px); font-weight: 900; line-height: 1.22; letter-spacing: -.025em; }
#signupOfferTitle:focus { outline: none; }
#signupOfferTitle span { color: #ffb52e; }
.signup-offer-footer { flex-shrink: 0; padding: 20px 28px max(32px, env(safe-area-inset-bottom)); }
#signupOfferReady {
  width: 100%; min-height: 64px; padding: 15px 24px; border: 0; border-radius: 24px;
  color: #251901; background: #ffb000; box-shadow: 0 5px 0 #a96706;
  font: 900 22px/1.3 Nunito, -apple-system, BlinkMacSystemFont, sans-serif;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
#signupOfferReady:active { transform: translateY(3px); box-shadow: 0 2px 0 #a96706; }
#signupOfferReady:focus-visible { outline: 3px solid #ffc965; outline-offset: 7px; }
html[data-theme="light"] #signupOfferOverlay {
  background-color: #fff; color: #231f20;
  background-image: radial-gradient(ellipse at 85% 100%, rgba(245,158,11,.075), transparent 58%);
}
html[data-theme="light"] #signupOfferTitle span { color: #b96c00; }
html[data-theme="light"] .signup-offer-ground {
  background: linear-gradient(90deg, transparent, rgba(35,31,32,.11), transparent);
}
@keyframes signupOfferPath {
  0% { opacity: 0; } 14% { opacity: .75; } 82% { opacity: .35; } 100% { opacity: 0; }
}
@keyframes signupOfferGravity {
  0%,18% { opacity: 0; } 25%,72% { opacity: .55; } 100% { opacity: 0; }
}
/* Match the concept's continuous 60fps gravity curve instead of joining a few visible corners. */
@keyframes signupOfferBall {
  0% { opacity: 0.0000; transform: translate(-225.00px,-150.00px) scale(1.000,1.000); }
  1.0417% { opacity: 0.1894; transform: translate(-221.30px,-149.83px) scale(1.000,1.000); }
  2.0833% { opacity: 0.3788; transform: translate(-217.61px,-149.32px) scale(1.000,1.000); }
  3.125% { opacity: 0.5682; transform: translate(-213.91px,-148.48px) scale(1.000,1.000); }
  4.1667% { opacity: 0.7576; transform: translate(-210.22px,-147.29px) scale(1.000,1.000); }
  5.2083% { opacity: 0.9470; transform: translate(-206.52px,-145.77px) scale(1.000,1.000); }
  6.25% { opacity: 1.0000; transform: translate(-202.82px,-143.90px) scale(1.000,1.000); }
  7.2917% { opacity: 1.0000; transform: translate(-199.13px,-141.70px) scale(1.000,1.000); }
  8.3333% { opacity: 1.0000; transform: translate(-195.43px,-139.16px) scale(1.000,1.000); }
  9.375% { opacity: 1.0000; transform: translate(-191.73px,-136.28px) scale(1.000,1.000); }
  10.4167% { opacity: 1.0000; transform: translate(-188.04px,-133.06px) scale(1.000,1.000); }
  11.4583% { opacity: 1.0000; transform: translate(-184.34px,-129.51px) scale(1.000,1.000); }
  12.5% { opacity: 1.0000; transform: translate(-180.65px,-125.61px) scale(1.000,1.000); }
  13.5417% { opacity: 1.0000; transform: translate(-176.95px,-121.38px) scale(1.000,1.000); }
  14.5833% { opacity: 1.0000; transform: translate(-173.25px,-116.80px) scale(1.000,1.000); }
  15.625% { opacity: 1.0000; transform: translate(-169.56px,-111.89px) scale(1.000,1.000); }
  16.6667% { opacity: 1.0000; transform: translate(-165.86px,-106.64px) scale(1.000,1.000); }
  17.7083% { opacity: 1.0000; transform: translate(-162.16px,-101.05px) scale(1.000,1.000); }
  18.75% { opacity: 1.0000; transform: translate(-158.47px,-95.13px) scale(1.000,1.000); }
  19.7917% { opacity: 1.0000; transform: translate(-154.77px,-88.86px) scale(1.000,1.000); }
  20.8333% { opacity: 1.0000; transform: translate(-151.08px,-82.25px) scale(1.000,1.000); }
  21.875% { opacity: 1.0000; transform: translate(-147.38px,-75.31px) scale(1.000,1.000); }
  22.9167% { opacity: 1.0000; transform: translate(-143.68px,-68.03px) scale(1.000,1.000); }
  23.9583% { opacity: 1.0000; transform: translate(-139.99px,-60.41px) scale(0.998,1.004); }
  25% { opacity: 1.0000; transform: translate(-136.29px,-52.45px) scale(0.991,1.015); }
  26.0417% { opacity: 1.0000; transform: translate(-132.59px,-44.15px) scale(0.985,1.025); }
  27.0833% { opacity: 1.0000; transform: translate(-128.90px,-35.51px) scale(0.979,1.036); }
  28.125% { opacity: 1.0000; transform: translate(-125.20px,-26.53px) scale(0.972,1.046); }
  29.1667% { opacity: 1.0000; transform: translate(-121.51px,-17.22px) scale(0.966,1.057); }
  30.2083% { opacity: 1.0000; transform: translate(-117.81px,-7.56px) scale(0.960,1.067); }
  31.25% { opacity: 1.0000; transform: translate(-114.78px,0.00px) scale(1.023,0.972); }
  32.2917% { opacity: 1.0000; transform: translate(-113.85px,0.00px) scale(1.102,0.874); }
  33.3333% { opacity: 1.0000; transform: translate(-112.93px,0.00px) scale(1.130,0.840); }
  34.375% { opacity: 1.0000; transform: translate(-112.00px,0.00px) scale(1.092,0.887); }
  35.4167% { opacity: 1.0000; transform: translate(-111.07px,0.00px) scale(1.008,0.991); }
  36.4583% { opacity: 1.0000; transform: translate(-108.47px,-9.51px) scale(0.973,1.043); }
  37.5% { opacity: 1.0000; transform: translate(-105.72px,-19.22px) scale(0.981,1.029); }
  38.5417% { opacity: 1.0000; transform: translate(-102.98px,-28.30px) scale(0.990,1.016); }
  39.5833% { opacity: 1.0000; transform: translate(-100.23px,-36.73px) scale(0.998,1.003); }
  40.625% { opacity: 1.0000; transform: translate(-97.48px,-44.52px) scale(1.000,1.000); }
  41.6667% { opacity: 1.0000; transform: translate(-94.73px,-51.67px) scale(1.000,1.000); }
  42.7083% { opacity: 1.0000; transform: translate(-91.99px,-58.18px) scale(1.000,1.000); }
  43.75% { opacity: 1.0000; transform: translate(-89.24px,-64.05px) scale(1.000,1.000); }
  44.7917% { opacity: 1.0000; transform: translate(-86.49px,-69.27px) scale(1.000,1.000); }
  45.8333% { opacity: 1.0000; transform: translate(-83.74px,-73.85px) scale(1.000,1.000); }
  46.875% { opacity: 1.0000; transform: translate(-81.00px,-77.79px) scale(1.000,1.000); }
  47.9167% { opacity: 1.0000; transform: translate(-78.25px,-81.09px) scale(1.000,1.000); }
  48.9583% { opacity: 1.0000; transform: translate(-75.50px,-83.75px) scale(1.000,1.000); }
  50% { opacity: 1.0000; transform: translate(-72.75px,-85.76px) scale(1.000,1.000); }
  51.0417% { opacity: 1.0000; transform: translate(-70.01px,-87.14px) scale(1.000,1.000); }
  52.0833% { opacity: 1.0000; transform: translate(-67.26px,-87.87px) scale(1.000,1.000); }
  53.125% { opacity: 1.0000; transform: translate(-64.51px,-87.96px) scale(1.000,1.000); }
  54.1667% { opacity: 1.0000; transform: translate(-61.76px,-87.41px) scale(1.000,1.000); }
  55.2083% { opacity: 1.0000; transform: translate(-59.02px,-86.21px) scale(1.000,1.000); }
  56.25% { opacity: 1.0000; transform: translate(-56.27px,-84.38px) scale(1.000,1.000); }
  57.2917% { opacity: 1.0000; transform: translate(-53.52px,-81.90px) scale(1.000,1.000); }
  58.3333% { opacity: 1.0000; transform: translate(-50.77px,-78.78px) scale(1.000,1.000); }
  59.375% { opacity: 1.0000; transform: translate(-48.03px,-75.02px) scale(1.000,1.000); }
  60.4167% { opacity: 1.0000; transform: translate(-45.28px,-70.62px) scale(1.000,1.000); }
  61.4583% { opacity: 1.0000; transform: translate(-42.53px,-65.57px) scale(1.000,1.000); }
  62.5% { opacity: 1.0000; transform: translate(-39.78px,-59.89px) scale(1.000,1.000); }
  63.5417% { opacity: 1.0000; transform: translate(-37.04px,-53.56px) scale(1.000,1.000); }
  64.5833% { opacity: 1.0000; transform: translate(-34.29px,-46.59px) scale(1.000,1.000); }
  65.625% { opacity: 1.0000; transform: translate(-31.54px,-38.98px) scale(1.000,1.000); }
  66.6667% { opacity: 1.0000; transform: translate(-28.79px,-30.72px) scale(1.019,0.975); }
  67.7083% { opacity: 1.0000; transform: translate(-26.04px,-21.83px) scale(1.045,0.942); }
  68.75% { opacity: 1.0000; transform: translate(-23.30px,-12.29px) scale(1.070,0.909); }
  69.7917% { opacity: 1.0000; transform: translate(-20.55px,-2.11px) scale(1.095,0.877); }
  70.8333% { opacity: 1.0000; transform: translate(-19.63px,0.00px) scale(1.096,0.875); }
  71.875% { opacity: 1.0000; transform: translate(-19.17px,0.00px) scale(1.079,0.897); }
  72.9167% { opacity: 1.0000; transform: translate(-18.70px,0.00px) scale(1.052,0.932); }
  73.9583% { opacity: 1.0000; transform: translate(-18.24px,0.00px) scale(1.019,0.976); }
  75% { opacity: 1.0000; transform: translate(-17.54px,-4.05px) scale(0.970,1.047); }
  76.0417% { opacity: 1.0000; transform: translate(-16.58px,-12.15px) scale(0.982,1.029); }
  77.0833% { opacity: 1.0000; transform: translate(-15.62px,-19.79px) scale(0.993,1.011); }
  78.125% { opacity: 1.0000; transform: translate(-14.65px,-26.98px) scale(1.000,1.000); }
  79.1667% { opacity: 1.0000; transform: translate(-13.69px,-33.71px) scale(1.000,1.000); }
  80.2083% { opacity: 1.0000; transform: translate(-12.73px,-39.98px) scale(1.000,1.000); }
  81.25% { opacity: 1.0000; transform: translate(-11.77px,-45.80px) scale(1.000,1.000); }
  82.2917% { opacity: 1.0000; transform: translate(-10.81px,-51.16px) scale(1.000,1.000); }
  83.3333% { opacity: 1.0000; transform: translate(-9.85px,-56.06px) scale(1.000,1.000); }
  84.375% { opacity: 1.0000; transform: translate(-8.88px,-60.51px) scale(1.000,1.000); }
  85.4167% { opacity: 1.0000; transform: translate(-7.92px,-64.50px) scale(1.000,1.000); }
  86.4583% { opacity: 1.0000; transform: translate(-6.96px,-68.03px) scale(1.000,1.000); }
  87.5% { opacity: 1.0000; transform: translate(-6.00px,-71.11px) scale(1.000,1.000); }
  88.5417% { opacity: 1.0000; transform: translate(-5.04px,-73.73px) scale(1.000,1.000); }
  89.5833% { opacity: 1.0000; transform: translate(-4.08px,-75.90px) scale(1.000,1.000); }
  90.625% { opacity: 1.0000; transform: translate(-3.12px,-77.60px) scale(1.000,1.000); }
  91.6667% { opacity: 1.0000; transform: translate(-2.15px,-78.85px) scale(1.000,1.000); }
  92.7083% { opacity: 1.0000; transform: translate(-1.19px,-79.65px) scale(1.000,1.000); }
  93.75% { opacity: 1.0000; transform: translate(-0.23px,-79.99px) scale(1.000,1.000); }
  94.7917% { opacity: 0.8681; transform: translate(0.00px,-80.00px) scale(1.000,1.000); }
  95.8333% { opacity: 0.6944; transform: translate(0.00px,-80.00px) scale(1.000,1.000); }
  96.875% { opacity: 0.5208; transform: translate(0.00px,-80.00px) scale(1.000,1.000); }
  97.9167% { opacity: 0.3472; transform: translate(0.00px,-80.00px) scale(1.000,1.000); }
  98.9583% { opacity: 0.1736; transform: translate(0.00px,-80.00px) scale(1.000,1.000); }
  100% { opacity: 0.0000; transform: translate(0.00px,-80.00px) scale(1.000,1.000); }
}
@keyframes signupOfferImpact {
  0%,27% { opacity: 0; transform: translate(calc(-50% - 115px),-50%) scaleX(.25); }
  31% { opacity: .42; transform: translate(calc(-50% - 115px),-50%) scaleX(.8); }
  38% { opacity: 0; transform: translate(calc(-50% - 115px),-50%) scaleX(1.3); }
  65% { opacity: 0; transform: translate(calc(-50% - 20px),-50%) scaleX(.25); }
  70% { opacity: .34; transform: translate(calc(-50% - 20px),-50%) scaleX(.72); }
  77%,100% { opacity: 0; transform: translate(calc(-50% - 20px),-50%) scaleX(1.15); }
}
@keyframes signupOfferAraGrow {
  0% { opacity: 0; transform: translate(-50%,calc(-50% - 7.5px)) scale(.4); }
  12% { opacity: 1; }
  100% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
}
@keyframes signupOfferCapDrop {
  0% { opacity: 0; transform: translateY(-57.6px); }
  16% { opacity: 1; }
  68% { opacity: 1; transform: translateY(1.6px); }
  82% { opacity: 1; transform: translateY(-3.2px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes signupOfferFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes signupOfferEyesNormal {
  0%,25% { opacity: 1; } 33%,75% { opacity: 0; } 88%,100% { opacity: 1; }
}
@keyframes signupOfferEyesHappy {
  0%,25% { opacity: 0; } 33%,75% { opacity: 1; } 88%,100% { opacity: 0; }
}
@keyframes signupOfferBlink { 0%,93%,100% { transform: scaleY(1); } 96.5% { transform: scaleY(.08); } }
@keyframes signupOfferSparkPop {
  0% { opacity: 0; transform: scale(0) rotate(-18deg); }
  38% { opacity: 1; transform: scale(1) rotate(0); }
  100% { opacity: 0; transform: scale(.25) rotate(14deg); }
}
@keyframes signupOfferFourLines {
  from { opacity: 0; transform: scale(.45) rotate(-12deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}
@keyframes signupOfferShadowIn {
  from { opacity: 0; transform: translateX(-50%) scaleX(.6); }
  to { opacity: .75; transform: translateX(-50%) scaleX(1); }
}
@media (max-width: 600px) {
  .signup-offer-content { padding: 28px 24px 20px; }
  .signup-offer-art { width: 200px; height: 184px; margin-bottom: 28px; }
  .signup-offer-scene { transform: translate(-50%,-50%) scale(.9); }
  #signupOfferTitle { font-size: clamp(29px, 8vw, 35px); }
  .signup-offer-footer { padding-left: 24px; padding-right: 24px; }
  #signupOfferReady { min-height: 60px; border-radius: 22px; font-size: 21px; }
}
@media (max-height: 650px) {
  .signup-offer-content { justify-content: flex-start; padding-top: 22px; }
  .signup-offer-art { width: 160px; height: 130px; margin-bottom: 16px; }
  .signup-offer-scene { transform: translate(-50%,-50%) scale(.68); }
  #signupOfferTitle { font-size: 29px; }
  .signup-offer-footer { padding-top: 12px; }
}
