/* Targeted readability and reflow update; no content or study logic changes. */
:root{font-size:18px;line-height:1.5;--focus:#005fcc}
body{font-size:1rem;line-height:1.5}
main,header,footer,.layout,.sidebar,.workspace,.intro,.intro>div,.question-card,.question-top,.actions,.controls,.controls label,.brand,.brand span,.protelia-footer-brand,.protelia-footer-links{min-width:0;max-width:100%}
h1,h2,h3,p,a,button,label,summary,.chip,.meta{overflow-wrap:anywhere}
p,button,select,label,a,summary{line-height:1.5}
img,svg,select,button{max-width:100%}
button,select{font-size:1rem;min-height:44px;white-space:normal}
button{font-weight:650}
select{padding:10px;border:2px solid #526575;border-radius:10px;background:#fff;color:#13293f}
a{color:#174f78;text-decoration:underline;text-underline-offset:.2em}
a:visited{color:#174f78}a:hover{color:#13293f;text-decoration-thickness:3px}
:is(a,button,select,summary):focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.languages select:focus-visible,.protelia-partners-link:focus-visible{outline:3px solid #005fcc;outline-offset:4px}
footer .founder-bio summary:focus-visible{outline:3px solid #fff4ad;outline-offset:4px}
.answer:hover:not(:disabled){border-color:#526575}
.layout{grid-template-columns:minmax(0,280px) minmax(0,1fr)}
.brand{flex-wrap:wrap;letter-spacing:0}.brand span{flex:1 1 150px}.brand small{font-size:1rem;letter-spacing:1px}
.languages{flex-wrap:wrap;font-size:1rem}.languages select{font-size:1rem;max-width:100%}
.subtitle,.eyebrow,.topic,.topic .num,.side-note,.modes button,.question-top,.chip,.feedback a,.quiet,.meta,.review-item a,.session-note,footer,footer .founder-bio summary,.protelia-footer-meta,.protelia-footer-brand small,.protelia-partners-link{font-size:1rem}
.eyebrow{letter-spacing:1px}.topic{line-height:1.5;font-weight:650}.topic .num{opacity:1}
.sidebar .side-title{display:block;font-size:1.25rem;line-height:1.5}
.sidebar a,.sidebar a:visited{color:#fff4ad}
.supplementary-practice{display:grid;gap:14px;margin-top:24px}
.supplementary-practice p{margin:0;min-width:0}
.supplementary-practice a,.supplementary-practice a:visited{display:flex;align-items:center;min-height:64px;width:100%;padding:16px;border:2px solid #fff4ad;border-radius:12px;background:#203f58;color:#fff4ad;font-size:1.05rem;font-weight:750;line-height:1.5}
.supplementary-practice a:hover{background:#fff4ad;color:#13293f}
.sidebar :is(a,button):focus-visible{outline-color:#fff4ad}
.topic:hover:not(:disabled):not(.active){background:#203f58;color:#fff}
.topic:disabled{color:#ccd8e2;opacity:1;border:1px dashed #91a5b5}
.modes{flex-wrap:wrap;gap:10px;background:#e5ebef}
.modes button{flex:1 1 150px;min-width:0;border:2px solid #526575;color:#13293f;font-weight:700}
.modes button:hover:not(.active){background:#fff}
.modes button.active{background:#13293f;color:#fff;border-color:#13293f;text-decoration:underline;text-underline-offset:.25em}
.question-top{flex-wrap:wrap}.question-card{min-width:0}.question-card h2{line-height:1.5;letter-spacing:0}
.answer{border-color:#526575;font-size:1rem}.answer .letter{font-size:1rem;color:#405367}
.primary{background:#13293f;color:#fff;font-size:1rem}.primary:hover:not(:disabled){background:#24526e}
.primary:disabled{background:#dbe2e7;color:#405367;opacity:1;border:2px dashed #526575}
.quiet{color:#405367}.actions{flex-wrap:wrap}.actions>*{min-width:0}
footer a,footer a:visited{color:#fff}footer a:hover{color:#fff4ad}footer :is(a,summary):focus-visible{outline-color:#fff4ad}
.protelia-footer-meta time{white-space:normal}.protelia-footer-brand a{flex-wrap:wrap}
/* The two supplementary exercise pages use the same control language. */
.controls{display:flex;flex-wrap:wrap;gap:20px}.controls label{display:flex;flex:1 1 180px;flex-direction:column;gap:8px;font-weight:700}.controls select{width:100%}
#home-link,#practice-link,#signs-link,#zoom{display:inline-flex;align-items:center;min-height:48px;padding:10px 14px;margin:6px 0;border:2px solid #526575;border-radius:10px;background:#fff;color:#174f78;font-weight:700}
#home-link:visited,#practice-link:visited,#signs-link:visited,#zoom:visited{color:#174f78}
#home-link:hover,#practice-link:hover,#signs-link:hover,#zoom:hover{background:#e5ebef;color:#13293f}
#question{padding:24px;background:#fff;border:2px solid #526575;border-radius:18px;min-width:0}
#options button,#choices button{min-height:52px;padding:14px 18px;border:2px solid #526575;border-radius:12px;background:#fff;color:#13293f;text-align:left;font-size:1rem;line-height:1.5}
#options button:hover:not(:disabled),#choices button:hover:not(:disabled){background:#e5ebef}
#options button[aria-pressed=true],#choices button[aria-pressed=true]{background:#13293f;color:#fff;border-color:#13293f}
#options button:disabled,#choices button:disabled{opacity:1}
#options button:disabled:not([aria-pressed=true]),#choices button:disabled:not([aria-pressed=true]){background:#edf1f4;color:#405367;border-style:dashed}
#choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#feedback{line-height:1.6}#sources a,#source{display:block;padding:10px 0;min-height:44px}
@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr)}.topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:10px}.topic{width:100%;min-width:0;margin:0;border:1px solid #91a5b5}.supplementary-practice{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar>.eyebrow{display:block}.question-card{padding:22px}}
@media(max-width:600px){header{padding:16px;gap:16px}.brand{flex:1 1 100%}.languages{margin-left:0;width:100%}.languages select{flex:1}.intro{grid-template-columns:minmax(0,1fr)}main{padding:24px 16px}.modes{display:grid;grid-template-columns:minmax(0,1fr)}.supplementary-practice{grid-template-columns:minmax(0,1fr)}.question-card,#question{padding:18px}.question-card h2{font-size:1.25rem}.actions>*{flex:1 1 100%}.protelia-partners-link{white-space:normal}.protelia-partners-bar{padding:12px 16px}}
@media(max-width:380px){.topics,#choices{grid-template-columns:minmax(0,1fr)}main{padding-left:12px;padding-right:12px}.brandmark{max-width:88px}.question-card,#question{padding:14px}}

/* Keep two-digit topic badges intact; labels remain free to wrap. */
.topic .num{flex:0 0 auto;min-width:2ch;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}
.topic>span:not(.num):not(.count){min-width:0;overflow-wrap:anywhere;white-space:normal}
