/* Reserve room for increased text without shrinking the user's preference. */
body[data-text-size="110"] .options-screen .opt-sec,
body[data-text-size="120"] .options-screen .opt-sec{max-width:none;}
body[data-text-size="120"] .options-screen .opt-row{padding:8px 0;}
body[data-text-size="120"] .options-screen .input-legend .cl-row{padding:3px 0;}
body[data-text-size="120"] .options-screen .input-legend-head{margin-top:6px;}
body[data-text-size="120"] .options-screen .opt-sec:has(.input-legend) .opt-note{margin-top:6px;}
.options-screen .os-val{min-width:90px;white-space:nowrap;}
body[data-text-size="120"] .options-screen .opt-nav{padding-inline:8px;}
body[data-text-size="120"] .options-screen .opt-cat{padding-inline:8px;letter-spacing:0;}
/* Preserve space for readable card content; production-detail labels are secondary. */
body[data-text-size="120"] .compose-hand .vhs-choice .sleeve{padding-inline:9px;}
body[data-text-size="120"] .options-screen .opt-cat{gap:4px;padding-inline:6px;}
/* Small transition labels need a stronger increase than headline text. */
.next-reel-kicker,.auto-advance{font-size:calc(12px + (var(--text-scale,1) - 1) * 40px);}
body[data-text-size="110"] .next-reel-kicker,
body[data-text-size="120"] .next-reel-kicker{opacity:.9;letter-spacing:.16em;}
/* Section-specific type contracts. Definitions live in CS.TextSize.ranges. */
.options-screen :is(.ol-name,.cl-act){font-size:var(--font-menuLabel);}
.options-screen :is(.ol-sub,.opt-note){font-size:var(--font-menuHelp);}
.options-screen .opt-cat{font-size:var(--font-menuTab);}
.options-screen .input-legend :is(.input-labelled,.input-glyph-text){font-size:var(--font-controls);}
.readable-hand .vhs-choice .answer-text{font-size:var(--hand-text-size,var(--font-card));}
.readable-hand .compose-prompt .prompt-quote{font-size:var(--font-quote);}
.readable-hand.prompt-to-hand .compose-prompt .prompt-quote{font-size:calc(var(--font-quote) + (1 - var(--quote-dock))*25px);}
.hi-caption,.opening-caption{font-size:var(--font-caption);}
.round-action-bar .inline-caption .dc-text,.ballot-guided .compact-ballot-bar .inline-caption .dc-text{font-size:var(--font-compactCaption);}
.player-tile .nm{font-size:var(--font-hudName);}
.player-tile .pt-state{font-size:var(--font-hudStatus);}
.next-reel-kicker,.auto-advance{font-size:var(--font-transitionLabel);}
.next-reel-stage p{font-size:var(--font-transitionBody);}
.director-choice-grid .vhs-choice .answer-text{font-size:var(--font-card);}
body[data-text-size="120"] .ballot-guided .compact-ballot-bar{height:84px;min-height:84px;flex-basis:84px;padding-block:5px;}
body[data-text-size="120"] .ballot-guided .ballot-task{min-height:34px;}
body[data-text-size="120"] .ballot-guided .ballot-task .phase-title{font-size:26px;line-height:1.2;}
.ballot-guided .compact-ballot-bar .decision-clock strong{font-size:38px;}
