.study-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 220px 220px;gap:12px;margin:16px 0}
.study-layout{display:grid;grid-template-columns:280px minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.topic-picker{min-width:0;background:var(--surface-soft);border-right:1px solid var(--line);border-radius:var(--radius) 0 0 var(--radius);align-self:stretch}
.topic-picker>summary{padding:12px 16px;min-height:48px;font-weight:600;display:none}
.topic-list{padding:16px 12px;max-height:72vh;overflow:auto;overscroll-behavior:contain;position:sticky;top:16px}
.topic-list>.muted{margin:0 8px 16px;font-size:13px}
.topic-group{margin:24px 8px 8px;font-size:13px;color:var(--muted)}
.topic-button{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-size:14px;font-weight:500;line-height:1.45;margin-bottom:4px}
.topic-button:hover{background:var(--surface-strong)}
.topic-button[aria-current=true]{background:var(--brand-soft);border-color:var(--line-strong);color:var(--brand-dark);font-weight:650}
.problem-canvas{padding:28px 32px;min-width:0;scroll-margin-top:24px}
.problem-canvas>h2{font-size:1.75rem;line-height:1.25;margin:12px 0 20px;max-width:36ch;text-wrap:balance}
.problem-canvas>p,.problem-canvas>ol,.problem-canvas>ul,.problem-canvas>label,.problem-canvas>fieldset,.problem-canvas>.answer-check,.problem-canvas>.solution-panel{max-width:75ch}
.problem-canvas>h3{margin:28px 0 12px}
.problem-canvas>ol{padding-left:24px}
.problem-canvas>ol>li{padding-left:4px;margin-bottom:10px}
.problem-canvas>.check-row{margin:12px 0}
.problem-canvas>label:not(.check-row){margin-top:24px}
.problem-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.problem-heading button{margin-left:auto;font-size:14px}
.problem-id{font-variant-numeric:tabular-nums;font-weight:650;color:var(--brand);font-size:14px}
.problem-statement{font-size:1.0625rem;max-width:65ch}
.problem-canvas figure{margin:24px 0;max-width:600px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px}
.problem-canvas svg{width:100%;color:var(--ink-soft);max-height:240px}
.problem-canvas figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.solution-panel{padding:16px 0;margin-top:24px;border-top:1px solid var(--line)}
.solution-panel>summary{font-weight:650;min-height:44px;padding:8px 0}
.solution-panel h3{margin-top:24px}
.solution-panel button{margin:8px 12px 8px 0}
.solution-panel li{padding-bottom:12px}
.formula{font-size:1.0625rem;line-height:1.8;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.problem-canvas>p.formula{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 20px;margin:20px 0}
.formula-sheet{margin-top:32px;background:var(--surface);padding:28px 32px;border:1px solid var(--line);border-radius:var(--radius)}
.formula-sheet>h2{margin-top:0}
.answer-check{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:24px 0}
.answer-check input{width:160px}
.answer-check label{flex-direction:row;align-items:center;flex-wrap:wrap}
.answer-check p{flex-basis:100%;margin:0}
.oral-controls{margin:12px 0 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.oral-controls>summary{padding:10px 16px;min-height:44px;font-size:14px;font-weight:600}
.oral-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:0 16px 16px}
.oral-fields input{width:85px}
.oral-fields output{font-size:24px;font-variant-numeric:tabular-nums}
.oral-fields>label{font-size:14px;flex-direction:row;align-items:center;gap:12px}
#study-workbench,#exam-workbench{min-height:650px}
@media(max-width:1050px){.study-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.study-toolbar input{grid-column:1/-1}
.study-layout{grid-template-columns:240px minmax(0,1fr)}
.problem-canvas{padding:24px}
}
@media(max-width:760px){.study-layout{grid-template-columns:minmax(0,1fr)}
.topic-picker{border-right:0;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}
.topic-picker>summary{display:list-item}
.topic-list{position:static;max-height:320px;padding-top:8px}
.problem-canvas{padding:24px 20px}
.problem-canvas>h2{font-size:1.5rem}
.study-toolbar{gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.study-toolbar>input{grid-column:1/-1}
.study-toolbar>button{font-size:14px;padding:8px}
.study-toolbar>select{font-size:14px;padding:8px;width:100%}
.oral-fields{align-items:stretch}
.oral-fields>label{width:100%;justify-content:space-between}
.oral-fields>button{width:100%}
.problem-heading{gap:8px}
.formula-sheet{padding:24px 20px}
}
@media(min-width:761px){.topic-picker:not([open])>.topic-list{display:block}}
@media print{.formula-sheet{border:0;padding:0}
.study-layout,.workspace-tools,.oral-controls,.study-toolbar{display:none!important}
.print-outline{display:block!important}
}
