*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#e8ece4;color:#253e36;font-family:'PingFang SC','Microsoft Yahei',sans-serif}button,a{font:inherit;cursor:pointer;color:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #457c62;outline-offset:5px}button:disabled{opacity:.35;cursor:default}.landscape{position:absolute;inset:0;overflow:hidden;transform-origin:72% 42%;transition:transform 2.8s cubic-bezier(.2,.7,.2,1);will-change:transform}.landscape.near{transform:scale(1.36) translate(-4%,5%)}.landscape img,.landscape canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dream{opacity:0;transition:opacity .16s linear}.paper-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#faf8efed 0%,#faf8efdb 24%,#faf8ef44 40%,transparent 60%),linear-gradient(0deg,#f8f7ecef,transparent 24%)}header{position:absolute;top:28px;left:42px;right:40px;display:flex;justify-content:space-between;align-items:center}header a{text-decoration:none;font-size:16px;letter-spacing:2px;font-weight:600}header a span{margin-left:24px;font-size:11px;color:#6f8072;font-weight:400;letter-spacing:.5px}header>div{display:flex;gap:7px;background:#f9fbf4c9;border:1px solid #fdfdfaaa;padding:7px;border-radius:24px;backdrop-filter:blur(8px)}header button{font-size:11px;padding:6px 11px}main{position:absolute;left:6.5vw;top:17vh}.preface{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:2px;color:#788a76}.seal{border:1px solid #ad634b;color:#985440;border-radius:4px;padding:4px 5px;font-family:'Kaiti SC','KaiTi',serif;font-size:15px}h1{font-family:'Kaiti SC','STKaiti','KaiTi',serif;font-size:52px;letter-spacing:6px;font-weight:500;margin:23px 0 12px}.author{color:#8a8e7e;font-size:13px;letter-spacing:2px;margin:0 0 35px}.poem{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.poem button{font-family:'Kaiti SC','STKaiti','KaiTi',serif;font-size:29px;letter-spacing:3px;padding:0;opacity:.45;line-height:1.5;transition:opacity .5s,transform .5s;position:relative}.poem button.current{opacity:1;transform:translateX(8px)}.poem button.current:before{content:'';position:absolute;width:4px;height:4px;background:#8d6342;left:-20px;top:50%;border-radius:50%}.poem button:hover{opacity:1}.poem button em{font-style:normal;color:#39785f}.reading-tools{display:flex;gap:22px;margin-top:27px;font-size:11px;color:#647d69}.reading-tools button{padding:4px 0;border-bottom:1px solid #97aa944d}#speech-status{font-size:11px;color:#647d69;max-width:330px;line-height:1.6;height:30px;margin-top:12px}.view-label{position:absolute;right:40px;top:114px;color:#f7fff6;background:#183f3959;padding:8px 14px;border-radius:20px;font-size:11px;backdrop-filter:blur(5px)}.scene-tools{position:absolute;right:40px;bottom:220px;display:flex;gap:3px;border-radius:24px;padding:5px;background:#f9fcf0d9;backdrop-filter:blur(12px);box-shadow:0 5px 20px #172f3512}.scene-tools button{font-size:12px;padding:10px 18px;border-radius:20px;color:#5c7364}.scene-tools .chosen{background:#395f50;color:#fff}.lesson{position:absolute;left:6.5vw;right:40px;bottom:44px;min-height:135px;display:flex;gap:32px;align-items:center;border-top:1px solid #627e6155;padding-top:23px}.question{flex:1;min-width:290px}.chapter{font-size:10px;color:#64806a;letter-spacing:2px}.question h2{font-size:20px;font-weight:500;margin:9px 0;color:#2d5142}.question p{font-size:12px;line-height:1.8;color:#6c7966;margin:0;max-width:550px}#activity{width:270px;font-size:12px}#activity label{font-size:12px;display:block;margin-bottom:12px;color:#426447}#activity input{width:100%;accent-color:#426f54}#activity .ends{display:flex;justify-content:space-between;font-size:10px;margin-top:9px;color:#617958}#activity .choice{border:1px solid #8da58c;background:#fcfff28f;padding:10px 14px;border-radius:6px;margin:4px}#activity .choice.selected{background:#446c52;color:white}.lesson-nav{display:flex;gap:17px;align-items:center}.lesson-nav button{font-size:12px}#next{background:#355e4e;color:#fff;padding:13px 21px;border-radius:22px;min-width:143px}.footer-note{position:absolute;right:41px;bottom:13px;font-size:10px;color:#71826a}dialog{max-width:560px;padding:30px;border:1px solid #c8d2bd;border-radius:12px;background:#faf9f1;color:#395043}dialog::backdrop{background:#20352e70;backdrop-filter:blur(5px)}dialog h2{font-size:20px;font-weight:500}dialog p{font-size:14px;line-height:1.9}#close{float:right}#moving-water{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#f0fbff40 50%,transparent 75%);background-size:100% 20%;clip-path:polygon(73% 9%,76% 9%,75% 40%,73% 63%,76% 78%,66% 79%,70% 56%,71% 30%);mix-blend-mode:soft-light;animation:flow 2s linear infinite;pointer-events:none;opacity:.55}@keyframes flow{to{background-position:0 100%}}body.paused #moving-water{animation-play-state:paused}body.dreaming .view-label{background:#393755b0}body.dreaming .scene-tools{opacity:.7}@media(max-height:820px){main{top:15vh}h1{font-size:42px;margin:17px 0 10px}.author{margin-bottom:20px}.poem{gap:12px}.poem button{font-size:26px}.reading-tools{margin-top:16px}.lesson{bottom:37px;padding-top:17px;min-height:115px}.scene-tools{bottom:181px}.question h2{font-size:18px}}@media(prefers-reduced-motion:reduce){.landscape{transition:none}#moving-water{animation:none}}
.poem button.reading-line{opacity:1;color:#9a5b36;transform:translateX(12px)}

body.scenic .paper-light{background:linear-gradient(0deg,#faf8effa 0%,#faf8efe8 15%,#faf8ef33 29%,transparent 45%)}body.scenic header a{background:#faf8efe8;padding:11px 15px;border-radius:22px}main[hidden]{display:none}body.scenic .landscape{filter:saturate(1.02)}

.question p{font-size:14px;color:#4e624e;line-height:1.7}.chapter{font-size:11px;color:#55705b}.reading-tools{font-size:13px;color:#4c6853}.lesson-nav button{font-size:14px}#activity{font-size:14px}#activity label{font-size:14px}#activity .ends{font-size:12px}#speech-status{font-size:12px;color:#4d6a53}.view-label{font-size:12px}@media(max-height:820px){.lesson{min-height:125px}.question h2{font-size:19px}.scene-tools{bottom:190px}}

.word-choices{display:flex;gap:6px;margin-top:6px}#activity .word-choices .choice{font-size:13px;margin:0;padding:9px 10px;white-space:nowrap}#trialLine{font-size:14px;color:#465e4c;line-height:1.65;margin:8px 0 0}#trialLine b{color:#975d43;font-weight:600}#wholePoem{padding:9px 13px;border:1px solid #8da58c;border-radius:8px;background:#fcfff2bd;font-size:13px}

/* Optional final-stage recall: retain the rhythm and space of a seven-character line. */
.memory-blank{display:inline-block;letter-spacing:14px;color:#829782;padding-left:7px}.poem button.recall-cue{opacity:.8}.recall-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}#recallPoem{padding:9px 13px;border:1px solid #8da58c;border-radius:8px;background:#fcfff2bd;font-size:13px}#recallPoem[aria-pressed="true"]{background:#395f50;color:#fff}

/* A restrained moving veil over the existing mountain mist, for “生紫烟”. */
#sunlit-mist{position:absolute;left:29%;top:10%;width:46%;height:40%;opacity:0;transition:opacity 1.2s;pointer-events:none;mix-blend-mode:screen}
.mist-focus #sunlit-mist{opacity:.8}
#sunlit-mist i{position:absolute;inset:10% 0;background:radial-gradient(ellipse at 48% 64%,#bca2d690,transparent 62%),radial-gradient(ellipse at 65% 45%,#fff6df80,transparent 60%);filter:blur(15px);animation:mist-rise 16s ease-in-out infinite alternate}
#sunlit-mist i+i{inset:25% 15% -10% -15%;opacity:.65;animation-delay:-8s;animation-duration:21s}
@keyframes mist-rise{from{transform:translate(-3%,9%) scale(.96)}to{transform:translate(5%,-11%) scale(1.09)}}
body.paused #sunlit-mist i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){#sunlit-mist{transition:none}#sunlit-mist i{animation:none}}
