:root{--question-size:17px;--option-size:16px;--solution-size:16px;--note-size:13px;--list-size:12px;--lesson-size:17px}
#main .question-body,#main .question-body p,#main .question-body li{font-size:var(--question-size)}#main .answer-draft{font-size:var(--question-size)}#main .option{font-size:var(--option-size)}#main .option-key{font-size:clamp(12px,calc(var(--option-size) - 2px),22px);min-width:1.7em;height:1.7em}#main .solution,#main .solution p,#main .solution li,#main .solution td,#main .solution th{font-size:var(--solution-size)}#main .solution h3{font-size:var(--solution-size)}#main #question-note,#main .note-excerpt{font-size:var(--note-size)}#main .row-top,#main .row-preview,#main .collection-row-main>strong,#main .collection-row-main>span,#main .practice-number{font-size:var(--list-size)}#main .row-history{font-size:clamp(10px,calc(var(--list-size) - 2px),18px)}#main .question-body pre,#main .question-body pre code{font-size:calc(var(--question-size) - 2px)}#main .solution pre,#main .solution pre code{font-size:calc(var(--solution-size) - 2px)}
.font-preferences .section-heading{margin-bottom:7px}.font-preferences .section-heading h2{margin-bottom:0}.font-preferences>.uniform-font{padding:18px 0 22px;border-bottom:1px solid var(--line);margin-bottom:0}.font-preferences .font-setting{display:grid;grid-template-columns:155px minmax(100px,300px) 47px;gap:22px;align-items:center;max-width:600px;padding:14px 0 8px}.font-preferences .font-setting>span{font-size:12px;color:var(--ink)}.font-preferences .font-setting input{width:100%;min-width:0}.font-preferences output{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.font-area-row{padding:9px 0 13px;border-bottom:1px solid var(--line)}.settings-section .font-preview{max-width:100%;margin:5px 0 0 177px;color:#52654a;line-height:1.8;overflow-wrap:anywhere}.settings-section .font-preview[data-preview="noteSize"]{color:#77876c}.font-area-row:last-child{border-bottom:0}
@media(max-width:760px){.font-preferences .font-setting{grid-template-columns:110px minmax(50px,1fr) 40px;gap:13px;max-width:none}.font-preferences .font-setting>span{font-size:11px}.font-preferences output{font-size:11px}.settings-section .font-preview{margin-left:0;margin-top:10px;padding:9px 12px;background:#f3f6ef;border-radius:5px}.font-area-row{padding-bottom:15px}}

/* Navigation cells grow with the chosen list size, including four-digit labels. */
#main .practice-library .question-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(var(--list-size) * 2.8)),1fr))}
#main .practice-library .practice-number{display:flex;align-items:center;justify-content:center;width:100%;padding:0;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;aspect-ratio:1}
/* Use colour and the answer marker to show selection without enclosing frames. */
#main .option{border:0;box-shadow:none}
#main .option-key{flex-shrink:0}
#main .option:focus-visible{outline:2px solid var(--green);outline-offset:2px}
