/* Communication preferences share the system text size and Messenger surfaces. */
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) fieldset{min-width:0;max-width:100%;box-sizing:border-box}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) legend{max-width:100%;white-space:normal;overflow-wrap:anywhere}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-communication{min-width:0;font-size:1rem;line-height:1.5}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-communication legend{font-size:1.125rem}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-communication label{font-size:1rem;line-height:1.45}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-communication .helper{font-size:.9375rem;color:var(--muted,#666660)}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-tone-label{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) :is(#coachToneLabel,[data-coach-id="coachToneLabel"]){font-weight:650;color:var(--ink)}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) input:is(#coachTone,[data-coach-id="coachTone"]){appearance:auto;box-sizing:border-box;width:100%;min-height:48px;height:3rem;margin:0;padding:0;border:0;border-radius:0;background:transparent;accent-color:var(--brand-strong);box-shadow:none;cursor:ew-resize}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) input:is(#coachTone,[data-coach-id="coachTone"]):focus-visible{outline:3px solid var(--brand-strong);outline-offset:3px}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-tone-extremes{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;color:var(--muted,#666660)}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-tone-example{margin-top:1.25rem;border-left:3px solid var(--brand-strong);padding:.25rem 0 .25rem 1rem}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-tone-example>strong{font-size:.875rem;font-weight:650}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) :is(#coachTonePreview,[data-coach-id="coachTonePreview"]){font-size:1rem;line-height:1.6;white-space:normal;overflow-wrap:anywhere;margin:.5rem 0}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) :is(#coachHumor,[data-coach-id="coachHumor"]){font-size:1rem}
.coach-reaction{display:block;margin:.75rem 0 0;max-width:100%}
.coach-reaction img{display:block;object-fit:contain;max-width:100%;width:12rem;height:auto;border-radius:.5rem}

/* Large memory collections stay quiet until the user opens them. */
:is(#coachMemorySection,[data-coach-id="coachMemorySection"])>summary,:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory>summary{display:flex;align-items:center;gap:.75rem;min-height:48px;cursor:pointer;list-style:none;color:var(--ink)}
:is(#coachMemorySection,[data-coach-id="coachMemorySection"])>summary::-webkit-details-marker,:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory>summary::-webkit-details-marker{display:none}
:is(#coachMemorySection,[data-coach-id="coachMemorySection"])>summary::before,:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory>summary::before{content:'';flex:none;width:.4rem;height:.4rem;margin-left:.125rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
:is(#coachMemorySection,[data-coach-id="coachMemorySection"])[open]>summary::before,:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory[open]>summary::before{transform:rotate(45deg)}
:is(#coachMemorySection,[data-coach-id="coachMemorySection"])>summary{flex-wrap:wrap;border-bottom:1px solid var(--line)}
:is(#coachMemorySection,[data-coach-id="coachMemorySection"])>summary>strong{font-size:1.0625rem;font-weight:650}
:is(#coachMemorySection,[data-coach-id="coachMemorySection"]) .coach-memory-count{margin-left:auto;font-size:.875rem;color:var(--muted,#666660)}
:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory{padding:0;min-width:0}
:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:500}
:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory-status{flex:none;font-size:.75rem;color:var(--muted,#666660)}
:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory-body{padding:.25rem 0 .75rem 1.25rem;min-width:0}
:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory-text{margin:0 0 .5rem;font-size:.9375rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory-body small,:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-source{font-size:.8125rem;color:var(--muted,#666660)}
:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory textarea{box-sizing:border-box;font-size:1rem}
:is(#coachMemorySection,[data-coach-id="coachMemorySection"])>summary:focus-visible,:is(#coachMemories,[data-coach-id="coachMemories"]) .coach-memory>summary:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px;border-radius:4px}

/* Evening learning stays readable with a narrow display and large system text. */
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-reflection{font-size:1rem;line-height:1.5}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-reflection legend{font-size:1.125rem}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-reflection label{min-width:0;font-size:1rem;line-height:1.45;overflow-wrap:anywhere}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-reflection .toggle-row input{flex:none}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-reflection .helper{font-size:.9375rem;color:var(--muted,#666660);overflow-wrap:anywhere}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-bedtime-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:1rem 0}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-bedtime-fields label{display:block;margin:0}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-bedtime-fields input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;font-size:1rem;background:var(--field,#fafaf9);color:var(--ink);border-color:var(--field-border,#cececa)}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-reflection-status{padding-top:.75rem;border-top:1px solid var(--line)}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-memory-search-label{display:block;max-width:100%;margin:1rem 0;font-size:.9375rem;line-height:1.5}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) :is(#coachMemorySearch,[data-coach-id="coachMemorySearch"]){box-sizing:border-box;width:100%;max-width:100%;min-width:0;font-size:1rem;color:var(--ink);background:var(--field,#fafaf9);border-color:var(--field-border,#cececa)}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) :is(#coachMemorySearch,[data-coach-id="coachMemorySearch"]):focus,:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-bedtime-fields input:focus{background:var(--field,#fafaf9)}
:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) .coach-reflection input:focus-visible,:is(#coachSettingsDialog,[data-coach-id="coachSettingsDialog"]) :is(#coachMemorySearch,[data-coach-id="coachMemorySearch"]):focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}
:is(#coachMemorySearchEmpty,[data-coach-id="coachMemorySearchEmpty"]){font-size:.9375rem;color:var(--muted,#666660);overflow-wrap:anywhere}
