/* Inherits luminamur's existing paper, ink, type and button system. */
[hidden]{display:none!important}
.ql-intro{max-width:680px;margin:24px auto 44px;text-align:center}
.ql-intro .lead{margin:18px auto;max-width:58ch}
.ql-intro .btn{margin-top:18px}
.ql-intro-copy{text-align:left;line-height:1.7}
.ql-notice{background:var(--paper-2);border-radius:var(--r-sm);padding:18px 22px;margin:24px 0;text-align:left;color:var(--ink);line-height:1.65}
#quiz-lab-root{scroll-margin-top:100px}
.ql-question h2{font-size:clamp(23px,3.5vw,32px);line-height:1.3;margin:24px 0}
.ql-count{color:var(--ink-2,var(--ink));font-size:14px;font-variant-numeric:tabular-nums}
.ql-progress{display:block;width:100%;height:6px;border:0;border-radius:99px;overflow:hidden;accent-color:var(--gold);background:var(--paper-2)}
.ql-progress::-webkit-progress-bar{background:var(--paper-2)}
.ql-progress::-webkit-progress-value{background:var(--gold)}
.ql-progress::-moz-progress-bar{background:var(--gold)}
.ql-options{border:0;padding:0;margin:0;display:grid;gap:12px}
.ql-option{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);cursor:pointer;line-height:1.55;transition:border-color .15s,background-color .15s;touch-action:manipulation}
.ql-option input{margin:6px 0 0;flex:none;width:17px;height:17px;accent-color:var(--gold)}
.ql-option:has(input:checked){border-color:var(--gold);background:var(--paper-2)}
.ql-option:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.ql-controls{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:26px 0 16px}
.ql-controls .btn:disabled{opacity:.5;cursor:default}
.ql-results{max-width:740px;margin:0 auto}
.ql-results>h2{font-size:clamp(30px,5vw,42px);margin:0 0 16px}
.ql-match{border-top:1px solid var(--line);padding:28px 0 8px;margin-top:28px}
.ql-match h3{font-family:var(--f-display);font-size:clamp(26px,4vw,34px);margin:0 0 6px}
.ql-tag{color:var(--plum);margin:0 0 20px;font-size:16px}
.ql-match p{max-width:68ch;line-height:1.7}
.ql-result-detail dt{font-weight:650;margin:18px 0 6px}
.ql-result-detail dd{margin:0;line-height:1.7}
.ql-results details{margin:24px 0;line-height:1.65}
.ql-results summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.ql-results details[open] summary{margin-bottom:16px}
.ql-sources{max-width:740px;margin:42px auto 0}
.ql-catalog-controls{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:16px;align-items:end;margin:28px 0 16px}
.ql-catalog-controls label{display:grid;gap:8px}
.ql-catalog-controls input,.ql-catalog-controls select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;font:inherit;color:var(--ink);background:var(--card)}
.ql-catalog-controls input:focus-visible,.ql-catalog-controls select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ql-catalog-count{font-size:14px;margin:14px 0 24px}
.ql-catalog-empty{padding:32px 0}
@media(hover:hover){.ql-option:hover{border-color:var(--gold)}}
@media(max-width:600px){.ql-intro{margin-top:12px}.ql-option{padding:14px}.ql-catalog-controls{grid-template-columns:1fr}.ql-controls .btn{min-height:46px;flex:1 1 auto}.ql-notice{padding:16px}.ql-question h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ql-option{transition:none}}
