*{box-sizing:border-box}body{margin:0;background:#e9f4f5;color:#263f43;font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif}header{max-width:1320px;margin:auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;font-size:15px}a{color:inherit;text-decoration:none;font-weight:bold}header span{color:#677879}main{max-width:1280px;margin:auto;padding:0 24px 24px}.book-title{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 16px;gap:12px}h1{font-size:clamp(23px,3vw,34px);margin:0;letter-spacing:-.6px}#counter{white-space:nowrap;font-weight:bold;color:#627c79}.book{display:grid;grid-template-columns:1.12fr 1fr;background:#fffaf0;border:5px solid white;border-radius:30px;overflow:hidden;box-shadow:0 14px 40px #244d4b14;min-height:560px}.art{position:relative;background:#e6c292;overflow:hidden}.art img{width:100%;height:100%;object-fit:cover;display:block;min-height:100%;position:absolute;inset:0}.chapter{position:absolute;left:20px;top:20px;padding:8px 15px;background:#fffaf0ed;border-radius:30px;font-size:14px;font-weight:bold;color:#77543a}.paper{padding:34px 30px 20px;display:flex;flex-direction:column;justify-content:center;min-width:0;background:linear-gradient(100deg,#f6eedf 0,#fffaf0 5%,#fffaf0 100%)}#reading{font-size:clamp(25px,2.7vw,38px);line-height:1.6;font-weight:600;letter-spacing:.2px}#reading p{margin:0 0 16px}.word{display:inline-block;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;padding:0 3px;cursor:pointer;line-height:inherit}.word.active{background:#ffe296;box-shadow:0 3px #e7a64c}.word:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #207e91;outline-offset:3px}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}.controls{display:flex;gap:10px;margin-top:18px;align-items:center}.controls button{border:1px solid #e2d6c1;background:#fffdf6;color:#355753;border-radius:18px;min-height:52px;padding:10px 16px;font-weight:bold}.controls #back{font-size:24px;min-width:52px}.controls .next{margin-left:auto;background:#df7928;color:#fff;border-color:#ce6a20;box-shadow:0 3px #bb6321}#listen{font-size:16px}#dots{display:flex;gap:7px;justify-content:center;margin-top:18px}#dots i{height:7px;width:7px;background:#ded9cc;border-radius:50%}#dots i.current{background:#d8792c;width:24px;border-radius:8px}#feedback{min-height:25px;margin:8px 0 0;font-size:17px;font-weight:bold;color:#37745e}#audio-note{font-size:13px;color:#687671;margin:8px 0 0;min-height:16px}#answers{display:grid;gap:10px}#answers button{border:2px solid #d6dfcc;border-radius:17px;padding:14px 18px;background:#fffef8;color:#2c514e;font-size:23px;text-align:left}#answers button.correct{background:#dfedd6;border-color:#619270}#answers button.wrong{border-color:#daac6f}.parent{margin:22px auto 0;max-width:850px;color:#526a6d;font-size:15px;line-height:1.7}.parent summary{cursor:pointer}.parent p{margin:12px 0}.quiz .art{display:none}.quiz{grid-template-columns:1fr;min-height:480px;max-width:850px;margin:auto}.quiz .paper{padding:30px 50px}.quiz #reading{font-size:29px}.review{font-size:17px;line-height:1.6;margin:15px 0}.review summary{cursor:pointer}.review p{margin:8px 0} @media(max-width:760px){header{padding:12px 14px;font-size:13px}main{padding:0 10px 20px}.book-title{padding:6px 5px 12px}h1{font-size:24px}.book{display:flex;flex-direction:column;min-height:0;border-radius:23px;border-width:4px}.art{height:clamp(190px,32svh,320px);flex:none}.art img{object-fit:cover;object-position:center 53%}.chapter{top:12px;left:12px;font-size:12px;padding:6px 12px}.paper{padding:18px 16px 12px;background:#fffaf0}#reading{font-size:clamp(23px,5.7vw,30px);line-height:1.5}#reading p{margin-bottom:10px}.controls{margin-top:8px;gap:7px}.controls button{padding:9px 13px;border-radius:15px}#listen{font-size:14px}.quiz .paper{padding:22px 18px}.quiz #reading{font-size:25px}#dots{margin-top:12px}.parent{padding:0 8px}.quiz{min-height:0}}@media(max-height:550px) and (min-width:761px){.book{min-height:330px}header{padding:8px 24px}.paper{padding:16px 24px}#reading{font-size:26px}.book-title{padding-bottom:8px}}@media(prefers-reduced-motion:no-preference){.art img{animation:appear .3s ease-out}@keyframes appear{from{opacity:.8}to{opacity:1}}}
/* One illustrated scene, with live text on a paper overlay. */
body{background:#f4ead6;color:#263b43}header{max-width:1080px;padding:10px 18px}main{max-width:1080px;padding:0 14px 20px}.book-title{padding:8px 8px 12px}h1{font-size:clamp(23px,3vw,33px)}.book:not(.quiz){position:relative;display:block;isolation:isolate;min-height:0;border:4px solid #fffaf0;border-radius:28px;background:#e4aa62;box-shadow:0 12px 35px #79542324;overflow:hidden}.book:not(.quiz) .art{position:absolute;inset:0;z-index:-1;height:auto;background:#e4aa62;overflow:hidden}.book:not(.quiz) .art img{position:static;width:100%;height:auto;min-height:0;object-fit:contain;display:block;mask-image:linear-gradient(#000 92%,transparent 100%)}.chapter{display:none}.book:not(.quiz) .paper{position:relative;display:flex;justify-content:flex-start;background:none;padding:0 28px 15px;margin-top:46%;min-width:0}.book:not(.quiz) #reading{position:relative;padding:18px 22px;text-align:center;font-size:clamp(26px,3.6vw,43px);line-height:1.42;letter-spacing:0;font-weight:650;isolation:isolate;filter:drop-shadow(0 5px 5px #79532125)}.book:not(.quiz) #reading:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,#fffdf5 45%,#fff1d5 100%);border-radius:22px 25px 19px 24px;clip-path:polygon(0 5%,2% 2%,5% 3%,8% 1%,12% 2%,17% 0,23% 2%,29% 1%,34% 2%,40% 0,46% 2%,52% 1%,58% 2%,64% 0,70% 2%,76% 1%,82% 2%,89% 0,95% 2%,99% 1%,100% 8%,99.6% 25%,100% 48%,99.4% 70%,100% 91%,98% 98%,94% 97%,89% 99%,82% 98%,76% 100%,69% 98%,62% 99%,55% 98%,48% 100%,41% 98%,34% 99%,27% 98%,20% 100%,13% 98%,7% 99%,2% 97%,0 92%,.5% 70%,0 45%,.6% 22%)}.book:not(.quiz) #reading p{margin:0}.book:not(.quiz) #reading p+p{margin-top:3px}.word{padding:0 2px;border-radius:8px}.word.active{background:#ffe08a;box-shadow:0 4px #f1a12a}.book:not(.quiz) #feedback:empty{display:none}.controls{gap:12px;margin-top:14px}.controls button{background:#fffbf2;border:2px solid #eee0ca;box-shadow:0 3px 0 #b88c5b50;border-radius:28px;min-height:50px}.controls .next{background:#f18524;border:2px solid #ffac55;color:#fff;box-shadow:0 3px #b75d1f}.controls #back{min-width:58px}#dots{margin-top:12px}#dots i{background:#fff5dfb8}#dots i.current{background:#be5f20}.quiz #dots i{background:#d9d0c0}#audio-note:empty{display:none}.instruction{background:#fffaf0ed;color:#4b554d;font-size:14px;line-height:1.45;text-align:center;padding:8px 14px;border-radius:15px;margin:0 20px 10px}.instruction[hidden]{display:none}.book:not(.quiz) #audio-note{background:#fffaf0e8;padding:5px 10px;border-radius:10px}.parent{margin-top:16px}.quiz{background:#fffaf0}.quiz .paper{background:#fffaf0}.quiz #dots{display:none}@media(min-width:761px){main{max-width:min(1080px,calc((100svh - 105px)*1.43))}.book:not(.quiz) #reading{font-size:clamp(25px,3vw,39px)}.book:not(.quiz) .paper{padding:0 24px 14px}.instruction{font-size:13px;padding:6px 10px;margin-bottom:8px}.controls{margin-top:10px}#dots{margin-top:9px}}@media(max-width:760px){header{font-size:12px;padding:9px 12px}main{padding:0 7px 18px}.book-title{padding:6px 5px 10px}h1{font-size:22px}.book:not(.quiz){border-radius:22px}.book:not(.quiz) .paper{margin-top:47%;padding:0 11px 12px}.book:not(.quiz) #reading{font-size:clamp(25px,5.8vw,36px);padding:17px 10px;line-height:1.45}.instruction{font-size:12px;line-height:1.4;margin:0 5px 8px;padding:7px 10px}.controls{gap:7px;margin-top:12px}.controls button{padding:9px 12px;min-height:48px;font-size:15px}.controls #back{min-width:46px;font-size:22px}#listen{font-size:14px}#dots{margin-top:12px}.book:not(.quiz) .art img{mask-image:linear-gradient(#000 87%,transparent 100%)}.parent{font-size:14px}}@media(max-height:550px) and (min-width:761px){main{max-width:700px}.book:not(.quiz) .paper{margin-top:46%}.book:not(.quiz) #reading{font-size:25px}}

/* Keep the instruction over the scene and navigation beside the reading task. */
.book:not(.quiz)>.instruction{position:absolute;top:12px;left:14px;right:14px;z-index:2;margin:0 auto;width:fit-content;max-width:calc(100% - 28px);padding:7px 15px;box-shadow:0 2px 8px #60451b15}
.quiz>.instruction{margin:18px 20px 0}
#next-hint{font-size:13px;text-align:right;margin:8px 2px 0;color:#503920}
#next-hint[hidden]{display:none}
.book:not(.quiz) .paper{margin-top:46%;padding-bottom:10px}
.book:not(.quiz) #reading{padding:12px 18px}
#dots{margin-top:7px}
@media(min-width:761px){header{padding:7px 18px}.book-title{padding:4px 8px 8px}main{max-width:min(1000px,calc((100svh - 135px)*1.23))}.book:not(.quiz) #reading{font-size:clamp(26px,3.2svh,36px)}.controls button{min-height:48px}.book:not(.quiz) .paper{padding-left:20px;padding-right:20px}}
@media(max-width:760px){.book:not(.quiz)>.instruction{top:8px;left:7px;right:7px;max-width:calc(100% - 14px);padding:6px 9px;font-size:12px}.book:not(.quiz) .paper{margin-top:48%;padding-left:10px;padding-right:10px}.book:not(.quiz) #reading{padding:12px 9px;font-size:clamp(25px,5.8vw,34px)}#next-hint{font-size:12px}.controls{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.art img{animation:none}}
