/* ============================================================================
   MW4 · EN DIRECT — les cartes de rencontre du hub (8s quatre contre quatre, scrims, duels), dans la
   langue des images du bot (hub/cartes.py, bande-annonce V5.4) : une image du film en fond, nuit,
   plaques de verre dépoli, crochets de détection, lignes de balayage, sceau holographique « vérifié »,
   chiffres en Big Shoulders. Palette verrouillée : noir, lime, sapin, chrome, crème. Rouge = direct.
   ========================================================================= */
.dr-direct{position:relative;overflow:hidden;isolation:isolate;scroll-margin-top:140px}
.dr-direct__film{position:absolute;inset:-40px;z-index:-1;pointer-events:none;
  background:url("/static/mw4/film/carte-cdl.webp") center 46%/cover no-repeat;filter:blur(18px) saturate(1.15);opacity:.32;transform:scale(1.08)}
.dr-direct__film::after{content:"";position:absolute;inset:0;background:
  radial-gradient(120% 70% at 50% 0%,rgba(3,5,3,.25),rgba(3,5,3,.92) 70%),linear-gradient(180deg,rgba(3,5,3,.6),rgba(3,5,3,.15) 40%,rgba(3,5,3,.9))}
.dr-apercu{padding:3px 8px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(238,242,230,.35);color:rgba(238,242,230,.8)!important}

/* ------------------------------------------------------------------ la grille des rencontres */
.dr-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px);align-items:start}
.dr-carte--grand{grid-column:1/-1}

/* ------------------------------------------------------------------ LA CARTE */
.dr-carte{--bord-a:rgba(157,255,60,.5);--bord-b:rgba(201,208,196,.38);
  position:relative;overflow:hidden;isolation:isolate;border-radius:26px;padding:clamp(18px,2.2vw,30px);color:var(--mw4-os);
  background:#060806;box-shadow:inset 0 0 0 1px rgba(238,242,230,.1),0 40px 90px -50px rgba(0,0,0,.9);
  animation:dr-entre .9s var(--mw4-entre) both;animation-delay:calc(var(--i,0) * 90ms)}
@keyframes dr-entre{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
.dr-carte__film{position:absolute;inset:-16px;z-index:-2;pointer-events:none;background:url("/static/mw4/film/carte-cdl.webp") center 45%/cover no-repeat;
  filter:blur(7px) brightness(.34) saturate(1.1);transform:scale(1.06)}
.dr-carte--scrim .dr-carte__film{background-image:url("/static/mw4/film/carte-escouade.webp")}
.dr-carte--duel .dr-carte__film{background-image:url("/static/mw4/film/carte-masque.webp");background-position:center 35%}
.dr-carte__film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,6,.82) 0,rgba(6,8,6,.35) 26%,rgba(6,8,6,.55) 62%,rgba(6,8,6,.94))}
.dr-carte__lignes{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.55) 0 1px,transparent 1px 3px)}
.dr-carte::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:3;
  background:linear-gradient(115deg,transparent 30%,rgba(238,242,230,.06) 46%,transparent 60%);background-size:260% 100%;
  animation:dr-reflet 7s ease-in-out infinite}
@keyframes dr-reflet{0%,55%{background-position:120% 0}100%{background-position:-60% 0}}

.dr-carte__tete{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 16px;margin-bottom:clamp(14px,2vw,24px)}
.dr-hud{font-family:var(--f-ui);font-stretch:75%;font-weight:600;font-size:13px;letter-spacing:.01em;color:var(--mw4-lime);text-transform:lowercase;grid-column:1/-1}
.dr-carte__titre{margin:0;font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(28px,4.2vw,62px);line-height:.86;letter-spacing:-.045em;
  text-transform:uppercase;color:#eefbe6;text-shadow:0 0 22px rgba(238,251,230,.18);min-width:0;overflow-wrap:anywhere}
.dr-carte__titre i{font-style:normal;color:rgba(238,242,230,.4);font-weight:500}
.dr-carte:not(.dr-carte--grand) .dr-carte__titre{font-size:clamp(22px,2.4vw,34px)}
.dr-etat{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:8px;font-family:var(--f-ui);font-weight:650;font-size:13px;
  background:rgba(238,242,230,.08);box-shadow:inset 0 0 0 1px rgba(238,242,230,.16);white-space:nowrap}
.dr-etat__pt{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 0 rgba(255,59,48,.6);animation:dr-pouls 1.6s ease-out infinite}
@keyframes dr-pouls{0%{box-shadow:0 0 0 0 rgba(255,59,48,.55)}70%{box-shadow:0 0 0 9px rgba(255,59,48,0)}100%{box-shadow:0 0 0 0 rgba(255,59,48,0)}}
.dr-etat--litige{color:#ffd9d6;box-shadow:inset 0 0 0 1px rgba(255,59,48,.6)}
.dr-etat--termine{color:#061006;background:linear-gradient(90deg,#9dff3c,#eefbe6 45%,#c9d0c4 70%,#89f421);box-shadow:none}

/* les deux équipes, sur verre ; le score au milieu */
.dr-face{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(12px,1.6vw,22px);align-items:stretch}
.dr-eq{position:relative;padding:clamp(14px,1.6vw,20px);border-radius:22px;background:rgba(9,13,9,.5);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px var(--bord-a)}
.dr-eq--b{box-shadow:inset 0 0 0 1px var(--bord-b)}
.dr-eq.is-gagnant{box-shadow:inset 0 0 0 1.5px var(--mw4-lime),0 0 40px -14px rgba(157,255,60,.55)}
.dr-eq__tete{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.dr-eq__tete b{font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(20px,2vw,30px);letter-spacing:-.04em;text-transform:uppercase;color:var(--mw4-lime);line-height:1}
.dr-eq--b .dr-eq__tete b{color:#c9d0c4}
.dr-eq__note{font-family:var(--f-chiffre);font-weight:800;font-size:clamp(22px,2vw,32px);color:#7d857a;line-height:1}
.dr-eq__j{list-style:none;margin:0;padding:0;display:grid;gap:6px}

/* un joueur : avatar en détection, nom, rang, sceau vérifié, note */
.dr-j{--mx:50%;--my:50%;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:4px 12px;
  padding:8px 10px 8px 8px;border-radius:14px;transition:background .3s,transform .4s var(--mw4-entre)}
.dr-j::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(160px circle at var(--mx) var(--my),rgba(157,255,60,.16),transparent 70%),
    linear-gradient(105deg,transparent 20%,rgba(157,255,60,.10) 38%,rgba(238,251,230,.14) 48%,rgba(201,208,196,.10) 58%,transparent 76%);
  background-size:100% 100%,240% 100%;background-position:0 0,var(--mx) 0;mix-blend-mode:screen}
.dr-j:hover{background:rgba(238,242,230,.04);transform:translateX(2px)}
.dr-j:hover::before{opacity:1}
.dr-j__av{position:relative;width:52px;height:52px;flex:none;margin:5px}
.dr-j__av img,.dr-j__ini{width:100%;height:100%;border-radius:9px;object-fit:cover;display:grid;place-items:center}
.dr-j__ini{background:radial-gradient(120% 120% at 30% 20%,#14361f,#0c2114 60%,#071309);font-family:var(--f-chiffre);font-weight:800;font-size:26px;color:rgba(238,251,230,.85)}
.dr-j__av::after{content:"";position:absolute;inset:0;border-radius:9px;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.45) 0 1px,transparent 1px 4px)}
.dr-crochets{position:absolute;inset:-5px;pointer-events:none;transition:inset .35s var(--mw4-entre);
  --c:var(--mw4-lime);
  background:
    linear-gradient(var(--c),var(--c)) 0 0/12px 2px,linear-gradient(var(--c),var(--c)) 0 0/2px 12px,
    linear-gradient(var(--c),var(--c)) 100% 0/12px 2px,linear-gradient(var(--c),var(--c)) 100% 0/2px 12px,
    linear-gradient(var(--c),var(--c)) 0 100%/12px 2px,linear-gradient(var(--c),var(--c)) 0 100%/2px 12px,
    linear-gradient(var(--c),var(--c)) 100% 100%/12px 2px,linear-gradient(var(--c),var(--c)) 100% 100%/2px 12px;
  background-repeat:no-repeat}
.dr-eq--b .dr-crochets{--c:#c9d0c4}
.dr-j:hover .dr-crochets{inset:-2px}
.dr-j__id{display:grid;min-width:0}
.dr-j__nom{font-family:var(--f-display);font-weight:700;font-size:clamp(15px,1.25vw,19px);color:#eefbe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-j__nom a{color:inherit;text-decoration:none}
.dr-j__nom a:hover{text-decoration:underline;text-underline-offset:3px}
.dr-j__rang{font-family:var(--f-ui);font-stretch:75%;font-weight:600;font-size:12.5px;color:#7d857a;text-transform:uppercase;letter-spacing:.02em}
.dr-j__rang em{font-style:normal;color:var(--mw4-lime)}
.dr-j__note{font-family:var(--f-chiffre);font-weight:800;font-size:clamp(20px,1.7vw,26px);color:#c9d0c4;line-height:1;min-width:2.6ch;text-align:right}
.dr-holo{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:5px;font-family:var(--f-ui);font-stretch:75%;font-weight:750;font-size:11px;
  letter-spacing:.02em;text-transform:uppercase;color:#061006;white-space:nowrap;
  background:linear-gradient(100deg,#9dff3c,#eefbe6 22%,#c9d0c4 40%,#89f421 58%,#eefbe6 78%,#9dff3c);background-size:220% 100%;animation:dr-holo 5s linear infinite}
@keyframes dr-holo{to{background-position:-220% 0}}

/* le score : la série en lumière (gauche = la première équipe), la plaque VS lime au milieu */
.dr-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;align-content:center;gap:8px clamp(10px,1.2vw,18px);
  min-width:clamp(200px,17vw,300px)}
.dr-score__c{display:grid;justify-items:center;gap:6px;min-width:0}
.dr-score__c--a{justify-self:end}
.dr-score__c--b{justify-self:start}
.dr-score__nom{display:none;font-family:var(--f-ui);font-stretch:75%;font-weight:700;font-size:12px;color:#7d857a;text-transform:uppercase;max-width:12ch;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-score__v{font-family:var(--f-chiffre);font-weight:800;font-size:clamp(58px,7vw,128px);line-height:.82;color:var(--mw4-lime);
  text-shadow:0 0 28px rgba(157,255,60,.45),0 0 2px rgba(157,255,60,.9);font-variant-numeric:tabular-nums;transition:transform .5s var(--mw4-entre)}
.dr-score__v[data-v="b"]{color:#eefbe6;text-shadow:0 0 24px rgba(238,251,230,.25)}
.dr-score__f{grid-column:1/-1;justify-self:center}
.dr-score__v.is-bouge{animation:dr-bouge .9s var(--mw4-entre)}
@keyframes dr-bouge{0%{transform:scale(1.35);filter:brightness(1.8)}100%{transform:none;filter:none}}
.dr-vs{display:grid;place-items:center;width:clamp(44px,4.4vw,64px);height:clamp(44px,4.4vw,64px);border-radius:14px;background:var(--mw4-lime);color:#061006;
  font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(16px,1.6vw,22px);letter-spacing:-.04em;box-shadow:0 0 40px -6px rgba(137,244,33,.6)}
.dr-score__f{font-family:var(--f-ui);font-stretch:75%;font-weight:700;font-size:12px;color:#7d857a;letter-spacing:.06em}
/* les cartes secondaires (scrim, duel, un second 8s) : le score en tête, les deux équipes côte à côte, en court */
.dr-carte:not(.dr-carte--grand) .dr-face{grid-template-columns:repeat(2,minmax(0,1fr))}
.dr-carte:not(.dr-carte--grand) .dr-score{grid-column:1/-1;grid-row:1;min-width:0;padding:2px 0 6px}
.dr-carte:not(.dr-carte--grand) .dr-score__nom{display:block}
.dr-carte:not(.dr-carte--grand) .dr-score__v{font-size:clamp(48px,4.6vw,78px)}
.dr-carte:not(.dr-carte--grand) .dr-eq{padding:12px}
.dr-carte:not(.dr-carte--grand) .dr-eq__tete b{font-size:clamp(17px,1.5vw,22px)}
.dr-carte:not(.dr-carte--grand) .dr-eq__note{font-size:clamp(18px,1.5vw,24px)}
.dr-carte:not(.dr-carte--grand) .dr-j{grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;padding:6px 8px 6px 6px}
.dr-carte:not(.dr-carte--grand) .dr-j__av{width:40px;height:40px;margin:4px}
.dr-carte:not(.dr-carte--grand) .dr-j__ini{font-size:20px}
.dr-carte:not(.dr-carte--grand) .dr-holo{grid-column:2;grid-row:2;justify-self:start;height:18px;font-size:9.5px;padding:0 7px}
.dr-carte:not(.dr-carte--grand) .dr-j__note{grid-column:3;grid-row:1/3;font-size:20px}
.dr-carte:not(.dr-carte--grand) .dr-j__nom{font-size:15px}

/* les manches, chacune sur sa bande de verre */
.dr-manches{list-style:none;margin:clamp(14px,1.8vw,22px) 0 0;padding:0;display:grid;gap:6px}
.dr-m{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px 14px;padding:9px 14px;border-radius:12px;
  background:rgba(238,242,230,.05);box-shadow:inset 0 0 0 1px rgba(238,242,230,.08);animation:dr-entre .6s var(--mw4-entre) both}
.dr-m__n{font-family:var(--f-chiffre);font-weight:800;font-size:18px;color:#7d857a;min-width:1.4ch}
.dr-m__mode{font-family:var(--f-display);font-weight:650;font-size:14.5px;color:#c9d0c4;text-transform:uppercase;letter-spacing:.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-m__s{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--f-chiffre);font-weight:800;font-size:24px;color:#eefbe6;font-variant-numeric:tabular-nums}
.dr-m__s i{font-style:normal;color:#7d857a;font-size:18px}
.dr-m.gagne-a .dr-m__a,.dr-m.gagne-b .dr-m__b{color:var(--mw4-lime);text-shadow:0 0 14px rgba(157,255,60,.4)}
.dr-m__st{display:inline-flex;align-items:center;justify-content:flex-end;min-width:96px;font-family:var(--f-ui);font-stretch:75%;font-weight:650;font-size:12.5px;color:#7d857a}
.dr-m__st svg{width:18px;height:18px;color:var(--mw4-lime)}
.dr-m.is-attente{box-shadow:inset 0 0 0 1px rgba(238,242,230,.22);background:repeating-linear-gradient(135deg,rgba(238,242,230,.05) 0 8px,rgba(238,242,230,.02) 8px 16px)}
.dr-m.is-attente .dr-m__st{color:#eefbe6}
.dr-m.is-attente .dr-m__s{opacity:.78}
.dr-m.is-conteste{box-shadow:inset 0 0 0 1px rgba(255,59,48,.55)}
.dr-m.is-conteste .dr-m__st{color:#ffb4ae}
.dr-m.vient-de-passer{animation:dr-flash 1.1s var(--mw4-entre)}
@keyframes dr-flash{0%{background:rgba(157,255,60,.35)}100%{background:rgba(238,242,230,.05)}}
.dr-m__act{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}

/* la saisie d'une manche (les joueurs de la rencontre) */
.dr-saisie{display:grid;grid-template-columns:auto minmax(150px,1.3fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px 12px;margin-top:12px;padding:14px;
  border-radius:16px;background:rgba(9,13,9,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(157,255,60,.3)}
.dr-saisie .dr-hud{grid-column:auto;align-self:center}
.dr-saisie select,.dr-saisie input{width:100%;height:40px;padding:0 12px;border-radius:10px;border:0;background:rgba(238,242,230,.08);color:#eefbe6;
  box-shadow:inset 0 0 0 1px rgba(238,242,230,.18);font-family:var(--f-ui);font-size:15px}
.dr-saisie input{font-family:var(--f-chiffre);font-weight:800;font-size:22px;text-align:center}
.dr-saisie select:focus-visible,.dr-saisie input:focus-visible{outline:2px solid var(--mw4-lime);outline-offset:2px}
.dr-saisie option{background:#0a0d0a;color:#eefbe6}
.dr-saisie__s{display:grid;gap:4px}
.dr-saisie__s span{font-family:var(--f-ui);font-stretch:75%;font-weight:700;font-size:12px;color:#7d857a;text-transform:uppercase}
.dr-saisie__msg{grid-column:1/-1;min-height:0;font-family:var(--f-ui);font-size:13.5px;color:#c9d0c4}
.dr-saisie__msg:empty{display:none}
.dr-saisie__msg.is-erreur{color:#ffb4ae}

/* ceux qui diffusent */
.dr-diff{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dr-twitch{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px 0 10px;border-radius:10px;font-family:var(--f-ui);font-weight:650;font-size:13.5px;
  color:#eefbe6;text-decoration:none;background:rgba(238,242,230,.08);box-shadow:inset 0 0 0 1px rgba(238,242,230,.2);transition:background .25s,color .25s,box-shadow .25s}
.dr-twitch svg{width:17px;height:17px}
a.dr-twitch[href]:hover{background:var(--mw4-lime);color:#061006;box-shadow:none}
.dr-twitch--mini{width:34px;padding:0;justify-content:center}

/* la fin : le vainqueur en lumière */
.dr-carte.is-termine .dr-eq:not(.is-gagnant){opacity:.62}
.dr-carte.is-litige .dr-vs{background:#ff3b30;color:#fff;box-shadow:0 0 40px -6px rgba(255,59,48,.6)}

/* ------------------------------------------------------------------ les derniers résultats */
.dr-resultats{margin-top:clamp(26px,4vh,44px)}
.dr-sous{margin:0 0 12px}
.dr-res{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dr-res__l{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr) auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:14px;padding:12px 16px;border-radius:14px;
  background:rgba(238,242,230,.05);box-shadow:inset 0 0 0 1px rgba(238,242,230,.08);animation:dr-entre .7s var(--mw4-entre) both;animation-delay:calc(var(--i,0) * 70ms)}
.dr-res__l .dr-hud{grid-column:auto;color:#7d857a}
.dr-res__eq{font-family:var(--f-display);font-weight:700;font-size:16px;color:#c9d0c4;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-res__eq:nth-of-type(2){text-align:right}
.dr-res__eq.is-g{color:var(--mw4-lime)}
.dr-res__s{display:inline-flex;gap:8px;align-items:baseline;font-family:var(--f-chiffre);font-weight:800;font-size:28px;color:#eefbe6}
.dr-res__s i{font-style:normal;color:#7d857a;font-size:20px}
.dr-res__m{text-align:right}

/* ------------------------------------------------------------------ les lobbies 8s, par bande */
.dr-lobbies{display:grid;gap:8px}
.dr-lob{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:12px 22px;padding:14px 18px;border-radius:18px;
  background:rgba(238,242,230,.05);box-shadow:inset 0 0 0 1px rgba(238,242,230,.1);animation:dr-entre .7s var(--mw4-entre) both;animation-delay:calc(var(--i,0) * 80ms)}
.dr-lob__t{display:grid;gap:3px}
.dr-lob__t b{font-family:var(--f-display);font-weight:700;font-size:18px;color:#eefbe6}
.dr-lob__places{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,40px);gap:6px}
.dr-lob__places li{position:relative;width:40px;height:40px;border-radius:9px;box-shadow:inset 0 0 0 1px rgba(238,242,230,.16);
  background:repeating-linear-gradient(135deg,rgba(238,242,230,.04) 0 5px,transparent 5px 10px)}
.dr-lob__places li:nth-child(4){margin-right:10px}
.dr-lob--6s .dr-lob__places{grid-template-columns:repeat(6,40px)}          /* (la 6s : deux équipes de trois) */
.dr-lob--6s .dr-lob__places li:nth-child(4){margin-right:0}
.dr-lob--6s .dr-lob__places li:nth-child(3){margin-right:10px}
.dr-lobbies__sous{margin:6px 0 -10px;color:#9aa397}
.dr-lobbies__sous b{font-family:var(--f-display);font-weight:700;color:#eefbe6}
.dr-lob__places li.is-pris{background:#0c2114;box-shadow:inset 0 0 0 1.5px var(--mw4-lime)}
.dr-lob__places img,.dr-lob__places span{width:100%;height:100%;border-radius:9px;object-fit:cover;display:grid;place-items:center;
  font-family:var(--f-chiffre);font-weight:800;font-size:19px;color:rgba(238,251,230,.85)}
.dr-lob__n{font-family:var(--f-chiffre);font-weight:800;font-size:20px;color:#7d857a;white-space:nowrap}
.dr-lob__n b{font-size:40px;color:var(--mw4-lime);line-height:.9}
.dr-lob[data-n="0"] .dr-lob__n b{color:#7d857a}

/* ------------------------------------------------------------------ demandes de scrim et défis (sur la pierre) */
.dr-liste{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:8px}
.dr-ligne{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 14px;padding:12px 14px;border-radius:16px;
  background:#0b0d0b;color:var(--mw4-os);box-shadow:0 14px 30px -22px rgba(0,0,0,.6);animation:dr-entre .7s var(--mw4-entre) both;animation-delay:calc(var(--i,0) * 70ms)}
.dr-tag{display:grid;place-items:center;min-width:64px;height:44px;padding:0 10px;border-radius:10px;background:var(--mw4-lime);color:#061006;
  font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:16px;letter-spacing:-.03em}
.dr-ligne__av{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;overflow:hidden;background:#0c2114;
  font-family:var(--f-chiffre);font-weight:800;font-size:22px;color:#eefbe6;box-shadow:inset 0 0 0 1.5px var(--mw4-lime)}
.dr-ligne__av img{width:100%;height:100%;object-fit:cover}
.dr-ligne__id{display:grid;gap:2px;min-width:0}
.dr-ligne__id b{font-family:var(--f-display);font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-ligne__d{text-align:right}
.dr-vide{padding:14px 2px;color:rgba(10,10,10,.55)!important}
.sur-clair .dr-ligne .mw4-micro{color:rgba(238,242,230,.62)}

/* ------------------------------------------------------------------ la ligne du jour, les comptes en file */
.zn-jour{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
.zn-jour .dr-etat__pt{width:7px;height:7px}
.zn-file__live{position:absolute;right:16px;bottom:14px;color:rgba(10,10,10,.6)!important}
.zn-file__live b{font-family:var(--f-chiffre);font-size:20px;color:#0a0a0a}
.zn-huit--hub .btn{margin-top:6px}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ------------------------------------------------------------------ « Me prévenir » (notifications web) */
.dr-prev{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.dr-prev[hidden],.dr-prev__ios[hidden]{display:none}
.dr-prev__btn{display:inline-flex;align-items:center;gap:8px}
.dr-prev__btn .skic{flex:none}
.dr-prev__btn[aria-pressed="true"]{opacity:.8}
.dr-prev__ios{display:grid;gap:8px;width:100%;padding:12px 14px;border-radius:14px;color:#eefbe6;background:rgba(9,13,9,.74);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(157,255,60,.3)}
.dr-prev__ios-t{font-family:var(--f-ui);font-weight:700;font-size:13.5px;color:var(--mw4-lime);text-decoration:none}
.dr-prev__pas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-family:var(--f-ui);font-size:13.5px}
.dr-prev__pas li{display:inline-flex;align-items:center;gap:6px}
.dr-prev__pas li+li::before{content:"›";color:#7d857a;margin-right:2px}
.dr-prev__pas svg{width:16px;height:16px;color:var(--mw4-lime)}
.dr-lob .dr-prev,.dr-ligne .dr-prev{grid-column:1/-1;margin-top:2px}

/* ------------------------------------------------------------------ tablette, téléphone */
@media (max-width:1100px){
  .dr-grille{grid-template-columns:minmax(0,1fr)}
  .dr-lob{grid-template-columns:minmax(0,1fr) auto}
  /* (l'écart entre les deux équipes : une colonne vide ; la marge rognait la case qui la portait, plus petite que les autres) */
  .dr-lob__places{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr)) 4px repeat(4,minmax(0,1fr))}
  .dr-lob__places li:nth-child(4),.dr-lob--6s .dr-lob__places li:nth-child(3){margin-right:0}
  .dr-lob__places li:nth-child(5){grid-column-start:6}
  .dr-lob--6s .dr-lob__places{grid-template-columns:repeat(3,minmax(0,1fr)) 4px repeat(3,minmax(0,1fr))}
  .dr-lob--6s .dr-lob__places li:nth-child(4){grid-column-start:5}
  .dr-lob__places li{width:auto;aspect-ratio:1;height:auto}
}
@media (max-width:760px){
  .dr-carte{border-radius:22px;padding:16px}
  .dr-face,.dr-carte:not(.dr-carte--grand) .dr-face{grid-template-columns:minmax(0,1fr)}
  .dr-score,.dr-carte:not(.dr-carte--grand) .dr-score{grid-column:1;grid-row:1;min-width:0;padding:4px 0}
  .dr-score__nom{display:block}
  .dr-score__v,.dr-carte:not(.dr-carte--grand) .dr-score__v{font-size:64px}
  .dr-j{grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px}
  .dr-j__av{width:44px;height:44px;margin:4px}
  .dr-holo{grid-column:2;grid-row:2;justify-self:start;height:20px;font-size:10px}
  .dr-j__note{grid-column:3;grid-row:1/3}
  .dr-m{grid-template-columns:auto minmax(0,1fr) auto;padding:9px 12px}
  .dr-m__st{grid-column:1/-1;justify-content:flex-start;min-width:0}
  .dr-saisie{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dr-saisie .dr-hud,.dr-saisie__mode,.dr-saisie .btn{grid-column:1/-1}
  .dr-res__l{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px 10px}
  .dr-res__l .dr-hud,.dr-res__m{grid-column:1/-1;text-align:left}
  .dr-ligne{grid-template-columns:auto minmax(0,1fr) auto}
  .dr-ligne__d{grid-column:1/-1;text-align:left}
  .dr-tag{min-width:54px;height:40px;font-size:14px}
  .zn-jour{margin-left:0}
}
@media (prefers-reduced-motion: reduce){
  .dr-carte,.dr-m,.dr-lob,.dr-ligne,.dr-res__l{animation:none}
  .dr-carte::after,.dr-holo,.dr-etat__pt{animation:none}
}

/* ------------------------------------------------------------------ LE MATCHMAKING EN DIRECT (le salon Matchmaking)
   La même plaque que les cartes de rencontre : l'image du film en fond, nuit, lignes de balayage ; chaque joueur en
   détection, le logo de son rang (hub/emojis.py), ses mots entre guillemets. */
.mm{position:relative;overflow:hidden;isolation:isolate;margin:clamp(18px,2.4vw,30px) 0 clamp(26px,3vw,40px);border-radius:26px;
  padding:clamp(18px,2.2vw,30px);color:var(--mw4-os);background:#060806;
  box-shadow:inset 0 0 0 1px rgba(238,242,230,.1),0 40px 90px -50px rgba(0,0,0,.9)}
.mm::before{content:"";position:absolute;inset:-16px;z-index:-2;pointer-events:none;
  background:url("/static/mw4/film/carte-escouade.webp") center 40%/cover no-repeat;filter:blur(8px) brightness(.3) saturate(1.1);transform:scale(1.06)}
.mm::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.55) 0 1px,transparent 1px 3px)}
.mm-titre{margin:0 0 6px;font-family:var(--f-display);font-weight:800;font-size:clamp(20px,2vw,28px);letter-spacing:-.01em;
  color:#eefbe6;text-transform:uppercase}
.mm-pouls{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 14px;color:#9aa397}
.mm-pouls b{color:#eefbe6}
.mm-pouls__vif{display:inline-flex;align-items:center;gap:8px}
.mm-salons{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.mm-salon{padding:6px 11px;border-radius:999px;font-size:13px;color:#c9d0c4;background:rgba(238,242,230,.06);
  box-shadow:inset 0 0 0 1px rgba(238,242,230,.1)}
.mm-salon b{color:#eefbe6;font-weight:700}
.mm-salon a{color:inherit;text-decoration:none}
.mm-salon.is-calme{opacity:.5}
.mm-joueurs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:10px;margin:0 0 6px;padding:0;list-style:none}
.mm-j{--mx:50%;--my:50%;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 12px;
  padding:8px 12px 10px 8px;border-radius:16px;background:rgba(238,242,230,.035);box-shadow:inset 0 0 0 1px rgba(238,242,230,.07)}
.mm-j::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(160px circle at var(--mx) var(--my),rgba(157,255,60,.16),transparent 70%);mix-blend-mode:screen}
.mm-j:hover::before{opacity:1}
.mm-j:hover .dr-crochets{inset:-2px}
.mm-j .dr-j__av{grid-row:span 2;width:46px;height:46px}
.mm-j__id{display:grid;min-width:0}
.mm-j__nom{font-family:var(--f-display);font-weight:700;font-size:16px;color:#eefbe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-j__nom a{color:inherit;text-decoration:none}
.mm-j__nom a:hover{text-decoration:underline;text-underline-offset:3px}
.mm-j__ou{font-family:var(--f-ui);font-stretch:75%;font-weight:600;font-size:12px;color:#7d857a;text-transform:uppercase;letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-j__rang{grid-row:1;grid-column:3;width:28px;height:28px}
.mm-j__det{grid-column:2/4;font-size:12.5px;color:#9aa397}
.mm-j__mots{grid-column:1/-1;margin:6px 0 0;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.35);font-size:13.5px;color:#e6eadf;
  quotes:"«\00a0" "\00a0»";overflow-wrap:anywhere}
.mm-j__mots:lang(en){quotes:"\201C" "\201D"}
.mm-vide{margin:0 0 6px;color:#c9d0c4}
.mm-vide b{color:#eefbe6}
.mm-bloc{margin-top:16px;padding-top:14px;border-top:1px solid rgba(238,242,230,.08)}
.mm-sous{margin:0 0 8px;font-size:14px;color:#c9d0c4}
.mm-sous b{color:#eefbe6}
.mm-vocs,.mm-passe{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:14px;color:#c9d0c4}
.mm-vocs b{color:#eefbe6}
.mm-rejoindre{margin-left:8px;color:var(--mw4-lime);font-weight:700;text-decoration:none}
.mm-rejoindre:hover{text-decoration:underline;text-underline-offset:3px}
.mm-passe li{display:flex;align-items:center;gap:10px}
.mm-passe li>span:last-child{min-width:0}
.mm-passe .dr-j__av{width:26px;height:26px;margin:0}
.mm-passe .dr-j__av img,.mm-passe .dr-j__ini,.mm-passe .dr-j__av::after{border-radius:7px}
.mm-passe .dr-j__ini{font-size:13px}
.mm-fermees{margin:8px 0 0;color:#7d857a}
.mm-cta{margin-top:18px}
@media (max-width:640px){.mm{border-radius:20px}}
