:root{--paper:#f5f0e6;--white:#fffdf7;--ink:#243b34;--forest:#294f45;--muted:#6b766c;--line:#dbdfd3;--sage:#e6eddf;--ochre:#eed39c;--rust:#ad5234;--pale:#f6e6d5;--radius:20px;--shadow:0 12px 32px #243b3409;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;height:100%;color:var(--ink);background:var(--paper);font-family:"Microsoft YaHei","PingFang SC",sans-serif}body{display:flex;flex-direction:column;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}a{color:var(--forest);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bb603b;outline-offset:4px}button:hover:not(:disabled){filter:brightness(.96)}h1,h2,h3,p,figure,blockquote{margin:0}p{line-height:1.85}img{display:block;width:100%;height:100%;object-fit:cover}svg.icon{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip{position:fixed;left:16px;top:-70px;z-index:100;background:var(--forest);color:white;padding:15px}.skip:focus{top:10px}.topbar{height:78px;flex-shrink:0;padding:0 clamp(20px,3vw,58px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:12px;align-items:center;font-family:"Microsoft YaHei",sans-serif;font-weight:700;font-size:20px;white-space:nowrap;letter-spacing:2px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:4px;color:var(--muted)}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--forest);color:var(--ochre)}.brand-icon .icon{width:27px;height:27px}.course-name{font-size:14px;color:var(--muted)}.course-name span{display:inline-block;margin-left:14px;padding-left:14px;border-left:1px solid #c8d0c1;font-size:11px}.toolbar{display:flex;gap:8px;align-items:center}.tool-button{font-size:13px;white-space:nowrap;padding:11px 15px;border-radius:8px}.tool-button:hover{background:#e4e8dd}.icon-button{min-width:40px;height:40px;display:grid;place-items:center;border-radius:9px;font-size:28px}.icon-button:hover{background:#e4e8dd}.lesson-shell{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:1680px;padding:19px clamp(24px,4vw,70px) 14px;margin:0 auto}.lesson-context{display:flex;align-items:center;justify-content:space-between;padding:0 4px 13px;min-height:27px;gap:15px;color:var(--muted);font-size:11px;letter-spacing:.4px}.chapter-no{font:italic 15px Georgia,serif;color:var(--rust);margin-right:10px}#pageDuration{white-space:nowrap}.lesson-page{flex:1;min-height:0;overflow:auto;scrollbar-color:#bdc5b5 transparent;scrollbar-width:thin;scroll-behavior:auto;border:1px solid #e0dfd3;background:var(--white);border-radius:var(--radius);padding:clamp(25px,3vw,48px);box-shadow:var(--shadow);position:relative}.lesson-page:focus{outline:none}.lesson-page:focus-visible{outline:2px solid #adbca4;outline-offset:3px}.lesson-footer{max-width:1680px;width:100%;padding:0 clamp(24px,4vw,70px) 17px;margin:0 auto;display:flex;gap:32px;align-items:center;flex-shrink:0;min-height:76px}.page-button{min-width:145px;min-height:48px;padding:11px 19px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:14px;white-space:nowrap}.previous{border:1px solid #cbd3c4}.next{background:var(--forest);color:#fffdf7}.page-button>span:first-child:last-child{max-width:100%}.course-progress{flex:1;max-width:650px;margin:auto;min-width:0}.progress-caption{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-bottom:10px}.keyboard-note{font-size:10px;white-space:nowrap;color:#6f776d}.progress-track{height:3px;border-radius:3px;overflow:hidden;background:#dce0d3}.progress-track span{display:block;height:100%;background:var(--forest);transition:width .18s ease}.eyebrow{display:flex;gap:10px;align-items:center;color:var(--rust);font-size:11px;letter-spacing:1px;margin-bottom:11px}.eyebrow:before{content:"";height:6px;width:6px;background:var(--rust);border-radius:50%}.heading{margin-bottom:24px}.heading h1{font-size:clamp(27px,2.5vw,42px);line-height:1.35;letter-spacing:-1px;font-weight:700}.heading .intro{font-size:15px;color:var(--muted);line-height:1.8;margin-top:12px;max-width:900px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(20px,3vw,42px);align-items:start}.split.even{grid-template-columns:1fr 1fr}.split.wide-right{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr)}.split>*{min-width:0}.stack>*+*{margin-top:16px}.art-frame{border-radius:15px;overflow:hidden;aspect-ratio:3/2;background:#e7e6d5;position:relative}.art-frame.tall{aspect-ratio:1.24}.art-frame.wide{aspect-ratio:2.1}.art-frame img{object-position:center}.art-caption{font-size:11px;line-height:1.75;color:var(--muted);margin-top:9px}.art-badge{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:9px 13px;border-radius:7px;background:#fffdf5ed;font-size:12px;box-shadow:0 4px 20px #172d2312}.label{font-size:11px;color:var(--rust);letter-spacing:.7px;display:block;margin-bottom:10px}.text-small{font-size:12px;color:var(--muted);line-height:1.8}.text-medium{font-size:14px;line-height:1.9}.note{padding:14px 18px;border-left:3px solid #b8c5aa;background:#f2f4eb;font-size:13px;line-height:1.85;border-radius:0 8px 8px 0}.note.warm{border-color:#c7805e;background:#f8eee1}.footnote{font-size:11px;color:var(--muted);line-height:1.8;margin-top:18px}.button{min-height:44px;padding:12px 20px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600}.primary{background:var(--forest);color:#fffdf7}.accent{background:var(--rust);color:#fffdf7}.secondary{background:var(--white);border:1px solid #cbd4c4}.link-button{font-size:12px;color:var(--forest);padding:10px 0;text-decoration:underline;text-underline-offset:5px}.button-row{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-top:18px}.cover{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.3fr);gap:45px;align-items:center;min-height:100%}.cover h1{font-size:clamp(37px,4.1vw,66px);line-height:1.25;letter-spacing:-2px;margin:22px 0}.cover h1 em{font-style:normal;color:var(--rust)}.cover .cover-desc{max-width:370px;color:var(--muted);font-size:16px;line-height:1.95}.cover-info{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:22px}.cover-info span{display:flex;gap:7px;align-items:center}.cover-info .icon{width:15px;height:15px}.cover-art{position:relative}.cover-art .art-frame{aspect-ratio:1.3;border-radius:60% 60% 18px 18px / 28% 28% 18px 18px}.cover-book{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:15px 0 0;margin-top:17px}.cover-book .icon{color:var(--rust);width:31px;height:31px}.cover-book strong{font-size:15px;font-weight:600}.cover-book small{display:block;margin-top:6px;font-size:10px;color:var(--muted)}.resume-row{margin-top:10px}.resume-row button{font-size:12px;color:var(--forest);text-decoration:underline;text-underline-offset:4px}.cover-stamp{position:absolute;top:0;right:-14px;z-index:1;display:grid;place-items:center;background:var(--ochre);width:75px;height:75px;border-radius:50%;font-size:12px;line-height:1.6;transform:rotate(9deg);text-align:center;box-shadow:0 3px 20px #3a342019}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.situation-choice{background:#f5f5ed;border:1px solid #e1e5d9;border-radius:11px;padding:18px;text-align:left;min-height:132px}.situation-choice .icon{color:var(--rust);margin-bottom:14px}.situation-choice strong{font-size:15px;line-height:1.55;display:block}.situation-choice small{display:block;font-size:12px;color:var(--muted);margin-top:8px;line-height:1.8}.situation-choice.selected{background:#e6eddf;border-color:#6c8b6c}.feedback{border-radius:9px;padding:15px 18px;background:#e9efdf;border:1px solid #d7e1cc;font-size:13px;line-height:1.9;margin-top:16px}.feedback.consider{background:#f7eddf;border-color:#eadcc7}.feedback strong{font-weight:600}.question{font-size:17px;line-height:1.65;font-weight:600;margin-bottom:15px}.scene-text{font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-size:22px;line-height:1.95;letter-spacing:.3px}.read-route{display:flex;margin-top:25px;border-top:1px solid var(--line);padding-top:18px;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.read-route b{color:var(--forest);font-weight:600}.read-route span{color:#abb69f}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.pill-button{padding:10px 15px;background:#f1f2e8;border:1px solid #dfe3d5;border-radius:8px;font-size:12px;line-height:1.5}.pill-button.active{background:var(--forest);border-color:var(--forest);color:#fffdf7}.say{position:relative;padding:22px 24px;border-radius:14px;background:var(--sage)}.say .label{color:#66795d}.say blockquote{font-size:23px;line-height:1.85;font-family:"Noto Serif SC","Songti SC",SimSun,serif}.say .speech-after{font:13px/1.9 "Microsoft YaHei",sans-serif;color:var(--muted);margin-top:13px;border-top:1px solid #cfd9c5;padding-top:12px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:13px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.steps li:last-child{border-bottom:0}.step-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;font:italic 16px Georgia,serif;border:1px solid #cdd6c6;border-radius:50%;color:var(--forest)}.steps strong{display:block;font-size:14px;line-height:1.6}.steps p{font-size:12px;color:var(--muted);margin-top:5px}.page-samples{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sample-choice{padding:0;text-align:left;min-width:0;border:1px solid #dedfd1;border-radius:13px;overflow:hidden;background:#fffef9}.sample-choice.selected{border:2px solid #6b8d6a}.sample-art{height:168px;background:#e8ecdf;position:relative;overflow:hidden;display:grid;place-items:center}.sample-art.timeline{background:#eee5d5}.mini-timeline{width:80%;display:flex;justify-content:space-between;position:relative;gap:6px}.mini-timeline:before{content:"";position:absolute;height:1px;background:#a28d68;left:0;right:0;top:29px}.mini-timeline span{font-size:15px;font-family:SimSun,serif;background:#eee5d5;position:relative;padding:15px 9px;border:1px solid #b8a078;writing-mode:vertical-rl;border-radius:20px;min-height:62px}.sample-art .icon{width:70px;height:70px;stroke-width:1}.sample-copy{padding:18px}.sample-copy small{font-size:10px;color:var(--rust)}.sample-copy strong{font-size:16px;display:block;margin:9px 0;line-height:1.7}.sample-copy p{font-size:12px;color:var(--muted)}.selection-row{display:flex;gap:10px;align-items:center;font-size:12px;margin-top:16px;color:var(--forest)}.selection-circle{height:19px;width:19px;display:grid;place-items:center;border:1px solid #a2b49a;border-radius:50%;font-size:11px}.sample-choice.selected .selection-circle{background:var(--forest);color:white}.book-detail{position:absolute;bottom:12px;left:12px;background:#fff8edeb;padding:7px 10px;border-radius:5px;font-size:10px}.people-mini{display:flex;gap:13px;align-items:center}.person-symbol{display:flex;flex-direction:column;align-items:center;gap:4px}.person-symbol:before{content:"";display:block;width:24px;height:24px;background:#aebd98;border:2px solid #71855c;border-radius:50%}.person-symbol:after{content:"";display:block;width:39px;height:30px;border-radius:20px 20px 7px 7px;background:#aebd98;border:2px solid #71855c}.person-symbol:nth-child(even):before,.person-symbol:nth-child(even):after{background:#ddbc8a;border-color:#a17c4f}.question-pills{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.question-pills .pill-button{text-align:left}.follow-up{padding:14px 0 0;font-size:14px;line-height:1.9}.practice-box{margin-top:18px;border-top:1px solid var(--line);padding-top:17px}.field-label{display:block;font-size:12px;line-height:1.7;font-weight:600;margin:0 0 8px}textarea,input[type=text],input[type=number]{background:#fffef9;border:1px solid #cdd5c4;border-radius:8px;padding:12px;width:100%;font-size:13px;line-height:1.7;resize:vertical}textarea{min-height:73px;max-height:180px}input[type=text]{height:44px}.field-help{font-size:10px;color:var(--muted);margin-top:7px;line-height:1.8}.source-note{margin-top:20px;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted)}.source-note summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;line-height:1.8;color:var(--forest)}.source-note summary:before{content:"+";font-size:16px}.source-note[open] summary:before{content:"−"}.source-note .source-content{max-width:950px;font-size:12px;line-height:1.9;margin:12px 0 0 22px}.source-content a{display:inline-block;margin-top:8px}.child-line{font:26px/1.6 "Songti SC",SimSun,serif;background:var(--white);padding:14px 20px;border:1px solid #d8dfce;border-radius:13px;position:relative;margin:-34px 20px 16px;box-shadow:0 8px 20px #29453709}.option-list{display:grid;gap:10px}.option{width:100%;padding:14px 17px;border:1px solid #dcdfd1;background:#f8f8f0;border-radius:9px;display:flex;gap:13px;text-align:left;font-size:13px;line-height:1.85;align-items:flex-start}.option-key{height:23px;width:23px;border:1px solid #d0d8c5;border-radius:50%;font:12px/21px Georgia,serif;text-align:center;flex-shrink:0;margin-top:1px}.option.selected{background:#e4eddb;border-color:#8ca27d}.option.selected .option-key{background:var(--forest);color:white;border-color:var(--forest)}.wait-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.wait-ring{width:160px;height:160px;border:1px solid #becbb2;border-radius:50%;display:grid;place-items:center;margin:18px auto;background:radial-gradient(circle,#f9fbf1 52%,#e9efdf 53%);outline:7px solid #f0f3e7}.wait-ring strong{font:italic 66px Georgia,serif;color:var(--forest)}.wait-widget{text-align:center;padding:15px}.wait-widget p{font-size:12px;color:var(--muted)}.waiting-image{aspect-ratio:2.1;margin-top:20px}.seating-board{background:#eaf0e2;border:1px solid #d4dfc9;padding:24px;border-radius:15px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.seating-title{font-size:12px;color:#677b5b;text-align:center;letter-spacing:1px}.seating-pairs{display:flex;justify-content:space-around;gap:20px;align-items:center;margin:23px 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}.pair:after{content:"↔";position:absolute;left:calc(50% - 9px);bottom:35px;color:#718861;font-size:18px}.pair .person-symbol{transform:scale(.9)}.desk{grid-column:1/-1;background:#f7f5df;border:1px solid #bcbd94;padding:10px;border-radius:8px;display:flex;justify-content:center}.desk .icon{width:26px;height:26px;color:#71805b}.diagram-caption{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.diagram-caption span{font-size:11px;background:#fffdf7ad;border-radius:6px;padding:8px 11px}.drawing-modes{display:flex;justify-content:space-around;gap:10px;margin:32px 0}.drawing-modes span{background:#fffdf8;padding:20px;border-radius:14px;display:flex;gap:15px;flex-direction:column;align-items:center;font-size:12px}.drawing-modes .icon{height:38px;width:38px}.free-books{display:flex;align-items:flex-end;justify-content:center;gap:12px;padding:27px 0}.book-shape{display:grid;place-items:center;width:62px;height:90px;background:#607e60;color:#fffdf2;border-radius:3px 8px 8px 3px;border-left:5px solid #446342;transform:rotate(-8deg);font:16px SimSun,serif}.book-shape:nth-child(2){background:#c3835d;transform:rotate(5deg);height:105px;border-left-color:#a86a4a}.book-shape:nth-child(3){background:#a99d6b;transform:rotate(-4deg);border-left-color:#8b8354}.sort-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.sort-card{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #d6dfca;border-radius:10px;background:#f4f6ed}.sort-card .order-number{font:italic 23px Georgia,serif;color:#8b9b7b}.sort-card strong{font-size:14px;flex:1}.sort-actions{display:flex;gap:6px}.sort-actions button{border:1px solid #c7d3bb;border-radius:5px;width:31px;height:31px;background:#fffdf7;font-size:17px}.time-plan{background:#e8eedf;border-radius:14px;padding:24px}.big-time{display:flex;align-items:baseline;gap:10px;justify-content:center;margin:10px 0 24px;font-size:15px}.big-time strong{font:italic 90px/.9 Georgia,serif;color:var(--forest)}.time-bars{display:flex;border-radius:9px;overflow:hidden}.time-bars span{padding:24px 9px;text-align:center;font-size:12px;background:#668467;color:white;line-height:1.8;min-width:0}.time-bars span:nth-child(2){background:#9caa79;color:#243c2e}.time-bars span:nth-child(3){background:#e2bb79;color:#564321}.time-bars b{display:block;font-size:22px;font-family:Georgia,serif;font-weight:400}.case-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.case-pills button{text-align:left}.case-observation{font-size:14px;line-height:1.9;margin:15px 0}.dialogue-banner{display:flex;gap:20px;padding:13px;background:#f2f2e8;border-radius:12px;align-items:center;margin-bottom:20px}.dialogue-banner img{height:90px;width:155px;border-radius:7px;flex-shrink:0}.dialogue-banner p{font-size:13px;color:var(--muted)}.dialogue-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialogue-card{padding:18px 20px;border:1px solid #d8dfcd;border-radius:12px;background:#f6f8ef}.dialogue-card header{display:flex;gap:9px;align-items:center;margin-bottom:13px}.dialogue-card header span{font:italic 20px Georgia,serif;color:var(--rust)}.dialogue-card header strong{font-size:12px;font-weight:600}.dialogue-line{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.85}.dialogue-line+.dialogue-line{margin-top:10px}.dialogue-line small{flex-shrink:0;color:#718268;font-size:10px;width:35px;padding-top:2px}.dialogue-line.child{color:#8d5037}.dialogue-card details{margin-top:12px;border-top:1px solid #dae2ce;padding-top:11px;font-size:11px;line-height:1.8;color:var(--muted)}.dialogue-card summary{cursor:pointer;color:var(--forest)}.role-labels{display:flex;justify-content:space-between;font-size:11px;padding:11px 10px;color:var(--forest);gap:8px}.role-labels span{background:#e8eddf;padding:7px 15px;border-radius:20px}.practice-timing{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:15px}.practice-timing span{background:#f0f1e5;padding:11px 5px;text-align:center;font-size:10px;line-height:1.9;border-radius:5px}.practice-timing b{display:block;font-size:12px;font-weight:600}.check-list{display:grid;gap:12px;margin:16px 0}.check-row{display:flex;align-items:flex-start;gap:10px;line-height:1.8;font-size:13px}.check-row input{accent-color:var(--forest);width:17px;height:17px;margin:3px 0 0;flex-shrink:0}.observation-note{font-size:15px;font-family:SimSun,serif;line-height:2;padding:18px 20px;border-radius:12px;background:#f4ead7;margin-top:15px}.reflection-list{list-style:none;margin:0;padding:0}.reflection-list li{font-size:14px;padding:14px 0;line-height:1.9;border-bottom:1px solid #dae0ce}.reflection-list li:before{content:"·";font-size:24px;color:var(--rust);vertical-align:middle;margin-right:10px}.action-paper{border:1px solid #dddcca;border-radius:3px 16px 16px 3px;box-shadow:5px 5px 0 #eae9dd;padding:22px;background:#fffdf6}.action-paper textarea{min-height:88px}.action-paper .field-label:not(:first-child){margin-top:14px}.saved-status{font-size:11px;line-height:1.8;color:var(--muted);margin-top:13px}.end-note{font-family:SimSun,serif;font-size:24px;line-height:1.85;margin-top:22px;max-width:500px}.finish-tag{display:inline-flex;gap:7px;align-items:center;border:1px solid #a8bb98;border-radius:20px;color:#526b42;padding:7px 13px;font-size:11px;margin-top:17px}.empty-feedback{padding:18px;border:1px dashed #c4cfb8;border-radius:8px;font-size:13px;line-height:1.9;color:var(--muted);margin-top:16px}
dialog{width:min(860px,calc(100vw - 48px));max-height:86dvh;padding:0;border:1px solid #dbe1ce;border-radius:18px;color:var(--ink);background:var(--white);box-shadow:0 30px 100px #142b2750}dialog::backdrop{background:#1b30295e;backdrop-filter:blur(4px)}.dialog-header{position:sticky;top:0;padding:23px 28px 17px;background:var(--white);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e3d6;z-index:2;gap:16px}.dialog-header h2{font-size:23px;line-height:1.5}#dialogBody{padding:22px 28px}.dialog-footer{display:flex;align-items:center;gap:15px;padding:15px 28px;border-top:1px solid #e1e4d7;background:#f7f8ee;position:sticky;bottom:0}.dialog-footer span{font-size:11px;color:var(--muted)}.catalogue-intro{font-size:13px;color:var(--muted);margin-bottom:20px}.catalogue-group{margin:20px 0}.catalogue-group h3{font-size:12px;color:var(--muted);font-weight:400;margin:0 0 9px}.catalogue-pages{display:grid;gap:5px}.catalogue-page{display:flex;gap:14px;text-align:left;align-items:center;width:100%;padding:12px 15px;border-radius:8px;font-size:13px}.catalogue-page:hover{background:#f0f3e8}.catalogue-page.current{background:var(--sage);font-weight:600}.catalogue-page .index{color:var(--rust);font:italic 16px Georgia,serif;width:22px}.catalogue-page .duration{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.prose{font-size:14px;line-height:1.9}.prose h3{font-size:16px;margin:21px 0 8px}.prose p{margin-bottom:12px}.prose a{overflow-wrap:anywhere}.resource-list{display:grid;gap:14px}.resource-item{border:1px solid #e0e3d5;border-radius:11px;padding:19px 20px}.resource-item h3{font-size:16px;margin-bottom:7px}.resource-item p{font-size:12px;color:var(--muted);line-height:1.8}.resource-item .button-row{margin-top:10px}.resource-item .button{min-height:38px;padding:9px 14px;font-size:12px}.reference-list{margin-top:20px}.reference-list details{border-top:1px solid #e0e3d5;padding:16px 0;font-size:12px;line-height:1.9}.reference-list summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--forest)}.reference-list p{margin:10px 0}.reference-list a{overflow-wrap:anywhere}.timer-choices{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.timer-choices button{border:1px solid #cbd7bc;border-radius:7px;padding:12px 19px}.reset-section{margin-top:25px;border-top:1px solid #e1e4d5;padding-top:18px;color:var(--muted);font-size:11px}.floating-timer{position:fixed;right:clamp(20px,4vw,70px);bottom:96px;background:var(--forest);color:#fffdf7;padding:13px 17px;border-radius:13px;box-shadow:0 12px 40px #17362940;display:flex;gap:14px;align-items:center;z-index:20}.floating-timer[hidden]{display:none}.floating-timer span{font-size:11px;max-width:140px;line-height:1.7}.floating-timer strong{font:26px Georgia,serif}.floating-timer button{font-size:12px;color:#fffdf7;border:1px solid #789181;border-radius:5px;padding:6px 10px}.floating-timer.finished{background:#8e5439}.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%,15px);background:#263e35;color:white;border-radius:8px;padding:13px 20px;font-size:12px;max-width:85vw;text-align:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}#printArea{display:none}[hidden]{display:none!important}
@media(min-width:1650px){.lesson-page{padding:45px 58px}.heading{margin-bottom:29px}.intro{max-width:1000px}.say blockquote{font-size:27px}.text-medium{font-size:16px}.option{font-size:15px;padding:17px 20px}.steps p{font-size:14px}.art-caption{font-size:12px}}
@media(max-width:1150px){.topbar{height:68px;padding:0 24px}.course-name{display:none}.lesson-shell{padding:13px 24px 12px}.lesson-footer{padding:0 24px 13px;gap:20px}.lesson-page{padding:26px}.heading h1{font-size:30px}.heading{margin-bottom:20px}.heading .intro{font-size:13px}.cover{gap:24px}.cover h1{font-size:42px}.cover .cover-desc{font-size:14px}.cover-stamp{width:60px;height:60px;font-size:10px;right:-8px}.split{gap:23px}.say{padding:18px 20px}.say blockquote{font-size:21px}.sample-art{height:133px}.situation-choice{min-height:115px;padding:15px}.situation-choice strong{font-size:13px}.situation-choice small{font-size:11px}.scene-text{font-size:20px}.seating-pairs{gap:7px}.pair{gap:6px}.person-symbol:after{width:31px}.role-labels span{padding:6px 9px}.page-button{min-width:125px}.wait-ring{width:135px;height:135px}.wait-layout{gap:18px}.diagram-caption span{font-size:10px;padding:7px}.drawing-modes span{padding:15px}.dialogue-line{font-size:12px}.case-pills{gap:6px}.case-pills button{font-size:11px;padding:9px}}
@media(max-height:760px) and (min-width:900px){.topbar{height:64px}.lesson-shell{padding-top:12px}.lesson-context{padding-bottom:9px;min-height:24px}.lesson-page{padding:25px 31px}.heading{margin-bottom:19px}.heading h1{font-size:30px}.heading .intro{margin-top:8px;font-size:13px}.cover h1{font-size:43px;margin:17px 0}.cover .cover-desc{font-size:14px}.cover-art{max-width:600px;margin-left:auto}.cover-art .art-frame{aspect-ratio:1.65}.cover-book{margin-top:13px;padding-top:12px}.cover-info{margin-top:17px}.lesson-footer{min-height:64px;padding-bottom:10px}.page-button{min-height:43px}.art-frame.tall{aspect-ratio:1.55}.art-frame{aspect-ratio:1.65}.sample-art{height:133px}.sample-copy{padding:15px}.say blockquote{font-size:21px}.source-note{margin-top:14px;padding-top:9px}.wait-ring{margin:10px auto;width:125px;height:125px}.wait-ring strong{font-size:50px}.waiting-image{aspect-ratio:2.7}.situation-choice{min-height:110px;padding:14px}.situation-choice .icon{margin-bottom:9px}.dialogue-banner img{height:65px;width:120px}.dialogue-card{padding:14px 16px}.dialogue-card header{margin-bottom:9px}.dialogue-line+.dialogue-line{margin-top:7px}.practice-timing{margin-top:9px}.check-list{gap:8px}.observation-note{margin-top:12px;padding:13px 16px}.action-paper{padding:19px}.floating-timer{bottom:80px}}
@media(max-width:760px){.topbar{height:63px;padding:0 14px;gap:10px}.brand{font-size:15px;gap:8px}.brand small{font-size:8px;letter-spacing:0}.brand-icon{width:33px;height:33px}.brand-icon .icon{width:22px;height:22px}.toolbar{gap:0}.tool-button{font-size:10px;padding:9px}.icon-button{min-width:33px;width:33px;height:33px}.lesson-shell{padding:10px 12px}.lesson-context{font-size:9px;padding-bottom:9px}.lesson-page{padding:24px 20px;border-radius:14px}.heading h1{font-size:26px;letter-spacing:-.6px}.heading .intro{font-size:12px}.split,.split.even,.split.wide-right,.cover{grid-template-columns:1fr;gap:24px}.cover h1{font-size:40px}.cover .cover-desc{max-width:100%;font-size:14px}.cover-art .art-frame{aspect-ratio:1.7}.cover-stamp{width:55px;height:55px}.cover-book{margin-top:13px}.cover-info{margin-top:15px}.cover-art{margin-top:3px}.lesson-footer{gap:13px;padding:0 12px 12px;min-height:65px}.page-button{min-width:89px;min-height:42px;font-size:12px;gap:8px;padding:10px}.keyboard-note{display:none}.progress-caption{font-size:10px;line-height:1.5;justify-content:center;text-align:center;margin-bottom:6px}#pageLabel{white-space:nowrap}.art-frame,.art-frame.tall{aspect-ratio:1.75}.source-note{font-size:10px}.source-note .source-content{font-size:11px}.page-samples{gap:11px;grid-template-columns:1fr}.sample-choice{display:grid;grid-template-columns:135px 1fr}.sample-art{height:100%;min-height:130px}.sample-copy{padding:14px}.sample-copy strong{font-size:14px;margin:5px 0}.sample-copy p{font-size:11px}.selection-row{margin-top:9px}.mini-timeline{width:90%;gap:0}.mini-timeline span{padding:11px 7px;font-size:12px}.wait-layout{gap:13px;grid-template-columns:1fr}.wait-widget{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:22px}.wait-widget .wait-ring{width:110px;height:110px;margin:8px}.wait-widget .wait-ring strong{font-size:48px}.wait-widget p{width:100%}.waiting-image{margin-top:4px}.seating-board{min-height:260px;padding:18px}.pair .person-symbol{transform:scale(.85)}.dialogue-grid{grid-template-columns:1fr}.dialogue-banner{gap:13px}.dialogue-banner p{font-size:11px}.dialogue-banner img{width:90px;height:80px}.dialogue-card{padding:18px}.dialogue-line{font-size:13px}.dialogue-card details{font-size:12px}.role-labels{font-size:10px}.floating-timer{right:12px;bottom:83px;padding:10px 13px;gap:11px}.floating-timer strong{font-size:22px}.floating-timer span{max-width:90px;font-size:10px}.floating-timer button{padding:5px 8px;font-size:11px}.toast{bottom:84px;font-size:11px}dialog{width:calc(100vw - 24px);max-height:88dvh;border-radius:13px}.dialog-header{padding:17px 19px}.dialog-header h2{font-size:20px}#dialogBody{padding:19px}.dialog-footer{padding:12px 19px}.dialog-footer span{font-size:10px}.catalogue-page{font-size:12px;padding:11px 8px;gap:10px}.resource-item{padding:16px}.art-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{body{display:block;height:auto;overflow:visible;background:#fff}body>*{display:none!important}body #printArea{display:block!important;color:#222;font:12px/1.9 "Microsoft YaHei",sans-serif}#printArea h1{font-size:24px;margin:0 0 15px}#printArea h2{font-size:18px;margin:22px 0 10px}#printArea h3{font-size:14px;margin:16px 0 8px}#printArea p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0}#printArea table{border-collapse:collapse;width:100%;font-size:11px}#printArea th,#printArea td{border:1px solid #ccc;padding:7px;text-align:left}#printArea section{break-inside:avoid}#printArea .blank{height:50px;border-bottom:1px solid #bbb}#printArea .small{font-size:10px}@page{size:A4;margin:15mm}}
#pageLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-progress{overflow:hidden}
