/* Functional reader additions. Typography and colors come from course.css. */
[hidden]{display:none!important}
.theme-tools{display:flex;align-items:center;max-width:calc(100vw - 1.2rem)}
select{font:600 .82rem/1.4 system-ui,sans-serif;padding:.65rem 1rem;background:var(--panel);border:1px solid var(--rule);border-radius:.55rem;color:var(--accent);cursor:pointer;max-width:100%}
select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.sidebar .reader-doc-nav button{display:block;width:100%;text-align:left;padding:.45rem .5rem;border:0;border-left:2px solid var(--rule);border-radius:0;background:transparent;color:var(--ink);font:inherit;box-shadow:none}
.sidebar .reader-doc-nav button:hover,.sidebar .reader-doc-nav button[aria-pressed=true]{background:var(--panel);border-left-color:var(--accent);color:var(--accent)}
.downloads{gap:.7rem 1.2rem}.downloads a [lang=zh-CN]{margin-left:.3rem}
.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;font:.8rem/1.45 system-ui,sans-serif}
.controls label{display:flex;flex-direction:column;gap:.3rem;min-width:0}
#state-output{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.state-card{padding:.7rem;background:var(--paper);border:1px solid var(--rule);border-radius:.4rem;font:.8rem/1.45 system-ui,sans-serif}
.state-card>span{display:block}.state-card>span[lang=zh-CN]{color:var(--muted)}
.state-card strong{display:block;font-size:1.15rem;margin:.35rem 0}
#selector .heading-pair h2{margin-top:.35rem}
.small{font-size:.8rem;color:var(--muted)}
.equation{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:1.5rem 0}
.figure{display:block;width:100%;height:auto;background:white}
figure{margin:1.5rem 0}figcaption{color:var(--muted);font-size:.78rem;line-height:1.45;padding:.5rem 0}
figcaption>span{display:block}
th>span,td>span{display:block}th>span.zh,td>span.zh{color:var(--muted)}
@media(max-width:760px){.sidebar .reader-doc-nav button{width:auto;border-left:0;border-bottom:1px solid var(--rule);padding:.35rem .45rem}.sidebar .reader-doc-nav button[aria-pressed=true]{border-bottom-color:var(--accent)}.controls{grid-template-columns:1fr}#state-output{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{#selector,.downloads{display:none}.document[hidden]{display:block!important}.equation{break-inside:avoid}}
