@font-face{font-family:SproutSerif;src:url("media/heading.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#193c34;--green:#123e32;--paper:#fbf9f2;--muted:#495e55;--gold:#ffcd69;--rust:#9d4522;--line:#c6cdc0;--serif:SproutSerif,"Noto Serif CJK HK","Songti TC","PMingLiU",serif;--sans:"PingFang HK","Noto Sans CJK HK","Microsoft JhengHei",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.8}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #de8033;outline-offset:4px}figure,p,h1,h2,h3,ol{margin:0}img{display:block;width:100%;height:auto}[hidden]{display:none!important}.wrap{width:min(1180px,89%);margin:auto}.mast{border-bottom:1px solid var(--line)}.nav,.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:20px;line-height:1.15;font-weight:750;letter-spacing:.07em}.brand small{display:block;font:italic 14px/1.2 Georgia,serif;letter-spacing:.02em;margin-top:3px}.mark{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:42px;height:42px;border-radius:55% 45% 50% 20%;font:italic bold 42px/.9 Georgia,serif;padding-bottom:7px}.nav nav{display:flex;align-items:center;gap:28px}.nav nav a,.foot>a:last-child{font-size:14px;text-decoration:none;font-weight:650}.nav a:hover,.foot a:hover{text-decoration:underline}.navbtn{border:1px solid var(--ink);padding:7px 16px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:6px;z-index:2;background:white;padding:10px}.hero{border-bottom:1px solid var(--line)}.herogrid{display:grid;grid-template-columns:1fr 1.03fr;gap:7%;align-items:center;padding:clamp(58px,6.5vw,95px) 0}.kicker{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:720;letter-spacing:.075em;color:var(--rust);line-height:1.55}.rule{height:2px;width:31px;background:currentColor;flex:none}h1,h2,h3{font-family:var(--serif);font-weight:700}h1{font-size:clamp(56px,5vw,80px);line-height:1.16;letter-spacing:-.055em;margin:18px 0 23px}h1 i{font-family:Georgia,serif;font-size:1.18em;letter-spacing:-.06em;color:var(--rust);font-weight:500}h2{font-size:clamp(32px,3.3vw,51px);line-height:1.31;letter-spacing:-.045em;margin:15px 0 21px}h3{font-size:24px;line-height:1.45;letter-spacing:-.02em}.deck{font-size:clamp(16px,1.35vw,20px);line-height:1.85;max-width:32em;color:var(--muted);margin-bottom:26px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--green);color:white;font-weight:700;text-decoration:none;padding:11px 24px;border:1px solid transparent;border-radius:3px;transition:transform .16s,box-shadow .16s}.button:hover{transform:translateY(-2px);box-shadow:0 3px 0 #a7b39f}.meta,.source,figcaption,.small{font-size:13px;line-height:1.65}.meta{margin-top:12px;color:var(--muted)}.meta span{padding:0 6px;color:#78867b}.cover{min-width:0}.coverframe{padding:13px;background:#efdfc4;border:1px solid #d3bc9a;box-shadow:6px 6px 0 #ebe6d7;transform:rotate(1.1deg)}.cover img{aspect-ratio:1.38;object-fit:cover}.cover figcaption,.samplepage figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:18px;color:var(--muted)}figcaption [lang=en]{font:11px/1.6 Georgia,serif;letter-spacing:.13em}.chapter,.labgrid,.gamegrid,.workbook,.faq,.claimgrid{display:grid;grid-template-columns:.84fr 1.16fr;gap:9%}.chapter,.school,.workbook,.faq{padding-block:clamp(64px,7.3vw,104px)}.prose p+p{margin-top:17px}.spoken{margin-top:26px;padding:2px 0 2px 20px;border-left:3px solid #c88040}.spoken span,.coltag{font-size:13px;color:var(--rust);font-weight:700}.spoken p{font-family:var(--serif);font-size:20px;line-height:1.65;margin-top:5px}.lab{background:#143f34;color:#fff9e9}.labgrid,.gamegrid,.claimgrid{align-items:center;padding-block:64px}.lab .kicker,.claim .kicker{color:var(--gold)}.labgrid>div:first-child>p:last-child,.claim p:not(.kicker){color:#e1e6d8}.labboard{padding:22px clamp(18px,3.2vw,44px) 21px;border:1px solid #718d76;background:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px),#254e40;background-size:24px 24px}.wordtabs{display:flex;gap:8px}.wordtabs button{border:1px solid #99b19f;color:white;background:transparent;padding:5px 17px;border-radius:30px;font:18px/1.3 Georgia,serif}.wordtabs button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--green)}.letterrow,.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.letterrow{margin:23px 0 17px}.letterrow>div{font:italic clamp(55px,6.2vw,92px)/1 Georgia,serif;background:#faf4e4;color:var(--ink);text-align:center;border-radius:3px;padding:7px 0 13px}.letterrow small{display:block;margin:6px auto 0;font:19px/1.2 Georgia,serif;color:#52645a}.letterrow .accent{background:var(--gold)}#wordnote{font-size:15px;min-height:3.5em}.sectionlead{max-width:47em;color:var(--muted)}.contrast{display:grid;grid-template-columns:1fr 1fr;margin:31px 0 14px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:27px 0}.contrast article:first-child{padding-right:8%}.contrast article+article{border-left:1px solid var(--line);padding-left:8%}.coltag{border-bottom:1px solid #c2a481;padding-bottom:4px}.contrast h3{margin:15px 0 8px}.source{color:var(--muted)}.listen{background:#f1e7d4;border-block:1px solid #e0d4bb}.game{background:#fffaf0;border:1px solid #c0b59f;padding:24px 26px;box-shadow:5px 5px 0 #e4d6b9}.play{background:var(--green);color:white;border:0;border-radius:25px;padding:7px 18px;font-weight:650}.tiles{margin:16px 0 11px}.tiles button{background:#fffdf7;color:var(--ink);border:1px solid #9eaa98;border-bottom-width:3px;border-radius:4px;font:italic 37px/1.3 Georgia,serif;min-height:63px}.tiles .correct{background:#d7e7ca;border-color:#4f7043}.tiles .picked{background:#ffe6bf;border-color:#9c6e3c}#feedback{font-size:14px;min-height:2.6em}.workbook{align-items:start}.samplepage{margin-top:26px;max-width:360px}.samplepage img{border:1px solid var(--line);box-shadow:5px 5px 0 #e8e5d8}.samplepage figcaption{margin-top:12px}.days{list-style:none;padding:0;border-top:2px solid var(--ink)}.days li{display:grid;grid-template-columns:68px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.days small{font-size:14px;color:var(--rust);padding-top:3px;font-weight:700}.days p{font-size:16px;color:var(--muted);margin-top:3px}.faq{border-top:1px solid var(--line);padding-top:52px}.questions details{border-bottom:1px solid var(--line);padding:16px 0}.questions details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:650;list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:12px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font:23px/1 Georgia,serif;color:var(--rust)}details[open] summary:after{content:'−'}details p{margin-top:10px;color:var(--muted);font-size:16px}.claim{background:var(--green);color:var(--paper)}.claimgrid{grid-template-columns:1.14fr .86fr}.light{background:var(--gold);color:var(--ink)}#claimpanel{border-left:1px solid #638475;padding-left:11%}.claim h3{margin-bottom:12px}.claim form label{display:block;font-size:15px;margin-top:12px}.claim input:not([type=checkbox]){width:100%;padding:7px 10px;border:0;background:#fffdf6;color:var(--ink)}.claim .check{display:flex;align-items:flex-start;gap:8px}.check input{margin-top:7px;flex-shrink:0}.small{margin:10px 0}#formerror{font-size:14px}.foot{padding-block:29px}.phoneonly{display:none}
@media(max-width:780px){.wrap{width:min(90%,620px)}.herogrid,.chapter,.labgrid,.gamegrid,.workbook,.faq,.claimgrid{grid-template-columns:1fr;gap:26px}.nav{padding:14px 0}.nav nav a:not(.navbtn){display:none}.herogrid{padding:36px 0 42px}.cover{margin:0 3px}.coverframe{padding:8px}.cover img{aspect-ratio:1.65}.hero h1{font-size:clamp(52px,9vw,72px)}h2{margin-bottom:13px}.chapter,.school,.workbook,.faq{padding-block:46px}.labgrid,.gamegrid,.claimgrid{padding-block:42px}.chapterhead h2,.bookintro h2,.faq h2{margin-bottom:0}.contrast{grid-template-columns:1fr;padding:0;margin-top:25px}.contrast article:first-child,.contrast article+article{padding:19px 0;border-left:0}.contrast article+article{border-top:1px solid var(--line)}.game{padding:19px}.samplepage{max-width:280px}.days li{grid-template-columns:55px 1fr}.claimgrid{gap:22px}#claimpanel{border-left:0;border-top:1px solid #638475;padding:21px 0 0}.letterrow>div{font-size:61px}.phoneonly{display:inline}.brand{font-size:17px}.mark{width:37px;height:37px;font-size:37px}.meta{font-size:12px}.navbtn{padding:6px 10px}body{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.classroom{padding:32px 0 54px;border-top:1px solid var(--line);display:grid;grid-template-columns:.84fr 1.16fr;gap:9%;align-items:baseline}.classroom h2{font-size:clamp(25px,2.8vw,38px);margin:0 0 14px}@media(max-width:780px){.classroom{grid-template-columns:1fr;gap:15px;padding:30px 0 40px}}
.download-layout{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8%;padding-block:clamp(55px,10vw,130px)}.download-title{font-size:clamp(34px,4.5vw,65px);line-height:1.3}.return-link{display:inline-block;font-size:15px;margin-top:25px}.download-layout .cover{max-width:530px}@media(max-width:780px){.download-layout{grid-template-columns:1fr;gap:35px;padding-block:42px}.download-layout .cover{max-width:410px}}
