/* Settings surface uses the existing Caddie palette. Reading overrides are opt-in. */
.reading-settings{max-width:1040px;padding-bottom:28px}
.reading-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}
.reading-intro h2{font-size:14px;font-weight:600;margin:0 0 5px}
.reading-intro p,.reading-boundary{color:var(--sub);font-size:13px;line-height:1.7;margin:0}
.reading-intro button{flex-shrink:0}
.reading-recipes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.reading-recipe{display:grid;grid-template-columns:42px minmax(0,1fr);text-align:left;gap:8px 12px;align-items:center;min-width:0;padding:17px 16px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.reading-recipe:hover{border-color:var(--accent)}
.reading-recipe[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.reading-recipe .reading-sample{font-size:27px;line-height:1.4;letter-spacing:-1px;grid-row:1/3}
.reading-recipe-copy{display:flex;flex-direction:column;gap:5px}
.reading-recipe strong{font-size:13px;font-weight:600}
.reading-recipe-copy>span{font-size:11px;line-height:1.5;color:var(--sub)}
.reading-recipe-state{grid-column:2;font-size:11px;color:var(--sub)}
.reading-recipe[aria-pressed="true"] .reading-recipe-state{color:var(--accent)}
.reading-status{display:flex;justify-content:space-between;gap:12px;min-height:46px;padding-top:10px;color:var(--sub);font-size:11px;line-height:1.6}
.reading-workbench{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:28px;padding-top:20px;border-top:1px solid var(--line)}
.reading-preview-pane{border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0;align-self:start;background:var(--panel)}
.reading-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.reading-preview-head>span{font-size:12px;color:var(--sub)}
.reading-preview-tabs{display:flex;gap:2px;padding:3px;background:var(--chip);border-radius:7px}
.reading-preview-tabs button{border:0;border-radius:5px;padding:5px 14px;font-size:12px;background:transparent;color:var(--sub);cursor:pointer}
.reading-preview-tabs button[aria-pressed="true"]{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(20,30,50,.08)}
.reading-previews{height:440px;overflow:auto;scrollbar-gutter:stable}
.reading-preview{padding:27px 30px;min-width:0}
.reading-preview[hidden]{display:none}
.reading-preview-user{margin:0 0 24px auto;width:fit-content;max-width:90%;border-radius:12px 12px 4px 12px;padding:10px 14px;background:var(--chip);font:13px/1.6 var(--font-sans)}
.reading-preview-label{display:block;font-family:var(--font-sans);font-size:11px;font-weight:500;color:var(--sub);margin-bottom:22px}
.reading-preview-text{font-family:var(--preview-font);font-size:var(--preview-size);line-height:var(--preview-leading);overflow-wrap:anywhere}
.reading-preview-text h4{font-size:1.3em;line-height:1.55;font-weight:600;margin:0 0 22px}
.reading-preview-text p{margin:0 0 16px}.reading-preview-text p:last-child{margin-bottom:0}
.reading-preview-text strong{font-weight:600}.reading-preview-text ol{padding-left:1.4em;margin:12px 0 16px}
.reading-preview-text li{padding-left:3px;margin-bottom:5px}
.reading-preview-process{font:12px/1.6 var(--font-sans);color:var(--sub);margin-bottom:16px}
.reading-preview-footer{border-top:1px solid var(--line);padding:11px 16px;font-size:11px;color:var(--sub)}
.reading-controls-grid{display:flex;flex-direction:column;gap:22px;min-width:0}
.reading-controls{border:0;padding:0;min-width:0}.reading-controls legend{font-size:13px;font-weight:600;padding:0;margin-bottom:16px}
.reading-controls+ .reading-controls{padding-top:20px;border-top:1px solid var(--line)}
.reading-controls label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:12px}
.reading-controls select{max-width:65%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--panel);font-size:13px}
.reading-controls input[type="range"]{width:100%;accent-color:var(--accent);height:20px;padding:0;margin:0 0 12px;cursor:pointer}
.reading-controls output{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums}
.reading-font-note{font-size:10px;line-height:1.6;color:var(--sub);margin:0}
.reading-boundary{margin-top:18px;font-size:12px}
@media(max-width:1100px){.reading-recipe{padding:12px;grid-template-columns:1fr}.reading-recipe .reading-sample{display:none}.reading-recipe-state{grid-column:1}.reading-workbench{gap:18px;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr)}.reading-preview{padding:22px}}
@media(max-width:800px){.reading-workbench{grid-template-columns:1fr}.reading-preview-pane{order:-1}.reading-previews{height:330px}.reading-recipe-copy>span{display:none}.reading-controls-grid{gap:24px}}

/* Only this opt-in root attribute changes reading typography. No palette or layout overrides. */
html[data-caddie-reading]{--font-sans:var(--reading-ui-font);--font-display:var(--reading-ui-font);--ai-ui-font:var(--reading-ui-font)}
html[data-caddie-reading] body{font-family:var(--reading-ui-font)}
html[data-caddie-reading] body .caddie-document-editor{
  --caddie-doc-font:var(--reading-doc-font);--caddie-doc-body-size:var(--reading-doc-size);--caddie-doc-body-leading:var(--reading-doc-leading);
  --caddie-doc-h1-size:calc(var(--reading-doc-size)*1.5);--caddie-doc-h2-size:calc(var(--reading-doc-size)*1.25);--caddie-doc-h3-size:calc(var(--reading-doc-size)*1.125);--caddie-doc-h4-size:var(--reading-doc-size);
}
html[data-caddie-reading] body .caddie-document-editor .bn-editor{font-family:var(--reading-doc-font)!important;font-size:var(--reading-doc-size)!important;line-height:var(--reading-doc-leading)!important}
html[data-caddie-reading] body .caddie-document-editor .bn-block-content[data-content-type="paragraph"]{line-height:var(--reading-doc-leading)!important}
html[data-caddie-reading] body :is(.knowledge-editor-fallback,.knowledge-document-body .prose){font-family:var(--reading-doc-font)!important;font-size:var(--reading-doc-size)!important;line-height:var(--reading-doc-leading)!important}
/* Editing controls stay sans-serif even with the book recipe. */
html[data-caddie-reading] body .caddie-document-editor :is(.bn-toolbar,.bn-suggestion-menu,.bn-side-menu,.mantine-Menu-dropdown,button,input,select){font-family:var(--reading-ui-font)!important}

html[data-caddie-reading] body :is(.chat-answer .prose,#pmsgs .msg.ai .prose,#tmsgs .msg.ai .prose,.knowledge-caddie-turn.assistant .prose,.knowledge-agent-msg:not(.user) .prose,.knowledge-discussion-turn.assistant .prose,.selection-explain-reply.prose,.iv-coach-messages .assistant .prose,.fu-polish-card .prose,.project-agent-live-answer .prose,.chat-execution-stream .prose){
  font-family:var(--reading-answer-font)!important;font-size:var(--reading-answer-size)!important;line-height:var(--reading-answer-leading)!important;
}
html[data-caddie-reading] body :is(.chat-answer .prose,#pmsgs .msg.ai .prose,#tmsgs .msg.ai .prose,.knowledge-caddie-turn.assistant .prose,.knowledge-agent-msg:not(.user) .prose,.knowledge-discussion-turn.assistant .prose,.selection-explain-reply.prose,.iv-coach-messages .assistant .prose,.fu-polish-card .prose,.project-agent-live-answer .prose,.chat-execution-stream .prose) :is(p,li,blockquote):not([style*="font-size"]){
  font-family:inherit!important;font-size:inherit!important;line-height:var(--reading-answer-leading)!important;
}
/* Progress, code, math and manual rich-text spans keep their existing typography. */
