.reading-review { margin: 1.25rem 0; padding: 1rem; background: #f2f5ef; border: 1px solid #cbd7c8; border-radius: 14px; color: #233a2c; overflow-wrap: anywhere; }
.reading-review h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.reading-review p { margin: .4rem 0 .8rem; line-height: 1.5; }
.reading-review-text { white-space: pre-wrap; line-height: 1.65; padding: .8rem; background: #fff; border-radius: 8px; }
.reading-review mark { background: #fbe2a7; color: #34270c; border-bottom: 2px solid #805400; }
.reading-insert-marker { display: inline-block; padding: 0 .25em; background: #d5e5ed; color: #17465b; font-weight: 700; border-radius: 3px; }
.reading-differences { padding: 0; margin: .8rem 0 0; list-style: none; }
.reading-differences li { padding: .8rem 0; border-top: 1px solid #cbd7c8; }
.reading-differences dl { margin: .5rem 0; }
.reading-differences dl div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .5rem; margin: .35rem 0; }
.reading-differences dt { font-weight: 700; }
.reading-differences dd { margin: 0; white-space: pre-wrap; }
.reading-focus-button { min-height: 44px; padding: .6rem .85rem; border: 1px solid #315841; border-radius: 8px; background: #fff; color: #234832; font: inherit; font-weight: 700; cursor: pointer; }
.reading-focus-button:focus-visible { outline: 3px solid #ba7b12; outline-offset: 2px; }
.reading-focus-selection { margin: 1rem 0; padding: .9rem; border: 1px solid #cbd7c8; border-radius: 10px; background: #f2f5ef; overflow-wrap: anywhere; }
.reading-focus-selection p { white-space: pre-wrap; }
