/* Cartes de questions (moteur assets/js/qcm-engine.js).
   Utilise les jetons communs de la page : --bg --surface --ink --muted --line --accent --on-accent --ok(-soft) --bad(-soft) --font-mono. */
.qz{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,10px);padding:1rem 1.1rem;display:grid;gap:.8rem;min-width:0}
.qz-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qz-n{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-right:4px}
.qz-chip{font-family:var(--font-mono);font-size:.7rem;line-height:1.5;border:1px solid var(--line);border-radius:999px;padding:.05rem .55rem;color:var(--muted);white-space:nowrap}
.qz-src{border-style:dashed}
.qz-multi{color:var(--accent);border-color:currentColor}
.qz-q{font-weight:600;line-height:1.55;font-size:1.02rem}
.qz-q var,.qz-txt var,.qz-fb var{font-family:var(--font-math,"STIX Two Text","Cambria Math",serif);font-style:italic;font-size:1.08em}
.qz-fig{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;overflow-x:auto}
.qz-fig svg{max-width:440px;margin:0 auto;display:block}
.qz-opts{display:grid;gap:8px}
.qz-opt{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:center;text-align:left;font:inherit;font-size:.97rem;line-height:1.45;
  border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.55rem .75rem;cursor:pointer;min-height:44px}
.qz-key{font-family:var(--font-mono);font-size:.74rem;font-weight:600;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);background:var(--surface)}
.qz-txt{min-width:0}
.qz-opt:hover:not(:disabled){border-color:var(--accent)}
.qz-opt.picked{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.qz-opt.picked .qz-key{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.qz-opt.right{background:var(--ok-soft);border-color:var(--ok)}
.qz-opt.right .qz-key{background:var(--ok);border-color:var(--ok);color:var(--surface)}
.qz-opt.wrong{background:var(--bad-soft);border-color:var(--bad)}
.qz-opt.wrong .qz-key{background:var(--bad);border-color:var(--bad);color:var(--surface)}
.qz-opt:disabled{cursor:default}
.qz-row{display:flex;gap:8px;flex-wrap:wrap}
.qz-go{font:inherit;font-weight:600;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);border-radius:8px;padding:.5rem 1.05rem;cursor:pointer;min-height:42px}
.qz-go:hover{filter:brightness(1.08)}
.qz-num{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.qz-num input{font:inherit;font-family:var(--font-mono);font-size:1rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:11rem;max-width:100%}
.qz-num input[aria-invalid="true"]{border-color:var(--bad)}
.qz-unit{font-family:var(--font-mono);color:var(--muted)}
.qz-fb{font-size:.94rem;line-height:1.6;padding:.75rem .9rem;border-radius:8px}
.qz-fb.ok{background:var(--ok-soft)}
.qz-fb.ok>b{color:var(--ok)}
.qz-fb.no{background:var(--bad-soft)}
.qz-fb.no>b{color:var(--bad)}
.qz-sol{font-weight:600}
.qz-ref{white-space:nowrap;color:var(--accent);font-weight:600}
.qz-check{display:grid;gap:12px}
.qz-check-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.qz-check-t{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.qz-check-s{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}
.qz-list{display:grid;gap:12px}
.qz-fig img.scan{max-width:520px}

/* spécifications de types abstraits (spec.js) */
.qz-fig .spec{margin:0;font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.55;white-space:pre;color:var(--ink,inherit);tab-size:4}
.qz-fig .spec .sp-k{font-weight:700;font-size:.78em;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.qz-fig .spec .sp-op{font-weight:600;color:var(--accent)}
.qz-fig .spec .sp-c,.qz-fig .spec .sp-kw{color:var(--muted)}
.qz-q code,.qz-txt code,.qz-sol code,.qz-fb code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.92em}
