.gift-carousel{max-width:1248px;margin:56px auto 32px;padding:40px 0 32px;position:relative;overflow:hidden;background:#0b0c10;color:#f5f5f8}
.gift-heading{text-align:center;padding:0 20px}
.gift-eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;color:#9595a1;margin:0 0 16px}
.gift-heading h1,.gift-heading h2{font-size:clamp(28px,3.5vw,46px);letter-spacing:-.045em;line-height:1.13;margin:0;font-weight:700}
.gift-heading h1 span,.gift-heading h2 span{color:#ff4968}
.gift-intro{font-size:14px;color:#a2a2af;line-height:1.5;margin:16px 0 0}
.gift-window{height:302px;position:relative;overflow:hidden;margin:30px 0 24px;isolation:isolate;background:#08090d;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.gift-track{position:relative;display:flex;gap:14px;width:max-content;padding:20px 0;will-change:transform}
.gift-card{width:160px;flex:0 0 160px;border:1px solid #252731;border-radius:9px;background:#111218;overflow:hidden;padding:8px;box-sizing:border-box}
.gift-poster{height:190px;border-radius:4px;overflow:hidden;background:#0b0c10}
.gift-poster img{height:100%;width:100%;object-fit:contain;display:block}
.gift-card>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.4;height:34px;margin:12px 3px 5px;color:#dedee5}
.gift-card.is-selected{border-color:#ff4968}
.gift-pointer{position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #ff4968;z-index:3}
.gift-center{position:absolute;left:50%;transform:translateX(-50%);top:20px;border:1px solid #ff4968;border-radius:9px;box-sizing:border-box;pointer-events:none;z-index:2}
.gift-actions{display:flex;align-items:center;flex-direction:column;gap:14px;padding:0 20px}
.gift-spin{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:28px;min-width:224px;min-height:52px;padding:15px 25px;overflow:hidden;border:1px solid #ff6e84;border-radius:9px;background:linear-gradient(115deg,#e91d49,#ff4163 55%,#f32953);color:#fff;font:inherit;font-size:14px;font-weight:650;cursor:pointer;box-shadow:0 5px 20px #f5295320;transition:transform .2s,box-shadow .2s}
.gift-spin::after{content:'';position:absolute;inset:-80% auto -80% -90%;width:45%;background:linear-gradient(90deg,transparent,#ffffff20,transparent);transform:rotate(25deg);animation:gift-shine 5s ease-in-out infinite;pointer-events:none}
.gift-spin svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gift-spin:hover{transform:translateY(-1px);box-shadow:0 7px 24px #f5295333}
.gift-spin:active{transform:translateY(0)}
.gift-spin:disabled{opacity:.6;cursor:default;transform:none}
.gift-spin:disabled::after{animation:none}
.gift-caption{font-size:11px;line-height:1.6;color:#90909e;margin:0;text-align:center;max-width:390px;text-wrap:balance}
.gift-result:not(.has-error),.gift-accessible-list{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gift-result.has-error{text-align:center;font-size:13px;color:#ff8da0;line-height:1.6;margin:20px auto 0;max-width:440px;padding:0 20px}
.gift-carousel button:focus-visible,.gift-reveal button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.gift-access-page{min-height:calc(100dvh - 180px);display:grid;align-items:center}
.gift-access-page .gift-carousel{width:100%;box-sizing:border-box;margin:24px auto;border:0;background:transparent}
.gift-reveal[open]{display:grid;place-items:center}
.gift-reveal{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:64px 24px 32px;overflow:auto;background:#090a0f;color:#f5f5f8;box-sizing:border-box}
.gift-reveal::backdrop{background:#090a0f}
.gift-reveal-close{position:fixed;right:20px;top:16px;width:44px;height:44px;font-size:29px;color:#999aa7;background:transparent;border:0;cursor:pointer}
.gift-reveal-content{width:100%;max-width:460px;text-align:center}
.gift-reveal-label{font-size:10px;letter-spacing:.15em;color:#999aa8}
.gift-reveal h2{font-size:clamp(32px,5vw,48px);letter-spacing:-.05em;margin:14px 0 24px;color:#ff4968}
.gift-reveal img{width:174px;height:232px;object-fit:contain;border-radius:8px;background:#111218}
.gift-now{font-size:13px;color:#9293a0;margin:20px 0 8px}
.gift-reveal h3{font-size:clamp(21px,4vw,28px);line-height:1.25;letter-spacing:-.02em;margin:0;text-wrap:balance}
.gift-reveal-instruction{font-size:15px;line-height:1.6;color:#dedee7;margin:20px 0 0}
.gift-proof{font-size:9px;letter-spacing:.02em;color:#888997;overflow-wrap:anywhere;margin:20px 0}
.gift-reveal-done{min-height:46px;min-width:160px;padding:12px 24px;border:1px solid #383a44;border-radius:8px;background:#15161d;color:#e6e6ed;font:inherit;font-size:12px;cursor:pointer}
@keyframes gift-shine{0%,65%{left:-90%}95%,100%{left:160%}}
@media(min-width:1500px){.gift-carousel{max-width:1320px}}
@media(max-width:1350px){.gift-carousel{margin-left:48px;margin-right:48px}.gift-access-page .gift-carousel{width:calc(100% - 96px)}}
@media(max-width:1050px){.gift-carousel{margin-left:30px;margin-right:30px}.gift-access-page .gift-carousel{width:calc(100% - 60px)}}
@media(max-width:700px){.gift-carousel{margin:32px 20px 24px;padding:30px 0 26px}.gift-heading{padding:0 8px}.gift-eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:14px}.gift-heading h1,.gift-heading h2{font-size:clamp(25px,7vw,36px)}.gift-intro{font-size:12px;max-width:270px;margin:12px auto 0;text-wrap:balance}.gift-window{height:270px;margin:24px -8px 20px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.gift-track{gap:10px}.gift-card{width:136px;flex-basis:136px;padding:7px}.gift-poster{height:166px}.gift-card>span{text-align:center;font-size:11px;margin:10px 2px 4px;height:31px}.gift-actions{padding:0 14px;gap:12px}.gift-spin{width:100%;max-width:310px;min-height:52px}.gift-caption{font-size:10px;max-width:270px}.gift-access-page .gift-carousel{width:calc(100% - 32px);margin:12px auto}.gift-reveal{padding:62px 22px 24px}.gift-reveal img{width:150px;height:200px}.gift-reveal h2{margin:12px 0 20px}.gift-reveal-instruction{font-size:14px}.gift-proof{font-size:8px}}
@media(max-height:720px){.gift-reveal img{height:160px;width:120px}.gift-reveal h2{font-size:32px;margin:10px 0 16px}.gift-now{margin-top:14px}.gift-proof{margin:14px 0}}
@media(prefers-reduced-motion:reduce){.gift-track{will-change:auto}.gift-spin{transition:none}.gift-spin::after{animation:none}}
