/* myWheel — roue de la fortune. Style Lady Pineapple (scopé .mw). */
.mw{--gold:#ffcd00;--gold2:#ffe27a;--pink:#ff5cae;--pink2:#ff8fc7;--violet:#c77dff;--violet2:#e0b3ff;--lime:#c6f24e;
  --bg:#100a14;--text:#f4ecf6;--muted:#c9b8d4;--line2:rgba(255,255,255,.14);--glass:rgba(255,255,255,.05);
  font-family:'Space Grotesk',system-ui,sans-serif;color:var(--text);text-align:center;position:relative}
.mw *{box-sizing:border-box}
.mw .mw-grad{background:linear-gradient(110deg,var(--pink),var(--violet2) 42%,var(--gold) 82%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mw-shine 6s linear infinite}
@keyframes mw-shine{to{background-position:220% center}}
.mw .mw-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(28px,5vw,52px);line-height:1;margin:0 0 22px}
.mw .mw-stage{position:relative;width:min(520px,92vw);aspect-ratio:1;margin:0 auto}
.mw .mw-canvas{width:100%;height:100%;display:block;border-radius:50%;
  box-shadow:0 0 0 10px rgba(255,255,255,.06),0 0 0 12px var(--line2),0 30px 70px rgba(0,0,0,.5),0 0 60px rgba(255,92,174,.28)}
.mw .mw-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);z-index:4;width:0;height:0;
  border-left:16px solid transparent;border-right:16px solid transparent;border-top:30px solid var(--gold);
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.mw .mw-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:26%;aspect-ratio:1;border-radius:50%;cursor:pointer;border:3px solid rgba(255,255,255,.6);
  background:linear-gradient(135deg,var(--gold),var(--pink),var(--violet));background-size:200% auto;
  box-shadow:0 10px 26px rgba(255,92,174,.45);transition:transform .15s;animation:mw-shine 5s linear infinite}
.mw .mw-hub:hover{transform:translate(-50%,-50%) scale(1.06)}
.mw .mw-hub:active{transform:translate(-50%,-50%) scale(.97)}
.mw .mw-hub-in{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#2a0d1e}
.mw .mw-hub-in i{font-style:normal;font-size:clamp(18px,3.4vw,30px);line-height:1}
.mw .mw-hub-in b{font-family:'Syne';font-weight:800;font-size:clamp(11px,1.7vw,15px);letter-spacing:.02em}
.mw.spinning .mw-hub{pointer-events:none;filter:saturate(.85)}
.mw.mw-done .mw-hub,.mw.mw-done .mw-spin{pointer-events:none;opacity:.5;filter:grayscale(.4);cursor:not-allowed}
.mw .mw-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px;margin-bottom:20px}
.mw .mw-close{display:none}
.mw .mw-btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border:0;border-radius:14px;cursor:pointer;font-family:'Syne';font-weight:700;font-size:16px;
  color:#2a0d1e;background:linear-gradient(135deg,var(--gold),var(--pink),var(--violet));background-size:200% auto;box-shadow:0 14px 34px rgba(255,92,174,.4);animation:mw-shine 5s linear infinite;transition:transform .18s}
.mw .mw-btn:hover{transform:translateY(-3px)}
.mw .mw-btn.mw-ghost{color:var(--text);background:var(--glass);border:1px solid var(--line2);animation:none}
.mw .mw-btn.mw-ghost:hover{border-color:var(--pink)}
.mw .mw-result{margin:24px auto 20px;max-width:520px;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}
.mw .mw-result:not([hidden]){opacity:1;transform:none}
.mw .mw-result-in{display:inline-block;font-family:'Syne';font-weight:800;font-size:clamp(22px,3.6vw,34px);line-height:1.22;padding:16px 26px;border-radius:16px;
  color:#2a0d1e;background:linear-gradient(135deg,var(--gold),var(--pink));box-shadow:0 16px 40px rgba(255,92,174,.4);animation:mw-pop .5s cubic-bezier(.2,.9,.25,1.3)}
@keyframes mw-pop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
/* ===== Modale plein écran : exactement 100vw x 100vh, rien ne dépasse ===== */
body.mw-modal-lock{overflow:hidden}
.mw.mw--modal{position:fixed;inset:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;z-index:2147483000;margin:0;padding:20px;overflow:hidden;
  background:rgba(14,9,18,.5);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);backdrop-filter:blur(22px) saturate(1.15);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,2.4vh,28px)}
.mw.mw--modal .mw-title{font-size:clamp(20px,3.4vw,38px);margin:0}
.mw.mw--modal .mw-stage{width:min(54vh,84vw);margin:0}
.mw.mw--modal .mw-actions{margin:0 0 20px}
.mw.mw--modal .mw-result{margin:0 0 20px}
.mw.mw--modal .mw-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:14px;right:14px;z-index:6;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:var(--glass);color:var(--text);font-size:20px;line-height:1;cursor:pointer;transition:border-color .15s,transform .15s}
.mw.mw--modal .mw-close:hover{border-color:var(--pink);transform:scale(1.06)}

/* ===== Animation de gain renforcée ===== */
.mw.mw-win .mw-canvas{animation:mw-winglow 1.5s ease}
@keyframes mw-winglow{
  0%{box-shadow:0 0 0 10px rgba(255,255,255,.06),0 0 0 12px var(--line2),0 30px 70px rgba(0,0,0,.5),0 0 60px rgba(255,92,174,.28)}
  40%{box-shadow:0 0 0 10px rgba(255,255,255,.16),0 0 0 12px var(--gold),0 30px 90px rgba(0,0,0,.5),0 0 130px rgba(255,205,0,.8)}
  100%{box-shadow:0 0 0 10px rgba(255,255,255,.06),0 0 0 12px var(--line2),0 30px 70px rgba(0,0,0,.5),0 0 60px rgba(255,92,174,.28)}
}
.mw .mw-burst{position:absolute;top:46%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:5;
  background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,205,0,.5) 40%,transparent 70%);animation:mw-burst .66s ease-out forwards}
@keyframes mw-burst{from{opacity:.95;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(9)}}

@media(prefers-reduced-motion:reduce){.mw .mw-grad,.mw .mw-hub,.mw .mw-btn{animation:none}}
.mw .mw-confetti{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:visible}
.mw .mw-confetti i{position:absolute;width:9px;height:14px;border-radius:2px;will-change:transform,opacity}
.mw .mw-confetti .mw-emo{position:absolute;font-size:22px;line-height:1;will-change:transform,opacity}
