/* ============================================================
   Knowledge check
   ============================================================ */
#quiz{font-family:var(--sans); border:1px solid var(--rule); border-top:3px solid var(--accent);
  border-radius:4px; padding:24px 26px; background:#fff; max-width:820px;}
#quiz p{margin:0 0 12px;}

.qz-lead{color:var(--muted); font-size:15px; max-width:66ch;}
.qz-controls{display:grid; gap:16px; margin:20px 0 12px;}
@media(min-width:560px){ .qz-controls{grid-template-columns:1fr 1fr;} }
#quiz label{display:block; font-size:11px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--muted); margin:0 0 5px;}
#quiz select{width:100%; font-family:var(--sans); font-size:14px; border:1px solid var(--rule);
  border-radius:3px; padding:8px 10px; background:#fff; color:var(--ink);}
#quiz select:focus{outline:2px solid var(--accent); outline-offset:1px;}
.qz-count{font-size:13px; color:var(--muted); margin-bottom:18px;}

.qz-bar{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:baseline; font-size:12px;
  color:var(--muted); margin:0 0 10px;}
.qz-bar .qz-topic{font-weight:700; color:var(--accent-dark); letter-spacing:.04em;}
.qz-bar .qz-score{margin-left:auto;}
.qz-prog{height:4px; background:var(--rule); border-radius:3px; overflow:hidden; margin:0 0 20px;}
.qz-prog i{display:block; height:100%; background:var(--accent); transition:width .2s ease;}

.qz-q{font-family:var(--serif); font-size:1.2rem; line-height:1.45; margin:0 0 18px !important;
  color:var(--ink); max-width:64ch;}
.qz-opts{display:grid; gap:9px; margin:0 0 16px;}
.qz-opt{text-align:left; font-family:var(--sans); font-size:15px; line-height:1.45;
  border:1px solid var(--rule); border-radius:4px; background:#fff; color:var(--ink);
  padding:12px 15px; cursor:pointer;}
.qz-opt:hover:enabled{border-color:var(--accent); background:var(--accent-tint);}
.qz-opt:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.qz-opt:disabled{cursor:default; opacity:.72;}
.qz-opt.right{border-color:var(--ok); background:#eef7f2; color:#1d5a41; opacity:1; font-weight:600;}
.qz-opt.wrong{border-color:#a33; background:#fdf3f3; color:#8b2626; opacity:1;}

.qz-fb{border-top:1px solid var(--rule); padding-top:15px; font-size:14.5px; line-height:1.6;
  color:var(--muted);}
.qz-fb .ok{font-weight:700; color:var(--ok); margin-bottom:6px !important;}
.qz-fb .no{font-weight:700; color:#a33; margin-bottom:6px !important;}
.qz-fb .btn{margin-top:8px;}

.qz-result .qz-big{font-family:var(--sans); font-size:2.4rem; font-weight:700; line-height:1;
  color:var(--accent-dark); margin:0 0 4px !important;}
.qz-result .qz-pct{color:var(--muted); font-size:15px; margin-bottom:20px !important;}
.qz-result table{width:100%; border-collapse:collapse; font-size:13.5px; margin:0 0 22px;}
.qz-result th,.qz-result td{border-bottom:1px solid var(--rule); padding:7px 8px; text-align:left;}
.qz-result th{background:var(--bg-soft); font-size:10px; letter-spacing:.07em; text-transform:uppercase;
  color:var(--muted);}
.qz-result h3{font-family:var(--sans); font-size:14px; margin:0 0 12px;}
.qz-miss{border-left:2px solid var(--accent); padding:2px 0 2px 14px; margin:0 0 16px;
  font-size:14px; line-height:1.55; color:var(--muted);}
.qz-miss .qz-mq{font-family:var(--serif); font-size:1.02rem; color:var(--ink); margin-bottom:5px !important;}
.qz-miss .qz-ma{color:var(--ok); margin-bottom:5px !important;}
.qz-clean{color:var(--ok); font-weight:600;}
.qz-acts{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px;}

@media print{ #quiz{display:none;} }
