/* Uses the existing Sitonce Material 3 tokens; no new color system. */
.knowledge-check{margin:32px 0}
.knowledge-check [hidden]{display:none!important}
.kc-setup{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:var(--surface-low);border-radius:12px;margin-bottom:24px}
.kc-setup p{margin:4px 0}.kc-muted{color:var(--on-surface-variant);font:400 14px/20px var(--font)}
.kc-eyebrow{display:block;font:500 11px/16px var(--font);letter-spacing:.5px;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:12px}
.kc-timer-controls{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}
.kc-timer-controls output{font:400 28px/36px var(--font);font-variant-numeric:tabular-nums}
.kc-question{min-width:0;margin:0 0 32px;padding:24px;border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface-lowest)}
.kc-question legend{float:left;width:100%;padding:0;margin-bottom:20px}.kc-question legend + *{clear:both}
.kc-stem{display:block;font:400 22px/28px var(--font);letter-spacing:0}
.kc-options{display:grid;gap:8px}
.kc-option{display:flex;align-items:center;gap:12px;padding:16px;border-radius:8px;background:var(--surface-low);font:400 16px/24px var(--font);cursor:pointer}
.kc-option:hover{background:var(--surface-c)}
.kc-option:has(input:checked){background:var(--primary-container);color:var(--on-primary-container)}
.kc-option:focus-within{outline:3px solid var(--primary);outline-offset:2px}
.kc-option input{width:20px;height:20px;flex-shrink:0;accent-color:var(--primary);margin:0}
.kc-letter{font:500 14px/20px var(--font);min-width:16px}
.kc-explanation{margin-top:20px;border-top:1px solid var(--outline-variant);padding-top:16px}
.kc-explanation summary{font:500 14px/20px var(--font);color:var(--primary);cursor:pointer;min-height:24px}
.kc-explanation p{margin:16px 0 0}.kc-source{font:400 14px/20px var(--font)}
.knowledge-check a{text-decoration:underline;text-underline-offset:3px}
.knowledge-check :is(button,summary,a):focus-visible,#knowledge-check:focus,#kc-result-title:focus{outline:3px solid var(--primary);outline-offset:4px}
.kc-feedback{padding:12px 16px;background:var(--secondary-container);border-radius:8px;font:500 14px/20px var(--font);margin:16px 0 0}
.kc-feedback[data-state="correct"]{background:var(--primary-container);color:var(--on-primary-container)}
.kc-feedback[data-state="incorrect"]{background:var(--error-container);color:var(--on-error-container)}
.kc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:32px 0}.kc-actions>span{color:var(--on-surface-variant);font:400 14px/20px var(--font)}
.knowledge-check .btn.ghost:hover{background:var(--primary-container);color:var(--on-primary-container)}
.kc-results{padding:24px;background:var(--surface-low);border-radius:12px;margin:32px 0}.kc-results h2{margin-top:0}
.kc-table-wrap{overflow-x:auto}.kc-results table{width:100%;table-layout:fixed;background:var(--surface-lowest);border-radius:8px}
.kc-results th:first-child{width:65%}.kc-results td:nth-child(2),.kc-results td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}
.kc-results tbody th{text-align:left;font-weight:400;white-space:normal}.kc-results .kc-subtotal{background:var(--surface-c)}.kc-results .kc-total{background:var(--primary-container);color:var(--on-primary-container)}
.kc-noscript{padding:16px;background:var(--secondary-container);border-radius:8px}
.kc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kc-feature{display:block;padding:24px;margin:24px 0;background:var(--primary-container);color:var(--on-primary-container);border-radius:12px}.kc-feature p{margin:8px 0 0}
@media(max-width:720px){.kc-setup{align-items:flex-start;flex-direction:column;padding:20px;gap:16px}.kc-timer-controls{align-items:flex-start;flex-direction:row;align-items:center;gap:16px}.kc-question,.kc-results{padding:20px}.kc-stem{font-size:20px;line-height:28px}.kc-option{padding:12px;gap:8px}.kc-results th:first-child{width:54%}.kc-results th,.kc-results td{padding:12px 8px;font:400 14px/20px var(--font);letter-spacing:0}.kc-actions .btn{width:100%;justify-content:center}}

.knowledge-check [data-kc-title]:focus,.knowledge-check [data-kc-result-title]:focus{outline:3px solid var(--primary);outline-offset:4px}
.kc-stimulus{clear:both;margin:0 0 20px}.kc-stimulus p{font:400 16px/24px var(--font)}
.kc-results td:nth-child(2){white-space:normal;overflow-wrap:anywhere}
