.sbw, .sbw * { box-sizing: border-box; }
.sbw__wheel { direction: ltr; }
.sbw { grid-template-columns: minmax(0, 1fr); justify-items: center; }
.sbw { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 16px; background: rgba(7, 15, 43, .6); backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s; }
.sbw[hidden] { display: none; }
.sbw.is-in { opacity: 1; }
.sbw__card { position: relative; width: 100%; max-width: 760px; min-width: 0; max-height: calc(100vh - 32px); overflow: auto; display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 26px; align-items: center; padding: 28px; border-radius: 26px;
	background: radial-gradient(ellipse at 0% 0%, #2a1a6b, #0b1736 70%); color: #fff; box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .8); transform: translateY(16px) scale(.97); transition: transform .3s; }
.sbw.is-in .sbw__card { transform: none; }
.sbw__x { position: absolute; top: 12px; inset-inline-end: 12px; width: 34px; height: 34px; border: 0; border-radius: 10px; font-size: 22px; line-height: 1; color: #fff; background: rgba(255, 255, 255, .12); cursor: pointer; }
.sbw__wheel { position: relative; width: 300px; height: 300px; margin: 0 auto; border-radius: 50%; box-shadow: 0 0 0 8px rgba(255, 255, 255, .12), 0 20px 50px -10px rgba(236, 72, 153, .6); }
.sbw__wheel canvas { display: block; border-radius: 50%; transition: transform 4.4s cubic-bezier(.12, .7, .1, 1); }
.sbw__pin { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 30px solid #fff; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .5)); }
.sbw__side h3 { margin: 0 0 8px; font-size: 28px; font-weight: 800; line-height: 1.15; color: #fff; }
.sbw__sub { margin: 0 0 16px; color: #c7cdf0; font-size: 15px; }
.sbw__form { display: grid; gap: 10px; }
.sbw__form input[type="email"] { width: 100%; padding: 13px 15px; border-radius: 12px; border: 0; font-size: 15px; color: #0b1736; background: #fff; }
.sbw__consent { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.45; color: #c7cdf0; cursor: pointer; }
.sbw__consent input { margin-top: 2px; accent-color: #ec4899; flex: none; }
.sbw__btn { display: inline-flex; justify-content: center; align-items: center; padding: 14px 20px; border: 0; border-radius: 99px; font-size: 16px; font-weight: 800; color: #fff !important; text-decoration: none !important; cursor: pointer;
	background: linear-gradient(90deg, #8b3fe4 0%, #ec4899 60%, #f97316 100%); box-shadow: 0 14px 30px -12px rgba(236, 72, 153, .8); }
.sbw__btn:disabled { opacity: .6; cursor: wait; }
.sbw__err { margin: 0; padding: 8px 12px; border-radius: 10px; font-size: 13px; background: rgba(239, 68, 68, .18); color: #fecaca; }
.sbw__foot { margin: 12px 0 0; font-size: 12px; color: #9aa6cc; }
.sbw__link { padding: 0; border: 0; background: none; color: #c4b5fd; font-size: 12px; text-decoration: underline; cursor: pointer; }
.sbw__odds { margin: 6px 0 0; padding: 8px 12px; list-style: none; border-radius: 10px; background: rgba(255, 255, 255, .08); font-size: 12.5px; columns: 2; }
.sbw__confetti { font-size: 42px; }
.sbw__code { display: flex; align-items: center; gap: 8px; margin: 10px 0; padding: 10px 12px; border-radius: 14px; border: 2px dashed #f9a8d4; background: rgba(236, 72, 153, .12); }
.sbw__code b { flex: 1; font-size: 20px; letter-spacing: 1.5px; direction: ltr; }
.sbw__code button { padding: 7px 12px; border: 0; border-radius: 10px; font-weight: 700; color: #0b1736; background: #fff; cursor: pointer; }
@media (max-width: 680px) {
	.sbw__card { grid-template-columns: 1fr; gap: 14px; padding: 22px 18px; text-align: center; }
	.sbw__wheel { width: 240px; height: 240px; }
	.sbw__wheel canvas { width: 240px !important; height: 240px !important; }
	.sbw__side h3 { font-size: 22px; }
	.sbw__consent { text-align: start; }
}
