/* P226 / P237 : quiz des règles de la location. Charte vitrine sombre (mêmes valeurs que les guides).
   P237 : carte de parcours, Poly expressif, scène de fin. */
.qz{--n2:#1c1c1f;--n3:#232327;--t:#2e2e33;--tb:#4a4a52;--b:#f5f4f0;--g:#a8a8b0;--a:#f4b98a;--a2:#f7c9a3;--ok:#5fd3a0;--err:#ff8a7a;
  color:var(--b);font-family:"Red Hat Text",system-ui,sans-serif;font-size:17px;line-height:1.5;padding-bottom:70px}
.qz *,.qz *::before,.qz *::after{box-sizing:border-box}
.qz h1,.qz h2,.qz h3{font-family:"Red Hat Display",system-ui,sans-serif;font-weight:500;letter-spacing:-.015em;color:var(--b);margin:0}
.qz a{color:var(--a)}
.qz .w{max-width:780px;margin:0 auto;padding:0 16px}
.qz .w-l{max-width:1040px}
.qz .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qz :focus-visible{outline:3px solid var(--a);outline-offset:3px;border-radius:8px}
.qz img{max-width:100%}

/* en-tête de page */
.qz .tete{padding-top:104px;padding-bottom:18px}
.qz .fil{font-size:14px;color:var(--g);margin:0 0 12px}
.qz .fil a{color:var(--g)}
.qz .fil a:hover{color:var(--a)}
.qz .tete-l{display:flex;gap:14px;align-items:flex-end;justify-content:space-between}
.qz h1{font-size:clamp(30px,6.5vw,52px);line-height:1.06}
.qz h1 em{font-style:normal;color:var(--a)}
.qz .lead{color:var(--g);font-size:18px;margin:14px 0 0;max-width:620px}
.qz .tete-poly{flex:none;width:auto;height:112px;display:block}
.qz .avert{margin:18px 0 0;padding:12px 14px;border:1.5px solid var(--t);border-radius:12px;background:var(--n2);font-size:14.5px;color:var(--g)}
.qz .avert b{color:var(--b);font-weight:600}

/* accueil : choix du profil */
.qz .question{font-family:"Red Hat Display",system-ui,sans-serif;font-size:22px;margin:28px 0 12px}
.qz .choix{display:grid;grid-template-columns:1fr;gap:14px}
.qz .profil{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"pt img" "sub img" "prog img" "go img";gap:4px 12px;align-items:start;min-height:150px;padding:20px 18px 20px 22px;border:1.5px solid var(--tb);border-radius:20px;background:var(--n2);color:var(--b);text-decoration:none;overflow:hidden;transition:border-color .15s,background .15s}
.qz .profil:hover{border-color:var(--a);background:var(--n3)}
.qz .profil .pt{grid-area:pt;font-family:"Red Hat Display",system-ui,sans-serif;font-size:26px;font-weight:500;color:var(--b)}
.qz .profil .sub{grid-area:sub;color:var(--g);font-size:15.5px}
.qz .profil .prog{grid-area:prog;margin-top:6px;font-size:14.5px;color:var(--a);font-weight:600;min-height:20px}
.qz .profil .go{grid-area:go;align-self:end;margin-top:10px;display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--a);font-size:15px}
.qz .profil .pic{grid-area:img;align-self:end;justify-self:end;margin:0 -6px -20px 0}
.qz .profil .pic img{display:block;max-width:100%;height:auto}
.qz .apres{margin-top:46px;display:grid;gap:12px}
.qz .apres h2{font-size:22px;margin-bottom:2px}
.qz .apres p{margin:0;color:var(--g)}
.qz .apres a.lien{display:inline-block;margin-right:16px;font-weight:600}

/* boutons */
.qz .qz-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:48px;border:1.5px solid var(--a);background:var(--a);color:#141415;font:600 16px "Red Hat Text",system-ui,sans-serif;cursor:pointer;text-decoration:none;text-align:center}
.qz .qz-btn:hover{background:var(--a2);border-color:var(--a2)}
.qz .qz-btn.alt{background:transparent;color:var(--b);border-color:var(--tb)}
.qz .qz-btn.alt:hover{border-color:var(--a);background:transparent}
.qz .qz-btn.mini{min-height:46px;padding:0 18px;font-size:15px}
.qz .qz-lien{background:none;border:0;color:var(--a);font:600 15px "Red Hat Text",system-ui,sans-serif;cursor:pointer;min-height:44px;padding:0 6px;text-align:left}
.qz .qz-lien:hover{text-decoration:underline}

/* Poly : images toujours à leurs proportions */
.qz .qz-poly{flex:none;display:block}
.qz .qz-poly picture{display:block}
.qz .qz-poly img{display:block;max-width:100%;height:auto;object-fit:contain}
.qz .bulle{margin:0;font-size:16px;line-height:1.4}

/* parcours : bandeau du joueur */
.qz .qz-hero{margin:0 0 6px;padding:18px 18px 20px;border:1.5px solid var(--t);border-radius:22px;background:var(--n2)}
.qz .qz-hero-top{display:flex;gap:14px;align-items:flex-end}
.qz .qz-hero-t{flex:1;min-width:0;padding-bottom:4px}
.qz .qz-hero-b{position:relative;max-width:520px;margin:10px 0 0;padding:12px 14px;border-radius:16px 16px 16px 4px;background:var(--n3);border:1.5px solid var(--t);font-size:16px;line-height:1.4}
.qz .qz-niveau{display:inline-block;padding:5px 14px;border:1.5px solid var(--a);border-radius:99px;color:var(--a);font-weight:600;font-size:14.5px;white-space:nowrap}
.qz .qz-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 12px}
.qz .qz-stats div{padding:10px 8px;border-radius:14px;background:var(--n3);text-align:center;min-width:0}
.qz .qz-stats b{display:block;font:600 28px/1.1 "Red Hat Display",system-ui,sans-serif;color:var(--a);font-variant-numeric:tabular-nums}
.qz .qz-stats span{display:block;margin-top:2px;font-size:13px;color:var(--g);line-height:1.25}
.qz .qz-bilan-n{margin:8px 0 0;color:var(--g);font-size:14.5px}
.qz .qz-go{display:flex;flex-direction:column;gap:1px;width:100%;margin-top:16px;min-height:60px;padding:8px 22px;text-decoration:none}
.qz .qz-go span{font-size:18px}
.qz .qz-go small{font-size:13.5px;font-weight:500;opacity:.78;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qz .qz-prog{height:10px;border-radius:99px;background:var(--t);overflow:hidden}
.qz .qz-prog i{display:block;height:100%;background:var(--a);border-radius:99px}
.qz .qz-h2{font-size:22px;margin:30px 0 14px}

/* carte de parcours : un chemin qui serpente entre les étapes */
.qz .qz-themes{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:18px}
.qz .qz-chemin{position:absolute;left:0;top:0;z-index:0;pointer-events:none;overflow:visible}
.qz .qz-chemin path{fill:none;stroke-linecap:round}
.qz .qz-chemin path.fait{stroke:var(--a);stroke-width:6}
.qz .qz-chemin path.reste{stroke:var(--tb);stroke-width:4;stroke-dasharray:1 11}
.qz .qz-th{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding-left:calc(var(--i,0) * 30px)}
.qz .qz-th .node{flex:none;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;border:3px solid var(--tb);background:var(--n2);color:var(--b);font:600 22px "Red Hat Display",system-ui,sans-serif;padding:0;cursor:default}
.qz .qz-th button.node{cursor:pointer}
.qz .qz-th.is-open .node{border-color:var(--a);color:var(--a)}
.qz .qz-th.is-done .node{border-color:var(--a);background:var(--a);color:#141415}
.qz .qz-th.is-lock .node{border-style:dashed;color:var(--g);background:#161618}
.qz .qz-th.is-cur .node{width:72px;height:72px;font-size:26px;box-shadow:0 0 0 6px rgba(244,185,138,.18)}
.qz .qz-th .card{flex:1;min-width:0;display:flex;gap:12px;align-items:flex-end;padding:14px 16px;border:1.5px solid var(--t);border-radius:18px;background:var(--n2)}
.qz .qz-th.is-cur .card{border-color:var(--a);background:var(--n3);padding:16px}
.qz .qz-th.is-lock .card{border-style:dashed;background:#161618}
.qz .qz-th .txt{flex:1;min-width:0}
.qz .qz-th h3{font-size:18px;line-height:1.25}
.qz .qz-th.is-lock h3{color:var(--g)}
.qz .qz-th .txt p{margin:4px 0 0;color:var(--g);font-size:14.5px}
.qz .qz-th .txt .qz-ici{margin:0 0 4px;color:var(--a);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.qz .qz-th .nb{white-space:nowrap;color:var(--g)}
.qz .qz-th .meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px}
.qz .qz-th .meta .qz-star{width:22px;height:22px}
.qz .qz-th-poly{display:none;flex:none;order:2;align-self:flex-end;margin:0 -2px -16px 0}
@media (min-width:560px){.qz .qz-th-poly{display:block}}
.qz .qz-th-poly img{display:block;max-width:100%;height:auto}
.qz .qz-act-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.qz .qz-th.is-cur .qz-act-btns{margin-top:10px}
.qz .qz-th.is-final .node{overflow:hidden;background:var(--n2)}
.qz .qz-th.is-final .node img{display:block;width:auto;height:44px;margin-top:6px}
.qz .qz-th.is-final.is-lock .node img{filter:grayscale(1);opacity:.45}
.qz .qz-th.is-final.is-done .node{background:var(--a)}
.qz .qz-verrou{font-size:14px;color:var(--g)}
.qz .qz-stars{display:inline-flex;gap:4px}
.qz .qz-star{fill:none;stroke:var(--tb);stroke-width:1.6}
.qz .qz-star.on{fill:var(--a);stroke:var(--a)}
.qz .qz-rec{font-size:13.5px;color:var(--g)}

/* récompenses, réglages */
.qz .qz-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
.qz .qz-badge{display:grid;grid-template-columns:34px 1fr;grid-template-areas:"i b" "i s";column-gap:10px;align-items:center;padding:10px 12px;border:1.5px dashed var(--t);border-radius:14px;color:var(--g)}
.qz .qz-badge i{grid-area:i;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--n2);color:var(--tb)}
.qz .qz-badge i svg{width:18px;height:18px}
.qz .qz-badge b{grid-area:b;font-size:15px;font-weight:600}
.qz .qz-badge small{grid-area:s;font-size:12.5px;line-height:1.3}
.qz .qz-badge.ok{border-style:solid;border-color:var(--a);color:var(--b);background:var(--n2)}
.qz .qz-badge.ok i{background:var(--a);color:#141415}
.qz .qz-badge.ok small{color:var(--a)}
.qz .qz-det{margin:6px 0 0;border:1.5px solid var(--t);border-radius:14px;background:var(--n2)}
.qz .qz-det summary{cursor:pointer;min-height:48px;padding:12px 16px;font-weight:600;font-size:15px;list-style:none;display:flex;align-items:center;justify-content:space-between}
.qz .qz-det summary::-webkit-details-marker{display:none}
.qz .qz-det summary::after{content:"+";color:var(--a);font-size:22px;line-height:1}
.qz .qz-det[open] summary::after{content:"\2212"}
.qz .qz-det-c{padding:0 16px 14px}
.qz .qz-opts-bar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.qz .qz-sw{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 12px;border:1.5px solid var(--tb);border-radius:99px;background:transparent;color:var(--b);font:600 14.5px "Red Hat Text",system-ui,sans-serif;cursor:pointer}
.qz .qz-sw .pt{position:relative;width:34px;height:20px;border-radius:99px;background:var(--t);flex:none}
.qz .qz-sw .pt::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--g)}
.qz .qz-sw[aria-checked="true"]{border-color:var(--a)}
.qz .qz-sw[aria-checked="true"] .pt{background:var(--a)}
.qz .qz-sw[aria-checked="true"] .pt::after{left:17px;background:#141415}
.qz .qz-regle{margin:0;color:var(--g);font-size:14.5px}
.qz .qz-defi{margin:0 0 14px;padding:14px 16px;border:1.5px solid var(--a);border-radius:14px;display:grid;gap:10px}
.qz .qz-defi p{margin:0}

/* question */
.qz .qz-bar{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:10px}
.qz .qz-bar-t{flex:1;text-align:center;font-size:14.5px;color:var(--g);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qz .qz-pts{position:relative;font-size:14.5px;color:var(--g);white-space:nowrap;min-width:64px;text-align:right;display:inline-block}
.qz .qz-pts b{color:var(--a);font:600 22px "Red Hat Display",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.qz .qz-gain{position:absolute;right:0;top:100%;font-weight:700;font-size:14px;color:var(--ok);opacity:0;pointer-events:none}
.qz .qz-seg{display:flex;gap:4px;height:10px;background:none;overflow:visible}
.qz .qz-seg i{flex:1;height:100%;border-radius:99px;background:var(--t)}
.qz .qz-seg i.ok{background:var(--ok)}
.qz .qz-seg i.ko{background:var(--err)}
.qz .qz-seg i.cur{background:var(--tb)}
.qz .qz-coach{display:flex;align-items:flex-end;gap:12px;margin:14px 0 0;padding:0 2px 0 4px}
.qz .qz-coach .qz-poly{margin-bottom:-2px}
.qz .qz-coach .bulle{position:relative;flex:1;min-width:0;align-self:center;padding:12px 14px;border:1.5px solid var(--t);border-radius:16px 16px 16px 4px;background:var(--n2)}
.qz .qz-coach .bulle::before{content:"";position:absolute;left:-8px;bottom:12px;width:12px;height:12px;background:var(--n2);border-left:1.5px solid var(--t);border-bottom:1.5px solid var(--t);transform:rotate(45deg)}
.qz .qz-serie{flex:none;align-self:center;display:inline-flex;align-items:center;gap:4px;min-width:0;padding:6px 10px;border:1.5px solid var(--t);border-radius:99px;font-size:14.5px;color:var(--g);white-space:nowrap}
.qz .qz-serie b{color:var(--b)}
.qz .qz-serie small{font-size:12px}
.qz .qz-flamme{fill:var(--tb);flex:none}
.qz .qz-serie.chaud,.qz .qz-serie.chaud b{color:var(--a)}
.qz .qz-serie.chaud{border-color:var(--a)}
.qz .qz-serie.chaud .qz-flamme{fill:var(--a)}
.qz .qz-chrono{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13.5px;color:var(--g)}
.qz .qz-chrono .piste{flex:1;height:6px;border-radius:99px;background:var(--t);overflow:hidden}
.qz .qz-chrono i{display:block;height:100%;background:var(--a);transition:width .5s linear}
.qz .qz-chrono span{min-width:96px;text-align:right}
.qz .qz-card{margin-top:16px;padding:20px 16px 18px;border:1.5px solid var(--t);border-radius:22px;background:var(--n2)}
.qz .qz-compteur{margin:0 0 10px;font-size:14.5px;color:var(--g);display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.qz .qz-type{display:inline-block;padding:2px 10px;border:1.5px solid var(--tb);border-radius:99px;font-size:13px;color:var(--b)}
.qz .qz-reste{flex-basis:100%;color:var(--a);font-weight:600;font-size:13.5px}
.qz .qz-q{font-size:clamp(22px,5.4vw,28px);line-height:1.3;margin-bottom:20px}
.qz .qz-opts{display:grid;gap:10px}
.qz .qz-opt{position:relative;display:flex;align-items:center;gap:14px;min-height:62px;padding:12px 16px;border:1.5px solid var(--tb);border-radius:16px;background:var(--n3);color:var(--b);cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;transition:border-color .15s,transform .1s}
.qz .qz-opt:hover{border-color:var(--a)}
.qz .qz-opt:active{transform:scale(.985)}
.qz .qz-opt .k{flex:none;width:34px;height:34px;border-radius:10px;border:1.5px solid var(--tb);display:grid;place-items:center;font-weight:600;font-size:14px;color:var(--g)}
.qz .qz-opt .t{flex:1;font-size:17px;line-height:1.35}
.qz .qz-opt .m{display:none;font-size:13px;font-weight:700;white-space:nowrap}
.qz .qz-opts.vf,.qz .qz-opts.num{grid-template-columns:1fr 1fr;gap:12px}
.qz .qz-opts.vf .qz-opt,.qz .qz-opts.num .qz-opt{flex-direction:column;justify-content:center;gap:2px;min-height:84px;text-align:center}
.qz .qz-opts.vf .t,.qz .qz-opts.num .t{flex:none;font-family:"Red Hat Display",system-ui,sans-serif;font-weight:500;font-size:22px}
.qz .qz-opts.num .t{font-size:19px}
.qz .qz-opt.is-ok{border-color:var(--ok);background:rgba(95,211,160,.12)}
.qz .qz-opt.is-ko{border-color:var(--err);background:rgba(255,138,122,.11)}
.qz .qz-opt.is-ok .m{display:block;color:var(--ok)}
.qz .qz-opt.is-ko .m{display:block;color:var(--err)}
.qz .qz-opt.is-ok .k{background:var(--ok);border-color:var(--ok);color:#0b1f17}
.qz .qz-opt.is-ko .k{background:var(--err);border-color:var(--err);color:#2a0f0b}
.qz .qz-opts.done .qz-opt{cursor:default;pointer-events:none}
.qz .qz-opts.done .qz-opt:not(.is-ok):not(.is-ko){opacity:.5}
.qz .qz-opts.liste .qz-opt{flex-wrap:wrap;row-gap:0}
.qz .qz-opts.liste .qz-opt .m{flex-basis:100%;padding-left:48px;margin-top:-2px}
.qz .qz-opts.liste .qz-opt .m:empty{display:none!important}
.qz .qz-fb{margin-top:16px;padding:16px 16px 18px;border:1.5px solid var(--tb);border-radius:16px;background:var(--n3)}
.qz .qz-fb.ok{border-color:var(--ok)}
.qz .qz-fb.ko{border-color:var(--err)}
.qz .qz-fb p{margin:0 0 10px}
.qz .qz-fb-t{font:500 20px "Red Hat Display",system-ui,sans-serif}
.qz .qz-fb-g{margin-left:8px;font-size:15px;font-weight:600;color:var(--a)}
.qz .qz-fb.ok .qz-fb-t{color:var(--ok)}
.qz .qz-fb.ko .qz-fb-t{color:var(--err)}
.qz .qz-fb-bonne{font-size:16.5px}
.qz .qz-fb-e{font-size:16.5px}
.qz .qz-src{font-size:14px;color:var(--g)}
.qz .qz-fb .qz-btn{width:100%;margin-top:6px}
.qz .qz-aide{display:none;margin:16px 0 0;font-size:13.5px;color:var(--g);text-align:center}

/* scène de fin de thème */
.qz .qz-scene{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 18px 22px;border:1.5px solid var(--t);border-radius:24px;background:var(--n2);text-align:center}
.qz .qz-scene.s3,.qz .qz-scene.s2{border-color:var(--a)}
.qz .qz-scene.s0{border-color:var(--err)}
.qz .qz-poly-fin{margin-bottom:2px}
.qz .qz-fin-c{min-width:0;width:100%}
.qz .qz-fin-k{margin:0 0 2px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--a)}
.qz .qz-scene.s0 .qz-fin-k{color:var(--err)}
.qz .qz-scene h2{font-size:24px;line-height:1.2;margin-bottom:10px}
.qz .qz-scene .qz-stars{display:flex;margin-bottom:12px;justify-content:center}
.qz .qz-scene .qz-star{width:44px;height:44px}
.qz .qz-scene p{margin:0 0 6px}
.qz .qz-bulle-fin{display:block;width:fit-content;max-width:100%;margin:0 auto 12px!important;padding:12px 16px;border:1.5px solid var(--t);border-radius:16px;background:var(--n3);font-size:17px}
.qz .qz-fin-pts{font-size:18px;color:var(--g)}
.qz .qz-fin-pts b{font:600 40px "Red Hat Display",system-ui,sans-serif;color:var(--a);font-variant-numeric:tabular-nums}
.qz .qz-fin-pts .rec{margin-left:8px;padding:2px 10px;border:1.5px solid var(--a);border-radius:99px;font-size:13px;color:var(--a)}
.qz .qz-fin-s{color:var(--g);font-size:15.5px}
.qz .qz-fin-s b{color:var(--b)}
.qz .qz-fin-b{color:var(--g);font-size:14.5px}
.qz .qz-recomp{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.qz .qz-recomp:empty{display:none}
.qz .qz-chip{padding:7px 14px;border:1.5px solid var(--a);border-radius:99px;font-size:14px;font-weight:600;color:var(--a)}
.qz .qz-chip.fort{background:var(--a);color:#141415}
.qz .qz-fin-btns{display:grid;gap:10px;margin-top:16px}
.qz .qz-cta{margin-top:22px;padding:18px;border:1.5px solid var(--t);border-radius:16px;background:var(--n2);display:flex;gap:14px 20px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.qz .qz-cta p{margin:0;color:var(--g);font-size:15.5px}
.qz .qz-cta .qz-cta-t{color:var(--b);font-weight:600;font-size:17px;margin-bottom:2px}
.qz .qz-cta.qz-cta-ok{color:var(--g);font-size:15px}
.qz .qz-cta .qz-btn{flex:none}
.qz .qz-defi-ret{margin:8px 0 0;font-size:14.5px;color:var(--a);word-break:break-all}
.qz .qz-defi-ret:empty{display:none}

/* révision sans jouer */
.qz .revis{margin-top:54px}
.qz .revis h2{font-size:24px;margin-bottom:6px}
.qz .revis > p{color:var(--g);margin:0 0 16px;font-size:15.5px}
.qz .revis details{border:1.5px solid var(--t);border-radius:14px;background:var(--n2);margin-bottom:10px}
.qz .revis summary{cursor:pointer;min-height:52px;padding:14px 16px;font:500 18px "Red Hat Display",system-ui,sans-serif;list-style:none}
.qz .revis summary::-webkit-details-marker{display:none}
.qz .revis summary::after{content:"+";float:right;color:var(--a);font-size:22px;line-height:1}
.qz .revis details[open] summary::after{content:"\2212"}
.qz .revis .liste{padding:0 16px 14px}
.qz .revis .it{padding:12px 0;border-top:1px solid var(--t)}
.qz .revis .it h3{font:600 16.5px "Red Hat Text",system-ui,sans-serif;margin:0 0 4px}
.qz .revis .it .r{margin:0;font-size:15.5px}
.qz .revis .it .r b{color:var(--ok)}
.qz .revis .it .e{margin:4px 0 0;font-size:15px;color:var(--g)}
.qz .revis .it .s{margin:4px 0 0;font-size:13.5px;color:var(--g)}
.qz .pied-note{margin-top:34px;font-size:13.5px;color:var(--g)}

/* jeu en plein écran sur mobile */
html.qz-lock{overflow:hidden}
.qz #qz-vue.plein{position:fixed;inset:0;z-index:1000;background:#141415;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px calc(24px + env(safe-area-inset-bottom));max-width:none;margin:0}
.qz #qz-vue.plein > *{max-width:680px;margin-left:auto;margin-right:auto}
.qz #qz-vue.plein .qz-bar{position:sticky;top:-14px;z-index:2;background:#141415;padding:14px 0 6px}
.qz .spk-c{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.qz .spk{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:2px;background:var(--ok);opacity:0;transform:rotate(45deg)}
.qz .spk:nth-child(3n){background:var(--a)}
.qz .spk:nth-child(3n+1){background:var(--b)}
.qz-confetti{position:fixed;inset:0;z-index:1100;pointer-events:none;overflow:hidden}
.qz-confetti i{position:absolute;top:-16px;width:9px;height:14px;border-radius:2px;opacity:0}

@media (min-width:760px){
  .qz .tete{padding-top:116px}
  .qz .tete-poly{height:190px}
  .qz .choix{grid-template-columns:1fr 1fr}
  .qz .profil{min-height:190px}
  .qz .qz-hero{padding:24px 26px 24px}
  .qz .qz-hero-b{font-size:18px}
  .qz .qz-go{width:auto;min-width:320px;align-items:flex-start}
  .qz .qz-th{gap:18px;padding-left:calc(var(--i,0) * 70px)}
  .qz .qz-th .node{width:68px;height:68px}
  .qz .qz-th.is-cur .node{width:84px;height:84px;font-size:30px}
  .qz .qz-th .card{padding:16px 20px}
  .qz .qz-th h3{font-size:20px}
  .qz .qz-th .txt p{font-size:15.5px}
  .qz .qz-themes{gap:22px}
  .qz .qz-card{padding:26px 28px 24px}
  .qz .qz-aide{display:block}
  .qz .qz-fb .qz-btn{width:auto;min-width:220px}
  .qz .qz-scene{padding:32px 30px 28px}
  .qz .qz-fin-btns{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
  .qz .qz-badges{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:420px){
  .qz .qz-coach .bulle{font-size:15px}
  .qz .qz-th .card{padding:12px 12px}
  .qz .qz-th h3{font-size:17px}
  .qz .qz-th .node{width:54px;height:54px;font-size:20px}
  .qz .qz-th.is-cur .node{width:64px;height:64px}
  .qz .qz-th{gap:10px;padding-left:calc(var(--i,0) * 22px)}
  .qz .qz-opts.vf,.qz .qz-opts.num{gap:10px}
  .qz .qz-hero{padding:14px 14px 16px}
  .qz .qz-stats b{font-size:24px}
}
/* p234 : sur mobile, la mention (Votre reponse, juste) passe sous le texte au lieu de le serrer */
@media (max-width:560px){.qz .qz-opts:not(.vf):not(.num) .qz-opt{flex-wrap:wrap}.qz .qz-opts:not(.vf):not(.num) .qz-opt .t{flex:1 1 0;min-width:0}.qz .qz-opts:not(.vf):not(.num) .qz-opt .m{flex:0 0 100%;padding-left:48px;white-space:normal;margin-top:-4px}}

/* p235 : la mascotte de l'accueil gardait sa hauteur quand le bloc picture retrecissait */
.qz picture:has(> .tete-poly){flex:none;display:block}
.qz .tete-poly{max-width:none;object-fit:contain;aspect-ratio:150/196}

/* mouvement (désactivé si prefers-reduced-motion) */
@media (prefers-reduced-motion:no-preference){
  .qz .qz-opt.is-ok{box-shadow:0 0 0 3px rgba(95,211,160,.22);animation:qz-rebond .45s}
  .qz .qz-opt.is-ok .k{animation:qz-pop .3s}
  .qz .qz-opt.is-ko{animation:qz-secoue .32s}
  .qz .spk{animation:qz-spk .7s ease-out forwards}
  .qz .qz-pts.bump{animation:qz-pop .35s}
  .qz .qz-gain.va{animation:qz-gain 1s ease-out forwards}
  .qz .qz-coach.saute .qz-poly{animation:qz-saute .5s}
  .qz .qz-coach.saute .bulle{animation:qz-monte .25s ease-out}
  .qz .qz-serie.chaud .qz-flamme{animation:qz-flam .9s ease-in-out infinite;transform-origin:50% 90%}
  .qz .qz-fb{animation:qz-monte .22s ease-out}
  .qz .qz-card{animation:qz-entre .2s ease-out}
  .qz .qz-scene .qz-star.on{animation:qz-etoile .45s both;animation-delay:var(--d,0s)}
  .qz .qz-poly-fin{animation:qz-arrive .6s cubic-bezier(.2,1.3,.4,1)}
  .qz .qz-th.is-cur .node{animation:qz-pulse 2.4s ease-in-out infinite}
  .qz .qz-th-poly img{animation:qz-flotte 4s ease-in-out infinite}
  .qz .qz-hero .qz-poly{animation:qz-flotte 6s ease-in-out infinite}
  .qz .qz-prog i{transition:width .35s}
  .qz .tete-poly{animation:qz-flotte 6s ease-in-out infinite}
  .qz-confetti i{animation:qz-chute var(--du,2.4s) var(--dl,0s) ease-in forwards}
  @keyframes qz-rebond{0%{transform:scale(1)}35%{transform:scale(1.04)}60%{transform:scale(.99)}100%{transform:scale(1)}}
  @keyframes qz-spk{0%{opacity:1;transform:translate(0,0) rotate(45deg) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(225deg) scale(.4)}}
  @keyframes qz-saute{0%{transform:translateY(0)}30%{transform:translateY(-12px) rotate(-6deg)}60%{transform:translateY(0) rotate(4deg)}100%{transform:none}}
  @keyframes qz-flam{50%{transform:scale(1.18,1.1)}}
  @keyframes qz-chute{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:1;transform:translate(var(--w),105vh) rotate(var(--r))}}
  @keyframes qz-secoue{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
  @keyframes qz-pop{50%{transform:scale(1.06)}}
  @keyframes qz-monte{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @keyframes qz-entre{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
  @keyframes qz-etoile{0%{transform:scale(.3) rotate(-20deg);opacity:0}70%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}
  @keyframes qz-flotte{50%{transform:translateY(-6px)}}
  @keyframes qz-arrive{from{opacity:0;transform:translateY(24px) scale(.9)}to{opacity:1;transform:none}}
  @keyframes qz-pulse{50%{box-shadow:0 0 0 12px rgba(244,185,138,0)}}
  @keyframes qz-gain{0%{opacity:0;transform:translateY(-4px)}20%{opacity:1}100%{opacity:0;transform:translateY(10px)}}
}
