/* Scoped login promotion. No styles or animation changes to session mascots. */
body.loginPromoOpen{overflow:hidden}
.loginPromo{box-sizing:border-box;width:min(420px,calc(100% - 28px));max-width:none;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid #f8e7ef;border-radius:28px;background:linear-gradient(155deg,#fff5f9 0%,#fff 52%,#fffafd);color:#32212d;box-shadow:0 24px 80px #40233340;overflow:auto;overscroll-behavior:contain;text-align:center;font-family:inherit}
.loginPromo::backdrop{background:#32212daa}
.loginPromoContent{padding:16px 20px 8px}
.loginPromo button{font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.loginPromoTop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.loginPromoBadge{padding:7px 10px;border-radius:30px;background:#fbddec;color:#b42359;font-size:11px;font-weight:850;letter-spacing:.045em}
.loginPromoClose{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #f3dce6;border-radius:50%;background:#fff9fc;color:#92526e;font-size:29px;line-height:1;box-shadow:0 2px 5px #72354d0b}
.loginPromoArt{position:relative;height:192px;margin:0 auto 8px;max-width:330px;isolation:isolate}
.loginPromoHalo{position:absolute;inset:17% 8% 4%;border-radius:50%;background:radial-gradient(ellipse,#fbe0eb 0,#fff0f6 70%);transform:rotate(-9deg);z-index:-1}
.loginPromoMascot{display:block;position:absolute;width:195px;height:195px;object-fit:contain;left:50%;top:-7px;transform:translateX(-50%) rotate(-7deg);filter:drop-shadow(0 9px 8px #b52c5a16)}
.loginPromoGift{position:absolute;bottom:1px;width:69px;filter:drop-shadow(0 7px 5px #c42f661a)}
.loginPromoGift svg{display:block;width:100%;height:auto}.loginPromoGift.giftLeft{left:3%;transform:rotate(-15deg)}.loginPromoGift.giftRight{right:2%;transform:rotate(13deg);width:66px}
.loginPromoSpark{position:absolute;color:#dfad4a;font-size:28px;line-height:1;text-shadow:0 1px #fff0ba}.sparkOne{right:18%;top:6%}.sparkTwo{left:12%;top:48%;font-size:21px}
.loginPromoConfetti{position:absolute;display:block;width:7px;height:14px;border-radius:2px;background:#ee89af;transform:rotate(-26deg)}.confettiOne{left:7%;top:27%}.confettiTwo{right:5%;top:24%;transform:rotate(32deg)}.confettiThree{right:22%;bottom:12%;width:6px;height:10px}
.loginPromo #loginPromoTitle{margin:0;font-size:23px;font-weight:850;line-height:1.22;letter-spacing:-.045em;overflow-wrap:normal}
.loginPromo .loginPromoPrize{margin:11px 0 9px;color:#db1260;font-size:clamp(22px,6.4vw,32px);line-height:1.16;font-weight:900;letter-spacing:-.045em;white-space:nowrap;overflow-wrap:normal}
.loginPromo .loginPromoDescription{margin:0 auto 14px;max-width:290px;color:#806574;font-size:14px;line-height:1.5}
.loginPromoSchedule{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 15px;border-radius:30px;background:#fceaf2;color:#b7235c;font-size:13px;font-weight:700;line-height:1.3}.loginPromoSchedule svg{width:20px;height:20px;flex:none}
.loginPromo .loginPromoEligibility{margin:7px 0 14px;font-size:12px;line-height:1.4;color:#806574}
.loginPromo .loginPromoStart{display:block;width:100%;min-height:48px;padding:12px 8px;border:0;border-radius:15px;background:#de135e;color:#fff;font-size:16px;font-weight:800;box-shadow:0 6px 16px #d71e5b16}
.loginPromo .loginPromoLater{display:block;margin:3px auto 0;min-height:44px;padding:10px 22px;border:0;background:transparent;color:#806574;font-size:14px;font-weight:700}
.loginPromo button:focus-visible,.loginPromoEntry:focus-visible{outline:3px solid #a72961;outline-offset:3px}
.loginPromo .loginPromoStart:hover{background:#c01453}.loginPromo .loginPromoLater:hover{color:#a9184b}
.loginPromoEntry{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin:0 0 12px;padding:7px 10px;border:1px solid #f3d4e1;border-radius:13px;background:#fff3f8;color:#9d2d58;font:inherit;font-size:12px;cursor:pointer}.loginPromoEntry>span:first-child{width:22px;height:24px}.loginPromoEntry svg{width:100%;height:100%}.loginPromoEntry b{font-weight:800}.loginPromoEntry>span:last-child{font-size:21px;line-height:1;margin-left:3px}
@media(max-width:360px){.loginPromoContent{padding:12px 15px 7px}.loginPromo #loginPromoTitle{font-size:20px}.loginPromo .loginPromoPrize{font-size:23px}.loginPromo .loginPromoDescription{font-size:13px}.loginPromoArt{height:166px}.loginPromoMascot{width:170px;height:170px}.loginPromoGift{width:60px}.loginPromoGift.giftRight{width:58px}}
@media(max-height:700px){.loginPromoContent{padding-top:10px}.loginPromoArt{height:140px;margin-bottom:3px}.loginPromoMascot{width:150px;height:150px;top:-8px}.loginPromoGift{width:52px}.loginPromoGift.giftRight{width:50px}.loginPromo .loginPromoDescription{margin-bottom:10px}.loginPromo .loginPromoEligibility{margin-bottom:10px}}
@media(max-height:520px){.loginPromoArt{height:95px}.loginPromoMascot{width:110px;height:110px;top:-10px}.loginPromoGift{width:43px;left:18%!important}.loginPromoGift.giftRight{width:42px;left:auto!important;right:17%}.loginPromo #loginPromoTitle{font-size:20px}.loginPromo .loginPromoPrize{margin:8px 0;font-size:27px}}
