/* Quiz web — DA sombre + flammes, alignée site.css */
.quiz-page{min-height:70vh;background:linear-gradient(180deg,#0a0e24 0%,#0f1533 40%,#14172b 100%);color:#fff;padding-bottom:64px}
.quiz-page .page-head{padding:48px 0 72px}
.quiz-page .page-head .lead{color:rgba(255,255,255,.78);max-width:560px}
.quiz-page .crumbs{font-size:.9rem;color:rgba(255,255,255,.55);margin-bottom:10px}
.quiz-page .crumbs a{color:rgba(255,255,255,.75);text-decoration:none}
.quiz-page .crumbs a:hover{color:#ffb627}
.quiz-wrap{max-width:720px;margin:-40px auto 0;padding:0 24px;position:relative;z-index:3}
.quiz-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px 26px;box-shadow:0 18px 48px rgba(0,0,0,.35),0 0 60px rgba(244,107,30,.08);backdrop-filter:blur(6px)}
.quiz-card h2{font-family:var(--display);font-weight:700;font-size:1.7rem;margin:0 0 8px;line-height:1.15}
.quiz-card .sub{color:rgba(255,255,255,.65);margin-bottom:22px;font-size:.98rem}
.quiz-modes{display:grid;gap:12px}
.quiz-modes button,.quiz-lens button,.quiz-next,.quiz-again{width:100%;justify-content:flex-start;text-align:left}
.quiz-modes button .hint,.quiz-lens button .hint{display:block;font-weight:500;font-size:.88rem;opacity:.75;margin-top:4px}
.quiz-lens{display:grid;gap:10px;margin-top:8px}
.quiz-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;font-size:.88rem;color:rgba(255,255,255,.65)}
.quiz-meta .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.quiz-meta .chip b{color:#ffb627;font-weight:700}
.quiz-progress{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:20px}
.quiz-progress>i{display:block;height:100%;width:0;background:var(--flame);background-size:200% 100%;animation:flameSlide 6s linear infinite;transition:width .25s ease}
.quiz-q{font-size:1.15rem;font-weight:650;line-height:1.45;margin:0 0 8px;color:#fff}
.quiz-theme{font-size:.86rem;color:rgba(255,255,255,.5);margin-bottom:18px}
.quiz-choices{display:grid;gap:10px}
.quiz-choices button{width:100%;justify-content:flex-start;text-align:left;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);color:#fff;padding:14px 16px;border-radius:12px;border:0;font:inherit;font-weight:600;cursor:pointer;transition:transform .12s,background .15s,box-shadow .15s}
.quiz-choices button:hover:not(:disabled){background:rgba(255,255,255,.12);transform:translateY(-1px)}
.quiz-choices button:disabled{cursor:default}
.quiz-choices button .letter{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-right:10px;border-radius:8px;background:rgba(255,182,39,.15);color:#ffb627;font-family:var(--display);font-weight:700;font-size:1rem}
.quiz-choices button.ok{background:rgba(46,160,90,.22);box-shadow:inset 0 0 0 1px rgba(46,160,90,.55)}
.quiz-choices button.bad{background:rgba(215,38,61,.22);box-shadow:inset 0 0 0 1px rgba(215,38,61,.55)}
.quiz-choices button.miss{opacity:.55}
.quiz-corr{margin-top:18px;padding:16px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(10,14,36,.55)}
.quiz-corr.ok{border-color:rgba(46,160,90,.4)}
.quiz-corr.bad{border-color:rgba(215,38,61,.4)}
.quiz-corr .verdict{font-family:var(--display);font-weight:700;font-size:1.2rem;margin-bottom:6px}
.quiz-corr .verdict.ok{color:#6dde9a}
.quiz-corr .verdict.bad{color:#ff8a9a}
.quiz-corr .ans{margin:8px 0;color:rgba(255,255,255,.9)}
.quiz-corr .ans b{color:#ffb627}
.quiz-corr .detail{color:rgba(255,255,255,.7);font-size:.95rem;margin-top:8px;text-align:justify}
.quiz-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.quiz-actions .btn{flex:1;min-width:140px}
.quiz-end{text-align:center}
.quiz-end .score{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,8vw,3.6rem);line-height:1;background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;margin:12px 0 6px}
.quiz-end .score-sub{color:rgba(255,255,255,.7);margin-bottom:22px}
.quiz-end .note{font-size:.9rem;color:rgba(255,255,255,.5);margin-top:16px}
.quiz-loading{text-align:center;padding:40px 20px;color:rgba(255,255,255,.7)}
.quiz-err{color:#ff8a9a;text-align:center;padding:24px}
.hidden{display:none!important}
@media (max-width:560px){
  .quiz-wrap{padding:0 16px;margin-top:-28px}
  .quiz-card{padding:22px 18px}
  .quiz-q{font-size:1.05rem}
}
