:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#243847;background:#f5f5f0;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;line-height:1.6}button{font:inherit;cursor:pointer}a{color:#307e78;text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b17d35;outline-offset:3px}.skip{position:absolute;top:-80px;left:16px;background:white;padding:12px}.skip:focus{top:12px}.masthead{background:#192d3d;color:#f7f8f3}.head-inner{max-width:1440px;margin:auto;padding:20px 36px;display:flex;align-items:center;gap:24px}.brand{gap:14px;flex-shrink:0}.brand img{border-radius:10px;object-fit:cover}.brand-home{color:inherit}.brand strong{display:block;font-size:19px;letter-spacing:.1em}.brand small{display:block;color:#d6b589;font-size:11px;letter-spacing:.1em}.head-inner .course-nav{margin-left:auto}main{max-width:1440px;margin:auto;padding:0 36px 20px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0 22px}.eyebrow{font-size:10px;letter-spacing:.15em;color:#6b797f;margin:0 0 8px}.intro h1{font:600 30px/1.35 "Songti SC","Noto Serif SC",Georgia,serif;letter-spacing:.04em;margin:0 0 8px}.subtitle{font-size:12px;color:#6b797f;margin:0}.presenter{font-size:12px;color:#7e6138;white-space:nowrap}.lesson-window{background:#fff;border:1px solid #cfd7d1;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #24362c0a}.window-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;border-bottom:1px solid #d6ddd6;background:#edf0ea;min-height:51px}.window-title{display:flex;align-items:center;gap:14px;font-size:12px;color:#5d6a61;min-width:0}.window-dots{display:flex;gap:6px}.window-dots i{display:block;width:8px;height:8px;border-radius:50%;background:#bdc9bd}.window-dots i:first-child{background:#c4b3a4}.window-dots i:last-child{background:#a4b8a8}.window-bar button,.frame-message button{border:1px solid #acbcb0;background:#fff;color:#365a47;border-radius:6px;font-size:12px;min-height:34px;padding:5px 12px;white-space:nowrap}.window-bar button:hover,.frame-message button:hover{background:#f7faf6}.frame-area{position:relative;height:min(760px,calc(100svh - 76px));min-height:440px;background:#e2e6df}.frame-area iframe{display:block;border:0;width:100%;height:100%;background:#fbfaf6}.frame-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:#65766a;font-size:14px;text-align:center}.frame-message p{margin:0}.reading-hint{margin:13px 0 0;font-size:11px;color:#77857c}footer{padding:24px 0 0;font-size:10px;color:#8b968b;letter-spacing:.06em}
body.reader-expanded{overflow:hidden}.lesson-window.is-expanded{position:fixed;inset:0;z-index:1000;border:0;border-radius:0;display:flex;flex-direction:column}.lesson-window.is-expanded .frame-area{height:auto;min-height:0;flex:1}.lesson-window.is-expanded .window-bar{flex:0 0 auto}
@media(max-width:820px){.head-inner{padding:17px 22px;gap:14px}main{padding:0 20px 20px}.intro{padding:23px 0 18px}.intro h1{font-size:28px}.presenter{display:none}}
@media(max-width:520px){.head-inner{padding:14px 17px;gap:8px}.brand{gap:12px}.brand strong{font-size:16px}.brand small{font-size:10px}main{padding:0 10px 18px}.intro{padding:22px 5px 16px}.intro h1{font-size:25px}.window-bar{padding:7px 9px;gap:8px}.window-title{gap:8px;font-size:11px}.window-dots{gap:4px}.window-dots i{width:6px;height:6px}.window-bar button{padding:7px 9px;min-height:38px}.frame-area{height:calc(100svh - 82px);min-height:460px}.reading-hint{font-size:11px;margin:12px 4px 0}}

/* Shared teaching-reader download progress; no scripted or simulated animation. */
.frame-message #reader-progress{display:block;width:min(320px,80%);height:8px;padding:0;border:0;border-radius:999px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#dbe4db;color:#397c68;accent-color:#397c68}
.frame-message #reader-progress::-webkit-progress-bar{background:#dbe4db;border-radius:999px}
.frame-message #reader-progress::-webkit-progress-value{background:#397c68;border-radius:999px}
.frame-message #reader-progress::-moz-progress-bar{background:#397c68;border-radius:999px}
.frame-message .reader-progress-detail{max-width:100%;font-size:12px;line-height:1.6;color:#738277;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.frame-message #reader-progress,.frame-message #reader-progress::-webkit-progress-value{animation:none;transition:none}}

/* Keep download feedback visible before scrolling the large reading canvas. */
.frame-message{justify-content:flex-start;padding-top:clamp(64px,16svh,140px)}
