/* Graded reader — same white, black and electric-blue design system. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reader-icon{display:inline-block;width:21px;height:21px;flex-shrink:0;vertical-align:middle}
.reading-filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.reading-filter{border:1px solid var(--line);border-radius:10px;padding:11px 20px;min-height:44px;color:var(--muted);font-weight:650}
.reading-filter.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.reading-filter:hover{border-color:var(--accent)}
.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.reading-card{display:flex;flex-direction:column;min-height:230px;border:1px solid var(--line);border-radius:16px;padding:24px;transition:border-color .18s,box-shadow .18s;background:#fff}
.reading-card:hover{border-color:#a8c2ff;box-shadow:0 6px 24px rgba(11,90,255,.055)}
.reading-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.reading-level{display:inline-flex;align-items:center;font-size:11px;font-weight:750;letter-spacing:.7px;color:var(--accent);background:var(--accent-soft);border-radius:7px;padding:6px 9px}
.reading-card-icon .scene-svg{height:42px;width:58px}
.reading-card h2{font-family:QilinHanzi,sans-serif;font-size:24px;font-weight:500;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere;color:var(--ink)}
.reading-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 20px}
.reading-card-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;font-size:11px;color:var(--muted)}
.reading-card-bottom>span:last-child{color:var(--accent);white-space:nowrap}
.reading-about{margin:28px 0 0;max-width:760px;color:var(--muted);font-size:12px;line-height:1.8}
.reading-about summary{cursor:pointer;color:var(--ink);font-weight:650}
.reading-about a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.reader-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0 26px}
.reader-title{font-family:QilinHanzi,sans-serif;font-size:36px;font-weight:500;letter-spacing:1px;margin:14px 0 10px;line-height:1.5;overflow-wrap:anywhere}
.reader-subtitle{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.reader-heading-icon .scene-svg{width:100px;height:80px}
.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:start}
.reader-paper{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;min-width:0}
.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px 12px;flex-wrap:wrap}
.reader-toolbar .button-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:170px;padding:11px 16px}
.reader-speed-label{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}
.reader-speed-label select{padding:9px 10px;font-size:12px;min-height:44px;background:#fff;max-width:180px}
.reader-toggles{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 22px 14px}
.reader-toggles button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:8px 12px;border-radius:9px;font-size:12px;min-height:40px}
.reader-toggles button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-dark);border-color:#c2d5ff}
.reader-toggles>span{margin-left:auto;font-size:10px;color:var(--muted)}
.reader-progress{display:flex;align-items:center;gap:12px;padding:0 22px 10px}
.reader-progress input{width:100%;min-width:0;margin:0;accent-color:var(--accent);height:24px;cursor:pointer}
.reader-progress span{flex-shrink:0;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.reader-status{color:#8f2b24;font-size:12px;line-height:1.7;margin:0;padding:0 22px}
.reader-status:not(:empty){padding-bottom:16px}
.reader-sentences{border-top:1px solid var(--line)}
.reader-sentence{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:12px;align-items:start;padding:24px 22px;border-bottom:1px solid #f1f2f5;transition:background .15s}
.reader-sentence:last-child{border-bottom:0}
.reader-sentence.is-speaking{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}
.reading-text{font-family:QilinHanzi,sans-serif;font-size:25px;font-weight:400;line-height:2.25;letter-spacing:0;color:var(--ink);overflow-wrap:anywhere}
.reading-word{display:inline-block;vertical-align:baseline;font-family:QilinHanzi,sans-serif;font-size:inherit;font-weight:400;line-height:inherit;color:inherit;max-width:100%;border:0;border-radius:5px;background:transparent;padding:0 2px;margin:0 1px;cursor:pointer}
.reading-word:hover,.reading-word:focus-visible{background:#dce7ff;color:var(--accent-dark)}
.reading-word ruby{ruby-position:over;ruby-align:center}
.reading-word rt{font-family:"Segoe UI",Arial,sans-serif;color:#6b7280;font-size:11px;font-weight:400;letter-spacing:0}
.pinyin-hidden .reading-word rt{display:none}
.pinyin-hidden .reading-text{line-height:1.9}
.reading-punct{white-space:nowrap}
.reading-translation{font-family:"Segoe UI",Arial,sans-serif;color:var(--muted);line-height:1.8;font-size:13px;margin:10px 0 0}
.sentence-play{display:grid;place-items:center;min-height:36px;width:36px;padding:0;margin-top:8px;border:1px solid #dce7ff;border-radius:50%;background:#fff;color:var(--accent)}
.sentence-play:hover,.sentence-play[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.reader-guide{padding:22px 20px;border:1px solid var(--line);border-radius:16px;font-size:12px;line-height:1.8}
.reader-guide-icon{display:inline-flex;color:var(--accent);margin-bottom:8px}
.reader-guide h2{font-size:15px;font-weight:750;margin:0 0 14px}
.reader-guide p{color:var(--muted);margin:12px 0}
.reader-guide small{display:block;padding-top:14px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.reader-next{display:flex;gap:12px;flex-wrap:wrap;padding:24px 0}
.reader-next a{font:16px/1.8 QilinHanzi,sans-serif;color:var(--accent);border:1px solid var(--line);border-radius:10px;padding:9px 13px}
#reader-word-dialog{width:min(440px,calc(100vw - 28px));max-width:440px;max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:20px}
.reader-dialog-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:38px;min-height:38px;border:0;border-radius:50%;background:#f7f8fa;color:var(--ink)}
.reader-word-level{font-size:10px;color:var(--accent);font-weight:750;letter-spacing:.5px;margin-bottom:12px;padding-right:38px}
#reader-word-title{font:400 40px/1.5 QilinHanzi,sans-serif;color:var(--ink);margin:10px 0 4px;overflow-wrap:anywhere}
.reader-word-pinyin{font-size:16px;color:var(--muted);margin:0 0 15px!important;line-height:1.6!important}
.reader-word-meaning{font-size:19px;color:var(--ink);font-weight:650;margin:0 0 20px!important;line-height:1.6!important}
#reader-word-content>.button-primary{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 16px}
.reader-word-context{background:#f8faff;border:1px solid #e5edff;border-radius:12px;padding:15px;margin-top:22px}
.reader-word-context>span,.reader-write-links>span{display:block;font:600 10px/1.7 "Segoe UI",Arial,sans-serif;color:var(--muted)}
.reader-word-context p[lang]{font:400 18px/1.8 QilinHanzi,sans-serif;color:var(--ink);margin:10px 0}
.reader-word-context p{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.8}
.reader-write-links{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.reader-write-links>span{width:100%;margin-bottom:2px}
.reader-write-links a{font:400 25px/1.5 QilinHanzi,sans-serif;color:var(--accent);background:var(--accent-soft);border-radius:9px;padding:5px 12px}
.mobile-nav button{max-width:none;min-width:0}
.mobile-nav small{line-height:1.35}
@media(max-width:1100px){.reading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-layout{grid-template-columns:minmax(0,1fr)}.reader-guide{display:none}}
@media(max-width:650px){.reading-grid{grid-template-columns:1fr;gap:13px}.reading-card{min-height:0;padding:20px}.reading-card-top{margin-bottom:14px}.reading-card h2{font-size:25px}.reader-heading{margin:8px 0 20px}.reader-title{font-size:30px;margin:10px 0}.reader-subtitle{font-size:13px}.reader-heading-icon .scene-svg{width:66px;height:60px}.reader-toolbar{padding:16px 14px 10px;gap:10px}.reader-toolbar .button-primary{min-width:0;flex:1;padding:10px;font-size:12px}.reader-speed-label{font-size:0;gap:0}.reader-speed-label select{max-width:135px;font-size:11px;padding:8px}.reader-toggles{padding:0 14px 12px}.reader-toggles>span{font-size:9px}.reader-progress{padding:0 14px 10px}.reader-sentence{padding:18px 14px;gap:8px;grid-template-columns:minmax(0,1fr) 34px}.reading-text{font-size:24px;line-height:2.4}.reading-word{padding:0 1px;margin:0 1px}.reading-word rt{font-size:10px}.sentence-play{width:34px;min-height:34px}.reading-translation{font-size:12px}.reader-next{gap:8px}.reader-next a{font-size:14px}.mobile-nav small{font-size:10px}.mobile-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(70px + env(safe-area-inset-bottom))}.main-content{padding-bottom:calc(100px + env(safe-area-inset-bottom))}#reader-word-dialog{padding:23px}.reader-word-meaning{font-size:18px}}
@media(max-width:360px){.reader-heading-icon{display:none}.reader-toolbar{flex-wrap:wrap}.reader-toolbar .button-primary{min-width:145px}.reader-speed-label select{max-width:120px}.reader-toggles>span{width:100%;margin-left:0;margin-top:3px}.reading-text{font-size:22px}.reader-title{font-size:27px}}
@media(prefers-reduced-motion:reduce){.reader-sentence,.reading-card{transition:none}}

/* Reading history and contextual saved words, within the existing navigation. */
.reader-continue{margin:0 0 24px;gap:20px}
.reader-continue strong,.reader-continue small{display:block;margin-top:6px}
.reader-continue strong{font:400 23px/1.7 QilinHanzi,sans-serif;color:var(--ink)}
.reader-continue small{color:var(--muted);font-size:11px}
.reader-record-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}
.reader-record-row:last-child{border-bottom:0}
.reader-record-row strong{display:block;font:400 20px/1.8 QilinHanzi,sans-serif;color:var(--ink)}
.reader-record-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.reader-record-row>span:last-child{color:var(--accent);font-size:12px;flex-shrink:0}
.reader-saved h2>span{color:var(--muted);font-size:13px;margin-left:7px}
#reader-saved-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#reader-saved-list>.page-desc{grid-column:1/-1}
.reader-saved-card{border:1px solid var(--line);border-radius:13px;padding:18px;min-width:0;overflow-wrap:anywhere}
.reader-saved-heading{display:flex;align-items:center;gap:8px}
.reader-saved-open{background:none;border:0;padding:0;text-align:left;min-width:0;flex:1;color:var(--ink)}
.reader-saved-open strong{display:block;font:400 27px/1.7 QilinHanzi,sans-serif;overflow-wrap:anywhere}
.reader-saved-open span{display:block;font-size:12px;color:var(--muted)}
.reader-saved-heading>.outline-button,.reader-remove{display:grid;place-items:center;flex-shrink:0;width:44px;min-height:44px;padding:0}
.reader-remove{color:var(--muted);background:#fff;border:0;border-radius:9px}
.reader-remove:hover{background:var(--accent-soft);color:var(--accent)}
.reader-saved-meaning{font-weight:650;font-size:15px;line-height:1.7;margin:15px 0}
.reader-saved-sentence{font:400 18px/1.9 QilinHanzi,sans-serif;margin:10px 0 5px}
.reader-saved-translation{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 14px}
.reader-origin{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font:600 12px/1.7 "Segoe UI",Arial,sans-serif}
.reader-save-word{margin:10px 0 0 8px;min-height:44px}
.reader-save-word[aria-pressed="true"]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
#reader-save-status{padding:8px 0 0}
.reader-completion{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:22px 0 0}
.reader-completion>span{font-size:12px;color:var(--muted);line-height:1.8}
.reader-completion button{min-height:44px}
.reader-completion button[aria-pressed="true"]{color:var(--accent);border-color:var(--accent)}
.reader-sentence.is-resume{box-shadow:inset 3px 0 var(--accent)}
.reader-local-note{font-size:12px;margin-bottom:25px}
@media(max-width:650px){#reader-saved-list{grid-template-columns:1fr}.reader-record-row{gap:12px}.reader-record-row>span:last-child{font-size:11px}.reader-continue{flex-wrap:wrap}.reader-save-word{margin-left:0}.reader-saved-card{padding:15px}}
