/* Marketing gamification wheel */
.mk-wheel{--mkw-a:#031a2d;--mkw-b:#2bf9fe;font-family:inherit}
.mk-wheel-launch{position:fixed;left:12px;bottom:140px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:999px;background:#031a2d;color:#fff;font:600 15px/1 inherit;box-shadow:0 10px 28px rgba(3,26,45,.3);cursor:pointer;animation:mkw-bob 2.6s ease-in-out infinite}
.mk-wheel-launch span{font-size:18px}
.mk-wheel.is-done .mk-wheel-launch{animation:none}
@keyframes mkw-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.mk-wheel-dlg{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:rgba(3,26,45,.6);backdrop-filter:blur(3px)}
.mk-wheel-dlg[hidden]{display:none}
.mk-wheel-card{position:relative;width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:24px;padding:28px 22px 22px;text-align:center;box-shadow:0 30px 80px rgba(3,26,45,.35)}
.mk-wheel-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#eef4f8;color:#031a2d;font-size:22px;line-height:1;cursor:pointer}
.mk-wheel-copy h2{margin:0 0 8px;font-size:1.5rem;line-height:1.2;color:#031a2d}
.mk-wheel-copy p{margin:0 0 18px;color:#4a5d70;line-height:1.5}
.mk-wheel-stage{position:relative;width:min(300px,78vw);aspect-ratio:1;margin:0 auto}
.mk-wheel-disc{position:absolute;inset:0;border-radius:50%;border:8px solid #031a2d;box-shadow:0 0 0 4px #2bf9fe,0 14px 30px rgba(3,26,45,.25);transition:transform 5s cubic-bezier(.17,.67,.12,1)}
.mk-wheel-label{position:absolute;left:50%;top:0;width:0;height:50%;transform-origin:50% 100%}
.mk-wheel-label b{position:absolute;top:14%;left:50%;transform:translateX(-50%) rotate(0);color:#031a2d;font-size:15px;font-weight:800;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;transform:translateX(-50%) rotate(180deg)}
.mk-wheel-label.alt b{color:#2bf9fe}
.mk-wheel-pin{position:absolute;top:-10px;left:50%;z-index:2;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:26px solid #ff4d6d;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}
.mk-wheel-spin{position:absolute;top:50%;left:50%;z-index:2;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;border:4px solid #2bf9fe;background:#031a2d;color:#fff;font:800 15px/1 inherit;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.mk-wheel-spin:disabled{cursor:default;opacity:.9}
.mk-wheel-result{margin-top:18px;padding:16px;border-radius:16px;background:#eafcff;animation:mkw-in .5s ease}
.mk-wheel-won{margin:0;color:#4a5d70}
.mk-wheel-amount{display:block;margin:4px 0 8px;font-size:2.4rem;line-height:1;color:#031a2d}
.mk-wheel-code{margin:0 0 6px;color:#031a2d}
.mk-wheel-code b{display:inline-block;padding:4px 10px;border:2px dashed #031a2d;border-radius:8px;letter-spacing:.06em}
.mk-wheel-note{margin:0 0 12px;font-size:13px;color:#4a5d70}
.mk-wheel-cta{display:inline-flex;padding:12px 20px;border-radius:12px;background:#031a2d;color:#fff!important;font-weight:700;text-decoration:none}
.mk-wheel-terms{margin:14px 0 0;font-size:12px;color:#7a8b9b;line-height:1.4}
@keyframes mkw-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mk-wheel-launch{animation:none}.mk-wheel-disc{transition-duration:.01s}}
@media(min-width:900px){.mk-wheel-launch{bottom:24px;left:24px}}
/* Bigger wheel, pulse, gift-burst entrance */
.mk-wheel-card{width:min(520px,100%);overflow:visible;padding-top:44px}
.mk-wheel-dlg:not([hidden]) .mk-wheel-card{animation:mkw-pop .75s cubic-bezier(.2,1.6,.4,1) both}
.mk-wheel-card::before{content:"🎁";position:absolute;top:-34px;left:50%;font-size:58px;line-height:1;transform:translateX(-50%);filter:drop-shadow(0 8px 12px rgba(3,26,45,.3));pointer-events:none}
.mk-wheel-dlg:not([hidden]) .mk-wheel-card::before{animation:mkw-gift 1.1s ease-out both,mkw-giftbob 2.4s ease-in-out 1.1s infinite}
.mk-wheel-card::after{content:"";position:absolute;top:0;left:50%;width:10px;height:10px;border-radius:50%;pointer-events:none;opacity:0;
 box-shadow:-120px -40px #2bf9fe,110px -60px #ff4d6d,-70px -110px #ffd166,80px -120px #2bf9fe,-160px 20px #ff4d6d,170px 10px #ffd166,-30px -150px #ff4d6d,40px -90px #ffd166,-200px -80px #2bf9fe,200px -90px #2bf9fe}
.mk-wheel-dlg:not([hidden]) .mk-wheel-card::after{animation:mkw-confetti 1.2s ease-out .25s both}
.mk-wheel-stage{width:min(400px,84vw)}
.mk-wheel-stage::before{content:"";position:absolute;inset:-6px;border-radius:50%;box-shadow:0 0 0 0 rgba(43,249,254,.7);animation:mkw-pulse 1.8s ease-out infinite;pointer-events:none}
.mk-wheel-spin{width:92px;height:92px;font-size:17px;animation:mkw-btn 1.4s ease-in-out infinite}
.mk-wheel.is-done .mk-wheel-stage::before,.mk-wheel.is-done .mk-wheel-spin,.mk-wheel-spin:disabled{animation:none}
@keyframes mkw-pop{0%{opacity:0;transform:translateY(60px) scale(.3) rotate(-6deg)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes mkw-gift{0%{transform:translate(-50%,120px) scale(.2) rotate(-30deg);opacity:0}55%{transform:translate(-50%,-30px) scale(1.3) rotate(12deg);opacity:1}100%{transform:translateX(-50%) scale(1) rotate(0)}}
@keyframes mkw-giftbob{0%,100%{transform:translateX(-50%) rotate(-6deg)}50%{transform:translate(-50%,-6px) rotate(6deg)}}
@keyframes mkw-confetti{0%{opacity:1;transform:translate(-50%,40px) scale(.2)}100%{opacity:0;transform:translate(-50%,0) scale(1.4)}}
@keyframes mkw-pulse{0%{box-shadow:0 0 0 0 rgba(43,249,254,.7)}100%{box-shadow:0 0 0 28px rgba(43,249,254,0)}}
@keyframes mkw-btn{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.mk-wheel-card,.mk-wheel-card::before,.mk-wheel-card::after,.mk-wheel-stage::before,.mk-wheel-spin{animation:none!important}}
@media(min-width:900px){.mk-wheel-launch{bottom:84px;left:20px}}
/* Always-on animated gift on the launcher */
.mk-wheel-launch span{display:inline-block;font-size:26px;line-height:1;transform-origin:50% 90%;animation:mkw-shake 1.6s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(43,249,254,.6))}
.mk-wheel-launch{box-shadow:0 10px 28px rgba(3,26,45,.3),0 0 0 0 rgba(43,249,254,.6);animation:mkw-bob 2.6s ease-in-out infinite,mkw-ring 2s ease-out infinite}
.mk-wheel.is-done .mk-wheel-launch span{animation:mkw-shake 1.6s ease-in-out infinite}
@keyframes mkw-shake{0%,55%,100%{transform:rotate(0) scale(1)}62%{transform:rotate(-16deg) scale(1.15)}70%{transform:rotate(14deg) scale(1.2) translateY(-3px)}78%{transform:rotate(-10deg) scale(1.15)}86%{transform:rotate(6deg) scale(1.05)}}
@keyframes mkw-ring{0%{box-shadow:0 10px 28px rgba(3,26,45,.3),0 0 0 0 rgba(43,249,254,.6)}100%{box-shadow:0 10px 28px rgba(3,26,45,.3),0 0 0 16px rgba(43,249,254,0)}}
@media (prefers-reduced-motion:reduce){.mk-wheel-launch,.mk-wheel-launch span{animation:none!important}}
.mk-wheel-retry{border:0;cursor:pointer;font:inherit;font-weight:800;background:linear-gradient(135deg,#031a2d,#0b4a7a);box-shadow:0 0 0 0 rgba(43,249,254,.6);animation:mkw-ring 1.8s ease-out infinite}
.mk-wheel-keep{display:block;margin:10px auto 0;border:0;background:none;color:#4a6378;text-decoration:underline;font:inherit;font-size:14px;cursor:pointer}
/* Always fit the viewport: wheel scales with screen height, shrinks after the result; overlay scrolls as a last resort. */
.mk-wheel-dlg{overflow-y:auto;place-items:safe center;padding:40px 16px 16px}
.mk-wheel-card{max-height:none}
.mk-wheel-stage{width:min(400px,84vw,calc(100dvh - 300px));min-width:200px;transition:width .5s ease}
.mk-wheel.is-result .mk-wheel-stage{width:min(260px,62vw,calc(100dvh - 500px));min-width:150px}
.mk-wheel.is-result .mk-wheel-spin{width:60px;height:60px;font-size:13px}
.mk-wheel.is-result .mk-wheel-result{margin-top:14px;padding:14px}
/* Mobile: launcher sits in the same row as the "Aa" text-size button. */
@media(max-width:899px){.mk-wheel-launch{left:66px;bottom:88px;height:43px;padding:0 14px 0 10px;font-size:14px;gap:6px}.mk-wheel-launch span{font-size:20px}}
