/* =========================================================
   7TH QUIZ — structure commune (les couleurs viennent de
   chaque jeu via les variables --qz-*)
   ========================================================= */
.qz-page{ max-width:760px; margin:0 auto; padding:16px 16px 48px; }
.qz-nav{ margin:0 0 14px; }
.qz-nav a{ color:var(--qz-lien,#fff); font-weight:800; text-decoration:none; margin-right:14px; font-size:16px; }
.qz-carte{ background:var(--qz-carte,#fff); color:var(--qz-texte,#111); border-radius:var(--qz-rayon,20px);
  padding:22px 20px; border:var(--qz-bord,2px solid #000); box-shadow:var(--qz-ombre,6px 6px 0 #000); }
.qz-logo{ margin:0 0 6px; font-size:46px; line-height:1; }
.qz-accroche{ font-size:18px; line-height:1.5; margin:8px 0 14px; }
.qz-bloc{ margin:16px 0 0; padding-top:14px; border-top:var(--qz-filet,2px dashed rgba(0,0,0,.2)); }
.qz-etiquette{ font-size:13px; font-weight:900; letter-spacing:2px; text-transform:uppercase; color:var(--qz-accent2,#c00); margin:0 0 8px; }
.qz-label{ display:block; font-weight:800; font-size:14px; margin:8px 0 4px; }
.qz-champ{ display:block; width:100%; box-sizing:border-box; min-height:52px; padding:10px 14px; font:inherit; font-size:18px;
  border:var(--qz-bord-champ,2px solid #000); border-radius:12px; background:var(--qz-fond-champ,#fff); color:inherit; margin:0 0 10px; }
.qz-code{ text-align:center; letter-spacing:10px; font-size:26px; font-weight:900; }
.qz-ou{ text-align:center; font-weight:800; opacity:.7; margin:6px 0; }
.qz-btn{ display:inline-block; min-height:52px; padding:0 22px; margin:4px 4px 4px 0; border-radius:var(--qz-rayon-btn,14px); cursor:pointer;
  font:inherit; font-size:18px; font-weight:900; background:var(--qz-accent,#000); color:var(--qz-sur-accent,#fff);
  border:var(--qz-bord-btn,2px solid #000); text-decoration:none; line-height:48px; }
.qz-btn.qz-alt{ background:var(--qz-carte,#fff); color:var(--qz-texte,#000); }
.qz-btn[disabled]{ opacity:.55; cursor:default; }
.qz-btn:focus-visible, .qz-rep:focus-visible, .qz-champ:focus-visible{ outline:3px solid var(--qz-focus,#0af); outline-offset:3px; }
.qz-erreur{ background:#ffe1e1; color:#7a0000; border-radius:10px; padding:10px 12px; font-weight:700; }
.qz-haut{ display:flex; justify-content:space-between; font-weight:900; font-size:15px; }
.qz-barre{ height:8px; border-radius:4px; background:var(--qz-piste,rgba(0,0,0,.12)); margin:8px 0 14px; overflow:hidden; }
.qz-barre i{ display:block; height:8px; background:var(--qz-accent,#000); }
.qz-cat{ display:inline-block; font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:1.5px;
  padding:3px 10px; border-radius:999px; background:var(--qz-accent2,#c00); color:var(--qz-sur-accent2,#fff); margin-bottom:10px; }
.qz-q{ font-size:24px; line-height:1.3; margin:0 0 12px; overflow-wrap:break-word; }
.qz-ctx{ margin:0 0 12px; padding:12px 14px; border-left:5px solid var(--qz-accent2,#c00); background:var(--qz-fond-ctx,rgba(0,0,0,.05));
  font-size:19px; font-style:italic; border-radius:0 10px 10px 0; }
.qz-img{ max-width:100%; border-radius:12px; margin:0 0 10px; }
.qz-rep{ display:block; width:100%; text-align:left; position:relative; margin:0 0 10px; padding:14px 14px 14px 54px; min-height:56px;
  font:inherit; font-size:19px; line-height:1.3; cursor:pointer; border-radius:var(--qz-rayon-btn,14px);
  background:var(--qz-rep,#fff); color:var(--qz-texte,#000); border:var(--qz-bord-rep,2px solid #000); overflow-wrap:break-word; }
.qz-l{ position:absolute; left:12px; top:50%; margin-top:-16px; width:32px; height:32px; line-height:32px; text-align:center; border-radius:50%;
  background:var(--qz-accent,#000); color:var(--qz-sur-accent,#fff); font-weight:900; font-size:16px; }
.qz-rep[disabled]{ cursor:default; }
.qz-rep.qz-bon{ background:#d8f5df; border-color:#127a3a; color:#0b3d1d; } .qz-rep.qz-bon .qz-l{ background:#127a3a; color:#fff; }
.qz-rep.qz-faux{ background:#ffe0e0; border-color:#a11; color:#5a0b0b; } .qz-rep.qz-faux .qz-l{ background:#a11; color:#fff; }
.qz-rep.qz-choisi{ outline:4px solid var(--qz-focus,#0af); }
.qz-marque{ display:block; font-size:14px; font-weight:900; margin-top:4px; }
.qz-fb{ margin:6px 0 10px; padding:12px 14px; border-radius:12px; background:var(--qz-fond-ctx,rgba(0,0,0,.05)); font-size:17px; line-height:1.5; }
.qz-fb.ok strong{ color:#127a3a; } .qz-fb.ko strong{ color:#a11; }
.qz-score{ font-size:54px; font-weight:900; line-height:1.1; margin:6px 0; color:var(--qz-accent2,#c00); }
.qz-grand-code{ font-size:64px; font-weight:900; letter-spacing:12px; text-align:center; margin:10px 0; color:var(--qz-accent2,#c00); }
.qz-duo{ display:flex; justify-content:space-between; align-items:center; font-weight:900; font-size:16px; margin:8px 0; }
.qz-duo .qz-moi{ text-decoration:underline; text-underline-offset:4px; }
.qz-vs{ font-size:13px; opacity:.6; }
@media (max-width:560px){ .qz-q{ font-size:20px; } .qz-rep{ font-size:17px; } .qz-logo{ font-size:38px; } }
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; animation:none !important; } }

/* AJOUT — chronomètre (solo + duel) et option « Sans timer » */
.qz-chrono{ font-weight:900; font-variant-numeric:tabular-nums; }
.qz-chrono.qz-vite{ color:#e5384f; }
.qz-temps{ height:8px; border-radius:8px; background:rgba(0,0,0,.12); overflow:hidden; margin:0 0 12px; }
.qz-temps i{ display:block; height:100%; width:100%; background:var(--qz-accent,#5b2bd9); -webkit-transition:width .2s linear; transition:width .2s linear; }
.qz-temps i.qz-vite{ background:#e5384f; }
.qz-timer-opt{ margin-top:10px; font-size:13px; opacity:.85; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.qz-sans-timer{ min-height:44px; padding:0 14px; border-radius:999px; border:1px solid currentColor; background:transparent; color:inherit;
  font:inherit; font-size:13px; cursor:pointer; touch-action:manipulation; opacity:.8; }
.qz-sans-timer[aria-pressed="true"]{ opacity:1; font-weight:800; }
