/* Interface preferences only. Manuscript, cover artwork and print keep their typography. */
.readability-settings{border:0;padding:0 0 24px;margin:0 0 20px;min-width:0;border-bottom:1px solid var(--line)}
.readability-settings legend{font-size:19px;font-weight:550;line-height:1.4;padding:0;color:var(--ink)}
.readability-settings p{font-size:14px;color:var(--muted);line-height:1.6;margin:8px 0 14px}
.readability-options{display:flex;flex-wrap:wrap;gap:10px}
.readability-choice{display:flex;flex:1 1 140px;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font-size:15px;line-height:1.4;cursor:pointer}
.readability-choice input{accent-color:var(--green);flex:0 0 auto;width:18px;height:18px;margin:0}
.readability-choice span{overflow-wrap:anywhere}
.readability-choice:has(:checked){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.readability-choice:has(:focus-visible){outline:2px solid var(--green);outline-offset:3px}

/* Normal has no overrides: keep the existing visual direction and layout. */
:root:is([data-readability=large],[data-readability=strong]){
  --ui-caption:1rem;
  --ui-small:1.0625rem;
  --ui-text:1.125rem;
  --ui-control:1.1875rem;
  --ui-subheading:1.375rem;
  --ui-heading:2rem;
  --ui-title:3rem;
}
:root:is([data-readability=large],[data-readability=strong]) :is(
  .side-item,.side-guide,.back-library,.editor-library,.mini-project,.scene-item,
  .chapter-add .btn,.editor-side-footer>.text-btn,.breadcrumb,.btn,.btn.small,.text-btn,
  .filter,.soft-select,.studio-tabs button,.tone-switch button,.segment button,
  .codex-tab,.codex-back,.editor-option-row,.settings-more>summary,.settings-guide,
  .library-inspiration>summary,.theme-family>strong,.ambience-option,
  .readability-choice,.codex-view-tabs button,.codex-work-selector select
){font-size:var(--ui-control);line-height:1.5}
:root:is([data-readability=large],[data-readability=strong]) :is(
  .field input:not(.prose-editor),.field select,.field textarea:not(.prose-editor),
  .search-input,.chapter-search input,.radio-controls select,.editor-tools select,
  .font-size-control input,.profile-field-value,.profile-add-line select
){font-size:var(--ui-control);line-height:1.5;min-height:48px}
:root:is([data-readability=large],[data-readability=strong]) :is(
  .field>span,.field-label,.field .help,.help,.note,.info-box,.warning-text,
  .settings-action p,.backup-settings p,.modal-head p,.modal-body>p,
  .readability-settings p,.welcome p,.continue-card p,.page-heading p,
  .project-type,.book-author,.facts,.entity-detail .role,.entity-detail p,
  .profile-information-item>summary,.profile-information-item>p,
  .entity-description,.check-line,.translation-method p,.story-answer-text,
  .radio-heading p,.radio-status,.archive-intro,.archive-empty p,.about-intro,
  .search-result p,.inspiration-invitation,.inspiration-encouragement,
  .settings-guide strong,.profile strong,.character-row strong
){font-size:var(--ui-text);line-height:1.65}
:root:is([data-readability=large],[data-readability=strong]) :is(
  .side-label,.side-about,.profile small,.side-ambience strong,.side-ambience small,
  .scene-item small,.part-label,.outline-title small,.outline-bottom,.chapter-heading h3,
  .editor-status,.editor-status .text-btn,.save-state,.eyebrow,.project-footer,
  .section-head-right,.filter .num,.workspace-footer,.modal-footer small,
  .radio-source,.radio-live-tag,.cover-resolution,.cover-resolution small,
  .image-local-note,.character-row small,.entity-work-label,.profile-hint,
  .codex-list-label,.version-row small,.free-card-note,.inspiration-type,
  .side-return-card small,.side-return-card button>span,.font-size-control
){font-size:var(--ui-caption);line-height:1.55}
:root:is([data-readability=large],[data-readability=strong]) :is(
  .settings-section-heading h3,.readability-settings legend,.backup-settings h3,
  .settings-action strong,.radio-heading h3,.theme-family>strong,.studio-context h3,
  .appearance-intro h3,.entity-card h2,.project-card-title,.character-row strong,
  .side-return-card strong,.codex-section-title,.archive-empty h3
){font-size:var(--ui-subheading);line-height:1.4}
:root:is([data-readability=large],[data-readability=strong]) :is(
  .modal-head h2,.section-head h2,.continue-card h2,.outline-title h2,
  .entity-profile-heading h2,.codex-project-heading h2,.page-heading h1
){font-size:var(--ui-heading);line-height:1.25;overflow-wrap:anywhere}
:root:is([data-readability=large],[data-readability=strong]) .welcome h1{font-size:var(--ui-title);line-height:1.2}
:root:is([data-readability=large],[data-readability=strong]) .editor-sidebar .editor-library{font-size:1.5rem;line-height:1.5}
:root:is([data-readability=large],[data-readability=strong]) :is(.btn,.text-btn,.side-item,.side-guide,.filter,.editor-option-row){min-height:48px;height:auto;white-space:normal;overflow-wrap:anywhere}
:root:is([data-readability=large],[data-readability=strong]) :is(.settings-action,.modal-footer,.section-head,.welcome-actions,.radio-heading,.radio-controls,.studio-tabs,.editor-status){flex-wrap:wrap;height:auto;gap:12px}
:root:is([data-readability=large],[data-readability=strong]) :is(.modal-head,.settings-action>div,.project-card-info,.readability-choice,.two-fields>* ){min-width:0}
:root:is([data-readability=large],[data-readability=strong]) :is(.modal-body,.project-card-info,.settings-action,.modal-footer,.sidebar){overflow-wrap:anywhere}
:root:is([data-readability=large],[data-readability=strong]) .project-card-title{margin-right:24px}
:root:is([data-readability=large],[data-readability=strong]) .project-card-title{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
:root:is([data-readability=large],[data-readability=strong]) .project-more{top:auto;bottom:12px}
:root:is([data-readability=large],[data-readability=strong]) .editor-tools{min-height:66px}
:root:is([data-readability=large],[data-readability=strong]) .font-size-control input{width:58px}
:root:is([data-readability=large],[data-readability=strong]) .codex-header{height:auto;min-height:66px;overflow-x:auto;flex-shrink:0}
:root:is([data-readability=large],[data-readability=strong]) .codex-tab{min-height:60px;height:auto;flex-shrink:0}
:root:is([data-readability=large],[data-readability=strong]) #toast{font-size:var(--ui-text);line-height:1.5}
:root:is([data-readability=large],[data-readability=strong]) :is(.guide-topic-body p,.guide-start p,.guide-topics summary small,.guide-footer p,.guide-jumps a){font-size:var(--ui-control);line-height:1.7}
:root:is([data-readability=large],[data-readability=strong]) :is(.guide-topics summary h2,.guide-start h2){font-size:1.625rem;line-height:1.4}
:root:is([data-readability=large],[data-readability=strong]) .guide-intro h1{font-size:3.5rem;overflow-wrap:anywhere}
:root:is([data-readability=large],[data-readability=strong]) .guide-nav{flex-wrap:wrap}
:root[data-readability=strong] :is(.guide-topic-body p,.guide-start p,.guide-footer p,.guide-jumps a){font-weight:500}
:root[data-readability=strong] :is(.guide-topics summary h2,.guide-start h2){font-weight:650}

/* Measured weight increases on interface elements, never on manuscript containers. */
:root[data-readability=strong] :is(
  .side-item,.side-guide,.side-about,.mini-project,.scene-item,.breadcrumb,.btn,.text-btn,
  .filter,.soft-select,.studio-tabs button,.segment button,.codex-tab,.codex-back,
  .editor-option-row,.field>span,.field-label,.help,.note,.info-box,.warning-text,
  .settings-action p,.backup-settings p,.modal-head p,.readability-settings p,
  .readability-choice,.welcome p,.continue-card p,.project-type,.book-author,
  .project-footer,.workspace-footer,.radio-heading p,.radio-status,.save-state,
  .field input:not(.prose-editor),.field select,.field textarea:not(.prose-editor)
){font-weight:500}
:root[data-readability=strong] :is(
  .modal-head h2,.section-head h2,.welcome h1,.continue-card h2,.outline-title h2,
  .settings-section-heading h3,.readability-settings legend,.settings-action strong,
  .backup-settings h3,.project-card-title,.field>span,.field-label,.profile strong,
  .btn.primary,.readability-choice:has(:checked),.side-item.active,.filter.active
){font-weight:650}
:root[data-readability=strong] :is(.btn,.readability-choice,.field input,.field select){border-color:var(--muted)}
:root[data-readability=strong] .btn.primary{border-color:var(--green)}

@media(max-width:760px){
  :root:is([data-readability=large],[data-readability=strong]){--ui-title:2.5rem;--ui-heading:1.875rem}
  :root:is([data-readability=large],[data-readability=strong]) .two-fields{grid-template-columns:minmax(0,1fr)}
  :root:is([data-readability=large],[data-readability=strong]) .settings-action{align-items:flex-start}
  :root:is([data-readability=large],[data-readability=strong]) .settings-action>.btn{flex-shrink:0}
  :root:is([data-readability=large],[data-readability=strong]) .modal-footer>.btn{flex:1 1 150px}
  :root:is([data-readability=large],[data-readability=strong]) .project-card-info{padding-right:12px}
  :root:is([data-readability=large],[data-readability=strong]) .project-grid{grid-template-columns:minmax(0,1fr)}
  :root:is([data-readability=large],[data-readability=strong]) .filter-row{gap:12px;flex-wrap:wrap}
  :root:is([data-readability=large],[data-readability=strong]) .radio-controls .btn{white-space:normal}
  :root:is([data-readability=large],[data-readability=strong]) .continue-card{grid-template-columns:minmax(0,1fr);gap:16px}
  :root:is([data-readability=large],[data-readability=strong]) .continue-card .btn{width:100%;height:auto;min-height:48px;justify-content:center}
  :root:is([data-readability=large],[data-readability=strong]) .continue-content{min-width:0}
  :root:is([data-readability=large],[data-readability=strong]) .continue-content>div{min-width:0;overflow-wrap:anywhere}
  :root:is([data-readability=large],[data-readability=strong]) .editor-status .hide-mobile{display:none}
}
