/* MemoMilo · Duel Flash v8 — interface premium.
 * Chargé après duel-flash-pro.css par speedDuelEnsureProStyles().
 * Tout est limité à .mq-speed-duel.is-v8-ui : aucune autre vue n'est touchée.
 * Économie d'énergie : animations ponctuelles en transform/opacity ; la seule animation
 * continue (alerte rouge) anime l'opacité d'un calque pré-rendu, jamais une ombre. */
.mq-speed-duel.is-v8-ui{
  --v8-ink:#0f3a4a;--v8-ink2:#2c5d6e;--v8-muted:#6c8f9b;--v8-line:rgba(17,94,116,.13);
  --v8-me:#14b8a6;--v8-rv:#ff5f4f;--v8-gold:#fbbf24;
  --v8-blur:#8b5cf6;--v8-freeze:#38bdf8;--v8-vision:#fbbf24;--v8-fire:#f97316;--v8-invert:#d946ef;--v8-reset:#f43f5e;--v8-chaos:#f97316;
  --v8-out:cubic-bezier(.16,1,.3,1);--v8-spring:cubic-bezier(.34,1.56,.64,1);
}
.mq-speed-duel.is-v8-ui .mq-speed-local-zone{grid-template-rows:auto auto auto minmax(0,1fr) auto!important;gap:6px!important}
.mq-speed-duel.is-v8-ui .mq-speed-play-zone{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;grid-template-areas:none!important}
.mq-speed-duel.is-v8-ui .mq-speed-board-wrap{position:relative!important}

/* ---------- HUD ---------- */
.mq-speed-duel.is-v8-ui .mq-speed-hud{border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(240,250,252,.88));box-shadow:0 0 0 1.5px rgba(255,255,255,.95) inset,0 8px 22px rgba(6,60,85,.16)}
.mq-speed-duel.is-v8-ui .mq-speed-combo{transition:transform .35s var(--v8-spring),background .3s,color .3s}
.mq-speed-duel.is-v8-ui .mq-speed-combo.is-hot{color:#fff;background:linear-gradient(160deg,#ffb347,#ff5e3a);box-shadow:0 0 0 2px #fff,0 6px 18px rgba(255,94,58,.45)}

/* ---------- Panneau rival ---------- */
.mq-speed-duel.is-v8-ui .mq-v8-dock{grid-area:auto!important;grid-row:auto!important;grid-column:auto!important;position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) clamp(84px,25vw,128px)!important;grid-template-rows:auto!important;grid-template-areas:none!important;gap:9px!important;height:auto!important;max-height:none!important;min-height:0!important;align-self:stretch!important;padding:9px 10px 8px!important;border-radius:20px!important;overflow:hidden;color:var(--v8-ink);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(238,249,251,.9))!important;box-shadow:0 0 0 1.5px rgba(255,255,255,.95) inset,0 10px 26px rgba(6,60,85,.18)!important;transition:box-shadow .5s}
.mq-speed-duel.is-v8-ui .mq-v8-dock>*{grid-area:auto!important;min-width:0}
.mq-speed-duel.is-v8-ui .mq-v8-left{display:flex;flex-direction:column;min-width:0}
.mq-v8-id{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center}
.mq-v8-av{position:relative;width:46px;height:46px;flex:none}
.mq-v8-av svg{position:absolute;inset:-5px;width:56px;height:56px;transform:rotate(-90deg);overflow:visible}
.mq-v8-av circle{fill:none;stroke-width:3.5;stroke-linecap:round}
.mq-v8-trk{stroke:rgba(255,95,79,.16)}
.mq-v8-prg{stroke:var(--v8-rv);stroke-dasharray:157;stroke-dashoffset:157;transition:stroke-dashoffset .8s var(--v8-out)}
.mq-speed-duel.is-v8-ui .mq-v8-av .mq-speed-rival-panel-avatar{position:absolute!important;inset:0!important;width:46px!important;height:46px!important;border-radius:50%!important;overflow:hidden;box-shadow:0 0 0 2.5px #fff!important;display:block!important}
.mq-speed-duel.is-v8-ui .mq-v8-av .mq-speed-rival-panel-avatar img{width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}
.mq-v8-live{position:absolute;right:-2px;bottom:0;width:12px;height:12px;border-radius:50%;background:#2fd17a;box-shadow:0 0 0 2.5px #fff}
.mq-v8-who{min-width:0}
.mq-v8-who small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8.5px;font-weight:900;letter-spacing:.14em;color:var(--v8-muted);line-height:1.1}
.mq-v8-who strong{display:block;font-size:17px;font-weight:950;line-height:1.08;color:var(--v8-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mq-speed-duel.is-v8-ui .mq-v8-chip{display:inline-flex;align-items:center;gap:5px;margin-top:3px;padding:2px 8px 2px 7px;border-radius:999px;font-style:normal;font-size:10.5px;font-weight:900;color:#0b7a55;background:#e3f9ef;white-space:nowrap;transition:background .3s,color .3s}
.mq-v8-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.mq-v8-chip.is-hot{color:#c2410c;background:#ffedd5}
.mq-v8-chip.is-ice{color:#0369a1;background:#e0f4ff}
.mq-v8-chip.is-fog{color:#5b21b6;background:#ede9fe}
.mq-v8-chip.is-end{color:#fff;background:linear-gradient(90deg,#f43f5e,#e11d48);animation:v8-beat .9s ease-in-out infinite}
.mq-v8-chip.is-done{color:#fff;background:#0f766e}
@keyframes v8-beat{50%{transform:scale(1.07)}}
.mq-v8-pct{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.05}
.mq-speed-duel.is-v8-ui .mq-v8-pct>b{font-size:24px;font-weight:950;color:var(--v8-rv);font-variant-numeric:tabular-nums}
.mq-v8-pct small{font-size:10px;font-weight:850;color:var(--v8-muted);white-space:nowrap}
.mq-v8-pct small b{color:var(--v8-ink2)}
.mq-v8-rs{margin-top:1px}

.mq-v8-duel{margin-top:7px}
.mq-v8-bar{position:relative;height:10px;border-radius:999px;background:#ffe1dc;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.mq-v8-me{position:absolute;left:0;top:0;bottom:0;width:50%;border-radius:999px;background:linear-gradient(90deg,#0fb39c,#2dd4bf);transition:width .7s var(--v8-out)}
.mq-v8-rv{position:absolute;right:0;top:0;bottom:0;width:50%;border-radius:999px;background:linear-gradient(270deg,#ff4d3d,#ff8a6b);transition:width .7s var(--v8-out)}
.mq-v8-sp{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle,#fff,#ffe08a 45%,transparent 70%);transition:left .7s var(--v8-out)}
.mq-v8-duel-labels{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;font-size:10.5px;font-weight:900;white-space:nowrap}
.mq-v8-l{color:#0f766e}.mq-v8-r{color:#e1453a;overflow:hidden;text-overflow:ellipsis;max-width:34%}
.mq-speed-duel.is-v8-ui .mq-v8-duel-labels .mq-speed-rival-coach{flex:1;min-width:0;margin:0!important;padding:0!important;min-height:0!important;background:none!important;box-shadow:none!important;border:0!important;text-align:center;font-size:10.5px!important;font-weight:900;color:var(--v8-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mq-speed-duel.is-v8-ui .mq-v8-duel-labels .mq-speed-rival-coach.is-alert{color:#e11d48}
.mq-speed-duel.is-v8-ui .mq-v8-duel-labels .mq-speed-rival-coach.is-ahead{color:#0f766e}

/* Fil d'événements */
.mq-speed-duel.is-v8-ui .mq-v8-feed{position:relative!important;display:flex!important;flex-direction:column;gap:4px;margin-top:6px;height:auto!important;max-height:none!important;min-height:58px;overflow:hidden!important;padding:0!important;background:none!important;box-shadow:none!important}
.mq-speed-duel.is-v8-ui .mq-v8-ev{display:flex!important;align-items:center;gap:6px;min-height:27px;padding:3px 7px 3px 4px!important;border-radius:10px!important;background:#fff!important;box-shadow:0 2px 7px rgba(6,60,85,.07),inset 0 0 0 1px var(--v8-line);font-size:11px!important;font-weight:800;line-height:1.15;color:var(--v8-ink2)!important;opacity:0;transform:translateY(-12px) scale(.96);transition:opacity .35s,transform .45s var(--v8-spring)}
.mq-speed-duel.is-v8-ui .mq-v8-ev.is-in{opacity:1!important;transform:none!important}
.mq-speed-duel.is-v8-ui .mq-v8-ev:nth-child(2).is-in{opacity:.78!important}
.mq-speed-duel.is-v8-ui .mq-v8-ev:nth-child(n+3){display:none!important}
.mq-speed-duel.is-v8-ui .mq-v8-ev>i{width:20px!important;height:20px!important;margin:0!important;flex:none;border-radius:7px!important;display:grid!important;place-items:center;font-style:normal;font-size:11px;color:#fff;background:var(--ic,#0ea5e9)!important;box-shadow:none!important}
.mq-v8-ev>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mq-v8-ev>span b{color:var(--v8-ink);font-weight:950}
.mq-v8-ev time{font-size:9.5px;font-weight:800;color:var(--v8-muted);font-variant-numeric:tabular-nums}
.mq-v8-x{font-style:normal;padding:1px 6px;border-radius:999px;background:var(--v8-ink);color:#fff;font-size:9.5px;font-weight:900}
.mq-v8-ev.is-bump{animation:v8-bump .4s var(--v8-spring)}
@keyframes v8-bump{40%{transform:scale(1.04)}}
.mq-speed-duel.is-v8-ui .mq-v8-ev.is-urgent{background:linear-gradient(90deg,#fff1f2,#fff)!important;box-shadow:inset 0 0 0 1.5px rgba(244,63,94,.6)}
.mq-speed-duel.is-v8-ui .mq-v8-ev.is-urgent>span,.mq-speed-duel.is-v8-ui .mq-v8-ev.is-urgent>span b{color:#be123c}
.mq-speed-duel.is-v8-ui .mq-v8-ev.is-hot>span b{color:#c2410c}
.mq-speed-duel.is-v8-ui .mq-v8-ev[class*="is-pow-"]{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ic,#8b5cf6) 45%,transparent)}

/* Mini-plateau rival */
.mq-speed-duel.is-v8-ui .mq-v8-dock .mq-speed-rival-window{position:relative!important;display:flex!important;flex-direction:column;min-height:0!important;height:auto!important;margin:0!important;padding:15px 5px 16px!important;border-radius:14px!important;background:linear-gradient(180deg,#e9f7fa,#d6eef4)!important;box-shadow:inset 0 0 0 1.5px rgba(19,166,184,.2)!important;overflow:hidden}
.mq-v8-mini-title{position:absolute;left:0;right:0;top:3px;text-align:center;font-size:7.5px;font-weight:900;letter-spacing:.14em;color:var(--v8-muted)}
.mq-speed-duel.is-v8-ui .mq-v8-dock .mq-speed-rival-mini-wrap{position:relative!important;inset:auto!important;width:auto!important;flex:1 1 auto;min-height:70px!important;height:auto!important;display:grid!important;place-items:center;padding:0!important;margin:0!important;background:none!important;box-shadow:none!important}
.mq-v8-rtime{position:absolute;left:0;right:0;bottom:2px;text-align:center;font-size:8.5px;font-weight:900;color:var(--v8-ink2);font-variant-numeric:tabular-nums}
.mq-v8-rtime b{font-weight:900}
.mq-speed-duel.is-v8-ui .mq-speed-rival-card.is-v8-reset{animation:v8-minireset .55s var(--v8-rd,0ms) both}
@keyframes v8-minireset{0%{transform:scale(1)}40%{transform:scale(.4) rotate(14deg);opacity:.4}100%{transform:none;opacity:1}}
.mq-speed-duel.is-v8-ui .mq-v8-dock.is-v8-end{box-shadow:0 0 0 2px rgba(244,63,94,.65) inset,0 10px 26px rgba(244,63,94,.22)!important}

/* ---------- Jauge de série ---------- */
.mq-v8-power{position:relative;padding:7px 10px 8px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(238,249,251,.86));box-shadow:0 0 0 1.5px rgba(255,255,255,.95) inset,0 6px 18px rgba(6,60,85,.14);overflow:hidden}
.mq-v8-power-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10.5px;font-weight:900;white-space:nowrap}
.mq-v8-power-head b{color:var(--v8-ink);letter-spacing:.08em}
.mq-v8-power-head span{color:var(--v8-muted);overflow:hidden;text-overflow:ellipsis}
.mq-v8-segs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px;margin-top:5px}
.mq-v8-seg{position:relative;height:24px;border-radius:8px;display:grid;place-items:center;overflow:hidden;background:#e7f3f6;box-shadow:inset 0 0 0 1.5px #d4e9ee;--sc:linear-gradient(90deg,#2dd4bf,#14b8a6)}
.mq-v8-seg::before{content:"";position:absolute;inset:0;background:var(--sc);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--v8-out)}
.mq-v8-seg.is-blur{--sc:linear-gradient(135deg,#a78bfa,#6d28d9)}
.mq-v8-seg.is-freeze{--sc:linear-gradient(135deg,#7dd3fc,#0284c7)}
.mq-v8-seg.is-vision{--sc:linear-gradient(135deg,#fde68a,#d97706)}
.mq-v8-seg.is-fire{--sc:linear-gradient(135deg,#fdba74,#dc2626)}
.mq-v8-seg.is-invert{--sc:linear-gradient(135deg,#f0abfc,#7e22ce)}
.mq-v8-seg.is-reset{--sc:linear-gradient(135deg,#fda4af,#be123c)}
.mq-v8-seg.is-chaos{--sc:linear-gradient(135deg,#fdba74,#ea580c)}
.mq-v8-seg b,.mq-v8-seg em{position:relative;z-index:1;font-style:normal;font-size:12px;font-weight:900;color:#9cbcc6;filter:grayscale(1);opacity:.6;transition:opacity .3s,filter .3s,color .3s}
.mq-v8-seg em{font-size:9.5px}
.mq-v8-seg.is-on::before{transform:scaleX(1)}
.mq-v8-seg.is-on b,.mq-v8-seg.is-on em{color:#fff;filter:none;opacity:1}
.mq-v8-seg.is-pop{animation:v8-segpop .55s var(--v8-spring)}
@keyframes v8-segpop{40%{transform:scale(1.22)}}
.mq-v8-seg.is-ready::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);transform:translateX(-100%);animation:v8-shine 1.2s .1s ease-out 2}
@keyframes v8-shine{to{transform:translateX(100%)}}
.mq-v8-seg.is-used b{opacity:.35;filter:grayscale(1)}
.mq-v8-seg.is-used::after{content:"✓";position:absolute;right:3px;top:1px;font-size:8px;font-weight:900;color:#64748b}
.mq-v8-power.is-surge{animation:v8-surge .7s var(--v8-out)}
@keyframes v8-surge{50%{box-shadow:0 0 0 1.5px rgba(255,255,255,.95) inset,0 0 24px 6px rgba(251,191,36,.55)}}
.mq-speed-duel.is-v8-ui.is-v8-vision .mq-v8-power::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:3px;border-radius:3px;background:linear-gradient(90deg,#fde68a,#f59e0b);transform-origin:left;animation:v8-vbar var(--v8-vision-ms,2000ms) linear forwards}
@keyframes v8-vbar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.mq-speed-duel.is-v8-ui .mq-speed-freeze-counter{display:none!important}
.mq-speed-duel.is-v8-ui .mq-speed-power-toast{display:none!important}

/* ---------- Vision : cartes révélées en vague, liseré doré ---------- */
.mq-speed-duel.is-v8-ui .mq-speed-card.is-v8-vision{transition-delay:var(--v8-vd,0ms)!important}
.mq-speed-duel.is-v8-ui .mq-speed-card.is-v8-vision .mq-front{box-shadow:0 0 0 2px #fcd34d,0 0 14px rgba(252,211,77,.65)!important}
.mq-speed-duel.is-v8-ui .mq-speed-board-wrap.is-v8-sweep{animation:v8-sweep 1.1s var(--v8-out)}
@keyframes v8-sweep{30%{box-shadow:inset 0 0 0 2px rgba(252,211,77,.9),inset 0 0 40px rgba(252,211,77,.45)}}

/* ---------- Remise à zéro : flash rouge des paires perdues + onde ---------- */
.mq-speed-duel.is-v8-ui .mq-speed-card.is-v8-reset .mq-face{animation:v8-resetglow .8s var(--v8-rd,0ms) both}
@keyframes v8-resetglow{0%{box-shadow:0 0 0 0 rgba(244,63,94,0)}35%{box-shadow:0 0 0 3px #f43f5e,0 0 18px rgba(244,63,94,.7)}100%{box-shadow:0 0 0 0 rgba(244,63,94,0)}}
.mq-v8-wave{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:4px solid var(--v8-reset);pointer-events:none;z-index:9;animation:v8-wave .9s var(--v8-out) forwards}
.mq-v8-wave.is-small{border-width:3px}
@keyframes v8-wave{0%{opacity:1;transform:scale(.2)}100%{opacity:0;transform:scale(12)}}

/* ---------- Gel : givre en cristaux ---------- */
.mq-v8-frost{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:6;opacity:0;transition:opacity .35s,transform .4s}
.mq-v8-frost.is-on{opacity:1}
.mq-v8-frost.is-thaw{opacity:0;transform:scale(1.04)}
.mq-v8-frost-tint{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 90% at 50% 50%,rgba(220,245,255,.12),rgba(160,220,255,.5));box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),inset 0 0 36px rgba(120,200,255,.7)}
.mq-v8-frost svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mq-v8-frost path{fill:none;stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset 1.1s var(--v8-out);filter:drop-shadow(0 0 2px rgba(110,200,255,.95))}
.mq-v8-shard{position:absolute;left:0;top:0;width:24px;height:20px;pointer-events:none;z-index:62;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(150,215,255,.7));clip-path:polygon(50% 0,100% 40%,70% 100%,0 70%)}

/* ---------- Brouillard « ? » : brume violette tourbillonnante ---------- */
.mq-speed-duel.is-v8-ui .mq-speed-question-mask{background:radial-gradient(circle at 50% 45%,#c4b5fd,#7c3aed 60%,#4c1d95)!important;overflow:hidden}
.mq-speed-duel.is-v8-ui .mq-speed-question-mask::after{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 20%,rgba(255,255,255,.35) 30%,transparent 45% 60%,rgba(255,255,255,.25) 70%,transparent 85%);animation:v8-spin 1.4s linear 1;pointer-events:none}
.mq-speed-duel.is-v8-ui .mq-speed-question-mask>b{position:relative;z-index:1;color:#fff!important;text-shadow:0 0 12px #e9d5ff,0 0 24px #a78bfa!important}
@keyframes v8-spin{to{transform:rotate(360deg)}}

/* ---------- Bannière, tirs, impacts, étincelles ---------- */
.mq-v8-banner{position:fixed;left:50%;top:47%;z-index:2147482600;font-family:'MemoMilo Nunito',ui-rounded,'SF Pro Rounded','Segoe UI',system-ui,sans-serif;width:min(92%,420px);text-align:center;pointer-events:none;transform:translate(-50%,-50%)}
.mq-v8-rib{position:relative;display:inline-flex;flex-direction:column;align-items:center;padding:11px 24px 12px;border-radius:22px;color:#fff;overflow:hidden;background:var(--bb,linear-gradient(135deg,#14b8a6,#0e7490));box-shadow:0 0 0 2.5px rgba(255,255,255,.88),0 18px 40px rgba(0,0,0,.28),0 0 40px var(--bg,rgba(20,184,166,.5))}
.mq-v8-rib::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-16deg);animation:v8-ribshine 1s .2s var(--v8-out) forwards}
@keyframes v8-ribshine{to{left:130%}}
.mq-v8-rib small{font-size:10.5px;font-weight:900;letter-spacing:.2em;opacity:.92}
.mq-v8-rib b{font-size:26px;font-weight:950;line-height:1.08;text-shadow:0 2px 0 rgba(0,0,0,.15)}
.mq-v8-rib span{font-size:12px;font-weight:800;opacity:.95;margin-top:2px}
.mq-v8-banner.is-big .mq-v8-rib b{font-size:31px}
.mq-v8-banner.is-blur{--bb:linear-gradient(135deg,#8b5cf6,#5b21b6);--bg:rgba(139,92,246,.55)}
.mq-v8-banner.is-freeze{--bb:linear-gradient(135deg,#38bdf8,#0369a1);--bg:rgba(56,189,248,.6)}
.mq-v8-banner.is-vision{--bb:linear-gradient(135deg,#fcd34d,#d97706);--bg:rgba(251,191,36,.6)}
.mq-v8-banner.is-fire{--bb:linear-gradient(135deg,#fb923c,#dc2626);--bg:rgba(249,115,22,.6)}
.mq-v8-banner.is-invert{--bb:linear-gradient(135deg,#d946ef,#7e22ce);--bg:rgba(192,38,211,.6)}
.mq-v8-banner.is-reset{--bb:linear-gradient(135deg,#fb7185,#be123c);--bg:rgba(244,63,94,.65)}
.mq-v8-banner.is-chaos{--bb:linear-gradient(135deg,#fb923c,#c2410c);--bg:rgba(249,115,22,.55)}
.mq-v8-orb{position:absolute;left:0;top:0;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;pointer-events:none;z-index:63;--oc:#fbbf24;background:radial-gradient(circle,#fff 0,var(--oc) 40%,transparent 72%);box-shadow:0 0 22px 8px var(--oc)}
.mq-v8-orb.is-ghost{width:18px;height:18px;margin:-9px 0 0 -9px;opacity:.5;box-shadow:0 0 12px 4px var(--oc)}
.mq-v8-orb.is-blur,.mq-v8-spark.is-blur{--oc:#a78bfa}.mq-v8-orb.is-freeze,.mq-v8-spark.is-freeze{--oc:#7dd3fc}.mq-v8-orb.is-invert,.mq-v8-spark.is-invert{--oc:#e879f9}.mq-v8-orb.is-reset,.mq-v8-spark.is-reset{--oc:#fb7185}.mq-v8-orb.is-chaos,.mq-v8-spark.is-chaos{--oc:#fb923c}
.mq-v8-spark{position:absolute;left:0;top:0;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;pointer-events:none;z-index:63;--oc:#fbbf24;background:#fff;box-shadow:0 0 8px 2px var(--oc)}
.mq-v8-impact{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:8;--ic:#fbbf24;animation:v8-impact .8s var(--v8-out) forwards}
.mq-v8-impact.is-blur{--ic:#8b5cf6}.mq-v8-impact.is-freeze{--ic:#38bdf8}.mq-v8-impact.is-invert{--ic:#d946ef}.mq-v8-impact.is-reset{--ic:#f43f5e}.mq-v8-impact.is-chaos{--ic:#f97316}
@keyframes v8-impact{0%{opacity:1;box-shadow:inset 0 0 0 3px var(--ic),inset 0 0 50px var(--ic)}100%{opacity:0;box-shadow:inset 0 0 0 0 var(--ic),inset 0 0 0 var(--ic)}}
.mq-v8-edge{position:absolute;inset:0;pointer-events:none;z-index:58;--ec:rgba(251,191,36,.6);box-shadow:inset 0 0 46px 8px var(--ec);opacity:0;animation:v8-edge 1s var(--v8-out)}
.mq-v8-edge.is-blur{--ec:rgba(139,92,246,.55)}.mq-v8-edge.is-freeze{--ec:rgba(56,189,248,.6)}.mq-v8-edge.is-vision{--ec:rgba(251,191,36,.6)}.mq-v8-edge.is-fire{--ec:rgba(249,115,22,.6)}.mq-v8-edge.is-invert{--ec:rgba(192,38,211,.6)}.mq-v8-edge.is-reset{--ec:rgba(244,63,94,.7)}.mq-v8-edge.is-chaos{--ec:rgba(249,115,22,.55)}
@keyframes v8-edge{25%{opacity:1}100%{opacity:0}}

/* ---------- Alerte : le rival approche de la victoire ----------
 * Bordures rouges qui respirent doucement ; le rythme s'accélère à l'approche de la fin.
 * Seule l'opacité est animée (calque d'ombre pré-rendu) : coût GPU minimal. */
.mq-speed-duel.is-v8-ui .mq-speed-global-danger{position:absolute!important;inset:0!important;z-index:57!important;pointer-events:none!important;display:block!important;opacity:0!important;animation:none!important;background:none!important;transition:opacity .8s ease!important}
.mq-speed-duel.is-v8-ui[data-rival-danger] .mq-speed-global-danger{opacity:1!important}
.mq-speed-duel.is-v8-ui .mq-speed-global-danger>i{position:absolute;inset:0;display:block;background:none;box-shadow:inset 0 0 0 2px rgba(244,63,94,.5),inset 0 0 34px 6px rgba(244,63,94,.3);opacity:.35;animation:v8-breathe 2.8s ease-in-out infinite}
.mq-speed-duel.is-v8-ui .mq-speed-global-danger>b{position:absolute;inset:0;display:block;background:none;box-shadow:inset 0 0 70px 18px rgba(225,29,72,.28);opacity:0;animation:v8-breathe 2.8s ease-in-out infinite;animation-delay:-.4s}
.mq-speed-duel.is-v8-ui[data-rival-danger="high"] .mq-speed-global-danger>i,.mq-speed-duel.is-v8-ui[data-rival-danger="high"] .mq-speed-global-danger>b{animation-duration:1.9s}
.mq-speed-duel.is-v8-ui[data-rival-danger="critical"] .mq-speed-global-danger>i{box-shadow:inset 0 0 0 3px rgba(244,63,94,.85),inset 0 0 44px 10px rgba(244,63,94,.42);animation-duration:1.15s}
.mq-speed-duel.is-v8-ui[data-rival-danger="critical"] .mq-speed-global-danger>b{animation-duration:1.15s}
@keyframes v8-breathe{0%,100%{opacity:.25}50%{opacity:1}}
.mq-shell[data-motion="calme"] .mq-speed-duel.is-v8-ui .mq-speed-global-danger>i,.mq-shell[data-motion="calme"] .mq-speed-duel.is-v8-ui .mq-speed-global-danger>b{animation:none;opacity:.6}

@media (max-width:360px){.mq-v8-who strong{font-size:15px}.mq-speed-duel.is-v8-ui .mq-v8-pct>b{font-size:20px}.mq-v8-av,.mq-speed-duel.is-v8-ui .mq-v8-av .mq-speed-rival-panel-avatar{width:40px!important;height:40px!important}.mq-v8-av svg{width:50px;height:50px}.mq-v8-rib b{font-size:22px}}
@media (max-height:700px){.mq-speed-duel.is-v8-ui .mq-v8-ev:nth-child(n+2){display:none!important}.mq-speed-duel.is-v8-ui .mq-v8-feed{min-height:28px}}
@media (orientation:landscape) and (min-width:700px){.mq-speed-duel.is-v8-ui .mq-v8-dock{grid-template-columns:minmax(0,1fr) clamp(120px,18vw,180px)!important}}
@media (prefers-reduced-motion:reduce){.mq-speed-duel.is-v8-ui .mq-speed-global-danger>i,.mq-speed-duel.is-v8-ui .mq-speed-global-danger>b,.mq-v8-chip.is-end{animation:none!important}.mq-v8-ev,.mq-v8-seg::before{transition:none!important}}

/* Pendant une bannière de pouvoir, les éloges génériques s'effacent pour laisser l'information clé lisible. */
body.mq-v8-banner-on .mmr-praise{opacity:0!important}

/* Téléphone à l'horizontale : plateau à gauche, informations à droite. */
@media (orientation:landscape) and (max-height:560px){
  .mq-speed-duel.is-v8-ui .mq-speed-local-zone{grid-template-columns:minmax(0,1fr) minmax(250px,40%)!important;grid-template-rows:auto auto auto minmax(0,1fr)!important;grid-template-areas:"board hud" "board dock" "board power" "board foot"!important;column-gap:10px!important}
  .mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-speed-hud{grid-area:hud!important}
  .mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-v8-dock{grid-area:dock!important}
  .mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-v8-power{grid-area:power!important}
  .mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-speed-play-zone{grid-area:board!important;min-height:0}
  .mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-speed-foot{grid-area:foot!important;align-self:end}
  .mq-speed-duel.is-v8-ui .mq-v8-dock{grid-template-columns:minmax(0,1fr) 74px!important;padding:7px 8px!important;column-gap:6px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-mini-title,.mq-speed-duel.is-v8-ui .mq-v8-ev time{display:none!important}
  .mq-speed-duel.is-v8-ui .mq-v8-id .mq-v8-live{display:none}
  .mq-speed-duel.is-v8-ui .mq-v8-ev:nth-child(n+2){display:none!important}
  .mq-speed-duel.is-v8-ui .mq-v8-feed{min-height:28px}
  .mq-speed-duel.is-v8-ui .mq-v8-id{grid-template-columns:40px minmax(0,1fr) auto!important;gap:6px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-av{width:40px!important;height:40px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-who small,.mq-speed-duel.is-v8-ui .mq-v8-rs,.mq-speed-duel.is-v8-ui .mq-speed-rival-coach{display:none!important}
  .mq-speed-duel.is-v8-ui .mq-v8-who strong{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mq-speed-duel.is-v8-ui .mq-v8-chip{font-size:10px!important;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mq-speed-duel.is-v8-ui .mq-v8-pct>b{font-size:18px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-who{min-width:46px}
  .mq-speed-duel.is-v8-ui .mq-v8-pct small{font-size:10px!important;white-space:nowrap}
  .mq-speed-duel.is-v8-ui .mq-v8-duel-labels{justify-content:space-between}
  .mq-v8-banner{top:50%}
}

/* r4: retire les pseudo-titres hérités (doublon avec .mq-v8-mini-title) */
.mq-speed-duel.is-v8-ui .mq-speed-rival-window::before,.mq-speed-duel.is-v8-ui .mq-speed-rival-window::after{content:none!important;display:none!important}

/* r5 : le plateau occupe toujours toute la zone de jeu (une seule rangée de grille).
   Corrige le plateau « coincé » en petit quand la zone grandit après le premier calcul. */
.mq-speed-duel.is-v8-ui .mq-speed-play-zone{display:grid!important;grid-template-rows:minmax(0,1fr)!important;grid-template-columns:minmax(0,1fr)!important;align-content:stretch!important;justify-content:stretch!important}
.mq-speed-duel.is-v8-ui .mq-speed-play-zone>.mq-speed-board-wrap{grid-area:1/1/2/2!important;height:100%!important;width:100%!important;min-height:0!important;min-width:0!important;align-self:stretch!important;justify-self:stretch!important}
/* r5 : pastille MÉMORISE opaque et calée sur le bandeau du haut (plus de texte qui transparaît). */
.mq-speed-duel.is-v8-ui .mq-speed-stage[data-stage-phase="memorise"] .mq-speed-count{background:linear-gradient(180deg,#ffffff,#eefbfa)!important;border:1.5px solid rgba(20,184,166,.45)!important;box-shadow:0 10px 26px rgba(15,60,70,.22),inset 0 1px 0 #fff!important;font-size:clamp(17px,5vw,28px)!important;padding:6px 18px!important;max-width:calc(100vw - 120px);overflow:hidden;text-overflow:ellipsis}
/* r5 : liseré blanc des cartes affiné sur les grands plateaux (plus d'image, plus de lisibilité). */
.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="md"] .mq-face{border-width:2px!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="lg"] .mq-face{border-width:1.5px!important;border-radius:8px!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="lg"] .mq-card{border-radius:8px!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="xl"] .mq-face{border-width:1px!important;border-radius:7px!important;box-shadow:0 1px 2px rgba(0,0,0,.14)!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="xl"] .mq-card{border-radius:7px!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="xl"] .mq-front img,.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="lg"] .mq-front img{border-radius:inherit}
/* r5 : petits écrans en portrait (≤ 720 px de haut) : panneaux plus compacts, plateau plus grand. */
@media (orientation:portrait) and (max-height:720px){
  .mq-speed-duel.is-v8-ui .mq-v8-power{padding:4px 8px 5px!important;border-radius:13px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-power-head{font-size:9.5px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-segs{margin-top:3px!important;gap:4px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-seg{height:17px!important;border-radius:6px!important;font-size:10px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-dock{padding:6px 8px!important;row-gap:4px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-who small{display:none!important}
  .mq-speed-duel.is-v8-ui .mq-v8-av,.mq-speed-duel.is-v8-ui .mq-v8-av .mq-speed-rival-panel-avatar{width:38px!important;height:38px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-pct>b{font-size:19px!important}
  .mq-speed-duel.is-v8-ui .mq-v8-feed{min-height:24px!important}
}
@media (orientation:portrait) and (max-height:600px){
  .mq-speed-duel.is-v8-ui .mq-v8-power-head{display:none!important}
  .mq-speed-duel.is-v8-ui .mq-v8-segs{margin-top:0!important}
  .mq-speed-duel.is-v8-ui .mq-v8-duel-labels{display:none!important}
}

/* r6 : la section SÉRIE / pouvoirs descend en bas, à la place du texte d'état.
   Ordre : chrono → rival → plateau (prend toute la place) → série + bouton quitter. */
.mq-speed-duel.is-v8-ui .mq-speed-local-zone{grid-template-columns:minmax(0,1fr) 44px!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;grid-template-areas:"hud hud" "dock dock" "board board" "power foot"!important;column-gap:6px!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-speed-hud{grid-area:hud!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-v8-dock{grid-area:dock!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-speed-play-zone{grid-area:board!important;min-height:0!important}
.mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-v8-power{grid-area:power!important;align-self:end;min-width:0}
.mq-speed-duel.is-v8-ui .mq-speed-local-zone>.mq-speed-foot{grid-area:foot!important;align-self:stretch!important;justify-self:end!important;width:auto!important;max-width:none!important;min-height:0!important;padding:0!important;background:none!important;display:flex!important;align-items:center!important}
.mq-speed-duel.is-v8-ui .mq-speed-foot>div,.mq-speed-duel.is-v8-ui .mq-speed-foot [data-speed-freeze-counter]{display:none!important}
.mq-speed-duel.is-v8-ui .mq-speed-foot [data-speed-leave]{width:44px!important;height:44px!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(238,249,251,.9))!important;box-shadow:0 0 0 1.5px rgba(255,255,255,.95) inset,0 6px 16px rgba(6,60,85,.16)!important}
@media (orientation:portrait) and (max-height:720px){.mq-speed-duel.is-v8-ui .mq-speed-local-zone{grid-template-columns:minmax(0,1fr) 38px!important}.mq-speed-duel.is-v8-ui .mq-speed-foot [data-speed-leave]{width:38px!important;height:38px!important;border-radius:12px!important}}
@media (orientation:landscape) and (max-height:560px){
  .mq-speed-duel.is-v8-ui .mq-speed-local-zone{grid-template-columns:minmax(0,1fr) minmax(200px,calc(40% - 50px)) 38px!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;grid-template-areas:"board hud hud" "board dock dock" "board . ." "board power foot"!important}
}
@media (orientation:landscape) and (max-height:560px){.mq-speed-duel.is-v8-ui .mq-speed-foot [data-speed-leave]{width:38px!important;height:38px!important;border-radius:12px!important}}

/* ======================================================================
 * r7 (v242) — Thèmes, espacement des cartes, fluidité.
 * 1) Les panneaux (chrono, rival, série, quitter) suivent le thème actif :
 *    Lagon/Ambre en verre clair, Océan/Grenat/Ardoise/Nuit en verre sombre.
 * 2) Chaque carte remplit exactement sa case : plus de chevauchement vertical.
 * 3) Confinement du rendu : chaque carte et chaque panneau se repeint seul.
 * ==================================================================== */
.mq-speed-duel.is-v8-ui{
  --v8-pbg:linear-gradient(180deg,rgba(255,255,255,.95),rgba(238,249,251,.9));
  --v8-pring:rgba(255,255,255,.95);--v8-pshadow:0 8px 22px rgba(6,60,85,.16);
  --v8-sub:#fff;--v8-sub2:linear-gradient(180deg,#e9f7fa,#d6eef4);--v8-subring:rgba(19,166,184,.2);
  --v8-seg-bg:#e7f3f6;--v8-seg-ring:#d4e9ee;--v8-seg-ink:#9cbcc6;
  --v8-acc:#0e9fb8;--v8-bar-bg:#ffe1dc;--v8-me-ink:#0f766e;--v8-rv-ink:#e1453a;
  --v8-combo-bg:#eef7f9;--v8-combo-ink:#0f3a4a;
}
.mq-shell[data-skin="ambre"] .mq-speed-duel.is-v8-ui{
  --v8-ink:#5a2a0a;--v8-ink2:#7a4317;--v8-muted:#a8754a;--v8-line:rgba(160,82,20,.14);
  --v8-pbg:linear-gradient(180deg,rgba(255,252,246,.96),rgba(255,240,216,.92));
  --v8-pshadow:0 8px 22px rgba(140,62,8,.18);
  --v8-sub2:linear-gradient(180deg,#fff3df,#ffe6c2);--v8-subring:rgba(242,113,28,.22);
  --v8-seg-bg:#fff1dc;--v8-seg-ring:#f6dcb6;--v8-seg-ink:#c9a27b;--v8-acc:#e2620f;--v8-combo-bg:#fff1dc;--v8-combo-ink:#5a2a0a;
}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui{
  --v8-ink:#f3fbff;--v8-ink2:#cfe6ef;--v8-muted:#8fb3c2;--v8-line:rgba(255,255,255,.1);
  --v8-pbg:linear-gradient(180deg,rgba(18,58,76,.94),rgba(9,40,55,.94));
  --v8-pring:rgba(255,255,255,.12);--v8-pshadow:0 10px 26px rgba(0,0,0,.34);
  --v8-sub:rgba(255,255,255,.07);--v8-sub2:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));--v8-subring:rgba(255,255,255,.12);
  --v8-seg-bg:rgba(255,255,255,.07);--v8-seg-ring:rgba(255,255,255,.1);--v8-seg-ink:#6f8f9c;
  --v8-acc:#5ee0f0;--v8-bar-bg:rgba(255,95,79,.22);--v8-me-ink:#5eead4;--v8-rv-ink:#ff8a7a;
  --v8-combo-bg:rgba(255,255,255,.1);--v8-combo-ink:#f3fbff;
}
.mq-shell[data-skin="grenat"] .mq-speed-duel.is-v8-ui{
  --v8-ink:#fff4ef;--v8-ink2:#f3cfc3;--v8-muted:#d39c91;
  --v8-pbg:linear-gradient(180deg,rgba(92,34,46,.95),rgba(58,20,29,.95));--v8-acc:#ffc58a;--v8-me-ink:#7ff0d8;
}
.mq-shell[data-skin="ardoise"] .mq-speed-duel.is-v8-ui{
  --v8-muted:#93a6b3;--v8-ink2:#d2dde4;
  --v8-pbg:linear-gradient(180deg,rgba(40,54,66,.95),rgba(24,34,43,.95));--v8-acc:#7dd3fc;
}
.mq-shell[data-skin="nuit"] .mq-speed-duel.is-v8-ui{
  --v8-ink:#eef1ff;--v8-ink2:#c9d0f0;--v8-muted:#8b93bd;
  --v8-pbg:linear-gradient(180deg,rgba(28,36,66,.95),rgba(14,20,40,.95));--v8-acc:#a5b4fc;--v8-subring:rgba(165,180,252,.16);
}
/* Panneaux */
.mq-speed-duel.is-v8-ui .mq-speed-hud,
.mq-speed-duel.is-v8-ui .mq-v8-dock,
.mq-speed-duel.is-v8-ui .mq-v8-power,
.mq-speed-duel.is-v8-ui .mq-speed-foot [data-speed-leave]{background:var(--v8-pbg)!important;box-shadow:0 0 0 1.5px var(--v8-pring) inset,var(--v8-pshadow)!important;border:0!important;color:var(--v8-ink)!important}
.mq-speed-duel.is-v8-ui .mq-speed-foot [data-speed-leave]{color:var(--v8-ink2)!important}
.mq-speed-duel.is-v8-ui .mq-speed-foot [data-speed-leave] svg{stroke:currentColor}
.mq-speed-duel.is-v8-ui .mq-speed-hud-stat small{color:var(--v8-muted)!important;opacity:1!important;font-weight:900}
.mq-speed-duel.is-v8-ui .mq-speed-hud-stat strong{color:var(--v8-ink)!important;font-variant-numeric:tabular-nums;text-shadow:none!important}
.mq-speed-duel.is-v8-ui .mq-speed-hud-stat.is-time strong{color:var(--v8-acc)!important}
.mq-speed-duel.is-v8-ui .mq-speed-combo:not(.is-hot){background:var(--v8-combo-bg)!important;color:var(--v8-combo-ink)!important;box-shadow:inset 0 0 0 1px var(--v8-line)!important}
.mq-speed-duel.is-v8-ui .mq-v8-ev{background:var(--v8-sub)!important}
.mq-speed-duel.is-v8-ui .mq-v8-dock .mq-speed-rival-window{background:var(--v8-sub2)!important;box-shadow:inset 0 0 0 1.5px var(--v8-subring)!important}
.mq-speed-duel.is-v8-ui .mq-v8-bar{background:var(--v8-bar-bg)}
.mq-speed-duel.is-v8-ui .mq-v8-l{color:var(--v8-me-ink)}
.mq-speed-duel.is-v8-ui .mq-v8-r{color:var(--v8-rv-ink)}
.mq-speed-duel.is-v8-ui .mq-v8-seg{background:var(--v8-seg-bg);box-shadow:inset 0 0 0 1.5px var(--v8-seg-ring)}
.mq-speed-duel.is-v8-ui .mq-v8-seg b,.mq-speed-duel.is-v8-ui .mq-v8-seg em{color:var(--v8-seg-ink)}
.mq-speed-duel.is-v8-ui .mq-v8-seg.is-on b,.mq-speed-duel.is-v8-ui .mq-v8-seg.is-on em{color:#fff}
.mq-speed-duel.is-v8-ui .mq-v8-av .mq-speed-rival-panel-avatar,.mq-speed-duel.is-v8-ui .mq-v8-live{box-shadow:0 0 0 2.5px var(--v8-pring)!important}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-chip{background:rgba(47,209,122,.16);color:#6ff0b0}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-chip.is-hot{background:rgba(249,115,22,.2);color:#ffb37a}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-chip.is-ice{background:rgba(56,189,248,.18);color:#9fdcff}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-chip.is-fog{background:rgba(139,92,246,.22);color:#d4c4ff}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-ev.is-urgent{background:linear-gradient(90deg,rgba(244,63,94,.24),rgba(244,63,94,.06))!important}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-ev.is-urgent>span,
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-ev.is-urgent>span b{color:#ffb4c0}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-v8-x{background:rgba(255,255,255,.16)}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-speed-duel.is-v8-ui .mq-speed-stage[data-stage-phase="memorise"] .mq-speed-count{background:var(--v8-pbg)!important;color:var(--v8-ink)!important;border-color:var(--v8-subring)!important}

/* Cartes : remplissent exactement leur case (fin du chevauchement « encombré »). */
.mq-speed-duel.is-v8-ui .mq-speed-local-board>.mq-speed-card{aspect-ratio:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-height:none!important;contain:layout style}
.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="lg"],.mq-speed-duel.is-v8-ui .mq-speed-local-board[data-speed-size="xl"]{gap:clamp(4px,1.2vmin,7px)!important}
/* Fluidité : panneaux confinés (un changement de texte ne relance plus la mise en page du plateau). */
.mq-speed-duel.is-v8-ui .mq-speed-hud,.mq-speed-duel.is-v8-ui .mq-v8-power{contain:layout paint}
.mq-speed-duel.is-v8-ui .mq-v8-dock{contain:layout}
.mq-speed-duel.is-v8-ui .mq-speed-local-board .mq-card{transition:transform 120ms cubic-bezier(.2,.8,.2,1)!important}
