:root{color-scheme:light;--paper:#f7f5ee;--ink:#243e35;--muted:#617361;--jade:#315a47;--line:#d4dccd;--soft:#eaf0e4;--warm:#faf0df;--red:#935b30;font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:1px solid transparent;background:none;min-height:44px;padding:10px 14px;border-radius:7px;transition:background .15s}button:hover:not(:disabled){background:#e7ecdf}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #aa873e;outline-offset:3px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Songti SC',serif;font-weight:400}p{line-height:1.75}h1{font-size:clamp(30px,3.7vw,52px);line-height:1.16}h2{font-size:26px;line-height:1.35}h3{font-size:21px}small{font-size:12px}button.primary{background:var(--jade);color:#fffdf3;border-color:var(--jade);padding:13px 23px}button.primary:hover:not(:disabled){background:#234635}button.secondary{border-color:var(--line)}.skip{position:absolute;top:-80px;left:15px;padding:15px;background:white;z-index:20}.skip:focus{top:10px}.header{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-align:left;padding:0}.seal{display:grid;place-items:center;background:#a45a40;color:#fff4e6;width:43px;height:48px;font:31px 'Songti SC',serif;border-radius:4px;transform:rotate(-3deg)}.brand b{display:block;font:27px 'Songti SC',serif;letter-spacing:5px}.brand small{font-size:9px;letter-spacing:1.3px;display:block;margin-top:4px;color:var(--muted)}nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}nav button{font-size:13px}#review-count{background:var(--soft);padding:3px 6px;border-radius:12px}#sound[aria-pressed=false]{color:var(--muted)}main{max-width:1280px;margin:auto;padding:28px 40px 55px;min-height:70vh}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--muted);text-transform:uppercase;margin-bottom:18px}.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:45px;align-items:center;padding:28px 0 40px}.hero h1 em{display:block;color:#718464;font-weight:400}.hero p:not(.eyebrow){margin:23px 0;max-width:450px;font-size:15px;color:var(--muted)}.hero img{width:100%;display:block;border-radius:100px 10px 10px 10px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.meta{font-size:12px;color:var(--muted);margin-top:18px}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.how p{font-size:13px;color:var(--muted);margin-top:10px}.lesson-list{margin-top:32px}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.section-heading small{color:var(--muted)}.lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lesson{border:1px solid var(--line);border-radius:10px;padding:20px;text-align:left;background:#f0f1e7;display:flex;gap:18px;align-items:center}.lesson>span{font:40px 'Songti SC',serif}.lesson strong{display:block;font-weight:500}.lesson small{display:block;margin-top:7px;color:var(--muted)}.lesson button{margin-left:auto}.play-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;margin-bottom:10px}.counter{white-space:nowrap;font-variant-numeric:tabular-nums}.track{display:flex;gap:5px;margin-bottom:26px}.track span{height:4px;background:#dfe5d5;flex:1}.track span.done{background:#9cb58b}.track span.active{background:var(--jade)}.track span:nth-child(13){margin-left:10px}.question{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:34px;align-items:start}.scene{overflow:hidden;background:#eaeedf;border-radius:9px}.scene img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}.scene figcaption{padding:19px 22px}.scene figcaption small{letter-spacing:1.2px;color:var(--muted)}.scene figcaption p{font:19px/1.55 Georgia,'Songti SC',serif;margin-top:8px}.scene-foot{font-size:12px;margin-top:12px;color:var(--muted)}.challenge .eyebrow{margin:0 0 14px}.question-title{font:22px/1.55 Georgia,'Songti SC',serif;margin:14px 0 20px;scroll-margin-top:20px}.puzzle{display:flex;align-items:center;gap:12px;font:64px/1.2 'Songti SC',serif;margin:10px 0}.puzzle .gap{border:2px dashed #8ca47d;border-radius:7px;min-width:55px;text-align:center;color:#6f8962;font-size:44px;padding:9px 2px}.puzzle .plus{font:23px Arial;color:#7c8e74}.puzzle.solved{color:var(--jade)}.puzzle-note{color:var(--muted);font-size:12px;margin-bottom:15px}.answers{display:grid;gap:10px}.answer-row{border:1px solid #bdcbb5;background:#fcfbf6;border-radius:9px;overflow:hidden}.answer-row .select{width:100%;display:flex;align-items:center;gap:15px;text-align:left;border-radius:0;min-height:62px;padding:13px 17px}.letter{font:italic 14px Georgia;color:var(--muted);width:20px;flex-shrink:0}.hanzi{font:28px 'Songti SC',serif}.word-choice .pinyin{font-size:13px;color:var(--muted);margin-left:auto}.glyph-row{display:grid;grid-template-columns:1fr auto;align-items:center}.glyph-row .select{min-height:68px}.meaning-toggle{font-size:12px;border-left:1px solid var(--line);border-radius:0;min-width:90px;margin:8px 0}.answer-row.selected{border:2px solid var(--jade);background:#e9efe0}.answer-row.correct{border-color:#4d8054;background:#e5efdf}.answer-row.wrong{border-color:#aa7745;background:var(--warm)}.answer-row .select:disabled{opacity:1}.meaning{padding:14px 17px;border-top:1px solid var(--line);background:#edf1e6;font-size:13px;line-height:1.65}.meaning p{margin-top:5px}.meaning .caution{color:var(--muted);margin-top:9px;font-size:12px}.meaning-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.meaning-title b{font-weight:500}.meaning-title small{color:var(--muted)}.component-guide{margin-bottom:18px}.component-guide .guide-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.guide-heading>span{font:33px 'Songti SC',serif}.guide-heading button{font-size:12px;border:1px solid var(--line)}.guide-heading small{color:var(--muted)}.assist-note{font-size:12px;color:var(--muted);margin-top:11px}.check{width:100%;margin-top:16px}.text-button{font-size:13px;text-decoration:underline;text-underline-offset:3px}.help-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.feedback{margin-top:20px;border:1px solid #cbd9bf;background:#eef3e8;border-radius:10px;padding:20px}.feedback.wrong{background:var(--warm);border-color:#dfc7a8}.feedback.neutral{background:#f0f0e7}.feedback-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}.feedback h3{font-size:22px}.feedback p{font-size:14px}.result-symbol{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--jade);color:#fff;position:relative;flex-shrink:0;font-size:29px}.wrong .result-symbol{background:#996a36}.spark{position:absolute;font-size:15px;opacity:0;color:#648754}.spark:nth-child(2){left:-11px;top:-9px;--dx:-13px;--dy:-13px}.spark:nth-child(3){right:-11px;top:-9px;--dx:13px;--dy:-13px}.spark:nth-child(4){right:-11px;bottom:-9px;--dx:13px;--dy:13px}.animate-correct .result-symbol{animation:pop .55s ease-out}.animate-correct .spark{animation:spark .8s ease-out}.animate-wrong .result-symbol{animation:wiggle .4s ease-in-out}@keyframes pop{0%{transform:scale(.6)}55%{transform:scale(1.16)}100%{transform:scale(1)}}@keyframes spark{0%{opacity:0;transform:scale(.5)}25%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy))}}@keyframes wiggle{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}.word-card{border-top:1px solid var(--line);padding-top:15px;margin-top:15px;display:flex;align-items:center;gap:13px}.word-card .word{font:33px 'Songti SC',serif}.word-card small{display:block;color:var(--muted)}.word-card button{margin-left:auto;font-size:13px}.comparison{margin:16px 0;font-size:13px;padding:0;list-style:none}.comparison li{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #dbe3d2}.comparison b{font-weight:500}.comparison span{color:var(--muted)}.example{padding-top:8px;color:#526d4c}.summary{max-width:880px;margin:25px auto}.summary h1{margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0}.stat{background:var(--soft);border-radius:10px;padding:22px}.stat strong{font:35px Georgia;display:block}.stat span{font-size:13px;line-height:1.5;display:block;margin-top:9px}.fine-print{font-size:13px;color:var(--muted)}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:22px 25px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:16px;padding:25px;background:var(--paper);color:var(--ink);width:min(640px,calc(100% - 30px));max-height:85vh}dialog::backdrop{background:#172a225c}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.dialog-head button{font-size:26px}.note{border-top:1px solid var(--line);padding:18px 0;display:flex;align-items:start;gap:17px}.note .glyph{font:40px 'Songti SC',serif}.note p{font-size:14px}.note small{color:var(--muted)}.review-item{padding:16px 0;border-top:1px solid var(--line)}.review-item .tag{font-size:12px;color:var(--muted)}.review-item p{font-size:14px;margin:7px 0}.review-item button{font-size:13px}#notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--jade);color:white;border-radius:9px;padding:13px 20px;max-width:calc(100% - 30px);z-index:30;font-size:13px;box-shadow:0 6px 20px #0002}[hidden]{display:none!important}
@media(max-width:900px){.header{padding:20px 24px;gap:14px}nav{gap:0}nav button{font-size:12px;padding:8px 10px}main{padding:23px 24px 40px}.hero{gap:24px}.question{gap:23px}.question-title{font-size:20px}.word-choice .select{flex-wrap:wrap;gap:8px}.word-choice .pinyin{margin-left:28px}.lessons{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.header{flex-wrap:wrap;padding:16px 20px}.brand small{font-size:8px}nav{width:100%;justify-content:space-between}nav button{font-size:12px;padding:8px}.hero{display:flex;flex-direction:column-reverse;gap:26px;padding-top:5px}.hero img{border-radius:55px 8px 8px 8px;max-height:310px;object-fit:cover}.hero h1{font-size:39px}.hero p:not(.eyebrow){margin:15px 0}.how{grid-template-columns:1fr;gap:22px}.how h3{font-size:23px}.how p{margin-top:5px}.lessons{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.question{grid-template-columns:1fr;gap:22px}.scene figcaption{padding:13px 17px}.scene figcaption p{font-size:17px}.scene-foot{display:none}.question-title{font-size:22px}.play-top{font-size:12px}.play-top>span:nth-child(2){display:none}.track{margin-bottom:18px}.word-choice .pinyin{margin-left:auto}.stats{gap:8px}.stat{padding:16px 10px}.stat strong{font-size:29px}.stat span{font-size:12px}main{padding:18px 18px 35px}.summary{margin-top:10px}.summary h1{font-size:35px}.feedback{padding:17px}.word-card{flex-wrap:wrap}.word-card .word{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* History stays separate from the active learning record. */
.lookback-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:17px 20px;margin-bottom:22px}.lookback-bar b{font-weight:500}.lookback-bar p{font-size:12px;color:var(--muted);margin-top:5px}.lookback-actions{display:flex;gap:8px;flex-wrap:wrap}.lookback-actions button{font-size:12px}.play-top>button:disabled{opacity:.4}
@media(max-width:900px){.lookback-bar{align-items:flex-start;flex-direction:column}.header nav{justify-content:flex-start}}
@media(max-width:680px){.header nav{gap:2px}.header nav button{padding:8px;font-size:12px}.lookback-bar{padding:14px}.lookback-actions{width:100%}.lookback-actions button{flex:1 1 auto}}
.journey-intro{max-width:850px;margin:25px 0 35px}.journey-intro p:not(.eyebrow){margin-top:20px;color:var(--muted)}.journey-progress{margin-top:22px;padding:15px 20px;background:var(--soft);border-radius:9px;font-size:14px}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.chapter-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fcfbf6}.chapter-card.current{border-color:var(--jade)}.chapter-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.chapter-card>div{padding:23px}.chapter-card .eyebrow{margin-bottom:12px}.chapter-card h2{font-size:26px;min-height:70px}.chapter-card p:not(.eyebrow){font-size:13px;color:var(--muted);margin:13px 0;min-height:70px}.chapter-glyphs{font:23px 'Songti SC',serif;letter-spacing:1px}.chapter-card .actions{justify-content:space-between}.chapter-card button{padding:12px 16px;font-size:13px}.culture-note{font-size:14px;color:var(--muted);margin-top:25px;max-width:850px}.journey-end{border-top:1px solid var(--line);margin-top:32px;padding-top:28px}.journey-end p{margin-top:12px;color:var(--muted);font-size:14px}
.puzzle:not(.solved){width:148px;height:140px;position:relative;justify-content:center;gap:5px;font-size:66px;margin:16px 0}.puzzle .fixed{display:block}.puzzle .gap{min-width:46px;min-height:55px;padding:3px;font:38px/1.2 Arial}.puzzle.position-top,.puzzle.position-bottom{flex-direction:column;gap:2px}.puzzle.position-top .gap,.puzzle.position-bottom .gap{min-height:36px;width:110px;font-size:28px;line-height:1}.puzzle.position-top .fixed,.puzzle.position-bottom .fixed{line-height:1;font-size:65px}.puzzle.position-enclose .gap{position:absolute;inset:0;display:flex;justify-content:flex-start;align-items:flex-start;padding-left:7px;border-bottom:0}.puzzle.position-enclose .fixed{font-size:62px;margin-top:18px}.puzzle.position-upper-left .gap{position:absolute;inset:0;border-right:0;border-bottom:0;border-radius:0;padding:4px;font-size:28px;text-align:left}.puzzle.position-upper-left .fixed{padding:24px 0 0 27px}.puzzle.position-lower-left .gap{position:absolute;inset:0;border-top:0;border-right:0;border-radius:0;display:flex;align-items:flex-end;text-align:left;padding:4px;font-size:28px}.puzzle.position-lower-left .fixed{padding:0 0 20px 28px}.puzzle.position-inside .outer-fixed{font-size:141px;line-height:1;position:absolute;inset:0;text-align:center}.puzzle.position-inside .gap{position:relative;min-width:44px;min-height:45px;font-size:31px;margin-top:22px;background:var(--paper)}
@media(max-width:1000px){.header{flex-wrap:wrap}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.chapter-grid{grid-template-columns:1fr}.chapter-card h2,.chapter-card p:not(.eyebrow){min-height:0}.journey-intro h1{font-size:36px}.header nav{row-gap:3px}.chapter-card>div{padding:20px}.journey-progress{line-height:1.8}.hero h1{font-size:34px;overflow-wrap:anywhere}}
/* Language names are native; Chinese character assembly always keeps its physical orientation. */
.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}.language-picker{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:7px;padding-inline-start:10px;background:#fcfbf6;min-height:44px}.language-picker select{font:inherit;font-size:13px;color:var(--ink);background:transparent;border:0;min-height:44px;padding:8px 25px 8px 7px;max-width:145px;cursor:pointer}.language-picker select:focus-visible{outline:3px solid #aa873e;outline-offset:3px}.puzzle,[lang=zh],.pinyin,.counter,.stat strong,.track{direction:ltr;unicode-bidi:isolate}.puzzle{flex-direction:row}.puzzle.position-top,.puzzle.position-bottom{flex-direction:column}.chapter-card h2{overflow-wrap:anywhere}.word-card>div{min-width:0}.word-card b{direction:ltr;unicode-bidi:isolate;display:inline-block}
html[dir=rtl] body{font-family:Tahoma,Arial,'PingFang SC',sans-serif}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] .question-title,html[dir=rtl] .scene figcaption p{font-family:Tahoma,Arial,sans-serif;line-height:1.65}html[dir=rtl] .eyebrow{letter-spacing:0}html[dir=rtl] .brand,html[dir=rtl] .lesson,html[dir=rtl] .answer-row .select{text-align:right}html[dir=rtl] .meaning-toggle{border-left:0;border-right:1px solid var(--line)}html[dir=rtl] .word-choice .pinyin{margin-left:0;margin-right:auto}html[dir=rtl] .word-card button{margin-left:0;margin-right:auto}html[dir=rtl] .puzzle.position-upper-left .gap,html[dir=rtl] .puzzle.position-lower-left .gap{text-align:left}html[dir=rtl] .lookback-actions{justify-content:flex-start}html[dir=rtl] .skip{left:auto;right:15px}
@media(max-width:680px){.header nav{gap:3px;align-items:center}.language-picker select{font-size:12px}.hero h1{font-size:30px}.how h3{font-size:21px}.journey-intro h1{font-size:32px}.stats{grid-template-columns:1fr}.stat{display:flex;gap:18px;align-items:center}.stat span{margin:0}.word-card button{margin-inline-start:0}html[dir=rtl] .word-card button{margin-right:0}.lookback-actions button{white-space:normal}}
/* Welcome cover: an illustrated field journal, with the saved lesson kept behind it. */
.on-cover{background:radial-gradient(ellipse at 8% 25%,#e8ecdf80,transparent 50%),var(--paper)}.on-cover .header{max-width:1440px;border-bottom:0;padding:24px 54px}.on-cover main{max-width:1440px;padding:12px 54px 50px}.on-cover .header nav{gap:14px}.on-cover #chapters{border-bottom:1px solid #b2bfaa;border-radius:0}.cover-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:55px;padding:20px 0 55px}.cover-copy{padding:12px 0}.cover-kicker{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.5px;margin-bottom:22px}.cover-kicker>span{width:22px;height:1px;background:#8a6745;flex:none}.cover-wordmark{display:flex;align-items:center;gap:23px;font:100px/1.2 'Songti SC','STSong',serif;letter-spacing:8px;color:#294b3c}.cover-stamp{border:1px solid #ab624a;outline:1px solid #ab624a;outline-offset:3px;border-radius:2px;color:#a3553f;padding:5px 3px;letter-spacing:2px;font:13px/1.5 'Songti SC',serif;transform:rotate(4deg)}.cover-roman{font:10px/1.6 Arial;letter-spacing:2.2px;color:#667a65;margin:13px 0 28px;direction:ltr;unicode-bidi:isolate}.cover-copy h1{font:clamp(33px,3.4vw,49px)/1.15 Georgia,'Songti SC',serif;letter-spacing:-1.5px}.cover-description{font-size:14px;line-height:1.8;color:var(--muted);max-width:370px;margin:18px 0 24px}.cover-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.cover-actions .primary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 24px;border-radius:5px;box-shadow:0 6px 18px #315a4714}.cover-actions .text-button{font-size:12px;padding:10px 0;margin-inline-start:5px}.cover-welcome-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:17px}.cover-art{height:565px;position:relative;margin-inline-end:16px;isolation:isolate}.cover-art:before{content:'';position:absolute;inset:15px -14px -15px 14px;border:1px solid #c7d0bc;border-radius:220px 220px 8px 8px;z-index:-1}.cover-landscape{width:100%;height:100%;object-fit:cover;object-position:55% center;border-radius:220px 220px 8px 8px;display:block}.cover-art:after{content:'';position:absolute;inset:60% 0 0;border-radius:0 0 8px 8px;background:linear-gradient(transparent,#132e2abe);pointer-events:none}.cover-art-label{position:absolute;top:115px;right:25px;left:auto;bottom:auto;writing-mode:vertical-rl;font:15px 'Songti SC',serif;letter-spacing:5px;color:#fffef3;text-shadow:0 1px 7px #152e24}.cover-art-caption{position:absolute;bottom:27px;left:30px;right:30px;display:flex;align-items:center;gap:18px;color:#fffcf2;z-index:1}.cover-art-caption>span{font:12px Georgia;letter-spacing:2px;white-space:nowrap}.cover-art-caption p{font:13px/1.7 Georgia,'Songti SC',serif;border-inline-start:1px solid #f5f2df70;padding-inline-start:18px}.cover-discovery{position:absolute;top:57%;inset-inline-start:-29px;background:#fcfaf1f5;border:1px solid #d3d9c7;box-shadow:0 15px 35px #17332424;padding:17px 22px;display:flex;align-items:center;gap:17px;border-radius:5px;z-index:2;transform:rotate(-5deg);direction:ltr}.cover-discovery>span{font:53px 'Songti SC',serif}.cover-discovery>div{display:grid;gap:5px}.cover-discovery small{font:12px Georgia;color:var(--muted)}.cover-discovery i{font:24px 'Songti SC',serif;color:#7b8e6c}.cover-discovery-line{display:block;width:26px;height:1px;background:#bdc5ae}.cover-route{border-top:1px solid var(--line);padding-top:24px}.cover-route-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.cover-route-heading h2{font-size:22px}.cover-route-heading p{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.cover-chapters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}.cover-chapter{padding:0;border-radius:5px;text-align:start;align-self:start;min-width:0}.cover-thumb{position:relative;overflow:hidden;border-radius:5px;aspect-ratio:1.65;background:var(--soft)}.cover-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.cover-chapter:hover .cover-thumb img{transform:scale(1.06)}.cover-thumb>span{position:absolute;bottom:8px;inset-inline-start:8px;background:#f7f5eee8;padding:5px 7px;font:10px Georgia;border-radius:3px}.cover-thumb>b{position:absolute;top:8px;inset-inline-end:8px;background:var(--jade);color:white;padding:3px 6px;border-radius:50%;font-size:10px}.cover-chapter-title{display:block;font:14px/1.5 Georgia,'Songti SC',serif;margin:10px 0 6px;overflow-wrap:anywhere}.cover-invitation{display:flex;gap:25px;align-items:center;padding:30px 0 0;margin-top:34px;border-top:1px solid var(--line)}.cover-invitation-glyph{font:50px 'Songti SC',serif;color:#7c8b70}.cover-invitation>div{max-width:640px}.cover-invitation h2{font-size:22px;margin-bottom:8px}.cover-invitation p{font-size:12px;color:var(--muted)}.cover-invitation button{margin-inline-start:auto;flex-shrink:0;font-size:12px}.on-cover footer{max-width:1332px}.cover-hero{animation:cover-arrive .65s ease-out}@keyframes cover-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}html[dir=rtl] .cover-copy h1{letter-spacing:0;font-size:42px;line-height:1.5}html[dir=rtl] .cover-kicker,html[dir=rtl] .cover-route-heading p{letter-spacing:0}html[dir=rtl] .cover-wordmark{justify-content:flex-end}html[dir=rtl] .cover-art:before{inset:15px 14px -15px -14px}
@media(min-width:1600px){.cover-art{height:610px}.cover-hero{padding-bottom:65px}}
@media(max-width:1100px){.on-cover .header{padding:22px 32px}.on-cover main{padding:10px 32px 40px}.cover-hero{gap:35px}.cover-art{height:530px}.cover-copy h1{font-size:38px}.cover-wordmark{font-size:86px}.cover-chapters{gap:12px}.cover-route-heading h2{font-size:21px}.cover-chapter-title{font-size:13px}.cover-invitation{gap:18px}}
@media(max-width:760px){.on-cover .header{padding:18px 22px;flex-wrap:nowrap;gap:12px}.on-cover .brand small{display:none}.on-cover .brand b{font-size:22px}.on-cover .seal{width:32px;height:38px;font-size:25px}.on-cover .brand{gap:8px}.on-cover .header nav{width:auto;gap:5px;justify-content:flex-end}.on-cover #sound{display:none}.on-cover #chapters{font-size:11px;padding:8px}.on-cover .language-picker{padding-inline-start:6px}.on-cover .language-picker select{max-width:110px;padding-right:16px}.on-cover main{padding:10px 22px 30px}.cover-hero{grid-template-columns:1fr;gap:28px;padding:12px 0 35px}.cover-copy{padding:0}.cover-kicker{margin-bottom:14px;font-size:8px;letter-spacing:1px}.cover-wordmark{font-size:74px;line-height:1.15}.cover-roman{font-size:8px;margin:10px 0 20px;letter-spacing:1.8px}.cover-copy h1{font-size:38px}.cover-description{max-width:500px;font-size:13px;margin:15px 0 20px}.cover-actions .primary{padding:14px 21px;font-size:14px}.cover-art{height:330px;margin-inline:8px 10px}.cover-landscape,.cover-art:before{border-radius:140px 140px 6px 6px}.cover-discovery{top:51%;inset-inline-start:-12px;padding:12px 17px;gap:12px}.cover-discovery>span{font-size:40px}.cover-art-label{top:75px;right:20px;font-size:12px}.cover-art-caption{bottom:20px;left:22px;right:22px;gap:12px}.cover-art-caption p{font-size:12px;padding-inline-start:12px}.cover-route-heading{display:block}.cover-route-heading p{margin-top:8px}.cover-chapters{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 13px}.cover-chapter-title{font-size:13px}.cover-invitation{flex-wrap:wrap;gap:15px;align-items:flex-start}.cover-invitation-glyph{display:none}.cover-invitation button{margin-inline-start:0}.cover-invitation>div{width:100%}html[dir=rtl] .cover-copy h1{font-size:34px}}
@media(max-width:380px){.on-cover .header{padding:14px 16px}.on-cover main{padding-inline:18px}.on-cover .seal{display:none}.on-cover .brand b{font-size:22px;letter-spacing:2px}.on-cover .header nav{gap:3px}.cover-copy h1{font-size:33px}.cover-wordmark{font-size:66px}.cover-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-art{height:285px}.cover-art-caption>span{font-size:10px}.cover-art-caption p{font-size:11px}.cover-stamp{font-size:11px}.cover-actions{gap:6px}}
/* Mobile feedback stays on one screen; only long explanations need an inner scroll. */
.feedback-body:focus-visible{outline:2px solid #aa873e;outline-offset:3px;border-radius:4px}
@media(max-width:680px){
  .question .scene img{max-height:240px;max-height:min(30svh,240px);object-fit:contain}
  .question .scene figcaption{padding:12px 15px}.question .scene figcaption p{font-size:16px}
  .question{gap:18px}.question-title{font-size:20px;margin:12px 0 16px}
  .answers{scroll-margin-top:12px}
  .feedback{display:flex;flex-direction:column;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top));padding:0;overflow:hidden;scroll-margin-top:max(12px,env(safe-area-inset-top));margin-top:18px}
  .feedback-body{overflow-y:auto;min-height:0;padding:18px 17px 12px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9dae8d transparent}
  .feedback-head{gap:12px;margin-bottom:12px}.feedback h3{font-size:20px;line-height:1.35}.feedback .result-symbol{width:38px;height:38px;font-size:25px}
  .feedback p{font-size:14px;line-height:1.65}.feedback .word-card{margin-top:12px;padding-top:12px;gap:10px}.feedback .word-card .word{font-size:29px}.feedback .word-card button{margin-inline-start:auto}
  .feedback .comparison{margin:12px 0}.feedback .comparison li{padding:6px 0;gap:5px 10px}.feedback .example{padding-top:4px}
  .feedback .feedback-actions{flex:none;display:flex;gap:8px;margin:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid #cbd9bf;background:#eef3e8;box-shadow:0 -4px 12px #243e3508}
  .feedback.wrong .feedback-actions{background:var(--warm);border-color:#dfc7a8}.feedback.neutral .feedback-actions{background:#f0f0e7}
  .feedback-actions .primary{flex:1;min-height:48px;padding:13px 16px;font-size:15px}.feedback-actions .text-button{flex:1;min-height:48px;padding:8px;font-size:12px}
}
