/* Playground (thème 4.50) : repris de la maquette desktop validée.
   Grille des 8 colonnes de scores alignée sur la grille du site (2 colonnes de scores = 1 colonne du menu). */
.lm-pg{
  --bg:#000F1E;          /* BLEU_M */
  --ink:#00FF00;         /* VERT_M */
  --ko:#E75C49;          /* ROUGE_M */
  --ink-dim:#00FF0066;
  --ink-faint:#00FF0026;
  --white:#FFFFFF;
  --pw:min(100vw,1200px);  /* largeur du site */
  --display:"Bebas Neue Pro","Bebas Neue","Oswald",Impact,"Arial Narrow",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark;
  font-family:var(--mono);color:var(--ink);
  /* haut de la scène = sous le bandeau menu */
  --pg-top:var(--header-h);
  --pg-pad:max(var(--margin),calc((100vw - 1200px) / 2));
  --pg-in:max(0px,calc((100vw - 1296px) / 2));
}
.lm-pg [hidden]{display:none!important}
.lm-pg button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.lm-pg button:focus-visible,.lm-pg input:focus-visible{outline:2px dashed var(--ink);outline-offset:3px}

/* ───── Scène ───── */
.lm-pg #stage{box-sizing:border-box;position:fixed;top:var(--pg-top);bottom:0;left:var(--pg-in);right:var(--pg-in);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;
  padding-inline:calc(var(--pg-pad) - var(--pg-in))}
.lm-pg .scores{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:var(--gut);row-gap:22px;
  padding-top:var(--gut);position:relative;z-index:1}
.lm-pg .col{min-width:0}
.lm-pg .col h3{margin:0;font:400 clamp(15px,calc(var(--pw) * .0145),30px)/1 var(--display);letter-spacing:.02em}
.lm-pg .col ol{list-style:none;margin:.9em 0 0;padding:0;font-size:clamp(9px,calc(var(--pw) * .0082),15px);line-height:1.25}
.lm-pg .col li{display:flex;align-items:baseline;gap:3px;white-space:nowrap}
.lm-pg .col li .n{overflow:hidden;text-overflow:ellipsis;min-width:0}
.lm-pg .col li .lead{flex:1;min-width:6px;border-bottom:2px dotted var(--ink-dim);transform:translateY(-3px)}
.lm-pg .col li .s{font-variant-numeric:tabular-nums}
.lm-pg .col .bar{height:3px;background:var(--ink);margin-top:1.2em}
.lm-pg .ball .gl.s{background:var(--sc,var(--c))}
.lm-pg .col .gname{margin:.7em 0 0;font-size:clamp(9px,.7vw,12px);letter-spacing:.08em;display:flex;align-items:center;gap:6px;color:var(--ink-dim);white-space:nowrap;overflow:hidden}
.lm-pg .col .gname i{width:8px;height:8px;border-radius:50%;flex:none}

/* ───── Cercles ───── */
.lm-pg .ball{position:absolute;left:0;top:0;width:120px;height:120px;z-index:2;cursor:grab;--rad:50%;will-change:transform;touch-action:none}
.lm-pg .ball.grabbed{cursor:grabbing;z-index:4}
.lm-pg .ball .sh,.lm-pg .ball .gl{position:absolute;inset:0;border-radius:var(--rad);display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:12%;transition:border-radius .18s ease}
.lm-pg .ball .sh{background:var(--c);color:var(--bg);z-index:1}
.lm-pg .ball .nm{font:400 var(--fs,30px)/.9 var(--display);letter-spacing:.02em;opacity:0}
.lm-pg .ball .ph{font:700 var(--fp,10px)/1.2 var(--mono);letter-spacing:.06em;margin-top:.7em;opacity:0;max-height:0}
.lm-pg .ball.glitch .nm,.lm-pg .ball.square .nm{opacity:1}
.lm-pg .ball.square{--rad:0 0 14% 14%}
.lm-pg .ball.square .ph{opacity:1;max-height:4em}
.lm-pg .ball .gl{display:none;color:var(--bg)}
.lm-pg .ball .gl .nm{opacity:1}
.lm-pg .ball[data-gv="slice"] .gl.s,.lm-pg .ball[data-gv="stretch"] .gl.s{display:flex;background:var(--sc,var(--c));z-index:2;clip-path:var(--cp);transform:translateX(var(--dx))}
.lm-pg .ball[data-gv="stretch"] .gl.s{transform:translateX(var(--dx)) scaleX(1.18)}
.lm-pg .ball[data-gv="slice"] .sh .nm{transform:translateX(calc(var(--dx1) * .15))}
.lm-pg .ball[data-gv="rgb"] .g1,.lm-pg .ball[data-gv="rgb"] .g2{display:flex;z-index:0;opacity:.9}
.lm-pg .ball[data-gv="rgb"] .g1{background:var(--ink);transform:translate(var(--dx1),calc(var(--dx2) * .3))}
.lm-pg .ball[data-gv="rgb"] .g2{background:var(--ko);transform:translate(var(--dx2),calc(var(--dx1) * -.3))}
.lm-pg .ball[data-gv="rgb"] .sh .nm{text-shadow:var(--dx1) 0 0 var(--ko)}
.lm-pg .ball[data-gv="neg"] .sh{background:var(--bg);color:var(--c);box-shadow:inset 0 0 0 3px var(--c)}
.lm-pg .ball[data-gv="stretch"] .sh{transform:scale(var(--sx),var(--sy)) skewX(var(--sk))}
.lm-pg .wait{position:absolute;left:0;right:0;bottom:22%;text-align:center;font-size:clamp(11px,.9vw,15px);letter-spacing:.14em;z-index:1;pointer-events:none;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}

.lm-pg .shock{position:absolute;border:2px solid var(--ink);border-radius:50%;pointer-events:none;z-index:1;animation:shock .55s ease-out forwards}
@keyframes shock{from{transform:translate(-50%,-50%) scale(.05);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}

/* ───── Barre du bas ───── */
.lm-pg .foot{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  padding-inline:var(--pg-pad);
  padding-block:12px max(14px,env(safe-area-inset-bottom,0px));pointer-events:none}
.lm-pg .foot > *{pointer-events:auto}
.lm-pg .pill{border:2px solid var(--ink);border-radius:999px;padding:5px 12px;font-size:11px;letter-spacing:.08em;line-height:1;background:var(--bg)}
.lm-pg .pill:hover{background:var(--ink);color:var(--bg)}
.lm-pg .pill[aria-pressed="false"]{color:var(--ink-dim);border-color:var(--ink-dim)}
.lm-pg .hint{margin-left:auto;font-size:11px;color:var(--ink-dim);letter-spacing:.04em}
.lm-pg .cheat-badge{display:none;font-size:11px;letter-spacing:.1em;color:var(--bg);background:var(--ink);padding:5px 10px;border-radius:999px}
.lm-pg body.cheat .cheat-badge{display:inline-block}
.lm-pg .toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;font:400 clamp(28px,5vw,64px)/1 var(--display);
  color:var(--bg);background:var(--ink);padding:.25em .5em .15em;pointer-events:none;opacity:0;transition:opacity .2s}
.lm-pg .toast.on{opacity:1}

/* ───── Carte de jeu ───── */
.lm-pg .ov{position:fixed;inset:var(--pg-top) 0 0 0;z-index:40;background:var(--bg);overflow:auto;display:flex;justify-content:center;align-items:flex-start;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  padding-block:max(28px,7vh) 40px}
.lm-pg .card{width:min(100%,305px);container-type:inline-size;--c:var(--ink);animation:cardIn .35s ease-out}
@keyframes cardIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.lm-pg .c-top{display:flex;align-items:flex-start;justify-content:space-between}
.lm-pg .tick{display:block;width:15.4cqw;height:3px;background:var(--ink)}
.lm-pg .quit{font-size:max(10px,3.4cqw);letter-spacing:.08em;color:var(--ink-dim)}
.lm-pg .quit:hover{color:var(--ink)}
.lm-pg .ttl{position:relative;margin-top:1.6cqw}
.lm-pg .ttl h2{margin:0;font:400 15.4cqw/1 var(--display);letter-spacing:.005em;white-space:nowrap;padding-top:.06em}
.lm-pg .ttl .rule{position:absolute;left:0;right:0;top:calc(50% + .03em);height:1px;background:var(--ink);z-index:1}
.lm-pg .modes{display:flex;align-items:center;margin-top:1cqw;min-height:9.4cqw}
.lm-pg .modes .ln{flex:1;height:3px;background:var(--ink)}
.lm-pg .modes .cn{width:3cqw;height:3px;background:var(--ink)}
.lm-pg .modes .ln.first{flex:1 1 31cqw;min-width:4cqw}
.lm-pg .mode{border:.6cqw solid var(--ink);border-radius:999px;font-size:max(9px,3.7cqw);letter-spacing:.06em;padding:1.5cqw 3.2cqw;line-height:1;white-space:nowrap;flex:none}
.lm-pg .mode[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.lm-pg .mode:disabled{cursor:default}
.lm-pg .ctl{display:flex;align-items:center;gap:3cqw;margin-top:3.6cqw}
.lm-pg .play{width:17cqw;height:17cqw;border-radius:50%;background:var(--ko);flex:none;display:grid;place-items:center;transition:transform .1s}
.lm-pg .play:active{transform:scale(.92)}
.lm-pg .play svg{width:42%;height:42%}
.lm-pg .play:disabled{opacity:.35;cursor:default}
.lm-pg .play:focus-visible{outline:none}
.lm-pg .play.blink{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{50%{opacity:.8}}
.lm-pg .live{font-size:max(10px,3.4cqw);color:var(--ink-dim);letter-spacing:.04em;line-height:1.5;font-variant-numeric:tabular-nums}
.lm-pg .live b{color:var(--ink);font-weight:400}
.lm-pg .chrono{margin-left:auto;font-size:11.2cqw;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.lm-pg .chrono.low{color:var(--ko)}

/* Mode concentration : pendant la partie, tout ce qui n'est pas le jeu s'efface */
.lm-pg .c-top,.lm-pg .ttl,.lm-pg .modes,.lm-pg .play,.lm-pg .live,.lm-pg .chrono{transition:opacity .45s ease}
.lm-pg .card.focus .c-top,.lm-pg .card.focus .ttl,.lm-pg .card.focus .modes{opacity:.18}
.lm-pg .card.focus .play{opacity:.28}
.lm-pg .card.focus .live,.lm-pg .card.focus .chrono{opacity:.45}
.lm-pg .card.focus .chrono.low{opacity:1}
.lm-pg .card.focus .c-top:hover,.lm-pg .card.focus .play:hover,.lm-pg .card.focus .play:focus-visible{opacity:1}

@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
.lm-pg .ring{margin-top:7.6cqw;padding:1.4cqw;margin-inline:-1.4cqw;border-radius:0 0 8.3cqw 8.3cqw;--rc:transparent;
  background:conic-gradient(from var(--a),transparent 0deg,var(--rc) 70deg,transparent 160deg,transparent 180deg,var(--rc) 250deg,transparent 340deg)}
.lm-pg .ring.ok{--rc:var(--ink);animation:spin .55s linear}
.lm-pg .ring.ko{--rc:var(--ko);animation:spin .55s linear}
@keyframes spin{from{--a:0deg}to{--a:360deg}}
.lm-pg .sq{aspect-ratio:330/323;max-width:100%;border-radius:0 0 6.9cqw 6.9cqw;background:var(--c);color:var(--bg);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:8cqw;transition:background-color .18s;box-sizing:border-box}
.lm-pg .sq .msg{font-size:max(10px,4cqw);letter-spacing:.06em;line-height:1.5}
.lm-pg .sq .big{font:400 15cqw/.9 var(--display)}
.lm-pg .sq .huge{font:400 46cqw/.8 var(--display)}
.lm-pg .sq .sub{font-size:max(10px,3.6cqw);margin-top:3cqw;line-height:1.4}

.lm-pg .qcm{display:grid;gap:6.4cqw;margin-top:12cqw}
.lm-pg .opt{display:flex;align-items:center;gap:4.6cqw;text-align:left;font-size:6.6cqw;letter-spacing:.01em;position:relative}
.lm-pg .opt .dot{width:17cqw;height:17cqw;border-radius:50%;border:.9cqw solid var(--ink);flex:none;position:relative;transition:background-color .15s}
.lm-pg .opt:not(:disabled):hover .dot{background:var(--ink-faint)}
.lm-pg .opt:disabled{cursor:default}
.lm-pg .opt .mk{position:absolute;inset:-.45cqw;width:calc(100% + .9cqw);height:calc(100% + .9cqw);display:none}
.lm-pg .opt.ok .mk{display:block;color:var(--ink)}
.lm-pg .opt.ko .mk{display:block;color:var(--ko)}
.lm-pg .opt.ok .dot{border-color:var(--ink)}
.lm-pg .opt.ko .dot{border-color:var(--ko)}
.lm-pg .opt.ko .txt{color:var(--ko)}
.lm-pg .opt.right .dot{background:var(--ink-dim)}
.lm-pg body.cheat .opt.answer .dot::after{content:"";position:absolute;inset:28%;border-radius:50%;background:var(--ink)}
.lm-pg .opt .txt{min-width:0;overflow-wrap:anywhere}
.lm-pg .opt .txt.word{font:400 10.5cqw/1 "DM Serif Display",Georgia,serif;font-kerning:normal;letter-spacing:0;white-space:nowrap;overflow-wrap:normal}
/* Réponses en pastilles de couleur (VIS-À-VIS, GRISAILLE) */
.lm-pg .qcm.sw{grid-template-columns:repeat(3,minmax(0,1fr));gap:4.5cqw}
.lm-pg .opt.swt{display:block;aspect-ratio:1;max-width:100%;background:var(--sw);border-radius:0 0 3cqw 3cqw;transition:background-color .35s}
.lm-pg .opt.swt:not(:disabled):hover{box-shadow:0 0 0 .6cqw var(--ink-dim)}
.lm-pg .opt.swt .mk{inset:18%;width:64%;height:64%}
.lm-pg .opt.swt.ok{box-shadow:0 0 0 .9cqw var(--ink)}
.lm-pg .opt.swt.ko{box-shadow:0 0 0 .9cqw var(--ko)}
.lm-pg .opt.swt.right{box-shadow:0 0 0 .9cqw var(--ink-dim)}
.lm-pg .opt.swt .val{position:absolute;left:0;right:0;bottom:7%;text-align:center;font-size:max(9px,3.4cqw);letter-spacing:.04em}
.lm-pg body.cheat .opt.swt.answer::after{content:"";position:absolute;left:50%;top:50%;width:14%;height:14%;transform:translate(-50%,-50%);border-radius:50%;background:var(--bg);box-shadow:0 0 0 2px var(--ink)}
.lm-pg .under{font:400 13cqw/1 var(--display);margin-top:4cqw;letter-spacing:.01em}
.lm-pg .sq{position:relative}
.lm-pg .sq.click{cursor:pointer}
.lm-pg .sq .wave{width:100%;height:62%;display:block}
.lm-pg .sq .hint-sq{font-size:max(9px,3.2cqw);letter-spacing:.08em;margin-top:3cqw}
.lm-pg .sq .lval{font:400 20cqw/1 var(--display)}
.lm-pg .sq .kw{font:400 13cqw/1 "DM Serif Display",Georgia,serif;letter-spacing:.3em;margin-right:-.3em;font-kerning:none}
.lm-pg .sq .spec{font-size:34cqw;line-height:1.05}
.lm-pg .sq .spec2{font-size:7.5cqw;line-height:1.2;margin-top:2cqw;white-space:nowrap}
.lm-pg .sq .fname{position:absolute;left:0;right:0;bottom:5cqw;font-size:max(9px,3.4cqw);letter-spacing:.1em}
.lm-pg .opt.ph{color:var(--ink-dim)}

.lm-pg .end{margin-top:9cqw;display:grid;gap:4cqw}
.lm-pg .end label{font-size:max(10px,3.4cqw);letter-spacing:.1em;color:var(--ink-dim)}
.lm-pg .end input{font:400 7cqw var(--mono);color:var(--ink);background:transparent;border:0;border-bottom:.6cqw solid var(--ink);padding:1.5cqw 0;width:100%;text-transform:uppercase;border-radius:0}
.lm-pg .end input::placeholder{color:var(--ink-faint)}
.lm-pg .end input:focus,.lm-pg .end input:focus-visible{outline:none;caret-color:var(--ink)}
.lm-pg .end .row{display:flex;gap:3cqw;flex-wrap:wrap;margin-top:2cqw}
.lm-pg .end .row .pill{font-size:max(10px,3.6cqw);padding:2.2cqw 4.6cqw}
.lm-pg .end .saved{font-size:max(10px,3.4cqw);color:var(--ink)}

/* ───── ACIDE : l'appli dans la carte ───── */
/* ACIDE : la carte prend toute la hauteur disponible sous le menu ; 780 px mini pour que l'appli ne descende pas sous 50 % de sa taille */
.lm-pg .ov:has(.card.wide){padding-block:20px 24px}
.lm-pg .card.wide{width:min(100%,1400px,calc((100vh - 96px - var(--pg-top)) * 1554 / var(--ah,972)));min-width:min(100%,780px)}
.lm-pg .card.wide .c-top,.lm-pg .card.wide .ttl{display:none}
.lm-pg .card.wide .ctl,.lm-pg .card.wide .ring,.lm-pg .card.wide .under,.lm-pg .card.wide .qcm,.lm-pg .card.wide .end{display:none!important}
.lm-pg .card.wide .modes{margin-top:0;min-height:0;position:relative;z-index:6;gap:8px}
.lm-pg .menu{position:relative;flex:none}
.lm-pg .mbtn{border:2px solid var(--ink);border-radius:999px;font-size:11px;letter-spacing:.08em;padding:0 12px;height:28px;line-height:1;white-space:nowrap;background:var(--bg);display:inline-flex;align-items:center;gap:6px}
.lm-pg .mbtn.ico{width:28px;padding:0;justify-content:center}
.lm-pg .mbtn.ico svg{width:14px;height:14px}
.lm-pg .bar-quit{margin-left:auto;font-size:12px;letter-spacing:.08em;color:var(--ink-dim)}
.lm-pg .bar-quit:hover{color:var(--ink)}
.lm-pg .mbtn:hover,.lm-pg .mbtn[aria-expanded="true"]{background:var(--ink);color:var(--bg)}
.lm-pg .drop{position:absolute;left:0;top:calc(100% + 6px);min-width:300px;white-space:nowrap;max-height:min(70vh,560px);overflow:auto;background:rgba(0,15,30,.88);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;border-radius:0;padding:6px 0;font-size:12px;box-shadow:0 12px 30px #0008}
.lm-pg .drop button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:6px 14px 6px 30px;position:relative;letter-spacing:.02em}
.lm-pg .drop button:hover,.lm-pg .drop button:focus-visible{background:var(--ink);color:var(--bg);outline:none}
.lm-pg .drop button .sc{margin-left:auto;color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap}
.lm-pg .drop button:hover .sc,.lm-pg .drop button:focus-visible .sc{color:var(--bg)}
.lm-pg .drop button[aria-checked="true"]::before{content:"✓";position:absolute;left:12px}
.lm-pg .drop hr{border:0;border-top:1px solid var(--ink-faint);margin:5px 0}
.lm-pg .app{margin-top:12px}
.lm-pg .acide-frame{position:relative;width:100%;aspect-ratio:1554/var(--ah,972);background:var(--bg);border-radius:0 0 18px 18px;overflow:hidden}
.lm-pg .acide-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:var(--bg)}
.lm-pg .acide-frame:fullscreen{border-radius:0;aspect-ratio:auto;width:100vw;height:100vh;background:var(--bg)}
.lm-pg .col .rb{margin:.9em 0 0;font-size:clamp(9px,calc(var(--pw) * .0082),15px);line-height:1.25;height:2.5em;overflow:hidden}
.lm-pg .col .rb a{color:inherit;text-decoration:underline;text-underline-offset:2px;position:relative;z-index:3}
.lm-pg .col .rb a:hover{background:var(--ink);color:var(--bg);text-decoration:none}
.lm-pg .col .dlwrap{margin:.45em 0 1.2em;font-size:clamp(9px,calc(var(--pw) * .0082),15px)}
/* les filets restent alignés : ils se calent en bas de la colonne la plus haute */
.lm-pg .col{display:flex;flex-direction:column}
.lm-pg .col > ol{margin-bottom:1.2em!important}
.lm-pg .col .bar{margin-top:auto!important}
.lm-pg .col .dlcol{display:block;width:100%;border:2px solid var(--ink);border-radius:999px;padding:.3em .4em;text-align:center;
  font-size:clamp(9px,calc(var(--pw) * .0082),15px);letter-spacing:.06em;line-height:1.2;background:var(--bg);position:relative;z-index:3}
.lm-pg .col .dlcol:hover{background:var(--ink);color:var(--bg)}


@media (prefers-reduced-motion:reduce){
  .lm-pg .card{animation:none}.lm-pg .ring.ok,.lm-pg .ring.ko{animation-duration:1ms}
}
/* ═════════ Intégration dans le site ═════════ */
body.lm-playground{background:#000F1E;color:#00FF00}
body.admin-bar .lm-pg{--pg-top:calc(var(--header-h) + 32px)}
.lm-pg .toast{z-index:1100}
/* Bandeau menu desktop : fond bleu nuit, texte vert, même survol qu'ailleurs */
body.lm-playground .site-header{background:#000F1E;color:#00FF00}
body.lm-playground .nav-link::before{background:#00FF00}
body.lm-playground .nav-link:active,body.lm-playground .nav-link:focus-visible{color:#000F1E}
@media (hover:hover) and (pointer:fine){body.lm-playground .nav-link:hover{color:#000F1E}}
/* Le Playground a son propre bouton son et son propre pied de page */
body.lm-playground .sound-toggle,body.lm-playground .site-footer{display:none}
.lm-pg a{color:inherit}
.lm-pg .col .dlcol{text-decoration:none}

/* Desktop : la page ne défile pas, les cercles occupent l'écran */
@media (min-width:1024px){
  html:has(body.lm-playground),body.lm-playground{height:100%;overflow:hidden}
  .lm-pg .pg-mob{display:none}
}
/* Réduire les animations : cercles immobiles, rangés sous leur colonne */
.lm-pg.is-still .ball{cursor:pointer}
.lm-pg.is-still .wait{animation:none}

/* ═════════ Tablette et mobile (maquette mobile validée) : pas d'ACIDE, pas de physique, pas d'animation ═════════ */
@media (max-width:1023px){
  .lm-pg .pg-desk{display:none}
  .lm-pg .pg-mob{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-content:start;padding:150px 16px 56px;max-width:560px;margin-inline:auto;font-size:13px;line-height:1.4}
  .lm-pg .m-title{margin:0;font:400 min(64px,16vw)/.9 var(--display);letter-spacing:.01em;white-space:nowrap}
  .lm-pg .m-lead{margin:0;color:#00FF0099;letter-spacing:.02em}
  .lm-pg .m-cards{display:grid;gap:30px;list-style:none;margin:0;padding:0}
  .lm-pg .m-card{display:grid;gap:14px;min-width:0}
  .lm-pg .m-head{display:flex;align-items:center;gap:14px;min-width:0;min-height:48px}
  .lm-pg .m-ball{width:48px;height:48px;border-radius:50%;background:var(--c);flex:none}
  .lm-pg .m-name{margin:0;font:400 34px/1 var(--display);letter-spacing:.02em;min-width:0;overflow-wrap:anywhere;padding-top:.1em}
  .lm-pg .m-scores{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:13px}
  .lm-pg .m-scores li{display:flex;align-items:baseline;gap:6px;min-width:0}
  .lm-pg .m-scores .r{color:#00FF0099;width:1.4em;flex:none}
  .lm-pg .m-scores .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .lm-pg .m-scores .dots{flex:1;min-width:8px;border-bottom:2px dotted #00FF0099;transform:translateY(-3px)}
  .lm-pg .m-scores .s{font-variant-numeric:tabular-nums}
  .lm-pg .m-play{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:2px solid var(--ink);border-radius:999px;
    font-size:13px;font-weight:700;letter-spacing:.12em}
  .lm-pg .m-play svg{width:12px;height:12px;flex:none}
  .lm-pg .m-play:active{background:var(--ink);color:var(--bg)}
  .lm-pg .m-foot{margin:0;text-align:center;color:#00FF0099;font-size:11px;letter-spacing:.06em}
  .lm-pg .m-sound{position:fixed;z-index:65;top:12px;right:12px;border:2px solid var(--ink);border-radius:999px;padding:0 14px;height:34px;font-size:11px;letter-spacing:.08em;background:var(--bg)}
  .lm-pg .m-sound[aria-pressed="false"]{color:#00FF0099;border-color:#00FF0099}

  html:has(body.lm-playground),body.lm-playground{overflow-x:clip}   /* rien ne doit élargir la page sur téléphone */
  /* Carte de jeu plein écran, au-dessus du burger */
  .lm-pg .ov{inset:0;z-index:1000;display:block;padding:28px 16px 48px}
  body.admin-bar .lm-pg .ov{top:46px}
  .lm-pg .card{width:100%;max-width:560px;margin-inline:auto;animation:none}
  .lm-pg .c-top{align-items:center}
  .lm-pg .quit{padding:6px 0 6px 12px;line-height:1}
  .lm-pg .ctl{margin-top:calc(20px - 4.7cqw)}
  .lm-pg .ring{margin-top:calc(20px - 1.4cqw);animation:none!important;background:none}
  .lm-pg .sq{aspect-ratio:330/262;padding:4cqw}
  .lm-pg .sq .big{font-size:13cqw}
  .lm-pg .sq .huge{font-size:36cqw}
  .lm-pg .qcm{gap:4.5cqw;margin-top:8cqw}
  .lm-pg .opt .dot{width:15cqw;height:15cqw}
  .lm-pg .end{margin-top:6cqw;gap:3cqw}
  /* pas d'effacement progressif pendant la partie */
  .lm-pg .card.focus .c-top,.lm-pg .card.focus .ttl,.lm-pg .card.focus .modes,.lm-pg .card.focus .play,.lm-pg .card.focus .live,.lm-pg .card.focus .chrono{opacity:1}
  .lm-pg .c-top,.lm-pg .ttl,.lm-pg .modes,.lm-pg .play,.lm-pg .live,.lm-pg .chrono{transition:none}
  .lm-pg .qcm.sw{gap:4.5cqw}
}
@media (prefers-reduced-motion:reduce){
  .lm-pg .play.blink{animation:none}
  .lm-pg .c-top,.lm-pg .ttl,.lm-pg .modes,.lm-pg .play,.lm-pg .live,.lm-pg .chrono,.lm-pg .toast{transition:none}
}
body.lm-playground main.wrap{width:100%;max-width:none}
