/* A readable question bank with explicit practice and review states. */
.kc-page {overflow-wrap:anywhere}
.kc-page [hidden] {display:none!important}
.kc-hero {padding-top:calc(var(--nav-h) + 64px);padding-bottom:40px;display:grid;grid-template-columns:1.65fr 1fr;gap:50px}
.kc-eyebrow {font:500 .7rem/1.7 var(--mono);letter-spacing:.08em;color:var(--accent-ink);margin-bottom:18px}
.kc-hero h1 {font-size:clamp(2.6rem,5.3vw,4.2rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:24px}
.kc-lead {font-size:1.05rem;line-height:1.85;color:var(--text-dim)}
.kc-page .kc-small {font-size:.79rem;line-height:1.8;color:var(--text-dim);margin-top:13px}
.kc-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 12px}
.kc-page button {min-height:44px;padding:12px 16px;border:1px solid var(--text-faint);border-radius:7px;background:var(--surface);color:var(--text);font:600 .82rem/1.5 var(--font);cursor:pointer}
.kc-page button:hover {border-color:var(--accent-ink)}
.kc-page button:disabled {opacity:.6;cursor:default}
.kc-page button[aria-pressed=true] {border-color:var(--accent-ink);color:var(--accent-ink)}
.kc-page a:not(.btn) {color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.kc-progress-card {border:1px solid var(--border);border-top:3px solid var(--accent-ink);border-radius:12px;background:var(--surface);padding:28px}
.kc-progress-card h2 {font-size:1.55rem;line-height:1.35;margin-bottom:20px}
.kc-progress-card p {font-size:.9rem;line-height:1.8}
.kc-progress-card label {font-size:.78rem;line-height:1.8;display:block;margin-top:15px}
.kc-progress-card progress {width:100%;display:block;height:10px;accent-color:var(--accent-ink);margin-top:10px}
.kc-library {padding-block:32px 45px}
.kc-library>h2,.kc-next>h2 {font-size:clamp(1.65rem,3vw,2rem);line-height:1.4;margin-bottom:24px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.kc-controls {padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.kc-filter-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kc-page label:not(.kc-option,.kc-choice) {font-size:.8rem;line-height:1.6;font-weight:600;display:block;margin-bottom:8px}
.kc-page select,.kc-page input[type=search] {width:100%;min-height:46px;border:1px solid var(--text-faint);border-radius:6px;padding:10px;background:var(--bg);color:var(--text);font:400 .88rem/1.6 var(--font)}
.kc-page :is(div,article,section,fieldset,select,input,button) {min-width:0}
#kc-count {margin-top:24px;font-size:.92rem;font-weight:600}
#kc-selection-score {font-size:.83rem;color:var(--text-dim);margin:10px 0 20px}
#kc-empty {padding:24px;border:1px dashed var(--text-faint);border-radius:10px;margin-block:24px}
.kc-toolbar {display:grid;grid-template-columns:180px 1fr;gap:14px 28px;padding:20px 0 26px;border-bottom:1px solid var(--border);margin-bottom:30px}
.kc-toolbar .kc-actions,.kc-toolbar>p {grid-column:1 / -1;margin:0}
.kc-choice {display:flex;align-items:center;gap:12px;font-size:.83rem;line-height:1.8;min-height:44px;cursor:pointer}
.kc-choice input {width:18px;height:18px;flex:0 0 18px;accent-color:var(--accent-ink)}
.kc-list {display:grid;gap:22px}
.kc-question {padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--surface);scroll-margin-top:calc(var(--nav-h) + 20px)}
.kc-question-meta {display:flex;gap:16px;justify-content:space-between;align-items:start;margin-bottom:16px}
.kc-question-meta span {font:500 .66rem/1.9 var(--mono);color:var(--text-dim);letter-spacing:.02em;padding-top:10px}
.kc-question-meta a {display:grid;place-items:center;min-width:44px;min-height:44px;flex-shrink:0;border:1px solid var(--border);border-radius:6px}
.kc-detail {font-size:.77rem;line-height:1.8;color:var(--text-dim);margin-block:-8px 20px}
.kc-question h3 {font-size:1.15rem;line-height:1.6;margin-bottom:22px;max-width:880px}
.kc-question fieldset {border:0}
.kc-option {display:flex;gap:14px;align-items:start;padding:15px 18px;border:1px solid var(--border);border-radius:8px;min-height:48px;margin-bottom:12px;cursor:pointer;font-size:.91rem;line-height:1.8}
.kc-option input {width:18px;height:18px;flex:0 0 18px;margin-top:5px;accent-color:var(--accent-ink)}
.kc-option:has(input:checked) {border-color:var(--accent-ink);background:var(--bg)}
.kc-option strong {margin-right:6px}
.kc-feedback {font-size:.91rem;line-height:1.9;padding:16px 20px;border-left:3px solid var(--accent-ink);background:var(--bg);margin-top:20px}
.kc-feedback:empty {border:0;padding:0;margin:0;min-height:1px;background:none}
.kc-saved-state {font-size:.8rem;line-height:1.8;color:var(--text-dim)}
.kc-source {border-top:1px solid var(--border);padding-top:18px;margin-top:22px;font-size:.78rem;line-height:1.9}
.kc-learn {display:inline-flex;align-items:center;min-height:44px;margin-top:10px}
.kc-static-options {list-style:upper-alpha;padding-left:25px;line-height:1.8}
.kc-static-options li {margin-bottom:12px}
.kc-answer {padding:18px;border:1px solid var(--border);border-radius:8px;margin-top:20px}
.kc-answer summary {min-height:44px;cursor:pointer;font-weight:600;font-size:.9rem}
.kc-answer p,.kc-rationales {font-size:.87rem;line-height:1.85}
.kc-rationales {list-style:none;margin-top:15px}
.kc-rationales li {margin-bottom:10px}
.kc-pagination {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px;margin-block:28px}
.kc-pagination span {font-size:.86rem;color:var(--text-dim)}
.kc-next {padding-block:30px 60px;border-top:1px solid var(--border)}
.kc-next-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kc-next-grid article {border:1px solid var(--border);border-radius:10px;padding:24px}
.kc-next-grid h3 {font-size:1.1rem;line-height:1.5;margin-bottom:14px}
.kc-next-grid p {font-size:.88rem;line-height:1.85;color:var(--text-dim);margin-bottom:15px}
.kc-next-grid a {min-height:44px;display:inline-flex;align-items:center;font-size:.85rem}
.kc-topic-links {display:flex;gap:10px;flex-wrap:wrap}
.kc-topic-links a {padding:10px;border:1px solid var(--border);border-radius:6px;min-height:44px;font-size:.85rem}
.kc-page dialog {margin:auto;max-width:min(540px,calc(100% - 40px));max-height:calc(100% - 40px);overflow:auto;border:1px solid var(--text-faint);border-radius:12px;background:var(--surface);color:var(--text);padding:28px}
.kc-page dialog::backdrop {background:rgba(0,0,0,.7)}
.kc-page dialog h2 {font-size:1.5rem;line-height:1.4;margin-bottom:20px}
.kc-page dialog p {font-size:.9rem;line-height:1.8}
.kc-print-only,.kc-print-result {display:none}
@media(max-width:1050px) {.kc-filter-grid {grid-template-columns:1fr 1fr}.kc-hero {gap:30px;grid-template-columns:1.3fr 1fr}}
@media(max-width:760px) {.kc-hero,.kc-next-grid {grid-template-columns:1fr}.kc-hero {padding-top:calc(var(--nav-h) + 36px)}.kc-toolbar {grid-template-columns:1fr}.kc-toolbar>div:first-child {max-width:220px}.kc-question {padding:22px}}
@media(max-width:480px) {.kc-filter-grid {grid-template-columns:1fr}.kc-controls,.kc-question {padding:18px}.kc-option {padding:13px;gap:10px;font-size:.88rem}.kc-hero h1 {font-size:2.6rem}.kc-progress-card {padding:23px}.kc-question h3 {font-size:1.07rem}.kc-page .btn {white-space:normal;text-align:center}}
@media print {.kc-js,.kc-controls,.kc-next,.kc-hero .kc-actions,.kc-hero .kc-lead,.kc-hero .kc-small,.kc-progress-card,.kc-question-meta a,.kc-topic-links,#kc-count,#kc-selection-score {display:none!important}.kc-hero {display:block;padding:0}.kc-hero h1 {font-size:24pt}.kc-library {padding:0}.kc-library>h2,.kc-library>.kc-eyebrow {display:none}.kc-print-only {display:block;font-size:10pt;margin-bottom:20px}.kc-question {padding:15px;margin-bottom:16px;break-inside:avoid}.kc-question h3 {font-size:12pt}.kc-page .kc-static-options {display:block!important}.kc-page .kc-static-options[hidden] {display:block!important}.kc-page .kc-question[hidden] {display:none!important}.kc-page[data-print-answers=true] .kc-answer {display:block!important}.kc-page[data-print-answers=false] .kc-answer {display:none!important}.kc-page[data-print-answers=true] .kc-print-result {display:block;font-size:10pt;margin-top:12px}.kc-page p,.kc-page span,.kc-page a {color:#111!important}.kc-source a::after {content:" (" attr(href) ")";font-size:8pt}.kc-source {font-size:9pt}.kc-answer p,.kc-answer li {font-size:10pt}}
