/* MemoMilo v247 — Grand Tournoi MemoMilo, cadeaux, messages et avertissements.
 * Animations continues uniquement sur les écrans d'événement visibles ; mises en pause quand l'application
 * passe en arrière-plan (.mq-paused), désactivées en « mouvements réduits » et en mode calme. */
.mqe-theme-or{--e1:#fde68a;--e2:#f59e0b;--e3:#231a5c;--e4:#0b0a24;--eg:rgba(251,191,36,.55);--ei:#3b1d02}
.mqe-theme-saphir{--e1:#bfdbfe;--e2:#3b82f6;--e3:#0c2a6b;--e4:#050b1f;--eg:rgba(96,165,250,.55);--ei:#fff}
.mqe-theme-rubis{--e1:#fecdd3;--e2:#e11d48;--e3:#4a0a1e;--e4:#14020a;--eg:rgba(244,63,94,.5);--ei:#fff}
.mqe-theme-emeraude{--e1:#a7f3d0;--e2:#10b981;--e3:#063a2e;--e4:#01140f;--eg:rgba(52,211,153,.5);--ei:#022c22}
.mqe-theme-nuit{--e1:#ddd6fe;--e2:#8b5cf6;--e3:#2a1559;--e4:#0a0614;--eg:rgba(167,139,250,.55);--ei:#fff}

/* ---------- Trophée & paillettes (partagés) ---------- */
.mqe-trophy{width:150px;height:150px;filter:drop-shadow(0 14px 28px rgba(0,0,0,.45)) drop-shadow(0 0 24px var(--eg,rgba(251,191,36,.5)));animation:mqe-float 4.2s ease-in-out infinite}
.mqe-sparkles{position:absolute;inset:0;pointer-events:none;z-index:1}
.mqe-sparkles i{position:absolute;left:var(--x);top:var(--y);width:calc(10px * var(--s));height:calc(10px * var(--s));background:radial-gradient(circle,#fff 0 22%,transparent 60%);border-radius:50%;opacity:0;animation:mqe-twinkle 3s ease-in-out var(--d) infinite}
.mqe-sparkles i::before,.mqe-sparkles i::after{content:"";position:absolute;left:50%;top:50%;width:260%;height:2px;margin:-1px 0 0 -130%;background:linear-gradient(90deg,transparent,#fff,transparent);border-radius:2px}
.mqe-sparkles i::after{transform:rotate(90deg)}
.mqe-rays{position:absolute;left:50%;top:44%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.13) 0deg 6deg,transparent 6deg 16deg);
  -webkit-mask:radial-gradient(circle,#000 0 18%,transparent 50%);mask:radial-gradient(circle,#000 0 18%,transparent 50%);animation:mqe-rot 50s linear infinite}

/* ---------- Écran du Grand Tournoi ---------- */
.mqa-layer.mqe-official-layer{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}
.mqe-official{position:relative;width:min(100%,470px);height:100%;max-height:900px;border-radius:30px;overflow:hidden;color:#fff;
  background:radial-gradient(120% 60% at 50% 0%,var(--e3) 0%,var(--e4) 72%);box-shadow:0 30px 90px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.1),0 0 0 1.5px color-mix(in srgb,var(--e2) 55%,transparent);
  font-family:var(--mq-font-body,ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif)}
.mqe-official .mqt-x{position:absolute;top:14px;right:14px;z-index:9;width:38px;height:38px;border-radius:50%;border:0;color:#fff;font-weight:900;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mqe-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mqe-hero{position:relative;display:grid;justify-items:center;text-align:center;padding:54px 22px 26px;overflow:hidden;isolation:isolate}
.mqe-hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.mqe-halo{position:absolute;left:50%;top:150px;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:radial-gradient(circle,var(--eg) 0%,transparent 65%);animation:mqe-breath 3.6s ease-in-out infinite}
.mqe-hero-img{position:absolute;inset:0;z-index:-1}
.mqe-hero-img img{width:100%;height:100%;object-fit:cover;opacity:.42;-webkit-mask:linear-gradient(180deg,#000 30%,transparent 95%);mask:linear-gradient(180deg,#000 30%,transparent 95%)}
.mqe-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:4px;font-weight:950;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--e1);text-shadow:0 0 14px var(--eg)}
.mqe-kicker i{display:block;width:26px;height:1.5px;background:linear-gradient(90deg,transparent,var(--e1))}.mqe-kicker i:last-child{transform:scaleX(-1)}
.mqe-official .mqe-hero h2{position:relative;z-index:2;margin:2px 0 6px;font-weight:950;font-size:clamp(26px,7.4vw,34px);line-height:1.06;letter-spacing:-.025em;color:#fff!important;background:none!important;
  text-shadow:0 2px 0 color-mix(in srgb,var(--e2) 70%,#000),0 0 22px var(--eg),0 6px 18px rgba(0,0,0,.45);animation:mqe-titleglow 4s ease-in-out infinite}
.mqe-sub{margin:0 0 12px;font-weight:700;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.78)}
.mqe-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;font-weight:900;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ei);background:linear-gradient(135deg,var(--e1),var(--e2));box-shadow:0 8px 22px var(--eg)}
.mqe-pill.is-live{background:linear-gradient(135deg,#fb7185,#e11d48);color:#fff}
.mqe-pill.is-live i{width:8px;height:8px;border-radius:50%;background:#fff;animation:mqe-blink 1.1s ease-in-out infinite}
.mqe-pill.is-cancelled,.mqe-pill.is-finished{background:rgba(255,255,255,.14);color:#fff;box-shadow:none}
.mqe-count-l{margin:16px 0 8px;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.mqe-count-l.is-big{font-size:14px;color:#fff;letter-spacing:.02em;text-transform:none}
.mqe-count{display:flex;gap:8px;justify-content:center}
.mqe-count span{display:grid;justify-items:center;min-width:62px;padding:10px 6px 8px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 10px 24px rgba(0,0,0,.25)}
.mqe-count b{font-weight:950;font-size:26px;line-height:1;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 16px var(--eg)}
.mqe-count small{margin-top:4px;font-weight:800;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--e1)}
.mqe-body{padding:6px 18px 28px}
.mqe-cta-zone{display:grid;gap:8px}
.mqe-official .mqe-cta{position:relative;overflow:hidden;width:100%;min-height:58px;border:0!important;border-radius:19px;font:inherit;font-weight:950;font-size:17px;letter-spacing:-.01em;color:var(--ei)!important;cursor:pointer;
  background:linear-gradient(135deg,var(--e1),var(--e2) 60%,color-mix(in srgb,var(--e2) 70%,#000))!important;box-shadow:0 14px 30px var(--eg),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .15s ease;text-shadow:0 1px 0 rgba(255,255,255,.3)}
.mqe-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);animation:mqe-sweep 3.4s ease-in-out 1s infinite}
.mqe-cta:active{transform:scale(.97)}
.mqe-cta.is-pulse{animation:mqe-glow 1.6s ease-in-out infinite}
.mqe-official .mqe-cta.is-soft,.mqe-official .mqe-cta:disabled{background:rgba(255,255,255,.12)!important;color:rgba(255,255,255,.8)!important;text-shadow:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.mqe-cta.is-soft::after,.mqe-cta:disabled::after{display:none}
.mqe-link{justify-self:center;border:0;background:none;color:rgba(255,255,255,.65);font:inherit;font-weight:800;font-size:13px;text-decoration:underline;padding:4px}
.mqe-registered{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;text-align:left;background:linear-gradient(135deg,color-mix(in srgb,var(--e2) 26%,transparent),rgba(255,255,255,.05));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--e2) 60%,transparent)}
.mqe-registered>span{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:950;font-size:20px;color:var(--ei);background:linear-gradient(135deg,var(--e1),var(--e2));box-shadow:0 0 0 6px color-mix(in srgb,var(--e2) 18%,transparent)}
.mqe-registered b{display:block;font-weight:950;font-size:16px}.mqe-registered small{display:block;font-weight:700;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.72)}
.mqe-err{margin:8px 2px 0;padding:10px 12px;border-radius:12px;font-weight:800;font-size:13px;color:#fecdd3;background:rgba(225,29,72,.18)}
.mqe-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 6px}
.mqe-facts>div{position:relative;overflow:hidden;display:grid;justify-items:center;gap:2px;padding:12px 6px;border-radius:16px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);text-align:center}
.mqe-facts b{font-weight:950;font-size:17px;line-height:1.1}.mqe-facts b small{font-size:12px;opacity:.6}
.mqe-facts span{font-weight:800;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.mqe-facts i{position:absolute;left:0;bottom:0;height:3px;width:var(--p);background:linear-gradient(90deg,var(--e1),var(--e2));box-shadow:0 0 10px var(--eg)}
.mqe-sec{margin-top:22px}
.mqe-sec h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:950;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--e1)}
.mqe-sec h3::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--e1) 45%,transparent),transparent)}
.mqe-sec h3 small{font-size:11px;color:#fff;opacity:.7;letter-spacing:0}
.mqe-sec p{margin:0 0 8px;font-weight:700;font-size:14px;line-height:1.55;color:rgba(255,255,255,.8)}
.mqe-sec .mqt-list li{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:#fff}
.mqe-sec .mqt-list i{--t1:var(--e1);--t2:var(--e2)}
.mqe-rules{margin:8px 0 0;padding:0 0 0 18px;display:grid;gap:5px;font-weight:700;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.68)}
.mqe-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:8px}
.mqe-pod{position:relative;display:grid;justify-items:center;gap:2px;padding:30px 6px 14px;border-radius:18px 18px 12px 12px;text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);animation:mqe-rise .7s cubic-bezier(.2,.9,.3,1.2) both}
.mqe-pod i{position:absolute;top:-16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:950;font-size:15px;color:#3b1d02;background:linear-gradient(135deg,#e5e7eb,#9ca3af);box-shadow:0 6px 14px rgba(0,0,0,.35)}
.mqe-pod b{font-weight:950;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
.mqe-pod small{display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:10.5px;color:rgba(255,255,255,.7)}
.mqe-pod small svg{width:12px;height:12px}
.mqe-pod em{font-style:normal;font-weight:900;font-size:11px;color:var(--e1)}
.mqe-pod.is-1{padding-top:40px;background:linear-gradient(180deg,color-mix(in srgb,#fbbf24 40%,transparent),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1.5px rgba(253,224,71,.6),0 14px 34px rgba(251,191,36,.3);animation-delay:.12s}
.mqe-pod.is-1 i{width:42px;height:42px;top:-20px;font-size:18px;background:linear-gradient(135deg,#fef3c7,#f59e0b)}
.mqe-pod.is-1 b{font-size:25px;color:#fde68a}
.mqe-pod.is-3 i{background:linear-gradient(135deg,#fed7aa,#c2410c);color:#fff}
.mqe-pod.is-3{animation-delay:.2s}
.mqe-rw-rows{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.mqe-rw-rows div{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.06);font-weight:800;font-size:12.5px}
.mqe-rw-rows span{color:rgba(255,255,255,.7)}.mqe-rw-rows b{font-weight:950;color:#fff;font-variant-numeric:tabular-nums}
.mqe-badge-line{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(251,191,36,.22),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(253,224,71,.4)}
.mqe-badge-line span{font-size:28px;filter:drop-shadow(0 4px 10px rgba(251,191,36,.6));animation:mqe-float 3.4s ease-in-out infinite}
.mqe-badge-line small{display:block;font-weight:800;font-size:11px;color:rgba(255,255,255,.7)}.mqe-badge-line b{display:block;font-weight:950;font-size:15px;color:#fde68a}
.mqe-avs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px}
.mqe-av{display:grid;justify-items:center;gap:4px;min-width:0;animation:mqe-rise .5s ease both}
.mqe-av img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.mqe-av.is-ok img{box-shadow:0 0 0 2.5px #34d399,0 0 14px rgba(52,211,153,.5)}
.mqe-av em{max-width:100%;font-style:normal;font-weight:800;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(255,255,255,.85)}
.mqe-av.is-more b{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-weight:950}
.mqe-hall{display:grid;gap:8px}
.mqe-hall-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.mqe-hall-row img{width:42px;height:42px;border-radius:50%;box-shadow:0 0 0 2px #fbbf24}.mqe-hall-row div{flex:1;min-width:0}
.mqe-hall-row b{display:block;font-weight:950;font-size:14.5px}.mqe-hall-row small{display:block;font-weight:700;font-size:12px;color:rgba(255,255,255,.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mqe-final{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:end;gap:8px}
.mqe-final-p{position:relative;display:grid;justify-items:center;gap:6px;padding:12px 4px;text-align:center}
.mqe-final-p img{width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 3px #9ca3af}
.mqe-final-p.is-1{order:2}.mqe-final-p.is-1 img{width:74px;height:74px;box-shadow:0 0 0 3px #fbbf24,0 0 28px rgba(251,191,36,.6)}
.mqe-final-p.is-2{order:1}.mqe-final-p.is-3{order:3}.mqe-final-p.is-3 img{box-shadow:0 0 0 3px #c2410c}
.mqe-final-p b{font-weight:950;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mqe-final-p i{font-style:normal;font-weight:950;font-size:12px;color:var(--e1)}

/* ---------- Bandeau premium de l'accueil ---------- */
.mqa-banner.mqe-banner{color:#fff;background:linear-gradient(120deg,var(--e3),var(--e4) 70%);box-shadow:0 16px 36px rgba(0,0,0,.35),inset 0 0 0 1.5px color-mix(in srgb,var(--e2) 70%,transparent),0 0 24px color-mix(in srgb,var(--e2) 30%,transparent)}
.mqa-banner.mqe-banner::before{width:100%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);animation:mqe-sweep 4s ease-in-out 1s infinite}
.mqe-banner .mqa-banner-main{position:relative;z-index:1;padding-left:10px}
.mqe-b-cup{flex:none;width:40px;height:40px;display:grid;place-items:center}
.mqe-b-cup .mqe-trophy{width:44px;height:44px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}
.mqe-banner .mqa-banner-copy em{display:block;color:var(--e1);font-style:normal;font-weight:900;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mqe-banner .mqa-banner-copy b{color:#fff}
.mqe-b-count{flex:none;margin:0 2px 0 4px;padding:6px 9px;border-radius:11px;font-weight:950;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ei);background:linear-gradient(135deg,var(--e1),var(--e2))}
.mqe-b-count.is-live{color:#fff;background:linear-gradient(135deg,#fb7185,#e11d48);animation:mqe-blink 1.6s ease-in-out infinite}
.mqe-banner .mqa-banner-x{position:relative;z-index:1;color:rgba(255,255,255,.7);border-left-color:rgba(255,255,255,.12)}
.mqa-news.mqe-news{color:#fff;background:linear-gradient(120deg,var(--e3),var(--e4));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--e2) 70%,transparent)}
.mqa-news.mqe-news .mqa-news-ic{background:none;box-shadow:none}
.mqa-news.mqe-news i.mqt-chip{color:var(--e1)}.mqa-news.mqe-news small{color:rgba(255,255,255,.7)}

/* ---------- Cadeau ---------- */
.mqe-gift-stage{position:relative;flex:none;height:214px;display:grid;place-items:center;overflow:hidden;isolation:isolate;color:#fff}
.mqe-gift-stage .mqt-bg{background:radial-gradient(60% 60% at 50% 55%,rgba(255,247,200,.8),transparent 68%),linear-gradient(150deg,#fde047 0%,#f97316 55%,#be123c 100%)}
.mqe-spin{animation:mqe-rot 40s linear infinite!important}
.mqe-box{position:relative;width:140px;height:140px;animation:mqe-shake 2.2s ease-in-out infinite}
.mqe-box svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 14px 22px rgba(120,20,40,.45))}
.mqe-box-lid{transform-origin:60px 50px;transition:transform .55s cubic-bezier(.2,1.4,.4,1)}
.mqe-burst{position:absolute;left:50%;top:48%;width:0;height:0}
.mqe-burst i{position:absolute;left:-13px;top:-13px;width:26px;height:26px;opacity:0;color:#f59e0b}
.mqe-burst i svg{width:26px;height:26px}
.mqe-amount{position:absolute;z-index:3;bottom:16px;display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:999px;font-weight:950;font-size:24px;color:#7c2d12;background:linear-gradient(180deg,#fffbeb,#fde68a);box-shadow:0 10px 24px rgba(0,0,0,.25);transform:scale(.9)}
.mqe-amount svg{width:24px;height:24px}
.mqe-card.is-open .mqe-box{animation:mqe-pop .5s ease both}
.mqe-card.is-open .mqe-box-lid{transform:translate(0,-46px) rotate(-18deg)}
.mqe-card.is-open .mqe-burst i{animation:mqe-burst 1s cubic-bezier(.15,.8,.3,1) var(--d) both}
.mqe-card.is-open .mqe-amount{animation:mqe-amount .6s cubic-bezier(.2,1.4,.4,1) .2s both}
.mqe-claim{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.mqe-claim svg{width:22px;height:22px}
.mqe-from{display:block;margin:0 0 6px;font-weight:900;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tc,#0ea5b7)}
.mqe-fly{position:fixed;z-index:2147483000;width:28px;height:28px;margin:-14px 0 0 -14px;pointer-events:none;color:#f59e0b;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}
.mqe-fly svg{width:28px;height:28px}
.mqe-bump{animation:mqe-bump .5s ease}
.mqe-card.is-champion .mqt-hero{animation:mqe-glowbox 2.4s ease-in-out infinite}
.mqe-card.is-renamed{border:1px solid rgba(250,204,112,.65);box-shadow:0 25px 75px rgba(9,16,37,.55),0 0 42px rgba(221,165,74,.19),inset 0 1px 0 rgba(255,255,255,.3)}
.mqe-name-reveal{position:relative;z-index:1;margin:-12px 19px 0;padding:15px 14px 17px;border:1px solid rgba(253,224,163,.55);border-radius:20px;background:radial-gradient(circle at 50% -30%,rgba(253,224,163,.3),transparent 68%),linear-gradient(140deg,#142744,#081528);box-shadow:0 16px 32px rgba(2,9,28,.32),inset 0 1px 0 rgba(255,255,255,.16);text-align:center;animation:mqe-rise .55s ease both}
.mqe-name-reveal span{display:block;color:#f7d994;font-size:10px;font-weight:900;letter-spacing:.2em}
.mqe-name-reveal strong{display:block;margin:8px 0 0;color:#fff9eb;font-size:clamp(25px,7vw,34px);font-weight:950;line-height:1.15;overflow-wrap:anywhere;text-shadow:0 2px 14px rgba(245,191,101,.42)}
.mqe-card.is-renamed .mqt-body{padding-top:18px}

/* ---------- Avertissement ---------- */
.mqe-warn-hero{position:relative;flex:none;height:186px;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(70% 70% at 50% 55%,rgba(255,237,213,.55),transparent 70%),linear-gradient(150deg,#fb923c,#ea580c 55%,#7c2d12)}
.mqe-warn.is-review .mqe-warn-hero{background:radial-gradient(70% 70% at 50% 55%,rgba(254,205,211,.5),transparent 70%),linear-gradient(150deg,#fb7185,#be123c 55%,#4c0519)}
.mqe-wave{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:3px solid rgba(255,255,255,.55);animation:mqe-wave 2.4s ease-out infinite}
.mqe-wave-2{animation-delay:1.2s}
.mqe-shield{position:relative;width:120px;height:120px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.35));animation:mqe-thump 2.4s ease-in-out infinite}
.mqe-strikes{display:flex;justify-content:center;gap:12px;margin:14px 0 8px}
.mqe-strikes i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:950;font-size:15px;color:var(--mqa-sub,#5d7f93);background:var(--mqa-row,#f3f9fc);box-shadow:inset 0 0 0 2px var(--mqa-line,rgba(0,0,0,.1))}
.mqe-strikes i.is-on{color:#fff;background:linear-gradient(135deg,#fb923c,#dc2626);box-shadow:0 6px 16px rgba(220,38,38,.4)}
.mqe-strikes i.is-new{animation:mqe-strike .7s cubic-bezier(.2,1.5,.4,1) .3s both}
.mqe-strike-text{font-size:13.5px!important;color:var(--mqa-ink,#123d55)!important}
.mqe-fine{font-size:11.5px!important;line-height:1.45!important;opacity:.85}
.mqe-warn .mqt-cta{background:linear-gradient(135deg,#fb923c,#dc2626)!important;box-shadow:0 12px 26px rgba(220,38,38,.35)!important}
.mqe-warn .mqt-list li{text-align:left}
.mqe-warn .mqt-list i{--t1:#fb923c;--t2:#dc2626}

/* ---------- Tournoi officiel dans l'écran de tournoi ---------- */
.mq-shell .mq-tp.mq-tp-v3.mq-official{--mp-bg:#0b0a24;--mp-panel:rgba(255,255,255,.08);--mp-panel2:rgba(255,255,255,.12);--mp-ink:#ffffff;--mp-dim:#c7c4ec;--mp-accent:#f59e0b;--mp-accent2:#fbbf24;--mp-contrast:#3b1d02;--mp-hero:#b45309;--mp-hero2:#f59e0b;--mp-glow:rgba(251,191,36,.3);--mp-border:rgba(253,224,71,.28);--mp-light:rgba(255,255,255,.06);--mp-gold:#fbbf24;
  --elite-edge:rgba(253,224,71,.3);--elite-quiet:rgba(255,255,255,.06);--elite-shade:rgba(0,0,0,.35);--elite-surface:rgba(255,255,255,.08);--elite-surface-raised:rgba(255,255,255,.12);
  background:radial-gradient(120% 60% at 50% 0%,#2a1f6b 0%,#0b0a24 70%)!important;color:#fff!important;isolation:isolate}
.mq-shell .mq-tp.mq-official[data-official-theme="saphir"]{background:radial-gradient(120% 60% at 50% 0%,#0c2a6b 0%,#050b1f 70%)!important}
.mq-shell .mq-tp.mq-official[data-official-theme="rubis"]{background:radial-gradient(120% 60% at 50% 0%,#4a0a1e 0%,#14020a 70%)!important}
.mq-shell .mq-tp.mq-official[data-official-theme="emeraude"]{background:radial-gradient(120% 60% at 50% 0%,#063a2e 0%,#01140f 70%)!important}
.mq-shell .mq-tp.mq-official[data-official-theme="nuit"]{background:radial-gradient(120% 60% at 50% 0%,#2a1559 0%,#0a0614 70%)!important}
.mq-tp.mq-official .tn241-btn-main{color:#3b1d02!important;background:linear-gradient(180deg,#fde68a,#f59e0b 55%,#d97706)!important;box-shadow:0 10px 24px rgba(245,158,11,.4),0 0 0 1.5px rgba(255,255,255,.4) inset!important}
.mqe-room-aura{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.mqe-room-aura .mqe-rays{top:18%;opacity:.55}
.mqe-room-strip{position:relative;display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;border-radius:18px;background:linear-gradient(120deg,rgba(251,191,36,.22),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1.5px rgba(253,224,71,.45),0 10px 26px rgba(0,0,0,.25);overflow:hidden}
.mqe-room-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.2) 50%,transparent 65%);transform:translateX(-120%);animation:mqe-sweep 4.5s ease-in-out infinite}
.mqe-room-strip div{flex:1;min-width:0}.mqe-room-strip small{display:block;font-weight:900;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#fde68a}
.mqe-room-strip b{display:block;font-weight:950;font-size:15px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mqe-room-strip em{flex:none;display:inline-flex;align-items:center;gap:4px;font-style:normal;font-weight:950;font-size:14px;color:#fde68a}.mqe-room-strip em svg{width:16px;height:16px}

/* ---------- Animations continues des modèles d'événement ---------- */
.mqt-k-event .mqt-rays,.mqt-k-tournament .mqt-rays,.mqt-k-reward .mqt-rays,.mqt-k-support .mqt-rays{animation:mqt-spin 1.6s cubic-bezier(.2,.8,.3,1) both,mqe-rot 45s linear 1.6s infinite}
.mqt-k-event .mqt-hero::before,.mqt-k-tournament .mqt-hero::before,.mqt-k-reward .mqt-hero::before{animation:mqe-sweep 4.2s ease-in-out .55s infinite}
.mqt-k-event .mqt-art,.mqt-k-tournament .mqt-art,.mqt-k-reward .mqt-art,.mqt-k-welcome .mqt-art{animation:mqt-in .7s cubic-bezier(.2,.9,.3,1.35) .08s both,mqe-float 4s ease-in-out 1s infinite}
.mqt-k-event .mqt-cta::after,.mqt-k-tournament .mqt-cta::after,.mqt-k-reward .mqt-cta::after{animation:mqe-sweep 3.2s ease-in-out 1.1s infinite}
.mqt-k-event .mqt-count,.mqt-k-tournament .mqt-count{animation:mqt-drop .5s ease .45s both,mqe-tick 2s ease-in-out 1s infinite}

@keyframes mqe-rot{to{transform:rotate(360deg)}}
@keyframes mqe-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes mqe-twinkle{0%,100%{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1)}60%{opacity:.8}}
@keyframes mqe-breath{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
@keyframes mqe-shimmer{to{background-position:-250% 0}}
@keyframes mqe-sweep{0%{transform:translateX(-120%)}45%,100%{transform:translateX(120%)}}
@keyframes mqe-glow{0%,100%{box-shadow:0 14px 30px var(--eg),inset 0 1px 0 rgba(255,255,255,.5)}50%{box-shadow:0 14px 44px var(--eg),0 0 0 6px color-mix(in srgb,var(--e2) 25%,transparent),inset 0 1px 0 rgba(255,255,255,.5)}}
@keyframes mqe-blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes mqe-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes mqe-shake{0%,70%,100%{transform:rotate(0)}74%{transform:rotate(-6deg)}78%{transform:rotate(5deg)}82%{transform:rotate(-4deg)}86%{transform:rotate(3deg)}90%{transform:rotate(0)}}
@keyframes mqe-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes mqe-burst{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateY(-120px) scale(1.1)}}
@keyframes mqe-amount{from{transform:scale(.4);opacity:0}to{transform:scale(1.08);opacity:1}}
@keyframes mqe-bump{0%,100%{transform:scale(1)}40%{transform:scale(1.35)}}
@keyframes mqe-glowbox{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
@keyframes mqe-wave{from{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(2.4)}}
@keyframes mqe-thump{0%,100%{transform:scale(1)}10%{transform:scale(1.08)}20%{transform:scale(.98)}30%{transform:scale(1.04)}40%{transform:scale(1)}}
@keyframes mqe-strike{from{transform:scale(2.2);opacity:0}to{transform:none;opacity:1}}
@keyframes mqe-titleglow{0%,100%{text-shadow:0 2px 0 color-mix(in srgb,var(--e2) 70%,#000),0 0 18px var(--eg),0 6px 18px rgba(0,0,0,.45)}50%{text-shadow:0 2px 0 color-mix(in srgb,var(--e2) 70%,#000),0 0 34px var(--eg),0 6px 18px rgba(0,0,0,.45)}}
@keyframes mqe-tick{0%,100%{transform:none}50%{transform:scale(1.06)}}

.mq-paused .mqe-official *,.mq-paused .mqe-banner,.mq-paused .mqe-banner *,.mq-paused .mqe-card *,.mq-paused .mqe-room-aura *,.mq-paused .mqt-card *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.mqe-official *,.mqe-banner,.mqe-banner *,.mqe-card *,.mqe-room-aura *,.mqe-room-strip::after,.mqt-card *{animation:none!important}}
.mq-shell[data-motion="calme"] .mqe-official *,.mq-shell[data-motion="calme"] .mqe-banner *,.mq-shell[data-motion="calme"] .mqe-card .mqe-box,.mq-shell[data-motion="calme"] .mqe-room-aura *{animation:none!important}
