button,select{min-height:48px;min-width:48px}select{display:block;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px}.theme,.actions,.filters{display:flex;gap:10px;flex-wrap:wrap}.filters label{flex:1 1 220px;min-width:0}#interactive{display:grid;gap:16px}#card h2{font-size:1.8rem}#back{margin-top:20px}#back h3{margin-top:18px;font-size:1rem}.references{white-space:pre-wrap;overflow-wrap:anywhere}.references a{display:inline-block;min-height:48px}.notice:not(:empty){background:var(--warn);padding:12px;margin-top:16px;border-radius:8px}button:disabled{opacity:.5;cursor:default}#reading{color:var(--sub);margin-bottom:16px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

summary{min-height:48px;cursor:pointer}details[open] .filters{margin-top:12px}
@media(max-width:400px){.w{padding-top:12px;gap:12px}.hero h1{font-size:1.5rem}#interactive{gap:10px}.theme{gap:6px}.theme .btn{padding:8px;font-size:.875rem}#filters{padding:8px 14px}}

.mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mode-switch a{min-height:48px;display:flex;align-items:center;justify-content:center;padding:10px 14px;border:2px solid var(--pri);border-radius:12px;color:var(--pri);background:var(--card);text-decoration:none;font-weight:700;flex:1 1 140px}.mode-switch a[aria-current="page"]{background:var(--pri);color:var(--pri-ink);border-radius:999px}.hero h1 span{display:inline-block}.usage .steps{margin-top:12px}.step-symbol{display:inline-block;min-width:3em;color:var(--pri);font-weight:700}.evidence{margin-top:16px;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.evidence summary{font-weight:700;overflow-wrap:anywhere}.learning-notice{color:var(--sub)}

/* Closed disclosures keep the touch target without empty space below it. */
details.usage:not([open]),details.evidence:not([open]),details#filters:not([open]){padding-block:0}
details.usage:not([open])>summary,details.evidence:not([open])>summary,details#filters:not([open])>summary{padding-block:10px;margin-block:0}

/* Always-visible choice guides; diagrams use no images or scripts. */
.landing{max-width:1100px}.learning-choices{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-choice{display:flex;flex-direction:column;gap:16px;min-width:0}.learning-choice h2{font-size:1.35rem;color:var(--pri)}.learning-diagram{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;background:var(--soft);padding:12px;border-radius:12px}.mini-face{border:2px solid var(--line);border-radius:10px;background:var(--card);padding:12px 4px;text-align:center;font-size:.85rem;overflow-wrap:anywhere}.diagram-arrow{color:var(--pri);font-weight:700;text-align:center}.diagram-arrow small{display:block;font-size:.75rem}.mini-options{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px}.mini-options span{border:1px solid var(--line);border-radius:4px}.start-learning{display:block;text-align:center;text-decoration:none;margin-top:auto;min-height:48px}.learning-choice>h2,.learning-choice>p{margin:0}.learning-choice .steps{margin:0 0 8px}.learning-choice .steps li{min-width:0}
@media(max-width:700px){.learning-choices{grid-template-columns:1fr}}

/* Match Trial controls while keeping transient theme selection and touch targets. */
.w > .theme{justify-content:flex-end;align-items:center;gap:6px;font-size:.82rem}
.w > .theme button{border-radius:0;padding:6px 10px}
#interactive .ctl{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:0}
#interactive .ctl label{min-width:0}
#interactive .ctl select{width:100%;background:var(--soft)}
#filters{padding:0}
#filters:not([open])>summary{padding:12px 16px}
#card #back{margin-top:0}
#card #back h3{margin-top:0}
#interactive .actions{display:grid;grid-template-columns:1fr 1fr}
@media(max-width:400px){#interactive .ctl{grid-template-columns:1fr}}

/* Page navigation stays separate from learning actions, including load failures. */
.hero .home{display:inline-flex;align-items:center;min-height:48px;color:var(--sub);font-size:.9rem}
.return-nav{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:8px}
.return-nav .mode-switch{margin:0;gap:12px}
.return-nav .mode-switch a{border:1px solid var(--line);color:var(--sub);font-size:.95rem;font-weight:400}
.return-nav .mode-switch a[aria-current="page"]{background:var(--sub);color:var(--card);border-color:var(--sub);border-radius:12px;font-weight:700}
.mode-note{margin:0}
.page-top{justify-self:end;display:inline-flex;align-items:center;min-height:44px;padding:6px 0;color:var(--sub);font-size:.82rem;text-decoration:underline}
.home:focus-visible,.mode-switch a:focus-visible,.page-top:focus-visible{outline:3px solid var(--pri);outline-offset:3px}
.mode-switch a[aria-disabled="true"]{border-style:dashed;cursor:default;color:var(--sub);background:var(--soft)}

.word-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.word-switch button{min-height:44px;min-width:88px}.word-switch [aria-pressed="true"]{background:var(--pri);color:var(--pri-ink);font-weight:bold}#inline-quiz .btn{min-height:44px}
#card{box-sizing:border-box}

/* Review entry keeps the tally box design and native keyboard activation. */
#review-start{font:inherit;text-align:left;color:var(--ink);cursor:pointer}#review-start:focus-visible{outline:3px solid var(--pri);outline-offset:3px}#review-start:hover{border-color:var(--pri)}.review-session h2{font-size:1.2rem;color:var(--pri)}.review-session p{margin-block:8px 12px}

.review-clear{text-align:center;padding:32px 20px}.review-clear .celebration{font-size:3rem;color:var(--ok);margin:0 0 12px}.review-clear h2{font-size:2rem;color:var(--pri);margin:0 0 16px}.review-clear .btn{margin-top:20px}

.quiz-entry{display:grid;gap:10px;margin-top:auto}.quiz-entry select{width:100%}.quiz-entry .start-learning{width:100%;box-sizing:border-box;margin-top:4px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
