.reading-word { display:inline; font:inherit; color:inherit; line-height:inherit; background:transparent; border:0; border-radius:4px; padding:3px 1px; margin:0; cursor:pointer; text-align:inherit; box-shadow:none; }
.reading-word ruby { ruby-align:center; }
.reading-word rt { color:#586572; font-size:.48em; font-weight:400; }
.reading-word rt.hidden { display:none; }
.reading-word:hover,.reading-word:focus-visible { background:#e4ede9; outline:2px solid #56786a; outline-offset:1px; }
.reading-help { position:fixed; z-index:10000; bottom:24px; left:50%; transform:translateX(-50%); width:min(420px,calc(100vw - 32px)); box-sizing:border-box; padding:24px; border:1px solid #c8d6ce; border-radius:20px; background:#fffefa; color:#26392f; box-shadow:0 12px 60px #142a3438; max-height:65vh; overflow:auto; text-align:left; }
.reading-help>strong { display:block; font-size:28px; padding-right:28px; }
.reading-help p { font-size:16px; line-height:1.7; margin:8px 0; }
.reading-help .reading-help-pinyin { color:#596a60; }
.reading-help button { border:1px solid #b6c9bf; border-radius:10px; background:#eef3ef; color:#26392f; padding:10px 14px; cursor:pointer; min-height:44px; margin:6px 6px 0 0; }
.reading-help [data-help-close] { position:absolute; right:12px; top:8px; font-size:24px; }
.reading-help .reading-help-status { font-size:13px; color:#5d675f; }
.reading-phase-scores { display:flex; gap:12px; flex-wrap:wrap; color:#465950; margin:16px 0; }
.reading-evidence { padding:16px; border-left:3px solid #6d8c7c; background:#f2f5f1; line-height:1.8; }
.passage-progress { grid-template-columns:repeat(4,minmax(0,1fr)); }
.passage-study .reading-word { max-width:none; }
@media(max-width:520px) { .reading-help { bottom:12px; padding:20px; } .passage-progress small { font-size:11px; } }

.reading-review-note{font-size:.82rem;line-height:1.85;color:#58616a;background:#f5f6f7;border-radius:.5rem;padding:.65rem;margin:.7rem 0;}

.reading-phrase { border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; transition:background-color 120ms ease; }
.reading-phrase.is-reading-current { background:#e3f1e9; text-decoration:underline; text-decoration-color:#287552; text-decoration-thickness:3px; text-underline-offset:.22em; text-decoration-skip-ink:auto; }
.reading-phrase.is-reading-current rt { text-decoration:none; }
[data-reading-pause],[data-reading-stop] { border:1px solid #b9cdbf; border-radius:12px; background:#f4f8f4; color:#264835; font:inherit; font-size:13px; padding:10px 13px; min-height:44px; cursor:pointer; }
[data-reading-pause][hidden],[data-reading-stop][hidden] { display:none !important; }
.passage-player { flex-wrap:wrap; }
.reading-follow-controls { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
@media(prefers-reduced-motion:reduce) { .reading-phrase { transition:none; } }

.reading-transport { display:flex; gap:8px; grid-column:1 / -1; flex:1; }
.reading-transport[hidden] { display:none !important; }
.reading-transport button { flex:1; white-space:nowrap; }
