.reading-heading { margin-block: 1rem 2rem; }
.reading-filters, .reading-actions, .reading-enhancement { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; }
.reading-filters { margin-block: 1.5rem; }
.reading-filters label, .reading-enhancement label { display: grid; gap: .35rem; }
.reading-library { list-style: none; padding: 0; display: grid; gap: 1rem; }
.reading-library li, .reading-notes, .reading-player, .reading-questions form { padding: 1.25rem; border: 1px solid #d5dfda; border-radius: .65rem; background: #f7faf8; }
.reading-library h2 { margin-block: .25rem .75rem; }
.reading-library li { min-width: 0; overflow-wrap: anywhere; }
.home-stories { margin-block: 2.5rem 1rem; }
.home-stories .section-intro { flex-wrap: wrap; gap: .75rem 1.5rem; }
.home-story-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.home-story-cards li { display: flex; flex-direction: column; background: #fff; }
.home-story-cards h3 { margin-block: 0 .5rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; line-height: 1.3; }
.home-story-cards h3 a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.home-story-cards li > .text-link { margin-block-start: auto; min-height: 44px; font-size: 1rem; }
.story-reader { max-width: 48rem; margin-inline: auto; overflow-wrap: anywhere; }
.story-reader header { margin-block: 1.5rem; }
.story-tools { display: flex; flex-wrap: wrap; align-items: start; gap: .5rem 1.5rem; margin-block: 1rem 1.5rem; }
.story-tools > .text-link { min-height: 44px; font-size: 1rem; }
.story-tools details { flex: 1 1 15rem; min-width: 0; margin: 0; }
.story-tools label { display: block; }
.story-tools input { width: 100%; min-width: 0; box-sizing: border-box; font-size: 1rem; }
.story-tools .reading-actions { margin-block: .75rem; }
.story-tools button[hidden] { display: none; }
.read-next { margin-block-start: 2.5rem; padding-block-start: 1.5rem; border-block-start: 1px solid #d5dfda; }
.read-next-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.read-next-cards li { display: flex; flex-direction: column; }
.read-next-cards h3 { font-size: 1.25rem; line-height: 1.4; margin-block: 0 .5rem; }
.read-next-cards li > .text-link { margin-block-start: auto; }
.read-next .text-link { min-height: 44px; font-size: 1rem; display: inline-flex; align-items: center; }
.reading-text { font-size: 1.15rem; line-height: 1.85; }
.story-paragraph { padding: .6rem .85rem; margin-block: 1rem; border-inline-start: 3px solid transparent; scroll-margin-block: 2rem; }
.story-paragraph.is-playing, .story-paragraph:target { border-inline-start-color: #237357; background: #eaf5ee; }
.story-paragraph details { font-size: 1rem; line-height: 1.6; }
.story-reader details { margin-block: .75rem; }
.story-reader summary { cursor: pointer; padding-block: .65rem; }
.reading-player { margin-block: 1.5rem; }
.reading-player audio, .reading-editor input:not([type=checkbox]):not([type=radio]), .reading-editor textarea, .reading-editor select { width: 100%; max-width: 100%; box-sizing: border-box; }
audio { max-width: 100%; }
.reading-player audio { margin-block: .75rem; }
.reading-enhancement[hidden], [data-story-text][hidden], [data-reveal-text][hidden], [data-replay][hidden] { display: none; }
.reading-enhancement .check { display: flex; align-items: center; }
.reading-notes { margin-block: 2rem; }
.reading-notes dd { margin-inline-start: 1rem; margin-block-end: 1rem; }
.reading-notes dt { font-weight: 700; }
.reading-notice, .reading-feedback { padding: 1rem; background: #eef5f1; border-inline-start: 3px solid #237357; }
.reading-questions form { margin-block: 1rem; }
.reading-questions fieldset { border: 0; padding: 0; }
.reading-questions .check { display: flex; align-items: center; gap: .7rem; padding-block: .6rem; }
.reading-questions input[type=radio] { flex: none; width: 1.25rem; height: 1.25rem; min-height: 0; padding: 0; margin: 0; }
.reading-editor { max-width: 52rem; }
.reading-editor fieldset { min-width: 0; margin-block: 1.5rem; padding: 1.25rem; border: 1px solid #d5dfda; border-radius: .5rem; }
.reading-editor label { display: block; margin-block: .8rem .3rem; }
.reading-editor label.check { display: flex; align-items: center; gap: .65rem; }
.reading-editor textarea { min-height: 6rem; }
.reading-editor input, .reading-editor textarea, .reading-editor select, .reading-filters input, .reading-filters select { font-size: 1rem; padding: .65rem; }
.reading-editor button { margin-block: .6rem; }
.reading-save { display: flex; flex-wrap: wrap; gap: 1rem; padding-block: 1rem; }
.reading-actions { margin-block: 1.5rem; }
.reading-editor .validation-summary-errors { color: #8c2222; }
@media (max-width: 520px) {
    .reading-filters { display: grid; }
    .reading-filters input, .reading-filters select { width: 100%; min-width: 0; box-sizing: border-box; }
    .reading-editor fieldset { padding: .8rem; }
    .reading-player, .reading-notes, .reading-questions form { padding: .85rem; }
}
@media (prefers-reduced-motion: reduce) { .story-reader * { scroll-behavior: auto; } }
