/* MARATHON WHEEL — widget Marathonbet
   Palette: blu notte del sito + arancio Marathonbet + oro "casino". I colori arrivano dal
   backoffice (Design Widget) tramite le variabili --mw__*. */
.mw__shell{
  --mw__bg:#0B1220; --mw__surface:#16233A; --mw__surface2:#2D3844;
  --mw__primary:#F58D47; --mw__secondary:#29D17D; --mw__tertiary:#FFC23E; --mw__muted:#8FA5C2;
  --mw__text:#F4F7FB; --mw__gold-hi:#FFF3C4; --mw__gold-lo:#B5730E;
  --mw__f-disp:'Luckiest Guy','Baloo 2',Impact,'Arial Black',sans-serif;
  --mw__f-body:'Baloo 2',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  position:relative; min-height:100vh; overflow:hidden; isolation:isolate;
  background:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb,var(--mw__surface) 85%,#3b1d6e) 0%, var(--mw__bg) 62%);
  color:var(--mw__text); font-family:var(--mw__f-body); color-scheme:dark;
  display:flex; flex-direction:column; align-items:center;
  padding:18px max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px));
  box-sizing:border-box; -webkit-tap-highlight-color:transparent;
}
.mw__shell *,.mw__shell *::before,.mw__shell *::after{box-sizing:border-box}
html,body{margin:0;background:#0B1220}

/* ---------- Atmosfera ---------- */
.mw__bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.mw__bg-rays{position:absolute;left:50%;top:38%;width:1800px;height:1800px;margin:-900px 0 0 -900px;
  background:repeating-conic-gradient(from 0deg, rgba(255,194,62,.07) 0 6deg, transparent 6deg 18deg);
  -webkit-mask:radial-gradient(circle, #000 0 18%, transparent 55%); mask:radial-gradient(circle, #000 0 18%, transparent 55%);
  animation:mwSpinSlow 80s linear infinite}
.mw__bg-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.mw__orb-a{width:420px;height:420px;left:-120px;top:20%;background:color-mix(in srgb,var(--mw__primary) 70%,transparent);animation:mwFloat 14s ease-in-out infinite}
.mw__orb-b{width:380px;height:380px;right:-140px;top:55%;background:#5b2bd6;animation:mwFloat 17s ease-in-out infinite reverse}
.mw__bg-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff;opacity:0;animation:mwTwinkle var(--d,3s) ease-in-out var(--w,0s) infinite}
.mw__fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}

/* ---------- Testata ---------- */
.mw__head{position:relative;width:100%;max-width:1040px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;z-index:2}
.mw__logo{max-height:38px;max-width:180px;margin-bottom:4px}
.mw__title{margin:0;font-family:var(--mw__f-disp);font-weight:400;letter-spacing:.04em;line-height:1;
  font-size:clamp(34px,7.4vw,64px);text-wrap:balance;position:relative;
  background:linear-gradient(180deg,var(--mw__gold-hi) 0%,var(--mw__tertiary) 45%,var(--mw__gold-lo) 52%,var(--mw__tertiary) 75%,var(--mw__gold-hi) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 0 #6b3a05) drop-shadow(0 8px 18px rgba(0,0,0,.55));
  animation:mwTitleIn .9s cubic-bezier(.2,1.6,.4,1) both}
.mw__title::after{content:attr(data-text);position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.95) 50%,transparent 60%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:mwShine 4.5s ease-in-out 1.2s infinite}
.mw__sub{margin:6px 0 0;color:var(--mw__muted);font-size:clamp(14px,2.4vw,17px);font-weight:600;text-wrap:balance;animation:mwFadeUp .7s .25s both}
.mw__tools{position:absolute;right:0;top:0;display:flex;gap:6px}
.mw__tool{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);color:var(--mw__text);font:700 13px/1 var(--mw__f-body);cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,transform .2s}
.mw__tool em{font-style:normal}
.mw__tool:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.mw__tool:focus-visible,.mw__go:focus-visible,.mw__redeem:focus-visible,.mw__x:focus-visible,.mw__copy:focus-visible{outline:3px solid var(--mw__tertiary);outline-offset:2px}

/* ---------- Palco ---------- */
.mw__stage{flex:1;width:100%;max-width:1040px;display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,56px);padding:14px 0 6px;z-index:1}
.mw__wheel-box{--size:min(640px,94vw,calc(100vh - 150px));position:relative;width:var(--size);height:var(--size);min-width:280px;min-height:280px;flex:none;
  animation:mwWheelIn 1.1s cubic-bezier(.2,1.3,.35,1) .1s both}
.mw__glow{position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--mw__primary) 32%,transparent) 0%,rgba(91,43,214,.18) 45%,transparent 70%);pointer-events:none}
.mw__halo{position:absolute;inset:-14%;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 10deg,rgba(255,194,62,.35) 10deg 14deg,transparent 14deg 30deg);
  -webkit-mask:radial-gradient(circle,transparent 46%,#000 50%,transparent 72%);mask:radial-gradient(circle,transparent 46%,#000 50%,transparent 72%);
  animation:mwSpinSlow 30s linear infinite}
.mw__disc,.mw__rim{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mw__disc{will-change:transform;filter:drop-shadow(0 0 0 transparent)}
.mw__rim{pointer-events:none}
.mw__seg-txt{font-family:var(--mw__f-disp);fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:3px;stroke-linejoin:round}
.mw__seg-lab{font-family:var(--mw__f-body);font-weight:800;fill:#fff;letter-spacing:.06em;opacity:.92}
.mw__seg-ico{font-size:30px}

/* Lampadine del bordo */
.mw__bulb{fill:#FFF6D6;animation:mwBulb 1.2s steps(1,end) infinite;animation-delay:calc(var(--i) * -0.1s)}
.mw__bulb:nth-of-type(even){animation-name:mwBulbAlt}
.mw__shell.mw__spinning .mw__bulb{animation-duration:.36s;animation-delay:calc(var(--i) * -0.03s)}
.mw__shell.mw__winning .mw__bulb{animation:mwBulbFlash .22s steps(1,end) infinite}

/* Indicatore */
.mw__pointer{position:absolute;left:50%;top:-4.5%;width:11%;margin-left:-5.5%;transform-origin:50% 33%;z-index:4;filter:drop-shadow(0 6px 6px rgba(0,0,0,.55))}
.mw__pointer svg{display:block;width:100%;height:auto}
.mw__shell:not(.mw__spinning) .mw__pointer{animation:mwBob 2.2s ease-in-out infinite}

/* Centro: SPIN */
.mw__hub{position:absolute;left:50%;top:50%;width:27%;height:27%;transform:translate(-50%,-50%);border-radius:50%;border:0;padding:0;cursor:pointer;z-index:5;background:none;
  -webkit-tap-highlight-color:transparent}
.mw__hub-ring{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 210deg,var(--mw__gold-hi),var(--mw__tertiary),var(--mw__gold-lo),var(--mw__tertiary),var(--mw__gold-hi),var(--mw__gold-lo),var(--mw__gold-hi));
  box-shadow:0 0 0 3px #6b3a05,0 10px 24px rgba(0,0,0,.6),inset 0 0 8px rgba(0,0,0,.5)}
.mw__hub-core{position:absolute;inset:11%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 28%,#FFD2B0 0%,var(--mw__primary) 32%,#C2410C 70%,#7C2D12 100%);
  box-shadow:inset 0 -6px 12px rgba(0,0,0,.45),inset 0 5px 10px rgba(255,255,255,.45);overflow:hidden;transition:transform .15s}
.mw__hub-core::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);background-size:300% 100%;animation:mwShine 2.6s ease-in-out infinite}
.mw__hub-lbl{font-family:var(--mw__f-disp);font-size:calc(var(--size) * .072);line-height:1;color:#fff;text-shadow:0 3px 0 #7C2D12,0 0 14px rgba(255,255,255,.5);letter-spacing:.03em}
.mw__hub-sub:empty{display:none}
.mw__hub-sub{font-weight:800;font-size:calc(var(--size) * .024);letter-spacing:.18em;color:#FFE9D6;margin-top:2px}
.mw__shell.mw__can-spin .mw__hub{animation:mwHubPulse 1.6s ease-in-out infinite}
.mw__hub:hover .mw__hub-core{transform:scale(1.05)}
.mw__hub:active .mw__hub-core{transform:scale(.94)}
.mw__hub:focus-visible{outline:4px solid #fff;outline-offset:4px}
.mw__shell.mw__spinning .mw__hub,.mw__shell.mw__used .mw__hub{cursor:default;animation:none}
.mw__shell.mw__used .mw__hub-core{background:radial-gradient(circle at 35% 28%,#9fb1c9 0%,#4b5d78 45%,#1f2a3c 100%)}
.mw__shell.mw__used .mw__hub-lbl{font-size:calc(var(--size) * .05);text-shadow:0 2px 0 #111827}
.mw__shell.mw__used .mw__hub-sub:empty{display:none}
.mw__hub-sub{font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:calc(var(--size) * .028)}

/* ---------- Pannello ---------- */
.mw__panel{width:min(380px,100%);display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:22px;
  background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 50px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(14px);animation:mwFadeUp .8s .45s both}
.mw__chip{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700;
  background:color-mix(in srgb,var(--mw__secondary) 16%,transparent);color:var(--mw__secondary);border:1px solid color-mix(in srgb,var(--mw__secondary) 40%,transparent)}
.mw__chip-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:mwPing 1.6s infinite}
.mw__chip.mw__off{background:rgba(255,255,255,.07);color:var(--mw__muted);border-color:rgba(255,255,255,.12)}
.mw__chip.mw__off .mw__chip-dot{animation:none}
.mw__lbl{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mw__muted);margin-bottom:6px}
.mw__input-row{display:flex;gap:8px}
.mw__input{flex:1;min-width:0;height:48px;padding:0 14px;border-radius:14px;border:2px solid rgba(255,255,255,.14);background:rgba(4,8,18,.55);color:var(--mw__text);
  font:600 16px var(--mw__f-body);outline:none;transition:border-color .2s,box-shadow .2s}
.mw__input::placeholder{color:color-mix(in srgb,var(--mw__muted) 75%,transparent)}
.mw__input:focus{border-color:var(--mw__tertiary);box-shadow:0 0 0 4px color-mix(in srgb,var(--mw__tertiary) 25%,transparent)}
.mw__input.mw__shake{animation:mwShake .45s;border-color:#ff5a6e}
.mw__go{height:48px;padding:0 18px;border:0;border-radius:14px;cursor:pointer;font:400 20px/1 var(--mw__f-disp);letter-spacing:.04em;color:#3b1d00;
  background:linear-gradient(180deg,var(--mw__gold-hi),var(--mw__tertiary) 55%,var(--mw__gold-lo));box-shadow:0 4px 0 #7a4a06,0 10px 20px rgba(0,0,0,.35);transition:transform .12s,box-shadow .12s}
.mw__go:active{transform:translateY(3px);box-shadow:0 1px 0 #7a4a06}
.mw__shell.mw__spinning .mw__go,.mw__shell.mw__used .mw__go{opacity:.45;pointer-events:none}
.mw__hello{font-size:15px;color:var(--mw__text);line-height:1.45}
.mw__hello strong{color:var(--mw__tertiary)}
.mw__err{min-height:0;font-size:14px;font-weight:700;color:#ff8a98}
.mw__err:empty{display:none}
.mw__done{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:rgba(4,8,18,.5);border:1px solid rgba(255,194,62,.35)}
.mw__done[hidden]{display:none}
.mw__done-ico{font-size:30px;width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--mw__tertiary) 35%,transparent),transparent 70%)}
.mw__done-ico img{width:34px;height:34px;object-fit:contain}
.mw__done-txt{flex:1;min-width:0;font-size:13px;color:var(--mw__muted);line-height:1.35}
.mw__done-txt b{display:block;font:400 20px/1.1 var(--mw__f-disp);color:var(--mw__tertiary);letter-spacing:.02em}
.mw__done-btn{flex:none;border:0;border-radius:12px;padding:10px 12px;cursor:pointer;font:800 13px var(--mw__f-body);letter-spacing:.06em;color:#fff;background:var(--mw__primary)}
.mw__done-btn.mw__ok{background:rgba(41,209,125,.18);color:var(--mw__secondary)}
.mw__demo-reset{align-self:center;background:none;border:1px dashed rgba(255,255,255,.25);color:var(--mw__muted);border-radius:999px;padding:6px 12px;font:600 12px var(--mw__f-body);cursor:pointer}
.mw__foot{font-size:11px;color:color-mix(in srgb,var(--mw__muted) 75%,transparent);text-align:center;padding-top:6px;z-index:1}

/* ---------- Vincita ---------- */
.mw__win{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));
  background:radial-gradient(circle at 50% 45%,rgba(60,24,110,.82),rgba(3,6,14,.94) 70%);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.mw__win.mw__show{opacity:1;visibility:visible;transition:opacity .45s}
.mw__win-rays{position:absolute;left:50%;top:42%;width:1600px;height:1600px;margin:-800px 0 0 -800px;
  background:repeating-conic-gradient(from 0deg,rgba(255,214,102,.22) 0 7deg,transparent 7deg 20deg);
  -webkit-mask:radial-gradient(circle,#000 0 10%,transparent 48%);mask:radial-gradient(circle,#000 0 10%,transparent 48%);
  animation:mwSpinSlow 18s linear infinite;opacity:0;transition:opacity 1s .2s}
.mw__win.mw__show .mw__win-rays{opacity:1}
.mw__win-shock{position:absolute;left:50%;top:45%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:6px solid var(--mw__tertiary);opacity:0}
.mw__win.mw__show .mw__win-shock{animation:mwShock 1.1s cubic-bezier(.1,.7,.3,1) .1s}
.mw__win-card{position:relative;width:min(400px,100%);padding:56px 24px 22px;border-radius:28px;text-align:center;
  background:linear-gradient(180deg,color-mix(in srgb,var(--mw__surface) 92%,#5b2bd6) 0%,var(--mw__bg) 100%);
  border:2px solid transparent;background-clip:padding-box;box-shadow:0 0 0 2px rgba(255,194,62,.65),0 0 60px rgba(255,194,62,.35),0 30px 80px rgba(0,0,0,.6);
  transform:scale(.3) rotate(-8deg);opacity:0}
.mw__win.mw__show .mw__win-card{animation:mwCardIn .9s cubic-bezier(.2,1.5,.4,1) .15s forwards}
.mw__medal{position:absolute;left:50%;top:-58px;width:116px;height:116px;margin-left:-58px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,var(--mw__gold-hi),var(--mw__tertiary) 45%,var(--mw__gold-lo));box-shadow:0 0 0 5px rgba(0,0,0,.35),0 0 40px rgba(255,194,62,.8)}
.mw__medal-ring{position:absolute;inset:-14px;border-radius:50%;border:3px dashed rgba(255,230,160,.8);animation:mwSpinSlow 6s linear infinite}
.mw__medal-ico{font-size:58px;line-height:1;filter:drop-shadow(0 4px 4px rgba(0,0,0,.4));transform:scale(0)}
.mw__medal-ico img{width:68px;height:68px;object-fit:contain}
.mw__win.mw__show .mw__medal-ico{animation:mwPop .7s cubic-bezier(.2,1.8,.4,1) .7s forwards}
.mw__win-title{font-family:var(--mw__f-disp);font-size:clamp(38px,10vw,52px);line-height:1;letter-spacing:.03em;margin:6px 0 4px;color:#fff;text-shadow:0 4px 0 #7C2D12,0 0 24px rgba(245,141,71,.9)}
.mw__win-title span{display:inline-block;opacity:0;transform:translateY(-60px) scale(.4)}
.mw__win.mw__show .mw__win-title span{animation:mwLetter .6s cubic-bezier(.2,1.8,.4,1) forwards;animation-delay:calc(.55s + var(--i) * .06s)}
.mw__win-prize{display:flex;flex-direction:column;align-items:center;gap:2px;margin:8px 0 6px;opacity:0}
.mw__win.mw__show .mw__win-prize{animation:mwZoom .8s cubic-bezier(.2,1.6,.4,1) 1.1s forwards}
.mw__win-val{font-family:var(--mw__f-disp);font-size:clamp(56px,16vw,84px);line-height:.95;
  background:linear-gradient(180deg,var(--mw__gold-hi),var(--mw__tertiary) 50%,var(--mw__gold-lo) 56%,var(--mw__tertiary));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 0 #6b3a05) drop-shadow(0 0 22px rgba(255,194,62,.6));animation:mwGlow 1.8s ease-in-out infinite}
.mw__win-lab{font-weight:800;letter-spacing:.2em;font-size:15px;color:var(--mw__text)}
.mw__win-desc{margin:4px auto 14px;max-width:32ch;color:var(--mw__muted);font-size:15px;line-height:1.45;opacity:0}
.mw__win.mw__show .mw__win-desc,.mw__win.mw__show .mw__code,.mw__win.mw__show .mw__next{animation:mwFadeUp .6s 1.45s forwards}
.mw__code{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:10px 12px;border-radius:14px;border:1.5px dashed rgba(255,194,62,.55);background:rgba(0,0,0,.25);opacity:0}
.mw__code[hidden]{display:none}
.mw__code-lbl{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mw__muted)}
.mw__code-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.mw__code-val{font:700 20px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;color:#fff;user-select:all;word-break:break-all}
.mw__copy{border:0;border-radius:10px;padding:7px 12px;cursor:pointer;font:800 12px var(--mw__f-body);letter-spacing:.06em;background:rgba(255,255,255,.12);color:#fff}
.mw__redeem{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:60px;border-radius:18px;text-decoration:none;overflow:hidden;
  font:400 26px/1 var(--mw__f-disp);letter-spacing:.06em;color:#fff;text-shadow:0 2px 0 #7C2D12;
  background:linear-gradient(180deg,#FFB27A 0%,var(--mw__primary) 45%,#C2410C 100%);box-shadow:0 6px 0 #7C2D12,0 14px 30px rgba(245,141,71,.55);
  opacity:0;transform:translateY(20px)}
.mw__win.mw__show .mw__redeem{animation:mwRedeemIn .7s cubic-bezier(.2,1.6,.4,1) 1.7s forwards,mwRedeemPulse 1.4s ease-in-out 2.6s infinite}
.mw__redeem::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:mwSweep 2.2s ease-in-out 2.2s infinite}
.mw__redeem:active{transform:translateY(4px)!important;box-shadow:0 2px 0 #7C2D12}
.mw__redeem.mw__ok{background:linear-gradient(180deg,#5BE7A1,#18a35f);box-shadow:0 6px 0 #0b5a33,0 14px 30px rgba(41,209,125,.4);text-shadow:0 2px 0 #0b5a33}
.mw__next{margin-top:14px;font-size:13px;color:var(--mw__muted);opacity:0}
.mw__cd{color:var(--mw__text);font-variant-numeric:tabular-nums}
.mw__x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.3);color:#fff;font-size:15px;cursor:pointer;z-index:2}

/* ---------- Modali ---------- */
.mw__modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));
  background:rgba(3,6,14,.8);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.mw__modal.mw__show{opacity:1;visibility:visible;transition:opacity .3s}
.mw__modal-box{position:relative;width:min(560px,100%);max-height:calc(100% - 20px);overflow:auto;padding:24px 20px 20px;border-radius:24px;background:var(--mw__surface);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(30px) scale(.96);transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.mw__modal.mw__show .mw__modal-box{transform:none}
.mw__modal-ttl{margin:0 44px 16px 0;font:400 28px/1 var(--mw__f-disp);letter-spacing:.03em;color:var(--mw__tertiary)}
.mw__prize-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.mw__prize{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 45%,#000));border:1px solid rgba(255,255,255,.12)}
.mw__prize-ico{font-size:26px;width:34px;text-align:center;flex:none}
.mw__prize-ico img{width:30px;height:30px;object-fit:contain}
.mw__prize b{display:block;font:400 20px/1 var(--mw__f-disp);color:#fff}
.mw__prize small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.85)}
.mw__rc{color:var(--mw__text);font-size:15px;line-height:1.6;max-width:65ch}
.mw__rc a{color:var(--mw__tertiary)}

/* ---------- Immagine premio, toast, embed, anteprima ---------- */
.mw__win-img{display:block;width:min(230px,62vw);height:auto;aspect-ratio:1;object-fit:contain;margin:10px auto 6px;border-radius:20px;opacity:0;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(255,194,62,.45))}
.mw__win-img[hidden]{display:none}
.mw__win.mw__show .mw__win-img{animation:mwZoom .8s cubic-bezier(.2,1.6,.4,1) 1.1s forwards}
.mw__win-val[hidden],.mw__win-lab[hidden]{display:none}
.mw__toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:80;max-width:min(440px,calc(100% - 32px));
  transform:translate(-50%,30px);opacity:0;pointer-events:none;padding:12px 18px;border-radius:14px;font-weight:700;font-size:14px;line-height:1.35;text-align:center;
  background:rgba(4,8,18,.92);color:var(--mw__text);border:1px solid color-mix(in srgb,var(--mw__secondary) 55%,transparent);box-shadow:0 14px 40px rgba(0,0,0,.5);transition:opacity .3s,transform .3s}
.mw__toast.mw__show{opacity:1;transform:translate(-50%,0)}
.mw__shell.mw__embed{min-height:0;padding-top:12px}
.mw__shell.mw__embed .mw__wheel-box{--size:min(560px,92vw)}
/* Ruota pubblica nella landing: solo la ruota, grande, centrata e su sfondo trasparente */
html.mw-solo,html.mw-solo body{background:transparent}
html.mw-solo-demo,html.mw-solo-demo body{background:#EEF1F5}
.mw__shell.mw__solo{min-height:0;background:none;padding:calc(min(720px,100vw - 16px) * .06) 8px 8px;overflow:visible}
.mw__shell.mw__solo .mw__bg,.mw__shell.mw__solo .mw__head,.mw__shell.mw__solo .mw__panel,.mw__shell.mw__solo .mw__foot,
.mw__shell.mw__solo .mw__glow,.mw__shell.mw__solo .mw__halo{display:none}
.mw__shell.mw__solo .mw__stage{padding:0;flex:none}
.mw__shell.mw__solo .mw__wheel-box{--size:min(720px,calc(100vw - 16px));min-width:0;min-height:0}
html.mw-solo-demo .mw__shell.mw__solo{min-height:100vh;justify-content:center}
html.mw-solo-demo .mw__shell.mw__solo .mw__wheel-box{--size:min(720px,calc(100vw - 16px),calc(100vh - 110px))}
.mw__shell.mw__solo .mw__demo{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:40;width:max-content;max-width:calc(100% - 20px);
  background:rgba(11,18,32,.88);border-radius:16px;padding:8px 12px}
/* modale aperto dentro l'iframe (embed.js lo porta a tutto schermo): si vede solo il modale sopra la landing */
.mw__shell.mw__embed.mw__winopen{background:none}
.mw__shell.mw__embed.mw__winopen>:not(.mw__win):not(.mw__fx):not(.mw__toast){visibility:hidden}
/* ruota pubblica: niente "prossimo spin tra", il centro riapre il premio */
.mw__shell.mw__pub .mw__next{display:none}
.mw__shell.mw__pub.mw__used .mw__hub{cursor:pointer}
.mw__demo{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
.mw__demo[hidden]{display:none}
.mw__demo-now{width:100%;text-align:center;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mw__muted)}

/* ---------- Avvio ---------- */
.mw__booting .mw__wheel-box,.mw__booting .mw__panel{visibility:hidden}

/* ---------- Animazioni ---------- */
@keyframes mwSpinSlow{to{transform:rotate(360deg)}}
@keyframes mwFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-50px)}}
@keyframes mwTwinkle{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:.9;transform:scale(1)}}
@keyframes mwTitleIn{0%{opacity:0;transform:translateY(-30px) scale(.6)}100%{opacity:1;transform:none}}
@keyframes mwShine{0%{background-position:150% 0}60%,100%{background-position:-60% 0}}
@keyframes mwFadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes mwWheelIn{0%{opacity:0;transform:scale(.4) rotate(-120deg)}100%{opacity:1;transform:none}}
@keyframes mwBreath{0%,100%{opacity:.65;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}
@keyframes mwBulb{0%{opacity:1;filter:none}50%{opacity:.25}}
@keyframes mwBulbAlt{0%{opacity:.25}50%{opacity:1}}
@keyframes mwBulbFlash{0%{opacity:1;fill:#fff}50%{opacity:.2;fill:#FFC23E}}
@keyframes mwBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(0)}}
@keyframes mwHubPulse{0%,100%{transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 0 0 rgba(245,141,71,0))}50%{transform:translate(-50%,-50%) scale(1.06);filter:drop-shadow(0 0 18px rgba(245,141,71,.9))}}
@keyframes mwPing{0%{box-shadow:0 0 0 0 currentColor}80%,100%{box-shadow:0 0 0 8px transparent}}
@keyframes mwShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-9px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(4px)}}
@keyframes mwShock{0%{opacity:1;transform:scale(1);border-width:10px}100%{opacity:0;transform:scale(28);border-width:1px}}
@keyframes mwCardIn{0%{opacity:0;transform:scale(.3) rotate(-8deg)}60%{opacity:1}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes mwPop{0%{transform:scale(0) rotate(-40deg)}100%{transform:scale(1) rotate(0)}}
@keyframes mwLetter{to{opacity:1;transform:none}}
@keyframes mwZoom{0%{opacity:0;transform:scale(2.4)}100%{opacity:1;transform:scale(1)}}
@keyframes mwGlow{0%,100%{filter:drop-shadow(0 4px 0 #6b3a05) drop-shadow(0 0 14px rgba(255,194,62,.45))}50%{filter:drop-shadow(0 4px 0 #6b3a05) drop-shadow(0 0 30px rgba(255,214,102,.95))}}
@keyframes mwRedeemIn{to{opacity:1;transform:none}}
@keyframes mwRedeemPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes mwSweep{0%{left:-60%}55%,100%{left:130%}}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .mw__stage{flex-direction:column;gap:18px}
  .mw__wheel-box{--size:min(560px,94vw)}
  .mw__panel{width:min(460px,100%)}
}
@media (max-width:560px){
  .mw__tools{position:static;margin-top:10px}
  .mw__shell{padding-top:14px}
  .mw__win-card{padding-top:52px}
}
@media (prefers-reduced-motion:reduce){
  .mw__shell *,.mw__shell *::before,.mw__shell *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
