:root{--ink:#41445a;--muted:#6e7467;--paper:#fbf8ef;--cream:#f0eadf;--gold:#ead59b;--line:#dcd8c9;--rust:#9e592f;--green:#415241;font-family:'Trebuchet MS',Verdana,sans-serif;color:var(--ink);background:#f4f0e7;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #967d4c;outline-offset:4px}.skip{position:absolute;top:-80px;left:12px;z-index:10;background:white;padding:14px}.skip:focus{top:4px}.topbar{max-width:1536px;margin:auto;padding:15px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:16px;align-items:center;background:none;border:0;padding:0}.brand img{width:115px;height:57px;object-fit:contain}.brand-rule{height:24px;width:1px;background:var(--line)}.brand-note{letter-spacing:2px;font-size:9px;color:var(--green)}.modes{display:flex;gap:3px;border:1px solid var(--line);border-radius:100px;padding:4px;background:#faf7f0}.modes button{border:0;border-radius:100px;padding:10px 16px;background:transparent;font-size:13px}.modes button[aria-pressed=true]{background:var(--green);color:#fffaf0}.modes small{font-size:9px;margin-left:6px;opacity:.8}.quiet,.text-button{background:none;border:0}.quiet{display:flex;align-items:center;gap:8px;font-size:15px;padding:10px}.text-button{text-decoration:underline;text-underline-offset:4px;font-size:12px}main{max-width:1460px;margin:5px auto 0;padding:0 4%;outline:0}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2.4px;color:var(--muted);margin:0 0 22px}.primary{border:1px solid #d4bb80;border-radius:100px;background:var(--gold);color:#414b3d;font-size:16px;font-weight:bold;padding:15px 27px;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:background .2s}.primary:hover{background:#e4cb8e}.secondary{border:1px solid var(--line);border-radius:100px;background:var(--paper);padding:12px 22px}
.cover-display{display:flex;flex-direction:column;align-items:center;padding:6px 0 10px}.cover-book{width:min(425px,100%);box-shadow:0 14px 38px #45413d18}.cover-open{display:block;width:100%;padding:0;border:0;background:var(--paper)}.cover-image{display:block;width:100%;height:auto}.cover-actions{display:flex;align-items:center;flex-direction:column;padding-top:21px;gap:11px}.cover-resume{border:0;background:transparent;font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:3px}.cover-invitation{font:italic 15px Georgia,serif;color:var(--muted);margin:3px 0 0;text-align:center}
.book-topline{display:flex;justify-content:space-between;align-items:center;margin:0 0 13px;font-size:13px}.book-topline .title{font-family:Georgia,serif;font-size:19px}.book-topline button{background:none;border:0;color:var(--muted);font-size:12px;padding:8px}.book{display:grid;grid-template-columns:55% 45%;background:var(--paper);border-radius:5px;overflow:hidden;box-shadow:0 9px 35px #3b403013;border:1px solid #e5dfd2;min-height:490px}.illustration{margin:0;position:relative;overflow:hidden;background:var(--paper);display:flex;align-items:center;justify-content:center;padding:12px}.illustration img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;animation:arrive .35s ease-out}.image-number{position:absolute;bottom:14px;left:20px;color:var(--muted);font:italic 13px Georgia,serif}.expand-picture{position:absolute;right:14px;bottom:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fbf8efd9;color:var(--muted);font-size:20px;display:grid;place-items:center}.page-copy{padding:34px 33px 28px;display:flex;flex-direction:column;position:relative}.page-copy:before{content:'';position:absolute;inset:24px auto 24px 0;width:1px;background:linear-gradient(transparent,#dcd6c5,transparent)}.page-kicker{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-bottom:23px}.page-kicker span:last-child{letter-spacing:0}.story{font-family:Georgia,'Times New Roman',serif;font-size:clamp(21px,1.9vw,28px);line-height:1.6;letter-spacing:-.2px}.story p{margin:0 0 13px}.word{font:inherit;line-height:inherit;display:inline;padding:0;border:0;border-radius:3px;background:transparent;color:inherit;transition:background .12s,box-shadow .12s;white-space:nowrap}.word.irish{color:#43603c;text-decoration:underline;text-decoration-color:#a2ad83;text-decoration-thickness:1.5px;text-underline-offset:5px}.word:hover{background:#eee8d9}.word.active{background:var(--gold);box-shadow:0 0 0 3px var(--gold);text-decoration:none;color:#283429}.word-help{font-size:12px;line-height:1.45;background:#eeedde;border-radius:6px;padding:10px 12px;margin:7px 0;min-height:37px;color:#425342}.word-help:empty{visibility:hidden}.wonder{margin-top:auto;padding-top:13px;border-top:1px solid #e2dccc;color:var(--muted);font-size:12px;line-height:1.6}.wonder span{color:var(--rust);font-size:9px;font-weight:bold;letter-spacing:1.5px;text-transform:uppercase;display:block;margin-bottom:3px}.reader-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:17px 0}.audio-controls{display:flex;align-items:center;gap:13px}.audio-controls .primary{padding:12px 23px;font-size:14px;min-width:175px}.audio-controls select{background:transparent;border:1px solid #cbcdbd;color:var(--ink);padding:10px 8px;border-radius:8px;font-size:12px}.auto{font-size:12px;display:flex;align-items:center;gap:5px;cursor:pointer}.auto input{accent-color:var(--green)}.pager{display:flex;gap:12px;align-items:center}.pager button{min-width:46px;height:44px;border-radius:50%;border:1px solid #c8cbb9;background:var(--paper);font-size:24px}.pager #next{background:var(--green);color:white;border-color:var(--green)}.pager .page-count{font-size:12px;min-width:50px;text-align:center}.progress{display:flex;gap:5px;max-width:360px;margin:0 auto 8px}.progress button{height:22px;flex:1;min-width:12px;border:0;background:transparent;padding:8px 0;position:relative}.progress button:after{content:'';height:5px;background:#d7d9c8;position:absolute;inset:8px 0 auto;border-radius:4px}.progress button.visited:after{background:#8d9b7a}.progress button.current:after{background:var(--rust)}.site-footer{max-width:1460px;margin:18px auto;padding:0 4%;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);line-height:1.6}
dialog{border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:36px;max-width:820px;width:calc(100% - 30px);max-height:85vh;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#373c38a6;backdrop-filter:blur(3px)}dialog h2{font:normal 30px Georgia;margin:0 0 23px}dialog p{font-size:15px;line-height:1.7}.close{position:absolute;right:12px;top:9px;width:34px;height:34px;border:0;background:none;font-size:25px}.thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.thumbnail{background:none;border:0;padding:0;text-align:left;font-size:12px;line-height:1.45}.thumbnail img{width:100%;aspect-ratio:3/2;object-fit:contain;display:block;margin-bottom:7px}.vocab{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vocab button{background:#f0eedf;padding:15px;text-align:left;border:1px solid #dbdec9;border-radius:7px}.vocab strong{display:block;font-size:17px}.vocab small{color:var(--muted);display:block;margin-top:6px}.finish{background:var(--paper);border:1px solid #e0ddcd;padding:38px;border-radius:5px;max-width:960px;margin:0 auto}.finish-top{display:grid;grid-template-columns:44% 1fr;align-items:center;gap:30px}.finish-top img{width:100%;height:auto;object-fit:contain}.finish h1{font:normal 42px Georgia;margin:0 0 18px}.finish p{line-height:1.7}.quiz{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.quiz h2{font:normal 25px Georgia}.options{display:flex;flex-wrap:wrap;gap:12px}.options button{border:1px solid #c6cdba;background:#f2f1e5;padding:13px 18px;border-radius:8px;font-size:14px}.options button.correct{border-color:#7b925f;background:#e4edd6}.options button.try{border-color:#bc9865;background:#f4e9d6}.feedback{min-height:30px;color:#436239;font-size:14px}.finish-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.error{color:#a33120}.reading-note{font-size:11px;color:var(--muted);margin:7px 0 0}a{color:#416638}dialog.picture-dialog{max-width:min(1400px,96vw);padding:32px 12px 12px}.full-picture{display:block;max-width:100%;max-height:calc(85vh - 48px);width:auto;height:auto;margin:0 auto;object-fit:contain}@keyframes arrive{from{opacity:.5}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1500px){.book{min-height:550px}.page-copy{padding:40px}}
@media(max-width:1080px){.brand-note,.brand-rule{display:none}.book{grid-template-columns:50% 50%}.page-copy{padding:28px}.story{font-size:23px}.auto{display:none}.page-kicker{gap:10px}}
@media(max-width:720px){.topbar{padding:7px 16px;flex-wrap:wrap;gap:6px}.brand img{width:104px;height:50px}.modes{order:3;width:100%;justify-content:center}.modes button{flex:1;padding:9px 5px;font-size:13px}main{padding:0 12px;margin-top:12px}.cover-display{padding:0}.cover-book{width:min(390px,100%)}.cover-actions{padding-top:17px}.cover-invitation{font-size:13px;margin:3px 12px 0}.book-topline .title{font-size:15px}.book-topline button{font-size:11px}.book{display:flex;flex-direction:column;min-height:0}.illustration{padding:8px 3px}.illustration img{width:100%;max-height:none}.image-number{bottom:9px;left:15px}.expand-picture{bottom:7px;right:9px}.page-copy{padding:23px 23px 22px}.page-kicker{margin-bottom:16px;font-size:8px}.story{font-size:24px;line-height:1.65}.page-copy:before{display:none}.story p{margin-bottom:14px}.word-help{margin-top:10px}.wonder{margin-top:14px}.reader-controls{position:sticky;bottom:0;background:#f4f0e7f5;padding:12px 4px;margin:3px 0 10px;gap:8px;z-index:2;border-top:1px solid #d8d9cb}.audio-controls{gap:6px}.audio-controls .primary{min-width:0;padding:12px 14px;font-size:12px}.audio-controls select{max-width:57px;font-size:11px;padding:9px 2px}.pager{gap:6px}.pager button{min-width:39px;height:39px}.pager .page-count{display:none}.book-topline{gap:8px}.site-footer{padding:0 16px;font-size:9px;align-items:flex-start}.site-footer .text-button{white-space:nowrap;font-size:10px}.thumbnails{grid-template-columns:repeat(2,1fr)}dialog{padding:28px 22px}.vocab{grid-template-columns:repeat(2,1fr)}.finish{padding:23px}.finish-top{grid-template-columns:1fr;gap:22px}.finish h1{font-size:35px}.reading-note{display:none}}

/* A flexible leaf turns across a stationary spread, around its centre fold. */
.book,.finish{position:relative;isolation:isolate}
@media(min-width:721px){.book{grid-template-columns:50% 50%}.book[data-turning]{overflow:visible}.page-copy:before{inset:0 auto 0 -9px;width:18px;background:linear-gradient(90deg,transparent,#6559400d 45%,#65594016 50%,transparent)}}
.page-turn-layer{position:absolute;left:0;top:0;width:100%;z-index:4;pointer-events:none;transform-style:preserve-3d}
.page-turn-layer *{pointer-events:none!important;animation:none!important;transition:none!important}
.paper-content{position:absolute!important;top:0;overflow:hidden;background:var(--paper);border:0!important;border-radius:0!important;box-shadow:none!important}
.paper-still{z-index:0}
.paper-strip{position:absolute;left:0;top:0;height:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.paper-face{position:absolute;inset:0;overflow:hidden;background:var(--paper);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.paper-back{transform:rotateY(180deg)}
.paper-shade{position:absolute;inset:0;background:#51462f;pointer-events:none;opacity:0}
.paper-cast-shadow{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,transparent,#433722 40%,#433722 60%,transparent);filter:blur(16px);opacity:0;transform-origin:center;pointer-events:none}
@media(prefers-reduced-motion:reduce){.page-turn-layer{display:none}}



.game-return{color:inherit;text-underline-offset:3px}.game-return:focus-visible{outline:3px solid #416b59;outline-offset:4px}
