/* ============ LOGI QUIZ — interface de jeu (front) ============ */
.logiquiz-app{
  --plateau:#0A1417; --plateau-2:#0E2024;
  --green:#1BA85A; --green-deep:#0B5C34; --green-glow:rgba(27,168,90,.5);
  --gold:#F4C95D; --gold-deep:#C8922B; --silver:#D9DEE4; --ink:#060B0D;
  --cream:#F5F2E9; --muted:#7E8C8C; --wrong:#E15B4C;
  --impact:Impact,"Haettenschweiler","Arial Narrow Bold","Arial Black",sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  position:relative; min-height:600px; border-radius:18px; overflow:hidden;
  color:var(--silver); font-family:var(--body);
  background:
    radial-gradient(120% 80% at 50% -12%, rgba(244,201,93,.16), transparent 55%),
    radial-gradient(90% 70% at 50% 120%, rgba(27,168,90,.14), transparent 60%),
    linear-gradient(180deg,var(--plateau-2),var(--plateau) 60%,#07100F);
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.logiquiz-app *{box-sizing:border-box}
.lq-stage{position:relative;z-index:2;padding:22px 18px 26px;min-height:600px;display:flex;flex-direction:column}
.lq-beam{position:absolute;top:-8%;left:50%;width:60vmax;height:120vmax;pointer-events:none;
  mix-blend-mode:screen;opacity:.45;z-index:1;
  background:conic-gradient(from 90deg at 50% 0,transparent 0 84deg,rgba(244,201,93,.16) 88deg 92deg,transparent 96deg 360deg);
  transform-origin:50% 0;animation:lq-sweep 14s ease-in-out infinite alternate}
@keyframes lq-sweep{from{transform:translateX(-50%) rotate(-24deg)}to{transform:translateX(-50%) rotate(24deg)}}

.lq-bug{position:absolute;top:14px;left:14px;z-index:5;background:var(--cream);
  border-radius:11px;padding:6px 10px;box-shadow:0 6px 20px rgba(0,0,0,.45)}
.lq-bug img{height:22px;display:block}

.lq-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.lq-kicker{font:700 11px/1 var(--body);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.lq-logotype{font-family:var(--impact);text-transform:uppercase;line-height:.86;
  font-size:clamp(46px,13vw,92px);color:var(--cream);
  text-shadow:0 0 26px var(--green-glow),0 4px 0 var(--green-deep)}
.lq-logotype b{color:var(--green)}
.lq-sub{font:600 clamp(13px,3.4vw,17px)/1.4 var(--body);color:var(--silver);margin-top:4px}

.lq-card-fld{width:100%;max-width:440px;margin:18px auto 0;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:18px}
.lq-card-fld h3{font:800 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.lq-input{width:100%;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.16);color:#fff;
  border-radius:11px;padding:14px;font:700 17px var(--body);text-align:center;letter-spacing:.04em}
.lq-input.code{text-transform:uppercase;letter-spacing:.3em;font-size:24px;font-family:var(--impact)}
.lq-input:focus{outline:2px solid var(--green);border-color:transparent}

.lq-btn{display:block;width:100%;border:none;cursor:pointer;margin-top:14px;
  font-family:var(--impact);font-size:clamp(20px,5.5vw,30px);letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink);padding:15px;border-radius:14px;
  background:linear-gradient(180deg,var(--gold),var(--gold-deep));
  box-shadow:0 0 30px rgba(244,201,93,.35),0 6px 0 #8c6312;transition:transform .08s,box-shadow .08s}
.lq-btn:active{transform:translateY(4px);box-shadow:0 0 24px rgba(244,201,93,.3),0 2px 0 #8c6312}
.lq-btn.green{background:linear-gradient(180deg,var(--green),var(--green-deep));color:#fff;box-shadow:0 0 26px var(--green-glow),0 6px 0 #073d22}
.lq-btn.ghost{background:transparent;color:var(--silver);border:1.5px solid rgba(255,255,255,.22);box-shadow:none;
  font-family:var(--body);font-weight:800;font-size:15px;text-transform:none;letter-spacing:0}
.lq-btn.ghost:active{transform:translateY(2px)}

.lq-teamlist{display:grid;gap:10px;margin-bottom:6px}
.lq-teamchip{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px;cursor:pointer;text-align:left}
.lq-teamchip:hover{border-color:var(--green)}
.lq-teamchip .nm{font:700 16px var(--body);color:#fff;flex:1}
.lq-teamchip .sc{font-family:var(--impact);color:var(--gold);font-size:20px}
.lq-or{color:var(--muted);font:600 12px var(--body);letter-spacing:.1em;text-transform:uppercase;margin:14px 0 8px}

.lq-err{color:#ffd2cc;background:rgba(225,91,76,.18);border:1px solid var(--wrong);
  border-radius:10px;padding:10px 12px;font:600 14px var(--body);margin-top:12px}

/* ---- caméra ---- */
.lq-cam{width:100%;max-width:440px;margin:0 auto}
.lq-camframe{position:relative;width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;
  background:#000;border:2px solid rgba(255,255,255,.14)}
.lq-camframe video,.lq-camframe img{width:100%;height:100%;object-fit:cover;display:block}
.lq-camhint{font:600 13px/1.4 var(--body);color:var(--muted);margin-top:10px;text-align:center}

/* ---- question ---- */
.lq-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;z-index:5}
.lq-progress{font:700 11px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lq-teamtag{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:6px 12px;font:800 13px var(--body);color:#fff}
.lq-teamtag .sc{font-family:var(--impact);color:var(--gold);font-size:18px}
.lq-pos{display:flex;gap:4px;margin:10px auto 0;justify-content:center;flex-wrap:wrap;max-width:320px}
.lq-pos i{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.16)}
.lq-pos i.on{background:var(--green);box-shadow:0 0 8px var(--green-glow)}

.lq-q{font:800 clamp(20px,5.4vw,34px)/1.2 var(--body);color:#fff;margin:14px 0 6px;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.lq-meta{font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.lq-opts{display:grid;gap:11px;margin-top:18px;width:100%;max-width:560px;margin-left:auto;margin-right:auto}
.lq-opt{display:flex;align-items:center;gap:14px;cursor:pointer;text-align:left;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1.5px solid rgba(255,255,255,.12);border-radius:14px;padding:15px 16px;
  font:700 clamp(15px,4vw,19px)/1.3 var(--body);color:var(--silver);transition:.2s}
.lq-opt:hover{border-color:rgba(255,255,255,.3)}
.lq-opt .lab{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
  font-family:var(--impact);font-size:18px;color:var(--ink);background:var(--silver)}
.lq-opt.correct{border-color:var(--green);background:linear-gradient(180deg,rgba(27,168,90,.28),rgba(11,92,52,.18));color:#fff;box-shadow:0 0 26px var(--green-glow)}
.lq-opt.correct .lab{background:var(--green);color:#04210f}
.lq-opt.chosen-wrong{border-color:var(--wrong);background:rgba(225,91,76,.16);color:#fff}
.lq-opt.chosen-wrong .lab{background:var(--wrong);color:#2a0a06}
.lq-opt.dim{opacity:.4}
.lq-opt[disabled]{cursor:default}

.lq-feedback{margin-top:16px;font:800 clamp(16px,4.4vw,22px) var(--body);max-width:560px;margin-left:auto;margin-right:auto}
.lq-feedback.good{color:var(--green)}
.lq-feedback.bad{color:var(--wrong)}
.lq-note{margin-top:10px;font:600 14px/1.5 var(--body);color:var(--gold);background:rgba(244,201,93,.08);
  border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:10px 14px;text-align:left;max-width:560px;margin-left:auto;margin-right:auto}

/* ---- podium / résultats ---- */
.lq-podium{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-top:24px}
.lq-pod{display:flex;flex-direction:column;align-items:center;gap:8px;width:30%;max-width:150px}
.lq-pod .pn{font:800 14px var(--body);color:#fff;text-align:center;line-height:1.1}
.lq-pod .ps{font-family:var(--impact);font-size:28px;color:var(--gold)}
.lq-pod .bar{width:100%;border-radius:10px 10px 0 0;display:grid;place-items:flex-start center;padding-top:8px;
  font-family:var(--impact);font-size:24px;color:rgba(0,0,0,.5)}
.lq-pod.p1 .bar{height:140px;background:linear-gradient(180deg,var(--gold),var(--gold-deep))}
.lq-pod.p2 .bar{height:100px;background:linear-gradient(180deg,#cdd3da,#8b9099)}
.lq-pod.p3 .bar{height:72px;background:linear-gradient(180deg,#cd8a52,#8a5a30)}
.lq-wintitle{font-family:var(--impact);text-transform:uppercase;font-size:clamp(30px,8vw,56px);
  color:var(--cream);text-shadow:0 0 24px var(--green-glow),0 4px 0 var(--green-deep)}

.lq-spin{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.2);
  border-top-color:var(--green);animation:lq-rot .8s linear infinite;margin:30px auto}
@keyframes lq-rot{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){.lq-beam{display:none}.lq-spin{animation-duration:1.6s}}
@media (max-width:430px){.lq-bug img{height:18px}}

/* ============ Questions ouvertes + jugement (v1.1) ============ */
.logiquiz-app .lq-qbody{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  width:100%;max-width:600px;margin:0 auto;padding-top:12px;text-align:center}
.logiquiz-app .lq-cat{align-self:center;font:700 10px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;
  color:var(--silver);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:5px 12px;margin-bottom:10px}
.logiquiz-app .lq-q{font:800 clamp(20px,5.2vw,30px)/1.22 var(--body);color:#fff;margin:2px 0 4px;text-shadow:0 2px 16px rgba(0,0,0,.4)}

/* blocs texte riche */
.logiquiz-app .lq-rich{color:var(--silver)}
.logiquiz-app .lq-rich p{margin:.4em 0;line-height:1.5}
.logiquiz-app .lq-rich strong,.logiquiz-app .lq-rich b{color:#fff}
.logiquiz-app .lq-rich ul,.logiquiz-app .lq-rich ol{margin:.4em 0;padding-left:1.4em;text-align:left}
.logiquiz-app .lq-rich li{margin:.25em 0}
.logiquiz-app .lq-rich h1,.logiquiz-app .lq-rich h2,.logiquiz-app .lq-rich h3{color:#fff;margin:.5em 0 .3em;line-height:1.2}

.logiquiz-app .lq-tagline{display:block;font:800 10px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px}
.logiquiz-app .lq-situation{background:rgba(244,201,93,.07);border:1px solid rgba(244,201,93,.28);
  border-radius:14px;padding:14px 16px;margin:14px 0;text-align:left}
.logiquiz-app .lq-expected{background:rgba(27,168,90,.12);border:1px solid var(--green);
  border-radius:14px;padding:14px 16px;margin:8px 0 4px;text-align:left;box-shadow:0 0 22px var(--green-glow)}
.logiquiz-app .lq-expected .lq-tagline{color:#7ef0a8}

.logiquiz-app .lq-judge{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:16px}
.logiquiz-app .lq-judge .lq-btn{margin-top:0}
.logiquiz-app .lq-btn.red{background:linear-gradient(180deg,#E15B4C,#a8392c);color:#fff;
  box-shadow:0 0 22px rgba(225,91,76,.35),0 6px 0 #6e271e}
.logiquiz-app .lq-btn.red:active{transform:translateY(4px);box-shadow:0 0 18px rgba(225,91,76,.3),0 2px 0 #6e271e}
.logiquiz-app .lq-btn[disabled]{opacity:.45;cursor:default;box-shadow:none;transform:none}

.logiquiz-app .lq-camph{display:grid;place-items:center;height:100%;color:var(--muted);font-weight:700}

/* fenêtre Règles / Intro / Consignes */
.logiquiz-app .lq-modal{position:absolute;inset:0;z-index:60;background:rgba(5,9,11,.82);
  backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px}
.logiquiz-app .lq-modal-box{width:100%;max-width:560px;max-height:86%;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#11201f,#0a1417);border:1px solid rgba(255,255,255,.14);
  border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.logiquiz-app .lq-modal-tabs{display:flex;align-items:center;gap:4px;padding:10px 10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.logiquiz-app .lq-modal-tabs [data-t]{flex:1;background:transparent;border:none;color:var(--muted);
  font:800 12px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:11px 6px;cursor:pointer;
  border-bottom:3px solid transparent}
.logiquiz-app .lq-modal-tabs [data-t].active{color:#fff;border-bottom-color:var(--green)}
.logiquiz-app .lq-modal-x{flex:none!important;width:38px;color:var(--silver)!important;font-size:22px;border-bottom:none!important}
.logiquiz-app .lq-modal-body{padding:18px 20px;overflow:auto;color:var(--silver);font-size:15px;line-height:1.55}
.logiquiz-app .lq-modal-body .lq-tagline{color:var(--gold)}

/* ============ v1.2 : scores, objectif, 3 états, complication ============ */
/* mini-tableau des scores des autres équipes */
.logiquiz-app .lq-scores{width:100%;max-width:600px;margin:4px auto 2px}
.logiquiz-app .lq-scores-h{font:800 10px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 6px 2px}
.logiquiz-app .lq-scores-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.logiquiz-app .lq-sc{flex:none;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:5px 11px}
.logiquiz-app .lq-sc.me{border-color:var(--green);background:rgba(27,168,90,.16)}
.logiquiz-app .lq-sc .n{font:700 12px var(--body);color:#fff;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logiquiz-app .lq-sc .s{font-family:var(--impact);color:var(--gold);font-size:17px;line-height:1}
.logiquiz-app .lq-sc .pg{font:700 10px var(--body);color:var(--muted)}

/* piste d'objectif */
.logiquiz-app .lq-track{display:flex;gap:6px;margin:10px auto 2px;justify-content:center;flex-wrap:wrap;max-width:340px}
.logiquiz-app .lq-track i{width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,.16)}
.logiquiz-app .lq-track i.on{background:var(--green);box-shadow:0 0 8px var(--green-glow)}
.logiquiz-app .lq-tracklbl{display:block;text-align:center;font:700 11px var(--body);color:var(--gold);margin-top:4px;letter-spacing:.04em}

/* jugement 3 états */
.logiquiz-app .lq-judge3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:18px}
.logiquiz-app .lq-jbtn{border:none;cursor:pointer;border-radius:13px;padding:15px 6px;font:800 14px/1.15 var(--body);
  letter-spacing:.02em;color:#fff;transition:transform .08s}
.logiquiz-app .lq-jbtn:active{transform:translateY(3px)}
.logiquiz-app .lq-jbtn.correct{background:linear-gradient(180deg,var(--green),var(--green-deep));box-shadow:0 5px 0 #073d22}
.logiquiz-app .lq-jbtn.partial{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:var(--ink);box-shadow:0 5px 0 #8c6312}
.logiquiz-app .lq-jbtn.wrong{background:linear-gradient(180deg,#E15B4C,#a8392c);box-shadow:0 5px 0 #6e271e}
.logiquiz-app .lq-jbtn[disabled]{opacity:.45;box-shadow:none;transform:none;cursor:default}

/* feedback partiel */
.logiquiz-app .lq-feedback.part{color:var(--gold)}

/* mission de complication */
.logiquiz-app .lq-comp{margin-top:16px;background:rgba(176,124,232,.12);border:1px solid #b07ce8;
  border-radius:14px;padding:14px 16px;text-align:left}
.logiquiz-app .lq-comp .lq-tagline{color:#d9b8ff}
.logiquiz-app .lq-comp .lq-judge{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.logiquiz-app .lq-comp .lq-btn{margin-top:0}

/* bannière de victoire */
.logiquiz-app .lq-winbanner{margin-top:12px;font-family:var(--impact);text-transform:uppercase;
  font-size:clamp(18px,5vw,26px);color:var(--ink);background:linear-gradient(180deg,var(--gold),var(--gold-deep));
  border-radius:12px;padding:12px;box-shadow:0 0 26px rgba(244,201,93,.45)}

/* pastille partielle (back-office détail) — au cas où le front l'affiche */
.logiquiz-app .lq-part{color:var(--gold)}
