.fx-toggle{align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;margin:0;font-size:14px;font-weight:600;display:inline-flex}.fx-switch{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--soft);flex:none;width:40px;height:24px;position:relative}.fx-switch input[type=checkbox]{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.fx-knob{background:var(--muted);pointer-events:none;border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:2px}.fx-switch:has(input:checked){border-color:var(--blue);background:var(--blue)}.fx-switch:has(input:checked) .fx-knob{background:var(--on-accent);left:18px}.fx-switch:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.fx-knob{transition:left .16s}}.profile-set .fx-toggle{justify-self:start}.lesson-sidebar .fx-toggle{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);width:100%}
.text-size{gap:var(--space-2);width:min(100%,360px);min-width:0;display:grid}.text-size-label{font-size:14px;font-weight:600}.text-size-options{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--soft);grid-template-columns:repeat(3,minmax(0,1fr));padding:2px;display:grid}.text-size-options button{min-height:44px;padding:var(--space-1);color:var(--muted);text-align:center;border-radius:6px;font-size:14px;font-weight:600;line-height:1.1}.text-size-options button[data-size=large]{font-size:15px}.text-size-options button[data-size=xlarge]{font-size:17px}.text-size-options button[aria-pressed=true],.text-size-options button[aria-pressed=true]:hover:not(:disabled){background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 1px var(--blue)}.lesson-sidebar .text-size{margin-top:var(--space-3)}@media (forced-colors:active){.text-size-options button[aria-pressed=true]{outline:2px solid highlight}}.lesson-view[data-text-size=large]{--lesson-text-scale:1.15}.lesson-view[data-text-size=xlarge]{--lesson-text-scale:1.3}.lesson-view[data-text-size] .lesson-content>[id^=part-]{font-size:calc(1rem * var(--lesson-text-scale));overflow-wrap:anywhere}.lesson-view[data-text-size] .lesson-part h2{font-size:calc(1.35rem * var(--lesson-text-scale))}.lesson-view[data-text-size] .lesson-part .lesson-reading{font-size:calc(17px * var(--lesson-text-scale))}.lesson-view[data-text-size] .reading-takeaway .reading-takeaway-text{font-size:1em}.lesson-view[data-text-size] .lesson-part .ui-more,.lesson-view[data-text-size] .lesson-option{font-size:calc(15px * var(--lesson-text-scale))}.lesson-view[data-text-size] .lesson-option .option-verdict{font-size:calc(14px * var(--lesson-text-scale))}.lesson-view[data-text-size] .lesson-option span{min-width:0}.lesson-view[data-text-size] .activity-card{font-size:calc(1.15rem * var(--lesson-text-scale))}.lesson-view[data-text-size] .flashcard-face{font-size:calc(1.2rem * var(--lesson-text-scale))}.lesson-view[data-text-size] .activity-feedback.wrong{font-size:calc(14px * var(--lesson-text-scale))}.lesson-view[data-text-size] .answer-sheet-toggle{font-size:calc(1rem * var(--lesson-text-scale))}
