/* ============================================================
   MODE SOLO HORS-LIGNE (solo.js) — réutilise le LOOK du jeu HOMIES.
   Overlay plein écran, comme RAFALE.
   ============================================================ */
#sec-solo.sec { position:fixed; inset:0; z-index:2000; display:none; padding:0; margin:0; max-width:none; background:var(--paper); }
#sec-solo.sec.active { display:block; }
#sec-solo .so-stage { position:absolute; inset:0; display:flex; flex-direction:column; overflow:hidden; }
#sec-solo .ghdr { flex-shrink:0; }
/* TIMER : l'horloge tracée vient du composant GLOBAL (.ghdr .timer::before, brutal.css) — ici juste le nombre à chasse fixe */
#sec-solo .ghdr .timer .so-tnum { min-width:1.4em; text-align:center; }
#sec-solo .so-body { flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
  padding:12px 14px calc(16px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:12px;
  background-color:#FFF7DA; background-image:radial-gradient(rgba(10,10,10,.08) 1.5px, transparent 1.6px); background-size:22px 22px; }

/* ---- SETUP ---- */
#sec-solo .so-setup { position:absolute; inset:0; overflow-y:auto; padding:calc(52px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:11px; }
#sec-solo .so-hero { text-align:center; }
#sec-solo .so-hero .em img { width:56px; height:56px; }
#sec-solo .so-hero .ht { font-family:var(--fd); font-size:27px; letter-spacing:1px; margin-top:2px; }
#sec-solo .so-hero .hs { font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:12px; opacity:.6; margin-top:4px; }
#sec-solo .so-lbl { font-family:var(--fd); font-size:13px; letter-spacing:1.5px; opacity:.6; margin-top:6px; }
#sec-solo .so-chips { display:flex; gap:8px; flex-wrap:wrap; }
#sec-solo .so-chip { font-family:var(--fd); font-size:13px; letter-spacing:.5px; border:3px solid var(--ink); box-shadow:2px 2px 0 var(--ink); background:var(--paper); color:var(--ink); padding:8px 11px; cursor:pointer; }
#sec-solo .so-chip.on { background:var(--magenta); color:#fff; }
#sec-solo .so-go { margin-top:14px; border:4px solid var(--ink); box-shadow:5px 5px 0 var(--ink); background:var(--green); color:var(--ink); font-family:var(--fd); font-size:18px; letter-spacing:1px; padding:15px; cursor:pointer; }
#sec-solo .so-go:active { transform:translate(3px,3px); box-shadow:2px 2px 0 var(--ink); }
#sec-solo .so-go.ghost { background:var(--paper); font-size:14px; padding:11px; box-shadow:3px 3px 0 var(--ink); }

/* ---- QUESTION ---- */
#sec-solo .so-qcard { position:relative; }
#sec-solo .so-qcard .sh { position:absolute; top:5px; left:5px; right:-5px; bottom:-5px; background:var(--ink); }
#sec-solo .so-qcard .bd { position:relative; border:4px solid var(--ink); background:var(--paper); padding:16px; font-family:var(--fd); font-size:19px; line-height:1.14; }
#sec-solo .answer-zone { display:flex; flex-direction:column; gap:9px; }
#sec-solo .qcat-row .type-pill .bd { background:var(--cyan); }   /* la pastille catégorie a un fond (comme en ligne) */

/* ---- FOOTER « qui a répondu » (bots + moi), épinglé en bas — comme la partie normale ---- */
#sec-solo .so-foot { flex-shrink:0; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:9px; border-top:3px solid var(--ink); background:var(--paper); }
#sec-solo .so-foot:empty { display:none; }
#sec-solo .so-fav { display:flex; }
#sec-solo .so-fav .a { width:28px; height:28px; border:2px solid var(--ink); overflow:hidden; background:var(--paper); margin-left:-9px; }
#sec-solo .so-fav .a:first-child { margin-left:0; }
#sec-solo .so-fav .a .ava-emo, #sec-solo .so-fav .a img { width:100%; height:100%; display:block; object-fit:cover; }
#sec-solo .so-ftxt { font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:11px; letter-spacing:1px; color:color-mix(in srgb, var(--ink) 60%, transparent); }
#sec-solo .so-fdot { width:9px; height:9px; border-radius:50%; background:var(--green); border:2px solid var(--ink); margin-left:auto; flex-shrink:0; }

/* ---- ÉCRAN CLASSEMENT (entre les questions, comme HOMIES) + liste du podium ---- */
#sec-solo .so-lb { display:flex; flex-direction:column; gap:8px; width:100%; }
#sec-solo .so-clsscreen { align-items:center; text-align:center; padding-top:calc(18px + env(safe-area-inset-top)); gap:9px; }
#sec-solo .so-clsttl { font-family:var(--fd); font-size:30px; letter-spacing:1.5px; background:var(--yellow); border:4px solid var(--ink); box-shadow:5px 5px 0 var(--ink); padding:5px 22px; transform:rotate(-1.5deg); }
#sec-solo .so-clssub { font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:11px; letter-spacing:1px; opacity:.6; margin-bottom:2px; }
#sec-solo .so-gain { font-family:var(--fd); font-size:13px; color:#129B45; flex-shrink:0; }   /* +X ce tour (vert) */
#sec-solo .so-clsscreen .so-next { align-self:stretch; margin-top:6px; }
#sec-solo .so-lr { display:flex; align-items:center; gap:10px; border:3px solid var(--ink); box-shadow:3px 3px 0 var(--ink); background:var(--paper); padding:7px 10px; }
#sec-solo .so-lr.me { border-color:var(--magenta); border-width:4px; padding:6px 9px; }
#sec-solo .so-lr.ok { background:#E9FBEF; }
#sec-solo .so-rk { font-family:var(--fd); font-size:15px; width:20px; text-align:center; flex-shrink:0; }
#sec-solo .so-av { width:30px; height:30px; flex-shrink:0; border:2px solid var(--ink); overflow:hidden; background:var(--paper); }
#sec-solo .so-av .ava-emo, #sec-solo .so-av img { width:100%; height:100%; display:block; object-fit:cover; }
#sec-solo .so-nm { flex:1; min-width:0; font-family:var(--fd); font-size:14px; letter-spacing:.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#sec-solo .so-st { font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:12px; opacity:.65; }
#sec-solo .so-sc { font-family:var(--fd); font-size:16px; }
#sec-solo .so-next { border:4px solid var(--ink); box-shadow:5px 5px 0 var(--ink); background:var(--magenta); color:#fff; font-family:var(--fd); font-size:17px; letter-spacing:1px; padding:14px; cursor:pointer; margin-top:2px; }

/* ---- révélation des tuiles : .opt.selected/.correct/.wrong sont déjà stylées par brutal.css ---- */
#sec-solo .opt.locked { pointer-events:none; }

/* ---- PODIUM = design du CLASSEMENT (pas d'étages/marches) : trophée + liste + rejouer/quitter ---- */
#sec-solo .so-cup img { width:52px; height:52px; }
#sec-solo .so-note { font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:10px; opacity:.55; max-width:280px; line-height:1.4; margin:4px auto; }

/* ---- CONFIRMATION « quitter » (rendue DANS l'overlay solo → bon z-index) ---- */
#sec-solo .so-confirm { position:absolute; inset:0; z-index:50; display:flex; align-items:center; justify-content:center; padding:26px; background:rgba(10,10,10,.72); }
#sec-solo .so-cfcard { width:100%; max-width:300px; background:var(--paper); border:4px solid var(--ink); box-shadow:8px 8px 0 var(--ink); padding:22px 18px; text-align:center; }
#sec-solo .so-cftt { font-family:var(--fd); font-size:22px; letter-spacing:.5px; }
#sec-solo .so-cfds { font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:11.5px; opacity:.6; margin-top:6px; }
#sec-solo .so-cfacts { display:flex; gap:10px; margin-top:16px; }
#sec-solo .so-cfno, #sec-solo .so-cfyes { flex:1; font-family:var(--fd); font-size:14px; border:3px solid var(--ink); box-shadow:3px 3px 0 var(--ink); padding:11px 6px; cursor:pointer; }
#sec-solo .so-cfno { background:var(--paper); }
#sec-solo .so-cfyes { background:var(--red); color:#fff; }
#sec-solo .so-cfno:active, #sec-solo .so-cfyes:active { transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ink); }
