:root{--bg:#faf8f2;--paper:#fffefa;--ink:#243d35;--muted:#6d756c;--line:#e6e8dc;--orange:#d7794b;--orange-dark:#b65b32;--teal:#214e47;--mint:#edf3e8;--lavender:#eee9f5;--radius:24px;--shadow:0 6px 24px #34443209;color:var(--ink);background:var(--bg);font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 92% 8%,#f5eddf55,transparent 45%),var(--bg)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b47347;outline-offset:4px}button{touch-action:manipulation}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.04em}h1{font-size:clamp(34px,4vw,48px)}h2{font-size:29px}h3{font-size:17px;line-height:1.35}p{line-height:1.65}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.sub{color:var(--muted);font-size:15px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#687b64;line-height:1.6}.app-shell{max-width:1500px;padding:0 48px;margin:auto}.topbar{display:flex;align-items:center;gap:24px;height:104px;border-bottom:1px solid var(--line);margin-bottom:35px}.brand{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;text-align:left;white-space:nowrap}.brand img{width:44px;height:44px;border-radius:14px;box-shadow:0 3px 7px #22403815}.brand>span{font-family:Georgia,serif;font-size:25px;font-weight:700;letter-spacing:-1px}.brand small{display:block;font-family:'Avenir Next',sans-serif;font-weight:500;font-size:9px;letter-spacing:.3px;margin-top:1px;color:var(--muted)}.desktop-nav{display:flex;gap:5px;margin:auto}.desktop-nav button{display:flex;align-items:center;gap:8px;background:none;border:0;border-radius:13px;font-size:13px;font-weight:650;padding:11px 14px;white-space:nowrap}.desktop-nav .icon{width:18px;height:18px}.desktop-nav button.active{background:#e9eee3;color:#335b41}.desktop-nav button:hover{background:#eff1e9}.top-actions{display:flex;align-items:center;gap:13px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:50%;width:43px;height:43px;padding:10px}.icon-btn:hover,.icon-btn.selected{background:var(--mint)}.profile-avatar{width:38px;height:38px;display:grid;place-items:center;background:#eedfcb;border:3px solid #fffcf5;border-radius:50%;font-weight:700;font-size:15px}.connection{font-size:11px}.connection:empty{display:none}.connection.offline{padding:5px 8px;background:#f0e0c5;border-radius:10px}.mobile-nav{display:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:27px}.page-heading h1{margin:5px 0 9px}.page-heading .sub{font-size:15px}.heading-dot{color:var(--orange)}.btn{border:1px solid transparent;border-radius:13px;padding:13px 20px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:750;line-height:1.4;transition:transform .18s,box-shadow .18s;background:white;box-shadow:0 3px 0 #d8d9cb}.btn.primary{background:var(--orange);color:white;border-color:#c86b3e;box-shadow:inset 0 1px 0 #ffffff50,0 4px 0 #ae5733,0 7px 14px #c66e3c18}.btn.primary:hover{background:#ce6f42;transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff5,0 6px 0 #ae5733,0 10px 18px #c66e3c22}.btn.secondary{border-color:#dfdfd0;background:#fffef7;color:var(--ink);box-shadow:inset 0 1px 0 white,0 3px 0 #dcdece}.btn:active,.btn.primary:active,.btn.secondary:active{transform:translateY(3px);box-shadow:0 1px 0 #b6b9a9}.btn:disabled{transform:none;box-shadow:none}.text-btn{border:0;background:none;padding:9px 0;color:var(--teal);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:750;font-size:13px;line-height:1.5}.text-btn:hover{text-decoration:underline;text-underline-offset:5px}.text-btn .icon{width:17px;height:17px}.streak-chip{background:#f2eadb;border-color:#eadfc8;color:#8a6837;box-shadow:none;font-size:13px;min-height:42px;border-radius:30px}.home-top{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:22px}.home-hero{position:relative;display:grid;grid-template-columns:1fr 1.15fr;overflow:hidden;background:#153d37;min-height:374px;border-radius:26px;box-shadow:0 5px 0 #d9ddd0,0 12px 28px #243d3510}.hero-copy{padding:38px 0 35px 35px;position:relative;z-index:1;color:#fff7de;align-self:center;min-width:0}.hero-tag{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:7px 11px;border:1px solid #718676;border-radius:30px;color:#e0e8cd;margin-bottom:18px;white-space:nowrap}.hero-copy h2{font-size:clamp(32px,3.3vw,48px);font-weight:500;line-height:1.08;letter-spacing:-1.6px;margin-bottom:17px}.hero-copy p{font-size:13px;line-height:1.8;color:#dae0cb;margin-bottom:24px}.hero-current{display:block;font-size:10px;color:#ced8bd;margin-top:13px}.hero-art{height:100%;width:100%;object-fit:cover;object-position:58% center;mask-image:linear-gradient(90deg,transparent,black 15%);-webkit-mask-image:linear-gradient(90deg,transparent,black 15%)}.daily-card{border:1px solid #e6e4d6;border-radius:25px;padding:23px;text-align:center;background:linear-gradient(140deg,#fffef9,#f4f2e7);box-shadow:0 4px 0 #eaeadf}.daily-title{display:flex;gap:7px;align-items:center;justify-content:center;font-size:9px;letter-spacing:1.3px;font-weight:750;color:#9b8056}.daily-title .icon{width:17px;height:17px}.daily-card h2{font-size:23px;margin:13px 0 18px}.goal-ring{margin:auto;width:125px;height:125px;border-radius:50%;padding:9px;background:conic-gradient(#b6c59a var(--goal),#e8ebdb 0);transform:rotate(-7deg);box-shadow:inset 0 1px 1px #cdd4bc}.goal-ring>div{border-radius:50%;background:#fcfbf4;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(7deg)}.goal-ring strong{font-family:Georgia,serif;font-size:42px;font-weight:400;line-height:1}.goal-ring span{font-size:10px;color:var(--muted);margin-top:5px}.daily-card>p{font-size:11px;line-height:1.7;margin:15px 0;max-width:180px;margin-inline:auto;color:var(--muted)}.daily-stats{display:flex;padding-top:15px;border-top:1px solid var(--line)}.daily-stats>span{width:50%;font-size:10px;color:var(--muted)}.daily-stats>span+span{border-left:1px solid var(--line)}.daily-stats strong{display:block;font-size:22px;font-weight:650;color:var(--ink);line-height:1.4}.level-strip{display:flex;align-items:center;gap:19px;border:1px solid #e4e7d9;border-radius:18px;margin:26px 0 36px;padding:21px 24px;background:#f0f3e9;box-shadow:0 3px 0 #e4e8db}.level-emblem{background:#dce6ce;border-radius:50%;padding:12px;color:#668756;display:grid;place-items:center}.level-emblem .icon{width:27px;height:27px}.level-strip h2{font-size:22px;margin:2px 0 5px}.level-strip p:not(.eyebrow){color:var(--muted);font-size:12px}.level-strip-progress{margin-left:auto;min-width:190px}.level-strip-progress>span{display:block;font-size:11px;text-align:right;color:var(--muted);margin-bottom:7px}.level-strip-progress strong{font-size:15px;color:var(--ink)}.progress-track{height:7px;background:#e2e7d7;overflow:hidden;border-radius:10px;box-shadow:inset 0 1px 1px #34472b10}.progress-track>span{display:block;height:100%;border-radius:inherit;background:#94ac76;transition:width .4s ease}.level-strip>.text-btn{margin-left:15px;white-space:nowrap}.section{margin-bottom:38px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:32px 0 19px}.section-heading h2{margin-top:4px;font-size:29px}.section-heading>.sub{font-size:12px}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.book-card{position:relative;min-width:0;border-radius:15px;transition:transform .25s,filter .25s}.book-card:hover{transform:translateY(-5px)}.book-open{display:block;width:100%;border:0;padding:0;background:none;text-align:left;border-radius:15px}.book-jacket{position:relative;border-radius:8px 14px 14px 8px;overflow:hidden;aspect-ratio:1/.95;background:#e5e6d8;box-shadow:3px 3px 0 #fff9ed,5px 5px 0 #dddacb,7px 8px 0 #eae8db,9px 12px 20px #354b3020;isolation:isolate}.book-art{background-color:#e8e7d8;background-image:var(--art);background-size:200% 500%;background-position:var(--art-x) var(--art-y);background-repeat:no-repeat;width:100%;height:100%;min-height:0}.book-jacket>.book-art{position:absolute;inset:0;transition:transform .45s ease}.book-card:hover .book-jacket>.book-art{transform:scale(1.035)}.book-jacket::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#132e35ce,transparent 65%),linear-gradient(90deg,#10291c44,transparent 9%);z-index:1;pointer-events:none}.book-spine{position:absolute;inset:0 auto 0 0;width:8px;z-index:2;background:linear-gradient(90deg,#0004,#fff3,#0001);border-right:1px solid #ffffff24}.cover-name{position:absolute;bottom:19px;left:21px;right:18px;color:#fffbed;font-family:Georgia,serif;font-size:clamp(20px,2vw,29px);line-height:1.12;letter-spacing:-.8px;z-index:3;text-shadow:0 2px 4px #102a3250}.level-pill{display:inline-flex;padding:5px 10px;border-radius:6px;line-height:1.4;align-items:center;font-size:10px;font-weight:800;background:#f0eddc;color:#426649}.book-jacket>.level-pill{position:absolute;top:15px;left:18px;z-index:4;box-shadow:0 2px 4px #122f1522}.level-A{background:#eaf0db;color:#406446}.level-B{background:#f6ead3;color:#956739}.level-C{background:#eee5f9;color:#785997}.cover-badge{position:absolute;right:14px;top:16px;z-index:4;display:flex;gap:4px;font-size:10px;font-weight:700;align-items:center;color:#fff;background:#193a38b3;padding:4px 7px;border-radius:8px;backdrop-filter:blur(4px)}.cover-badge .icon{width:14px;height:14px}.book-caption{padding:19px 3px 0}.book-caption h3{font-size:15px;font-weight:750;letter-spacing:-.3px}.book-caption>p{font-size:11px;color:var(--muted);margin-top:5px}.book-caption>p span{padding:0 6px}.book-status{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:10px;color:#68785b}.book-status .icon{width:15px;height:15px}.favorite{position:absolute;right:12px;top:calc(100% - 31px);background:var(--bg);border:0;width:32px;height:32px;display:none;border-radius:50%;padding:7px;color:#a07866}.favorite.saved{display:grid}.book-card:hover .favorite,.book-card:focus-within .favorite{display:grid}.favorite.saved .icon{fill:#d68b7144}.favorite:hover{background:#efdfcf}.book-card.is-locked .book-jacket{filter:saturate(.65)}.home-bottom{margin:42px 0}.practice-banner{display:flex;align-items:center;gap:24px;padding:26px 30px;border:1px solid #e6dfeb;background:linear-gradient(120deg,#f0eaf3,#f8f4f6);border-radius:21px}.banner-mark{display:grid;place-items:center;font-family:Georgia,serif;font-size:34px;width:75px;height:75px;border-radius:23px;color:#8b72a0;background:#e8dfee;box-shadow:0 4px 0 #ddd0e5;transform:rotate(-5deg);flex-shrink:0}.practice-banner h2{font-size:25px;margin:4px 0 8px}.practice-banner p:not(.eyebrow){font-size:12px;color:var(--muted)}.practice-banner>.btn{margin-left:auto;white-space:nowrap}.install-card{display:flex;align-items:center;gap:17px;border:1px dashed #d8dccc;border-radius:16px;padding:19px 24px;margin-top:20px}.install-card>.icon{color:#a09272}.install-card h3{font-size:13px}.install-card p{font-size:11px;color:var(--muted);margin-top:3px}.install-card>.text-btn{margin-left:auto}.app-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:25px 0 32px;color:#858b7d;font-size:10px;margin-top:50px}.library-tools{display:flex;justify-content:space-between;gap:20px;margin-top:30px}.search{position:relative;display:flex;align-items:center;gap:10px;border:1px solid #dedfd2;background:var(--paper);border-radius:12px;max-width:440px;flex:1;padding:0 14px}.search .icon{width:18px;height:18px;color:#83927c}.search input{width:100%;min-width:0;border:0;background:none;padding:13px 0;font-size:13px;color:var(--ink);outline-offset:0}.segmented{display:inline-flex;align-items:center;gap:3px;padding:4px;background:#eceee3;border-radius:12px}.segmented button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:none;padding:9px 15px;font-size:12px;font-weight:650;border-radius:8px;min-height:38px;white-space:nowrap}.segmented button.active{background:#fffef8;box-shadow:0 2px 4px #243d3510}.segmented button .icon{width:17px;height:17px}.level-tabs{display:flex;gap:9px;margin:24px 0 20px;flex-wrap:wrap}.level-tabs button{display:flex;align-items:center;gap:8px;font-size:11px;border:1px solid var(--line);border-radius:30px;padding:10px 14px;background:transparent;min-height:42px}.level-tabs button.active{color:white;background:var(--teal);border-color:var(--teal)}.level-tabs button>span{font-size:10px;border-radius:20px;background:#63786015;padding:1px 6px}.level-tabs button.active>span{background:#fff2}.level-tabs .icon{width:13px;height:13px}.results-label{font-size:12px;color:var(--muted);margin:18px 0;display:flex;justify-content:space-between;gap:14px}.results-label>span{font-size:11px}.library-grid{row-gap:32px}.back-link{margin:-5px 0 23px}.book-detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;padding:16px 25px 35px}.detail-cover{position:relative;min-height:470px;isolation:isolate;overflow:hidden;border-radius:7px 22px 22px 7px;box-shadow:3px 4px 0 #fffcf2,6px 7px 0 #d8d1bf,10px 13px 0 #ebe6d9,15px 20px 30px #32402e26;transform:rotate(-2deg)}.detail-cover>.book-art{position:absolute;inset:0}.detail-cover::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#102c38e8,transparent 85%),linear-gradient(90deg,#0c1b2f55,transparent 7%)}.detail-cover>div:last-child{position:absolute;inset:auto 30px 35px;z-index:2;color:#fffdf0}.detail-cover h1{font-size:clamp(35px,4vw,57px);font-weight:500;line-height:1.05;margin:14px 0 17px}.detail-cover span{font-size:8px;letter-spacing:2px}.detail-cover p{font-size:12px;color:#edf0d5}.detail-copy{align-self:center}.detail-copy>h2{font-size:38px;margin:16px 0}.detail-description{font-size:16px;color:var(--muted);max-width:450px}.book-facts{display:flex;gap:15px;flex-wrap:wrap;margin:21px 0 26px;font-size:11px;color:#6c7b64}.book-facts .icon{width:16px;height:16px;margin-right:4px}.reading-choices h3{font-family:Georgia,serif;font-size:19px;font-weight:500;margin-bottom:12px}.reading-choices>button{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:13px;margin-top:10px;transition:transform .18s,box-shadow .18s}.reading-choices>button:hover{transform:translateX(4px);box-shadow:var(--shadow)}.choice-icon{background:#f0eadb;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#99794c}.reading-choices>button:nth-of-type(2) .choice-icon{background:#e9e3f1;color:#90759c}.reading-choices>button:nth-of-type(3) .choice-icon{background:#e6ecdd;color:#72935b}.reading-choices strong{display:block;font-size:14px}.reading-choices small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.reading-choices>button>.icon{margin-left:auto;width:18px}.favorite-link{font-size:12px;margin-top:14px;color:#8f7967}.resume-note{font-size:11px;color:var(--muted);margin-top:15px}.locked-note{display:flex;align-items:center;gap:10px;background:#eee7d6;border-radius:15px;padding:20px;max-width:400px;font-size:14px}.vocab-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.word-tile{position:relative;display:flex;align-items:center;flex-direction:column;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:21px 14px 37px;box-shadow:0 3px 0 #e7e7da}.word-initial{display:grid;place-items:center;width:50px;height:50px;border-radius:17px;background:#f2e6d4;color:#b18049;font-family:Georgia,serif;font-size:32px}.word-tile:nth-child(3n+2) .word-initial,.collection-word:nth-child(3n+2) .word-initial{background:#e5ecd8;color:#718d57}.word-tile:nth-child(3n) .word-initial,.collection-word:nth-child(3n) .word-initial{background:#eae3f1;color:#9678a4}.word-tile strong{font-size:17px;margin:12px 0 6px}.word-tile small{font-size:11px;color:var(--muted);line-height:1.6}.word-tile>.icon{position:absolute;bottom:12px;width:16px;height:16px;color:#9a9c85}.page-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.page-preview figure{overflow:hidden;border-radius:17px;border:1px solid var(--line);background:var(--paper)}.page-preview .book-art{aspect-ratio:4/3;height:auto}.page-preview figcaption{font-family:Georgia,serif;font-size:15px;padding:17px 20px;line-height:1.65}.page-preview figcaption>span{display:block;font-family:'Avenir Next',sans-serif;font-size:9px;color:#85917d;letter-spacing:1px;margin-bottom:7px}.reader-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.reader-heading>div{text-align:center}.reader-heading h1{font-size:28px;margin-top:3px}.reader-heading .eyebrow{font-size:9px}.reader-heading>.text-btn{min-width:110px;justify-content:flex-start}.reading-mode-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:18px}.reader-page-count{font-size:10px;letter-spacing:1.3px;color:#859078}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:25px;align-items:start}.book-stage{min-width:0}.book-spread{display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:455px;border-radius:9px 16px 16px 9px;background:#fffcf2;box-shadow:0 5px 0 #d5cbbb,0 9px 0 #eee6d5,0 13px 0 #cfc3b0,0 23px 35px #38422c20;isolation:isolate;perspective:1800px;touch-action:pan-y}.book-spread::after{position:absolute;content:'';top:0;bottom:0;left:calc(50% - 17px);width:34px;background:linear-gradient(90deg,transparent,#3227151a 45%,#20170529 50%,#32271518 55%,transparent);pointer-events:none;z-index:5}.picture-page,.text-page{position:relative;min-width:0;overflow:hidden}.picture-page{border-radius:9px 0 0 9px;background:#e8e9d6}.picture-page>.book-art{position:absolute;inset:0}.picture-caption{position:absolute;bottom:26px;left:24px;right:24px;font-size:10px;color:#fff9e5;text-shadow:0 1px 4px #001f2d}.picture-page::after{position:absolute;content:'';inset:70% 0 0;background:linear-gradient(0deg,#12312e55,transparent);pointer-events:none}.text-page{border-radius:0 16px 16px 0;padding:31px 24px 45px;background:linear-gradient(90deg,#f5efdf,#fffcf3 9%,#fffdf5 94%,#f4eedf);display:flex;flex-direction:column;justify-content:center;box-shadow:inset -2px 0 3px #d2c7af33}.page-chapter{font-size:7px;letter-spacing:1.6px;position:absolute;top:24px;left:25px;color:#a69d86}.story-text{font-family:'Iowan Old Style',Georgia,serif;line-height:1.8;color:#353c31}.story-sentence{line-height:1.9}.story-sentence+.story-sentence{margin-top:21px}.story-word{font:inherit;line-height:1.5;color:inherit;padding:0 2px;margin:0 -1px;border:0;background:transparent;border-radius:5px;display:inline;cursor:pointer;transition:color .2s,background .2s}.story-word:hover{background:#eee3cf}.story-word.matched{background:#e3eed8;color:#347444;box-shadow:inset 0 -2px 0 #9ec27e}.story-word.matched::after{content:'✓';font-family:system-ui,sans-serif;font-size:.43em;position:relative;top:-.5em;margin-left:1px}.story-word.narrated{background:#f3dda9;color:#6f5425}.story-sentence.active-sentence{border-left:2px solid #dbcba5;margin-left:-12px;padding-left:10px}.page-word-note{display:flex;gap:6px;align-items:center;margin-top:24px;font-family:'Avenir Next',sans-serif;font-size:9px;color:#a39982}.page-word-note .icon{width:13px;height:13px}.paper-page-number{position:absolute;bottom:13px;left:50%;font-size:9px;color:#b4ab95}.picture-page .paper-page-number{color:#fff3;z-index:2}.page-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:30px}.page-controls .btn{min-height:42px;padding:10px 15px;font-size:12px}.page-controls .icon{width:17px;height:17px}.page-dots{display:flex;gap:7px;align-items:center}.page-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#dbddce;position:relative}.page-dots button::before{content:'';position:absolute;inset:-9px}.page-dots button.visited{background:#a9b998}.page-dots button.active{background:var(--orange);box-shadow:0 0 0 4px #d7794b18}.reading-coach{border:1px solid var(--line);border-radius:22px;background:#f2f1e7;padding:23px 19px;text-align:center;box-shadow:0 4px 0 #e6e6d8}.coach-fox{width:68px;height:68px;border-radius:22px;margin:0 auto 16px;box-shadow:0 3px 0 #d3d2bc}.reading-coach>.eyebrow{font-size:8px;letter-spacing:1.2px}.reading-coach h2{font-size:24px;margin:8px 0 11px;line-height:1.15}.coach-description{font-size:11px;color:var(--muted);line-height:1.8}.coach-actions{margin:19px 0;display:flex;flex-direction:column;gap:12px;align-items:stretch}.coach-actions>.btn{font-size:11px;padding:11px 8px;min-height:41px}.coach-actions>.btn .icon{width:17px;height:17px}.microphone{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;border:1px solid #8ca171;background:#e0e8d4;color:#4b6c3e;padding:16px 10px;font-size:12px;font-weight:800;box-shadow:inset 0 1px 0 white,0 4px 0 #9bad86;transition:transform .18s}.microphone:active{transform:translateY(3px);box-shadow:0 1px 0 #9bad86}.microphone.listening{background:#557c5d;color:white;animation:micPulse 1.7s infinite;border-color:#4f7256}.microphone .icon{width:23px;height:23px}.coach-status{font-size:11px;line-height:1.75;min-height:65px;padding:12px 7px;color:#65705b;border-block:1px solid #dfe3d3}.word-match-progress{margin-top:16px}.word-match-progress>span{font-size:10px;color:#7b866e;display:block;margin-bottom:8px}.speech-note{font-size:9px;color:#7b8371;line-height:1.7;margin-top:15px}.hint-note{font-size:9px;color:#8b8b76;margin-top:14px;display:flex;align-items:center;gap:5px}.hint-note .icon{width:13px;height:13px}.stop-voice{font-size:11px}.reader-words{margin-top:30px;border:1px solid var(--line);border-radius:13px;background:#fffdf5;padding:14px 18px}.reader-words summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;min-height:28px}.reader-words summary>.icon{width:17px;height:17px;color:#93a477}.reader-words summary>span{margin-left:auto;font-size:10px;color:var(--muted);font-weight:400}.reader-words>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:14px}.reader-words>div>button{position:relative;border:1px solid var(--line);border-radius:10px;background:#f9f8ef;padding:12px;text-align:left}.reader-words strong{display:block;font-size:13px}.reader-words small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:5px}.reader-words button>.icon{width:13px;height:13px;margin-top:7px;color:#9a9a7d}.word-overview{display:grid;grid-template-columns:1fr 230px;gap:24px;margin-bottom:35px}.word-garden-card{display:flex;gap:30px;align-items:center;background:#ecf0e2;border:1px solid #e0e4d4;border-radius:23px;padding:30px}.garden-glyph{display:grid;place-items:center;width:110px;height:125px;border-radius:45% 45% 30% 30%;background:#d7e1c4;color:#7d9a5b;font-family:Georgia,serif;font-size:55px;flex-shrink:0;box-shadow:0 6px 0 #c5d1b0;transform:rotate(-7deg)}.word-garden-card h2{font-size:30px;margin:5px 0 12px}.word-garden-card p{font-size:13px;color:var(--muted);margin-bottom:21px}.mini-metrics{display:grid;gap:10px;grid-template-rows:repeat(3,1fr)}.mini-metrics>div{display:flex;align-items:center;gap:17px;padding:15px 23px;border-radius:15px;background:#f2ebdc}.mini-metrics>div:nth-child(2){background:#e7eddf}.mini-metrics>div:nth-child(3){background:#eee7f1}.mini-metrics strong{font-size:27px;font-family:Georgia,serif}.mini-metrics span{font-size:11px;color:var(--muted)}.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.collection-word{padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 3px 0 #e9e9dd}.collection-word>button:first-child{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;width:100%;text-align:left}.collection-word .word-initial{width:34px;height:36px;font-size:24px;border-radius:10px;flex-shrink:0}.collection-word strong{font-size:16px;overflow-wrap:anywhere}.collection-word>button>.icon{margin-left:auto;width:15px;height:15px;color:#8c967e}.collection-word>p{font-size:12px;color:var(--muted);margin:13px 0;min-height:40px}.word-source{display:flex;align-items:center;gap:7px;border:0;border-top:1px solid var(--line);background:none;padding:11px 0 0;width:100%;font-size:9px;color:#718463;text-align:left}.word-stage{font-size:9px;color:#a48d6c;display:block;margin-top:9px}.practice-session{max-width:680px;text-align:center;margin:0 auto 40px}.practice-meter{margin:13px 0 25px}.practice-meter>span{font-size:12px;color:var(--muted);display:block;margin-bottom:9px}.flashcard{padding:34px 40px;border-radius:27px;background:var(--paper);border:1px solid var(--line);box-shadow:0 5px 0 #e4e2d3,0 15px 28px #2d3d2910}.flashcard>.word-initial{margin:auto;width:70px;height:70px;font-size:45px}.flashcard h1{font-size:54px;margin:15px 0 22px}.word-definition{font-family:Georgia,serif;font-size:22px;margin:27px 0 15px}.flashcard blockquote{font-family:Georgia,serif;font-size:17px;color:#77836c;background:#f1f4e9;border-radius:14px;margin:0 0 23px;padding:18px}.flashcard>.sub{font-size:12px;margin:15px 0}.meaning-options{display:grid;gap:9px;margin:18px 0}.meaning-options>button{background:#f8f7ee;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:13px;min-height:48px}.meaning-options>button:hover:not(:disabled){background:#f0eee1}.meaning-options>button:disabled{opacity:1}.meaning-options>button.correct{border-color:#94b878;background:#e4efda;color:#3d693f}.meaning-options>button.incorrect{border-color:#d2b8a2;background:#f5e6dc;color:#9b694c}.practice-feedback{font-size:12px;color:#788467;min-height:40px;margin:14px 0}.journey-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0 40px}.journey-summary>div{display:flex;flex-direction:column;align-items:center;padding:28px 15px;border:1px solid var(--line);border-radius:20px;background:#f3f1e7}.journey-summary>div:nth-child(2){background:#ecf0e2}.journey-summary>div:nth-child(3){background:#f2ebdf}.summary-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;background:#fff9;margin-bottom:12px;color:#9a9167}.journey-summary strong{font-family:Georgia,serif;font-weight:400;font-size:43px;line-height:1.2}.journey-summary strong small{font-size:20px;color:#9ba48f}.journey-summary>div>span:last-child{font-size:12px;color:var(--muted);margin-top:8px}.journey-level{border:1px solid var(--line);border-radius:23px;padding:25px;margin-bottom:27px;background:var(--paper);box-shadow:0 4px 0 #e7e7da;position:relative}.journey-level+.journey-level::before{content:'';position:absolute;left:50px;top:-28px;height:27px;border-left:2px dashed #d3dac6}.journey-level-heading{display:flex;align-items:center;gap:18px}.level-number{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:color-mix(in srgb,var(--level-color) 15%,white);color:var(--level-color);font-family:Georgia,serif;font-size:30px;box-shadow:0 3px 0 color-mix(in srgb,var(--level-color) 25%,white)}.journey-level-heading h2{font-size:27px;margin:3px 0 5px}.journey-level-heading p:not(.eyebrow){font-size:12px;color:var(--muted)}.level-reward{margin-left:auto;font-size:11px;max-width:180px;text-align:right;color:var(--muted)}.journey-books{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;margin:28px 0 25px}.journey-book{display:flex;flex-direction:column;align-items:center;border:0;background:none;padding:0;gap:10px}.journey-book>span{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;border:1px solid #dadfce;background:#f5f5eb;color:#9caa89;font-family:Georgia,serif;box-shadow:0 3px 0 #e3e4d6}.journey-book.complete>span{background:var(--level-color);color:white;border-color:var(--level-color);box-shadow:0 3px 0 color-mix(in srgb,var(--level-color) 80%,black)}.journey-book small{font-size:9px;color:var(--muted);line-height:1.5;text-align:center}.journey-book>.icon{width:16px;height:16px}.journey-level.locked{background:#f5f3ed}.journey-level.locked .journey-book>span{background:#eeeee4}.recent-section{margin-top:40px}.recent-section>h2{font-size:28px;margin-bottom:20px}.session-list{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:0 22px}.session-list>div{display:flex;align-items:center;gap:15px;padding:19px 0}.session-list>div+div{border-top:1px solid var(--line)}.session-list .icon{color:#8a9b70}.session-list strong{font-size:13px;display:block}.session-list small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.session-list b{margin-left:auto;font-size:12px;font-weight:500;color:var(--muted)}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px}.settings-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:25px;margin-bottom:22px;box-shadow:0 3px 0 #ebebdf}.settings-card h2{font-size:23px;display:flex;align-items:center;gap:10px;margin-bottom:12px}.settings-card h2>.icon{width:20px;height:20px;color:#9ba278}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:21px 0;min-height:92px}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row strong{font-size:13px;display:block;font-weight:700}.setting-row small{font-size:11px;color:var(--muted);display:block;margin-top:6px;line-height:1.65;max-width:320px}.setting-row select,.setting-row>input:not(.switch){max-width:190px;min-width:140px;width:40%;padding:10px 11px;color:var(--ink);background:#f8f8ef;border:1px solid #dfe3d3;border-radius:10px;font-size:12px;min-height:44px}.switch{appearance:none;-webkit-appearance:none;width:42px;height:25px;background:#d8ddce;border-radius:30px;position:relative;flex-shrink:0;cursor:pointer;transition:background .2s}.switch::before{content:'';position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:white;box-shadow:0 2px 4px #384c2e20;transition:transform .2s}.switch:checked{background:#809b64}.switch:checked::before{transform:translateX(17px)}.type-preview{font-family:Georgia,serif;line-height:1.5;padding:18px;background:#f6f2e7;border-radius:12px;margin-top:10px}.settings-card>.sub{font-size:12px;margin:14px 0}.button-row{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.import-label{cursor:pointer}.import-label>input{position:absolute;width:1px;height:1px;opacity:0}.import-label:focus-within{outline:3px solid #b47347;outline-offset:4px}.fox-note{text-align:center;background:#eef1e5}.fox-note>img{width:95px;height:95px;border-radius:28px;margin:0 auto 22px;box-shadow:0 4px 0 #d8dbc4}.fox-note>h2{display:block;font-size:24px}.settings-card>p:not(.sub){font-size:12px;color:var(--muted);margin-top:13px;line-height:1.9}.settings-card ol{padding-left:18px;font-size:12px;color:var(--muted);line-height:1.8}.settings-card li+li{margin-top:9px}.settings-card aside>.settings-card .btn{font-size:11px}.privacy-note{background:#f5f1e5}.privacy-note>h2{font-size:21px}.finished-page{text-align:center;max-width:700px;margin:20px auto 40px}.celebration-mark{margin:0 auto 25px;width:92px;height:92px;border-radius:32px;background:#e5edda;color:#6f8c53;display:grid;place-items:center;box-shadow:0 5px 0 #cfdbbb;transform:rotate(-6deg);animation:celebrate .7s ease both}.celebration-mark>.icon{width:44px;height:44px;transform:rotate(6deg)}.finished-page h1{font-size:50px;margin:10px 0 18px}.finished-sub{font-size:16px;line-height:1.85;color:var(--muted)}.finished-sub strong{font-weight:650;color:var(--ink)}.finish-words{padding:25px;margin:28px 0;border:1px solid var(--line);border-radius:20px;background:#f0f3e7}.finish-words>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}.finish-words button{border:1px solid #dce4ce;border-radius:30px;background:#fffef5;padding:9px 13px;font-size:13px}.finish-words .icon{width:14px;height:14px;color:#8b9e74;margin-left:5px}.quiz-card{background:var(--paper);border:1px solid var(--line);padding:26px;border-radius:20px;margin-bottom:28px}.quiz-card>h2{font-size:27px;margin-bottom:15px}.quiz-card>p{font-size:14px;color:var(--muted)}.finish-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.finish-actions>.text-btn{flex-basis:100%;font-size:12px}.empty-state{text-align:center;border:1px dashed #d8ddcc;border-radius:20px;padding:45px 25px;margin:20px 0}.empty-state h2{font-size:28px;margin-bottom:12px}.empty-state p{font-size:14px;color:var(--muted);margin-bottom:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#25493f;color:#fff9e9;border:1px solid #6a7f64;border-radius:14px;padding:13px 22px;box-shadow:0 6px 20px #183d3225;z-index:60;max-width:calc(100vw - 32px);width:max-content;font-size:12px;opacity:0;pointer-events:none;transition:transform .25s,opacity .25s}.toast.visible{opacity:1;transform:translate(-50%,0)}.app-dialog{padding:34px;max-width:510px;width:calc(100% - 32px);max-height:90dvh;border:1px solid #dde0d0;border-radius:25px;background:var(--bg);color:var(--ink);box-shadow:0 30px 100px #142c2e55}.app-dialog::backdrop{background:#153a3555;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:15px;top:15px}.dialog-fox{width:65px;height:65px;border-radius:22px;margin-bottom:21px}.app-dialog h2{font-size:31px;margin-bottom:18px;max-width:350px}.app-dialog p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:14px}.dialog-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:24px}.dialog-actions .btn{font-size:12px}.storage-error{position:fixed;bottom:5px;inset-inline:10px;background:#fff0c7;padding:12px;z-index:80;text-align:center;font-size:12px;border:1px solid #c5ab65}.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:var(--teal);color:white;padding:14px;border-radius:10px}.skip-link:focus{top:10px}[hidden]{display:none!important}#main:focus{outline:none}
@keyframes micPulse{0%,100%{box-shadow:0 4px 0 #3c5941,0 0 0 0 #557c5d20}50%{box-shadow:0 4px 0 #3c5941,0 0 0 7px #557c5d10}}@keyframes pageForward{from{transform:rotateY(-17deg);filter:brightness(.94)}to{transform:rotateY(0);filter:brightness(1)}}@keyframes pageBack{from{transform:rotateY(17deg);filter:brightness(.94)}to{transform:rotateY(0);filter:brightness(1)}}@keyframes celebrate{0%{transform:translateY(15px) scale(.8) rotate(-10deg);opacity:0}100%{transform:translateY(0) scale(1) rotate(-6deg);opacity:1}}.turn-forward .text-page{transform-origin:left center;animation:pageForward .48s cubic-bezier(.2,.8,.2,1)}.turn-back .picture-page{transform-origin:right center;animation:pageBack .48s cubic-bezier(.2,.8,.2,1)}
@media(min-width:1450px){.book-spread{min-height:540px}.reader-layout{grid-template-columns:minmax(0,1fr) 255px}.text-page{padding-inline:35px}.story-text{line-height:1.9}.home-hero{min-height:405px}}
@media(max-width:1150px){.app-shell{padding:0 30px}.topbar{gap:14px;height:92px;margin-bottom:28px}.brand>span{font-size:23px}.brand small{font-size:8px}.desktop-nav button{padding:10px;font-size:12px;gap:6px}.desktop-nav{gap:2px}.top-actions{gap:8px}.home-top{grid-template-columns:minmax(0,1fr) 215px;gap:18px}.home-hero{min-height:355px;grid-template-columns:1fr 1.05fr}.hero-copy{padding:28px 0 28px 27px}.hero-copy h2{font-size:37px}.hero-copy p{font-size:12px}.hero-copy .btn{font-size:12px;padding-inline:15px}.hero-tag{font-size:8px;padding:7px 9px}.daily-card{padding:20px 16px}.daily-card h2{font-size:21px}.goal-ring{width:112px;height:112px}.book-grid{gap:19px}.book-caption h3{font-size:14px}.cover-name{font-size:24px;left:17px;bottom:16px}.level-strip{padding:18px;gap:14px}.level-strip h2{font-size:20px}.level-strip-progress{min-width:150px}.level-strip>.text-btn{font-size:11px;margin-left:3px}.practice-banner{gap:20px;padding:24px}.practice-banner h2{font-size:23px}.practice-banner>.btn{font-size:12px;padding:11px 14px}.book-detail{gap:40px;padding:12px 15px 30px}.detail-cover{min-height:440px}.detail-copy>h2{font-size:34px}.reader-layout{grid-template-columns:minmax(0,1fr) 205px;gap:19px}.book-spread{min-height:445px}.text-page{padding-inline:20px}.reading-coach{padding:20px 14px}.reading-coach h2{font-size:23px}.page-controls .btn{padding:10px 12px;font-size:11px}.page-dots{gap:6px}.page-dots button{width:7px;height:7px}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-layout{grid-template-columns:minmax(0,1fr) 275px;gap:20px}.settings-card{padding:22px}.setting-row{gap:15px}.setting-row small{font-size:10px}.setting-row select,.setting-row>input:not(.switch){min-width:125px;font-size:11px}.journey-books{gap:9px}.journey-book small{font-size:8px}.journey-book>span{width:37px;height:37px}.vocab-grid{gap:11px}}
@media(max-width:900px){.app-shell{padding:0 25px}.brand small{display:none}.brand>span{font-size:23px}.brand img{width:40px;height:40px}.desktop-nav button{padding:10px 9px}.desktop-nav button>.icon{display:none}.top-actions>.profile-avatar{display:grid}.home-top{grid-template-columns:1fr}.home-hero{grid-template-columns:1fr 1.15fr;min-height:355px}.hero-copy{padding:36px 0 36px 35px}.hero-copy h2{font-size:45px}.hero-copy p{font-size:14px}.hero-copy .btn{font-size:14px}.hero-tag{font-size:9px}.daily-card{display:flex;align-items:center;gap:20px;padding:18px 22px;text-align:left}.daily-title,.daily-card>p{display:none}.daily-card h2{font-size:22px;max-width:120px;margin:0}.goal-ring{width:77px;height:77px;padding:6px;margin:0;flex-shrink:0}.goal-ring strong{font-size:27px}.goal-ring span{font-size:8px}.daily-stats{margin-left:auto;border:0;padding:0;gap:30px}.daily-stats>span{width:auto;padding:0 15px}.daily-stats strong{font-size:25px}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-top+.level-strip{margin-top:22px}.level-strip{flex-wrap:wrap}.level-strip-label{flex:1}.level-strip-progress{min-width:130px}.level-strip>.text-btn{display:none}.home-hero .hero-art{object-position:58% center}.home-top~.section .book-card:nth-child(4){display:none}.practice-banner{flex-wrap:wrap}.practice-banner>.btn{margin-left:95px}.practice-banner h2{font-size:26px}.practice-banner .banner-mark{width:65px;height:65px}.book-detail{gap:30px;padding-inline:0}.detail-cover{min-height:460px}.detail-copy>h2{font-size:31px}.detail-description{font-size:14px}.book-facts{gap:10px;font-size:10px}.reading-choices>button{padding:11px;gap:10px}.reading-choices strong{font-size:12px}.reading-choices small{font-size:10px}.choice-icon{width:33px;height:33px}.vocab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reader-layout{grid-template-columns:1fr}.book-spread{min-height:470px}.text-page{padding-inline:27px}.reading-coach{display:grid;grid-template-columns:90px 1fr 1fr;gap:10px 20px;text-align:left;padding:20px}.coach-fox{width:65px;height:65px;grid-row:1/4;align-self:center;margin:auto}.reading-coach>.eyebrow{grid-column:2}.reading-coach h2{grid-column:2;font-size:24px;margin:0}.coach-description{grid-column:2;grid-row:3}.coach-actions{grid-column:3;grid-row:1/5;margin:0}.coach-status{grid-column:1/3;min-height:0;padding:10px 0}.word-match-progress{grid-column:1/3;margin-top:0}.speech-note{grid-column:1/4;margin:0}.hint-note{grid-column:1/4;margin:0}.reader-words{margin-bottom:22px}.settings-layout{grid-template-columns:1fr}.settings-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.settings-layout>aside>.privacy-note{grid-column:1/3}.setting-row small{font-size:11px}.setting-row select{font-size:12px;min-width:170px}.settings-card{padding:25px}.word-overview{grid-template-columns:1fr}.mini-metrics{display:flex;gap:12px}.mini-metrics>div{flex:1;gap:12px;padding:15px}.mini-metrics span{font-size:10px}.word-garden-card{gap:25px}.word-garden-card h2{font-size:30px}.journey-books{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 16px}.journey-book small{font-size:10px;max-width:90px}.journey-book>span{width:43px;height:43px}.level-reward{display:none}.journey-summary{gap:12px}.journey-summary>div{padding:23px 12px}.journey-summary>div>span:last-child{font-size:10px}}
@media(max-width:620px){.app-shell{padding:0 19px;padding-bottom:65px}.topbar{height:79px;margin-bottom:25px}.brand>span{font-size:24px}.brand img{width:40px;height:40px}.desktop-nav{display:none}.top-actions{margin-left:auto}.top-actions .icon-btn{width:39px;height:39px;padding:10px}.top-actions .icon-btn .icon{width:19px;height:19px}.mobile-nav{display:flex;position:fixed;bottom:0;inset-inline:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));height:auto;min-height:67px;background:#fffdf5ed;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid #dde2d1;z-index:40;justify-content:space-around}.mobile-nav button{display:flex;align-items:center;flex-direction:column;gap:4px;font-size:9px;padding:5px 13px;min-width:64px;background:none;border:0;color:#929b84;border-radius:12px}.mobile-nav button.active{color:#3a604b;background:#eaf0e2}.mobile-nav .icon{width:21px;height:21px}.page-heading{align-items:start;gap:10px;margin-bottom:23px}.page-heading h1{font-size:35px}.page-heading>.btn{padding:9px 10px;min-height:36px;font-size:10px;margin-top:20px;white-space:nowrap;gap:4px}.page-heading>.btn .icon{width:15px;height:15px}.page-heading .sub{font-size:12px;max-width:250px}.eyebrow{font-size:9px;letter-spacing:1.6px}.home-hero{grid-template-columns:1fr;min-height:0;border-radius:22px}.hero-art{grid-row:1;aspect-ratio:1005/754;height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}.hero-copy{padding:27px 26px 30px;grid-row:2}.hero-copy h2{font-size:41px;margin-bottom:13px}.hero-copy p{font-size:13px}.hero-tag{margin-bottom:16px}.hero-current{font-size:10px}.daily-card{padding:16px;gap:14px}.daily-card h2{font-size:19px;max-width:90px}.daily-stats{gap:5px;flex:1;justify-content:space-around}.daily-stats>span{padding:0 4px;font-size:8px}.daily-stats strong{font-size:22px}.goal-ring{width:65px;height:65px;padding:5px}.goal-ring strong{font-size:24px}.goal-ring span{font-size:6px}.level-strip{padding:17px;gap:12px;margin-bottom:28px}.level-emblem{padding:9px}.level-emblem .icon{width:22px;height:22px}.level-strip-label{min-width:180px}.level-strip h2{font-size:20px}.level-strip p:not(.eyebrow){font-size:10px}.level-strip-progress{width:100%;margin-top:1px}.level-strip-progress>span{font-size:10px}.section-heading{gap:12px;margin-top:25px}.section-heading h2{font-size:27px}.section-heading>.text-btn{font-size:10px;max-width:110px;line-height:1.7;text-align:right;justify-content:flex-end}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.home-top~.section .book-card:nth-child(4){display:block}.book-jacket{aspect-ratio:1/1.12}.cover-name{font-size:23px;left:16px;right:12px;bottom:18px}.book-jacket>.level-pill{left:13px;top:13px;font-size:8px;padding:4px 7px}.cover-badge{right:9px;top:13px;font-size:8px;padding:4px}.cover-badge .icon{width:11px;height:11px}.book-caption{padding-top:17px}.book-caption h3{font-size:13px;line-height:1.45}.book-caption>p{font-size:10px}.book-status{font-size:8px;gap:3px}.book-status .icon{width:12px;height:12px}.favorite{display:grid;top:auto;bottom:-2px;right:-5px;width:25px;height:25px;padding:5px}.favorite>.icon{width:15px;height:15px}.practice-banner{padding:22px;gap:16px}.practice-banner .banner-mark{width:50px;height:50px;font-size:27px;border-radius:17px}.practice-banner>div{flex:1;min-width:150px}.practice-banner h2{font-size:25px;line-height:1.2}.practice-banner p:not(.eyebrow){font-size:11px}.practice-banner>.btn{margin-left:0;width:100%;font-size:12px}.install-card{padding:18px;gap:12px;flex-wrap:wrap}.install-card>div{flex:1;min-width:170px}.install-card>.text-btn{margin-left:32px;font-size:11px;padding:0}.install-card h3{font-size:12px}.install-card p{font-size:10px}.app-footer{margin-top:35px;flex-direction:column;gap:5px;font-size:9px;padding:20px 0}.library-tools{flex-direction:column;gap:15px}.search{max-width:none;flex:auto}.segmented{align-self:start;width:100%;justify-content:space-between}.segmented button{font-size:11px;flex:1;padding:8px 9px}.level-tabs{gap:7px;margin-top:19px}.level-tabs button{font-size:9px;padding:8px 11px;min-height:38px}.level-tabs button>span{font-size:8px}.results-label{font-size:10px}.results-label>span{font-size:8px;text-align:right;max-width:130px}.back-link{font-size:11px;margin-bottom:17px}.book-detail{grid-template-columns:1fr;padding:0;gap:35px}.detail-cover{width:85%;margin:10px auto;min-height:390px;max-width:370px}.detail-cover h1{font-size:41px}.detail-copy>h2{font-size:33px}.detail-copy .level-pill{font-size:9px}.detail-description{font-size:14px}.book-facts{font-size:10px;gap:10px;line-height:1.8}.reading-choices>button{padding:14px;gap:14px}.choice-icon{width:39px;height:39px}.reading-choices strong{font-size:14px}.reading-choices small{font-size:11px}.vocab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.word-tile{padding:19px 13px 35px}.word-tile strong{font-size:18px}.word-tile small{font-size:11px}.page-preview{grid-template-columns:1fr;gap:18px}.page-preview figure{display:grid;grid-template-columns:1fr 1fr}.page-preview .book-art{height:100%;aspect-ratio:auto;min-height:150px}.page-preview figcaption{font-size:14px;padding:19px 16px;align-self:center}.reader-heading{gap:10px;align-items:start}.reader-heading>.text-btn{min-width:0;font-size:10px;gap:5px}.reader-heading>.text-btn>span{display:none}.reader-heading h1{font-size:24px}.reader-heading .eyebrow{font-size:8px}.reader-heading>.icon-btn{width:34px;height:34px;padding:7px;flex-shrink:0}.reading-mode-row{flex-wrap:wrap;gap:14px;margin-top:23px}.reading-modes{width:100%}.reading-modes button{font-size:10px;gap:4px;padding:8px 5px;min-height:42px}.reading-modes .icon{width:14px;height:14px}.reader-page-count{width:100%;text-align:center;font-size:9px}.book-spread{grid-template-columns:1fr;min-height:0;border-radius:14px;box-shadow:0 4px 0 #d5cbbb,0 8px 0 #eee6d5,0 12px 0 #cfc3b0,0 20px 30px #38422c18}.book-spread::after{left:0;right:0;top:calc(100% - 200px);width:auto;bottom:auto;display:none}.picture-page{border-radius:14px 14px 0 0;aspect-ratio:4/3}.picture-caption{bottom:18px;left:20px;font-size:9px}.picture-page .paper-page-number{display:none}.text-page{min-height:245px;border-radius:0 0 14px 14px;padding:45px 25px 40px;background:linear-gradient(180deg,#f4eedf,#fffcf2 10%);border-top:1px solid #e4d9bd66}.page-chapter{top:18px;font-size:7px}.story-sentence{line-height:1.8}.story-sentence+.story-sentence{margin-top:15px}.page-word-note{margin-top:21px}.page-controls{gap:8px;flex-wrap:wrap;justify-content:space-between;margin-top:27px}.page-controls .btn{padding:10px 12px;font-size:11px;order:2}.page-dots{order:1;width:100%;justify-content:center;gap:13px;margin-bottom:12px}.page-dots button{width:8px;height:8px}.page-controls>.btn:first-child{order:2}.page-controls>.btn:last-child{order:3}.reading-coach{grid-template-columns:65px 1fr;gap:12px 17px;padding:22px}.coach-fox{grid-column:1;grid-row:1/4;width:60px;height:60px;border-radius:19px}.reading-coach>.eyebrow{grid-column:2;grid-row:1}.reading-coach h2{grid-column:2;grid-row:2;font-size:24px}.coach-description{grid-column:2;grid-row:3;font-size:11px}.coach-actions{grid-column:1/3;grid-row:4;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:5px}.coach-actions>.btn{padding:12px 8px;min-height:46px;font-size:10px}.microphone{padding:13px 8px;min-height:46px;font-size:10px;gap:5px}.microphone>.icon{width:18px;height:18px}.coach-actions>.text-btn{grid-column:1/3;font-size:11px}.coach-status{grid-column:1/3;grid-row:5}.word-match-progress{grid-column:1/3;grid-row:6}.speech-note,.hint-note{grid-column:1/3}.reader-words>div{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-words summary{font-size:11px}.reader-words summary>span{font-size:8px}.word-garden-card{padding:23px;gap:20px;flex-direction:column;text-align:center}.garden-glyph{width:80px;height:85px;font-size:42px}.word-garden-card h2{font-size:28px}.word-garden-card p{font-size:12px}.mini-metrics{gap:8px}.mini-metrics>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:12px 8px}.mini-metrics strong{font-size:25px}.mini-metrics span{font-size:9px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.collection-word{padding:15px}.collection-word>button:first-child{flex-wrap:wrap;gap:8px}.collection-word>button:first-child>.icon{width:13px;height:13px}.collection-word strong{font-size:15px;flex-basis:calc(100% - 33px);order:2}.collection-word .word-initial{width:30px;height:32px}.collection-word p{font-size:11px;min-height:48px}.word-source{font-size:8px}.word-stage{font-size:8px}.practice-session{margin-top:15px}.flashcard{padding:27px 23px}.flashcard h1{font-size:47px}.word-definition{font-size:20px}.flashcard blockquote{font-size:15px;padding:15px}.journey-summary{gap:9px;margin-bottom:29px}.journey-summary>div{padding:19px 8px;border-radius:16px}.journey-summary strong{font-size:32px}.journey-summary strong small{font-size:14px}.journey-summary>div>span:last-child{font-size:9px;line-height:1.6;max-width:80px}.summary-icon{width:34px;height:34px;border-radius:11px}.summary-icon .icon{width:19px;height:19px}.journey-level{padding:22px 18px}.journey-level-heading{gap:13px}.level-number{width:47px;height:47px;font-size:25px;border-radius:15px;flex-shrink:0}.journey-level-heading h2{font-size:24px}.journey-level-heading p:not(.eyebrow){font-size:10px}.journey-books{gap:21px 9px}.journey-book>span{width:33px;height:33px;font-size:14px}.journey-book small{font-size:8px}.journey-book .icon{width:15px;height:15px}.recent-section h2{font-size:26px}.session-list{padding:0 16px}.session-list strong{font-size:12px}.session-list small{font-size:9px}.settings-card{padding:22px 20px}.settings-card h2{font-size:24px}.setting-row{gap:14px;align-items:start;padding:19px 0;min-height:0;flex-wrap:wrap}.setting-row>span{flex:1;min-width:180px}.setting-row strong{font-size:13px}.setting-row small{font-size:11px}.setting-row select,.setting-row>input:not(.switch){width:100%;max-width:none;font-size:13px;min-height:47px}.setting-row .switch{margin-top:7px}.settings-layout>aside{grid-template-columns:1fr;gap:0}.settings-layout>aside>.privacy-note{grid-column:1}.settings-card>p:not(.sub){font-size:12px}.button-row>.btn{flex:1;min-width:125px;font-size:12px}.finished-page{margin-top:30px}.finished-page h1{font-size:41px}.finished-sub{font-size:14px}.finish-words{padding:23px 16px}.finish-words button{font-size:11px}.quiz-card{padding:23px 20px}.finished-page .finish-actions>.btn{width:100%}.toast{bottom:calc(85px + env(safe-area-inset-bottom));font-size:11px;padding:12px 17px;max-width:calc(100vw - 30px);text-align:center}.app-dialog{padding:28px 25px}.app-dialog h2{font-size:29px}.app-dialog p{font-size:12px}.dialog-actions>.btn{width:100%}.reader-words{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.book-card:hover{transform:none}}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion .book-card:hover{transform:none}
@media(display-mode:standalone){.app-shell{padding-top:env(safe-area-inset-top)}body{overscroll-behavior-y:none}}
/* Word discovery stays close to the picture book, with controls large enough for small hands. */
.word-explorer{max-width:570px;padding:34px 32px 27px;overflow-y:auto;overscroll-behavior:contain}
.word-explorer>.eyebrow{margin:0 45px 21px 0;font-size:10px}
.word-explorer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}
.word-explorer h2{font-size:clamp(40px,6vw,61px);line-height:1.1;margin:0;overflow-wrap:anywhere}
.word-beats{margin-top:9px;font-size:15px;letter-spacing:3px;color:#84916d;font-weight:650}
.word-mini-art{width:112px;height:102px;overflow:hidden;border-radius:22px;flex-shrink:0;box-shadow:0 4px 0 #dfdfca;transform:rotate(3deg)}
.word-explorer>.explorer-meaning{font-family:Georgia,serif;color:#59664f;font-size:20px;line-height:1.5;margin:14px 0 21px}
.word-sound-buttons{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0 23px}
.word-sound-buttons .btn{min-height:52px;font-size:15px}
.sound-discovery{background:#f0f3e6;border:1px solid #e0e7d0;padding:17px 19px;border-radius:16px;margin-bottom:18px}
.sound-discovery>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750;color:#73875a}
.sound-discovery .icon{width:17px;height:17px}
.sound-discovery>p{font-size:13px;color:#6c795e;line-height:1.75;margin-top:7px}
.word-example{padding:15px 19px 10px;border-left:3px solid #dbc39e;background:#f7f1e7;border-radius:0 12px 12px 0;margin:16px 0 22px}
.word-example>p{font-family:Georgia,serif;font-size:18px;color:#6f6b54;line-height:1.65}
.word-example>.text-btn{font-size:12px;margin-top:7px;min-height:44px;padding:5px 0}
.word-try-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.word-try-row .btn{font-size:13px;min-height:48px;padding:12px 10px}
.word-explorer.word-matched .word-try-row>.btn:first-child{background:#dcebd0;border-color:#8eaf70;color:#426e3b}
.word-explorer.word-matched .word-explorer-top h2{color:#517b44}
.word-explorer>.word-feedback{font-size:12px;line-height:1.8;min-height:44px;margin:19px 0 10px;color:#73835f}
.word-consent{padding:16px;border-radius:15px;background:#f2ead8;margin-top:21px}
.word-consent>p{font-size:12px;color:#797056;line-height:1.8;margin-bottom:16px}
.word-consent .btn{font-size:12px;width:100%}
.word-consent>.text-btn{width:100%;font-size:11px;margin-top:10px;min-height:44px}
.letter-discovery{border-top:1px solid var(--line);padding-top:6px}
.letter-discovery summary{font-size:12px;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;color:#8b8c70}
.letter-discovery summary::before{content:'+';font-size:19px;font-weight:400}
.letter-discovery[open] summary::before{content:'−'}
.letter-discovery>p{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 8px}
.letter-discovery>p>span{width:34px;height:39px;border-radius:8px;border:1px solid #e3e3d2;display:grid;place-items:center;background:#f4f3e8;font-size:21px;font-family:Georgia,serif;color:#6c7c5a}
.letter-discovery>.text-btn{font-size:12px;min-height:44px}
.letter-discovery>small{display:block;color:#8a8d7b;font-size:10px;line-height:1.7;margin-top:4px}
.word-explorer>.word-matching-note{font-size:10px;line-height:1.7;color:#8a8c7c;border-top:1px solid var(--line);margin:13px 0 0;padding-top:13px}
.page-success{display:flex;align-items:center;gap:9px;border:1px solid #c7d9b3;background:#eaf2e0;border-radius:13px;padding:14px 17px;margin-top:26px;font-size:12px;color:#557545;animation:celebrate .4s ease both}
.page-success>.icon{width:18px;height:18px}
.picture-detective{border:1px solid #e7dfcd;background:#f7f0e3;border-radius:15px;padding:13px 18px;margin-top:27px}
.picture-detective summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:700;min-height:35px;color:#92764f}
.picture-detective summary>.icon{width:17px;height:17px}
.picture-detective>p{font-family:Georgia,serif;font-size:21px;margin:14px 0 5px;color:#776847}
.picture-detective>.text-btn{font-size:12px;min-height:44px}
.picture-detective>small{font-size:10px;color:#9a8e74;display:block;margin-top:3px}
.reader-words{margin-top:17px}
.word-pocket{padding:0 23px 22px;background:#f3efe4;border:1px solid #e8e2d1;border-radius:20px;margin:30px 0}
.word-pocket>.section-heading{margin-top:22px}
.word-pocket h2{font-size:25px}
.pocket-empty{font-size:12px;color:#8a826b;line-height:1.8;max-width:550px}
.pocket-chips{display:flex;gap:11px;flex-wrap:wrap}
.pocket-chips>button{display:flex;gap:9px;align-items:center;background:#fffdf5;border:1px solid #dddcc9;border-radius:12px;padding:12px 15px;min-height:48px;box-shadow:0 3px 0 #e1dcc8;font-size:15px;font-family:Georgia,serif}
.pocket-chips .icon{width:16px;height:16px;color:#8d9a72}
.app-footer a{color:inherit;margin-left:8px;text-underline-offset:3px}
.story-word{min-width:24px}
@media(max-width:620px){.word-explorer{padding:29px 23px 23px;border-radius:24px;max-height:calc(100dvh - 30px)}.word-explorer>.eyebrow{font-size:8px;margin-bottom:20px}.word-explorer h2{font-size:45px}.word-mini-art{width:80px;height:80px;border-radius:18px}.word-beats{font-size:12px;letter-spacing:2px}.word-explorer>.explorer-meaning{font-size:18px}.word-sound-buttons{gap:11px;margin:18px 0}.word-sound-buttons .btn{font-size:14px}.word-try-row{gap:10px}.word-try-row .btn{font-size:11px}.word-example>p{font-size:17px}.word-pocket{padding:0 18px 21px}.word-pocket h2{font-size:25px}.pocket-chips{gap:10px}.pocket-chips>button{font-size:14px;padding:11px 13px}.picture-detective{padding:12px 15px}.picture-detective summary{font-size:11px}.picture-detective>p{font-size:21px}.word-explorer .dialog-close{width:43px;height:43px;top:13px;right:13px}.page-success{font-size:11px;padding:13px}}
.story-word.hearing{background:#f7edcf;text-decoration:underline dotted #bb9a54;text-underline-offset:5px}
/* The reader is a pair of complete story pages, with the book itself taking center stage. */
.reading-shell{max-width:1500px;padding-inline:35px}
.reading-shell .topbar{height:76px;margin-bottom:24px}
.reading-shell .app-footer{margin-top:28px}
.immersive-book{margin:0 auto;padding:10px 6px 0}
.facing-book{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:9px 15px 15px 9px;padding:5px;background:#c1ab87;box-shadow:0 5px 0 #eadfca,0 8px 0 #c5b697,0 11px 0 #f1e7d2,0 14px 0 #b49d79,0 25px 42px #473e2b22;isolation:isolate;perspective:1800px;touch-action:pan-y}
.story-leaf{position:relative;min-width:0;background:#fffaf0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:30px;box-shadow:inset 0 0 28px #e8d6b055;min-height:550px}
.story-leaf:first-child{border-radius:5px 0 0 5px;background:linear-gradient(90deg,#fffaf0 90%,#efe5cf)}
.story-leaf:nth-child(2){border-radius:0 11px 11px 0;background:linear-gradient(90deg,#e9dec6,#fffaf0 10%)}
.leaf-illustration{position:relative;width:100%;aspect-ratio:1.75;max-height:355px;overflow:hidden;border-bottom:1px solid #e1d4b7}
.leaf-illustration .book-art{height:100%;width:100%}
.leaf-bookmark{position:absolute;top:0;left:24px;background:#f9f0d8ec;color:#917346;padding:9px 9px 15px;clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);font-family:Georgia,serif;font-size:13px;min-width:29px;text-align:center}
.leaf-copy{padding:14px 35px 18px;flex:1;display:flex;flex-direction:column;justify-content:center}
.leaf-reading-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}
.leaf-reading-bar>span{font-size:8px;letter-spacing:1.5px;color:#b2a17f}
.leaf-reading-bar>.text-btn{font-size:10px;font-weight:650;min-height:38px;gap:6px;color:#a39776;padding:7px 0}
.leaf-reading-bar .icon{width:14px;height:14px}
.active-leaf .leaf-reading-bar>.text-btn{color:#66824d}
.active-leaf .leaf-reading-bar>span{color:#8a9771}
.leaf-copy .story-text{font-family:'Iowan Old Style',Georgia,serif;font-size:30px;line-height:1.65;letter-spacing:.005em}
.leaf-copy .story-sentence{line-height:1.75}
.leaf-copy .story-sentence+.story-sentence{margin-top:14px}
.leaf-page-number{position:absolute;bottom:11px;left:50%;font-size:10px;font-family:Georgia,serif;color:#ad9d7e}
.book-binding{pointer-events:none;position:absolute;top:5px;bottom:5px;left:calc(50% - 24px);width:48px;background:linear-gradient(90deg,transparent,#604a2420 30%,#3b2d1a39 47%,#f7edcf80 50%,#59461b2b 53%,transparent);z-index:8}
.facing-book.turn-forward .story-leaf:nth-child(2){transform-origin:left center;animation:pageForward .48s ease both}
.facing-book.turn-back .story-leaf:first-child{transform-origin:right center;animation:pageBack .48s ease both}
.spread-markers{display:flex;gap:7px;align-items:center}
.spread-markers>button{border:0;background:transparent;color:#b1b498;padding:8px;min-width:42px;min-height:42px;border-radius:50%;font-size:10px;line-height:1}
.spread-markers>button.active{background:#e9dfc8;color:#9a7043;box-shadow:inset 0 1px 2px #af916522}
.reader-companion-bar{display:flex;align-items:center;gap:17px;margin-top:27px;padding:15px 19px;background:#f0f1e6;border:1px solid #e0e4d1;border-radius:17px;box-shadow:0 3px 0 #e6e7d8}
.reader-companion-bar>img{width:47px;height:47px;border-radius:15px;flex-shrink:0}
.companion-status{flex:1;min-width:0}.companion-status>.eyebrow{font-size:8px;letter-spacing:1px}
.companion-status>p{font-size:12px;color:#718063;line-height:1.6;margin-top:3px}.companion-status>span{font-size:9px;color:#91a07b;display:block;margin-top:4px}
.compact-coach-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;justify-content:flex-end}
.compact-coach-actions>.btn,.compact-coach-actions>.microphone{min-height:43px;padding:11px 15px;font-size:11px}
.compact-coach-actions .icon{width:17px;height:17px}.compact-coach-actions>.text-btn{font-size:10px}
.book-extras{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:20px;align-items:start}.book-extras>details{margin:0;min-width:0}
.reader-footnote{font-size:9px;color:#9a9f8c;text-align:center;margin-top:19px}.reader-companion-bar+.page-success{margin-top:18px}
.voice-library-status{font-size:11px;color:#859373;padding:12px 15px;background:#eef2e3;border-radius:11px;margin:0 0 15px}
/* Shelves give the library a warm, physical rhythm without making book titles harder to read. */
.library-grid{row-gap:38px;background:repeating-linear-gradient(180deg,transparent 0,transparent 326px,#d5c2a0 327px,#e7d8bb 333px,transparent 334px);background:none}
.book-card{padding-bottom:15px}.book-card::after{content:'';position:absolute;left:-8px;right:-8px;bottom:0;height:6px;background:linear-gradient(#eee0c6,#d5bf99);border-radius:4px;box-shadow:0 4px 5px #66553812}
.book-jacket{aspect-ratio:.84}.book-caption{padding:20px 3px 2px}.book-status{padding-bottom:6px}
.home-hero{border:4px solid #d4c19d;box-shadow:0 5px 0 #e9dcc1,0 9px 0 #c6b28c,0 15px 25px #463d2520;border-radius:11px 24px 24px 11px}
.library-tools{padding:18px;background:#f2edde;border:1px solid #e5ddc7;border-radius:17px}
@media(max-width:1150px){.reading-shell{padding-inline:27px}.story-leaf{min-height:515px}.leaf-copy{padding-inline:27px}.leaf-illustration{aspect-ratio:1.6}.leaf-copy .story-text{font-size:29px}.reader-companion-bar{gap:13px}.compact-coach-actions{gap:10px}.compact-coach-actions>.btn,.compact-coach-actions>.microphone{padding:10px 12px}.spread-markers>button{padding:8px 6px;min-width:36px}}
@media(max-width:900px){.reading-shell{padding-inline:20px}.story-leaf{min-height:530px}.leaf-copy{padding:10px 22px 18px}.leaf-illustration{aspect-ratio:1.35}.reader-companion-bar{flex-wrap:wrap}.compact-coach-actions{width:100%;justify-content:flex-start;padding-left:62px}.book-extras{gap:13px}.leaf-reading-bar>.text-btn{font-size:9px}.book-extras .reader-words>div{grid-template-columns:1fr 1fr}.spread-markers>button{min-width:34px;font-size:9px}}
@media(max-width:620px){.reading-shell{padding-inline:17px}.facing-book{grid-template-columns:1fr;padding:4px;border-radius:10px;gap:7px}.story-leaf{min-height:0;display:block;padding-bottom:25px}.story-leaf:first-child,.story-leaf:nth-child(2){border-radius:5px;background:#fffaf0}.leaf-illustration{aspect-ratio:1.4;max-height:none}.leaf-copy{padding:12px 22px 25px;min-height:190px}.leaf-copy .story-text{font-size:28px}.leaf-reading-bar{margin-bottom:15px}.leaf-reading-bar>.text-btn{font-size:11px}.book-binding{display:none}.reading-shell .topbar{margin-bottom:24px}.reader-companion-bar{gap:13px;padding:16px}.reader-companion-bar>img{width:43px;height:43px}.companion-status{min-width:180px}.compact-coach-actions{padding-left:0;justify-content:space-between}.compact-coach-actions>.btn,.compact-coach-actions>.microphone{flex:1}.book-extras{grid-template-columns:1fr;gap:13px}.spread-markers{order:1;width:100%;justify-content:center;gap:10px}.spread-markers>button{min-width:40px;font-size:10px}.reader-footnote{font-size:9px;line-height:1.8}.facing-book .story-sentence{line-height:1.75}.reader-heading h1{font-size:24px}.book-jacket{aspect-ratio:.78}.library-tools{padding:14px}.book-card::after{left:-5px;right:-5px}.companion-status>p{font-size:11px}}
/* Focused reader: the supplied open-book reference, without a separate coaching panel. */
.reading-shell .topbar,.reading-shell .app-footer,.reading-shell~.mobile-nav{display:none}
.reading-shell{max-width:1450px;padding:22px 28px 35px;min-height:100dvh}
.reading-shell .reader-heading{margin-bottom:20px;min-height:40px;align-items:center}
.reading-shell .reader-heading h1{font-size:25px;text-align:center;flex:1}
.reading-shell .reader-heading>.text-btn{font-size:12px;min-width:110px}
.picture-text-book{min-height:min(64dvh,650px);border-radius:13px 22px 22px 13px;padding:8px;box-shadow:0 6px 0 #e9dcc2,0 11px 0 #ba9d76,0 22px 36px #4e41232b;grid-template-columns:1fr 1fr;gap:0;background:#e8d8bc}
.illustration-leaf{position:relative;min-width:0;overflow:hidden;min-height:500px;border-radius:8px 0 0 8px;background:#dce6c8}
.illustration-leaf>.book-art{position:absolute;inset:0;width:100%;height:100%}
.illustration-title{position:absolute;left:20px;right:20px;top:20px;padding:8px 13px;background:#fffbebd9;border-radius:7px;font-family:Georgia,serif;font-size:clamp(23px,3vw,36px);line-height:1.15;letter-spacing:-1px;color:#344631;backdrop-filter:blur(8px)}
.text-leaf.story-leaf{border-radius:0 15px 15px 0;padding:65px 50px 80px;display:flex;justify-content:center;min-height:500px;background:linear-gradient(90deg,#e9e0ca,#fffaf0 9%,#fffaf0 96%,#f4ecd9);overflow:visible}
.text-leaf .story-text{font-family:'Iowan Old Style',Georgia,serif;line-height:1.9;letter-spacing:.005em;color:#384330}
.text-leaf .story-sentence{line-height:1.9}.text-leaf .story-sentence+.story-sentence{margin-top:28px}
.story-page-folio{position:absolute;bottom:37px;left:50%;transform:translateX(-50%);font-family:Georgia,serif;font-size:13px;color:#ad9b7e}
.page-corner{position:absolute;bottom:0;right:0;width:62px;height:62px;border:0;border-radius:50px 0 14px 0;background:linear-gradient(135deg,#fffef6 0,#fffef6 48%,#e8dac0 49%,#d7c29d);box-shadow:-3px -3px 10px #92826210;display:flex;align-items:center;justify-content:center;padding:15px 6px 0 18px;color:#9c7c4e}
.page-corner>.icon{width:21px;height:21px}.page-corner:hover{filter:brightness(.98)}
.book-control-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;margin-top:23px;background:#fffdf5;border:1px solid #e4decd;border-radius:35px;box-shadow:0 3px 0 #ebe5d5}
.book-control-strip .btn{font-size:12px;min-height:43px;padding:10px 17px;border-radius:25px}.book-control-strip .icon{width:18px;height:18px}
.book-control-strip>.reader-page-count{font-family:Georgia,serif;font-size:15px;color:#93856c;letter-spacing:0}
.book-audio-controls{display:flex;align-items:center;gap:10px}.book-audio-controls>.icon-btn{width:41px;height:41px;background:#f8f6eb}
.book-mic.listening{background:#dce9ce;box-shadow:0 0 0 5px #c9d9b520;border-color:#9bb782;animation:micPulse 1.6s infinite}
.book-reading-tools{display:flex;align-items:center;justify-content:center;gap:18px;padding:13px 15px;flex-wrap:wrap}
.reading-mode-select select{font-size:10px;border:0;background:transparent;color:#a49b83;min-height:36px;padding:6px;max-width:145px}
.quiet-reading-status{font-size:11px;color:#88967a;line-height:1.7;max-width:650px;text-align:center}
.voice-credit{font-size:9px;color:#b3ac99}.book-reading-tools>.text-btn{font-size:11px}
.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}
.facing-book.turn-forward .text-leaf{transform-origin:left center;animation:pageForward .48s ease both}.facing-book.turn-back .illustration-leaf{transform-origin:right center;animation:pageBack .48s ease both}
@media(min-width:1000px) and (max-height:850px){.reading-shell{padding-top:17px}.picture-text-book{min-height:0}.illustration-leaf,.text-leaf.story-leaf{min-height:calc(100dvh - 215px)}.text-leaf.story-leaf{padding-block:45px 65px}.reading-shell .reader-heading{margin-bottom:13px}.book-control-strip{margin-top:20px;padding-block:10px}.book-reading-tools{padding-block:7px}}
@media(max-width:1000px){.reading-shell{padding-inline:21px}.text-leaf.story-leaf{padding:45px 31px 70px}.illustration-leaf,.text-leaf.story-leaf{min-height:520px}.picture-text-book{min-height:0}.text-leaf .story-text{font-size:29px}.illustration-title{left:16px;right:16px;top:16px;font-size:29px}.book-control-strip{gap:13px;padding:12px 15px}.book-control-strip .btn{font-size:11px;padding:10px 13px}}
@media(max-width:620px){.reading-shell{padding:16px 13px 25px}.reading-shell .reader-heading h1{font-size:22px}.reading-shell .reader-heading>.text-btn{min-width:0}.reading-shell .reader-heading>.text-btn>span{display:none}.picture-text-book{grid-template-columns:1fr;padding:5px;border-radius:13px;gap:0}.illustration-leaf{min-height:0;aspect-ratio:1.3;border-radius:8px 8px 0 0}.text-leaf.story-leaf{min-height:290px;padding:40px 27px 65px;border-radius:0 0 9px 9px;background:linear-gradient(#f2e9d4,#fffaf0 12%);overflow:hidden}.illustration-title{font-size:26px;left:14px;right:14px;top:14px}.text-leaf .story-text{font-size:29px}.text-leaf .story-sentence{line-height:1.8}.text-leaf .story-sentence+.story-sentence{margin-top:19px}.story-page-folio{bottom:23px;font-size:12px}.page-corner{width:48px;height:48px;border-radius:38px 0 8px 0;padding:13px 3px 0 14px}.page-corner>.icon{width:17px;height:17px}.book-control-strip{padding:11px 10px;gap:8px;flex-wrap:wrap;border-radius:23px;margin-top:21px}.book-control-strip>.reader-page-count{font-size:12px}.book-control-strip .btn{font-size:10px;min-height:40px;padding:9px 11px;gap:5px}.book-control-strip .icon{width:15px;height:15px}.book-audio-controls{gap:6px}.book-audio-controls>.icon-btn{width:35px;height:35px;padding:8px}.book-reading-tools{gap:8px;padding-inline:5px}.quiet-reading-status{font-size:10px;order:3;width:100%}.voice-credit{font-size:8px}}
.book-conversation{padding:20px 24px;background:#f1eddf;border:1px solid #e5ddc7;border-radius:16px;margin-top:22px}.book-conversation>p{font-family:Georgia,serif;font-size:22px;color:#8c7853;margin-top:8px}.book-conversation .text-btn{font-size:12px;min-height:43px}
.library-shelf{margin-bottom:42px}.shelf-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:27px 0 22px;padding-bottom:12px;border-bottom:1px solid #ddd3bc}.shelf-heading h2{font-size:28px;margin-top:5px}.shelf-heading>span{font-size:11px;color:#a29474}.journey-book>span{border-radius:4px 12px 12px 4px;border-left:4px solid #bcc9a5}.journey-book.complete>span{border-left:4px solid #3b634b}@media(max-width:620px){.shelf-heading{align-items:start;gap:15px}.shelf-heading h2{font-size:25px}.shelf-heading>span{font-size:9px;max-width:100px;text-align:right}.library-shelf{margin-bottom:34px}}
/* Crop each painted panel to its page instead of stretching the character proportions. */
.book-art{position:relative;overflow:hidden;background-image:none}.art-slice{display:block;width:100%;height:100%;overflow:hidden}
.keep-vocab-word{display:inline-flex;align-items:center;gap:5px;font-size:10px;min-height:35px;border:1px solid #dedfcc;background:#f7f5e9;border-radius:8px;padding:7px 10px;margin-top:12px;color:#8d8d6e}.keep-vocab-word>.icon{width:13px;height:13px}.keep-vocab-word[aria-pressed=true]{background:#e9eedb;color:#6c8452}
.story-word{position:relative;display:inline-block}.word-pronunciation{position:absolute;left:50%;bottom:calc(100% - 2px);transform:translateX(-50%);white-space:nowrap;font-family:'Charis SIL','Doulos SIL','Times New Roman',serif;font-size:12px;font-weight:400;line-height:1.2;color:#9b7851;letter-spacing:0;pointer-events:none}.word-pronunciation:empty{display:none}.text-leaf .story-sentence{line-height:2.15}.text-leaf .story-sentence+.story-sentence{margin-top:20px}
.quiz-book-top{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px}.quiz-book-top .eyebrow{font-size:8px;letter-spacing:1px}.quiz-book-top>span:last-child{font-size:11px;color:#9e977e}.quiz-kind{display:inline-block;font-size:11px;background:#eff2e4;color:#839465;padding:6px 12px;border-radius:18px;margin-bottom:15px}.story-quiz h2{font-size:30px;line-height:1.3}.story-quiz>.text-btn{font-size:12px;min-height:44px;margin-top:8px}.quiz-feedback{font-size:13px;min-height:43px;margin-bottom:15px;color:#7b8d66}.quiz-summary{margin:23px 0;text-align:left}.quiz-summary>div{display:flex;gap:13px;padding:14px;border-bottom:1px solid var(--line);align-items:center}.quiz-summary>div>.icon{width:19px;height:19px;color:#8b9d72}.quiz-summary strong{font-size:12px;display:block;color:#5e7751}.quiz-summary small{font-size:12px;color:#879276;display:block;line-height:1.8;margin-top:4px}
/* Editorial picture-book pages: complete paintings, short passages, and small spot illustrations. */
.editorial-book .illustration-leaf{display:flex;flex-direction:column;justify-content:center;padding:28px 28px 40px;background:linear-gradient(90deg,#fffaf0 90%,#eee4cd);min-height:540px}
.page-painting{width:100%;aspect-ratio:458/343.4;position:relative;border-radius:4px;overflow:hidden;box-shadow:0 2px 5px #6d592712}
.page-painting>.book-art{position:absolute;inset:0}
.editorial-book .page-painting .art-slice{width:100%;height:100%}
.picture-caption-text{font-family:'Iowan Old Style',Georgia,serif;line-height:2;margin-top:24px;padding-inline:7px;color:#4a503a}
.editorial-book .text-leaf{padding:37px 42px 66px;justify-content:center;gap:16px;min-height:540px}
.editorial-book .text-leaf .story-sentence{line-height:2.05}
.editorial-book .text-leaf .story-sentence+.story-sentence{margin-top:17px}
.inline-spot{display:flex;align-items:center;gap:20px;max-width:100%;margin:9px 3px 12px}
.spot-word{border:0;background:none;padding:0;min-width:115px;max-width:155px;display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.spot-illustration{display:block;width:125px;height:125px;overflow:hidden}
.spot-label{font-family:Georgia,serif;font-size:18px;color:#9b8c67;line-height:1.5;margin-top:6px}
.inline-spot figcaption{font-family:Georgia,serif;color:#a09376;font-size:15px;line-height:1.7;max-width:170px}
.spot-word .word-pronunciation{bottom:24px;top:auto}
.editorial-book .story-text{min-width:0}
@media(max-width:1000px){.editorial-book .illustration-leaf{padding:23px 23px 35px;min-height:530px}.editorial-book .text-leaf{padding:30px 28px 62px;gap:13px;min-height:530px}.spot-illustration{width:100px;height:100px}.spot-word{min-width:95px}.inline-spot{gap:14px;margin-block:6px}.inline-spot figcaption{font-size:13px}.spot-label{font-size:16px}.picture-caption-text{margin-top:21px}.editorial-book .text-leaf .story-sentence{line-height:2}}
@media(max-width:620px){.editorial-book .illustration-leaf{padding:19px 19px 26px;aspect-ratio:auto;min-height:0}.editorial-book .text-leaf{padding:30px 26px 63px;gap:17px;min-height:0}.editorial-book .picture-caption-text{margin-top:18px;font-size:25px}.editorial-book .text-leaf .story-sentence{line-height:2.1}.inline-spot{justify-content:center;margin:12px 0 17px}.spot-illustration{width:115px;height:115px}.inline-spot figcaption{font-size:14px;max-width:145px}.word-pronunciation{font-size:11px;bottom:calc(100% - 1px)}}
.full-story-leaf{padding:25px 27px 55px;background:#fffaf0;display:flex;flex-direction:column;justify-content:flex-start;min-height:570px}.full-story-leaf:first-child{background:linear-gradient(90deg,#fffaf0 92%,#ede4ce)}.full-story-leaf:nth-child(2){background:linear-gradient(90deg,#e9dfc8,#fffaf0 8%)}.full-story-leaf .page-painting{width:min(100%,430px);margin:0 auto 23px;aspect-ratio:458/343.4;flex-shrink:0}.full-story-leaf .story-text{font-family:Georgia,serif;line-height:2.05;flex:1}.full-story-leaf .story-sentence{line-height:2.05}.full-story-leaf .story-sentence+.story-sentence{margin-top:10px}.full-page-folio{position:absolute;bottom:12px;inset-inline:25px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:11px;color:#b3a589}.full-page-folio>.text-btn{position:absolute;right:0;padding:7px;min-height:32px;color:#a6ad94}.full-page-folio .icon{width:15px;height:15px}.active-story-leaf .full-page-folio>.text-btn{color:#708b56}.layout-hero .illustration-leaf{justify-content:center}.layout-hero .page-painting{width:100%}.layout-hero .text-leaf{gap:15px}@media(max-width:1000px){.full-story-leaf{padding:23px 23px 52px}.full-story-leaf .story-text{font-size:25px}.full-story-leaf .page-painting{margin-bottom:20px}}@media(max-width:620px){.full-story-leaf{padding:21px 22px 52px;min-height:0}.full-story-leaf .story-text{font-size:25px}.layout-paired{gap:9px}.full-story-leaf .page-painting{margin-bottom:19px}.full-page-folio{bottom:8px}}
@media(min-width:701px) and (max-height:950px){.full-story-leaf .page-painting{width:min(100%,calc(30dvh * 1.333));max-width:430px}.full-story-leaf .story-sentence{line-height:1.95}}
.editorial-book .text-leaf{background:linear-gradient(90deg,#e9e0ca,var(--page-paper,#fffaf0) 9%,var(--page-paper,#fffaf0) 96%,#f4ecd9)}.full-story-leaf:first-child{background:linear-gradient(90deg,var(--page-paper,#fffaf0) 92%,#ede4ce)}.full-story-leaf:nth-child(2){background:linear-gradient(90deg,#e9dfc8,var(--page-paper,#fffaf0) 8%)}
/* Consistent exits and a visible, persistent reading microphone. */
.view-back{margin:0 0 18px;min-height:44px}.back-link,.reader-heading>.text-btn{min-height:44px}.mic-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 15px;border:1px solid #d5ddc8;border-radius:24px;background:#f1f4e8;color:#365a3b;font-size:13px;font-weight:750;box-shadow:0 3px 0 #d1d9c3;white-space:nowrap}.mic-control.listening{background:#dcebc9;border-color:#8fa777;color:#284b2d;box-shadow:0 3px 0 #829c68}.mic-control.listening .icon{animation:mic-breathe 2s ease-in-out infinite}.mic-control .icon{width:19px;height:19px}.quiz-exits{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:22px 0}.practice-celebration{display:flex;align-items:center;gap:20px;padding:24px;background:#edf3df;border:1px solid #cfddbb;border-radius:20px;margin-bottom:25px}.practice-celebration h2{font-size:25px}.practice-celebration p{font-size:14px;color:#5e7152;margin-top:8px;max-width:650px}.practice-celebration>.btn{margin-left:auto;flex-shrink:0}.little-success{display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;background:#dae8c2;color:#55753c;border-radius:18px;transform:rotate(-6deg)}.little-success .icon{width:28px;height:28px}@keyframes mic-breathe{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.mic-control.listening .icon{animation:none}}.reduce-motion .mic-control.listening .icon{animation:none}@media(max-width:650px){.mic-control{min-width:44px;padding:10px}.mic-control span{font-size:11px}.book-audio-controls{gap:7px}.practice-celebration{flex-wrap:wrap;padding:20px}.practice-celebration>div{flex:1;min-width:180px}.practice-celebration>.btn{margin-left:0;width:100%}}
/* Landscape-first density: spend the iPad canvas on books and learning. */
.app-shell{padding-inline:28px}.topbar{height:80px;margin-bottom:20px}.page-heading{margin-bottom:18px;gap:18px}.page-heading h1{margin:3px 0 6px}.section{margin-bottom:26px}.section-heading{margin:22px 0 14px}.view-back{margin-bottom:10px}.app-footer{margin-top:28px;padding:18px 0 22px}.home-top{gap:16px}.home-hero{min-height:305px}.hero-copy{padding:26px 0 25px 27px}.hero-copy h2{margin-bottom:12px}.hero-copy p{margin-bottom:17px}.daily-card{padding:17px}.daily-card h2{margin:9px 0 12px}.daily-card>p{margin-block:10px}.goal-ring{width:105px;height:105px}.level-strip{margin:20px 0 24px;padding:15px 19px;gap:15px}.home-bottom{margin:27px 0}.book-grid{gap:18px}.library-tools{margin-top:18px;padding:12px;gap:14px}.level-tabs{margin:17px 0 14px}.library-shelf{margin-bottom:28px}.shelf-heading{margin:20px 0 16px;padding-bottom:9px}.book-detail{gap:34px;padding:8px 8px 20px}.detail-copy>h2{margin:11px 0}.book-facts{margin:16px 0 18px}.reading-choices>button{padding:11px 13px;margin-top:8px}.word-overview{gap:18px;margin-bottom:24px}.word-garden-card{padding:23px;gap:21px}.collection-grid{gap:14px}.collection-word{padding:15px}.collection-word>p{margin:10px 0;min-height:34px}.settings-layout{gap:20px}.settings-card{padding:20px;margin-bottom:17px}.setting-row{padding:15px 0;min-height:76px;gap:17px}.journey-summary{gap:14px;margin:18px 0 25px}.journey-summary>div{padding:20px 13px}.journey-level{padding:20px;margin-bottom:22px}.journey-level+.journey-level::before{top:-23px;height:22px}.journey-books{margin:21px 0 19px}.recent-section{margin-top:26px}.flashcard{padding:26px 30px}.flashcard h1{margin:11px 0 17px}.flashcard blockquote{margin-bottom:17px;padding:14px}.finished-page{margin:10px auto 26px}.celebration-mark{margin-bottom:17px}.quiz-card{padding:22px;margin-bottom:20px}.practice-celebration{padding:20px;margin-bottom:20px}
@media(min-width:901px){.home-top{grid-template-columns:minmax(0,1fr) 220px}.home-hero{grid-template-columns:1fr 1.1fr}.hero-copy h2{font-size:clamp(34px,3.2vw,44px)}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-layout{grid-template-columns:minmax(0,1fr) 280px}}
@media(min-width:701px) and (orientation:landscape){.reading-shell{max-width:1500px;padding:12px 20px 20px}.reading-shell .reader-heading{margin-bottom:10px}.facing-book.picture-text-book{min-height:0}.editorial-book .illustration-leaf{min-height:460px;padding:20px 20px 28px}.editorial-book .text-leaf{min-height:460px;padding:25px 30px 48px;gap:10px}.editorial-book .text-leaf .story-sentence,.full-story-leaf .story-sentence{line-height:1.9}.editorial-book .text-leaf .story-sentence+.story-sentence{margin-top:10px}.picture-caption-text{margin-top:16px}.full-story-leaf{min-height:490px;padding:19px 23px 44px}.full-story-leaf .page-painting{width:min(100%,360px);margin-bottom:14px}.full-story-leaf .story-sentence+.story-sentence{margin-top:7px}.inline-spot{margin-block:3px;gap:14px}.spot-illustration{width:100px;height:100px}.spot-word{min-width:100px}.book-control-strip{margin-top:14px;padding:9px 14px;gap:12px}.book-reading-tools{padding:8px 10px;gap:12px}.full-page-folio>.text-btn{min-width:44px;min-height:44px;bottom:-5px}}
@media(min-width:701px) and (orientation:landscape) and (max-height:820px){.full-story-leaf .page-painting{width:min(100%,320px)}.reading-shell .reader-heading h1{font-size:24px}}
@media(max-width:900px){.app-shell{padding-inline:22px}.home-hero{min-height:300px}.daily-card{padding:14px 18px}.daily-card h2{margin:0}.goal-ring{width:77px;height:77px}.book-grid{gap:16px}.settings-layout{grid-template-columns:1fr}}
@media(max-width:620px){.app-shell{padding-inline:16px;padding-bottom:65px}.topbar{height:72px;margin-bottom:18px}.home-hero{min-height:0}.hero-copy{padding:22px}.daily-card{padding:13px;gap:12px}.goal-ring{width:65px;height:65px}.section-heading{margin-top:20px}.book-grid{gap:20px 14px}.library-tools{padding:11px}.book-detail{padding:0;gap:24px}.settings-card{padding:18px}.setting-row{padding:14px 0;min-height:0}.word-garden-card{padding:19px}.flashcard{padding:22px 19px}.journey-level{padding:18px 15px}.reading-shell{padding:12px 12px 20px}.reading-shell .reader-heading{margin-bottom:10px}.book-control-strip{margin-top:15px}.full-story-leaf .page-painting{margin-bottom:14px}}
/* Use the open space beside the bookshelf title for the search and filters. */
.library-masthead{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;column-gap:32px;row-gap:18px;margin-bottom:21px}.library-title{min-width:0}.library-title-top{display:flex;align-items:center;gap:20px;min-height:44px}.library-title-top>.text-btn{min-height:44px;flex-shrink:0}.library-title-top .eyebrow{font-size:9px;letter-spacing:1.3px}.library-title h1{margin:4px 0 9px}.library-title>.sub{font-size:14px;max-width:400px}.library-masthead .library-tools{display:flex;flex-direction:column;gap:12px;min-width:0;margin:0;padding:16px;align-items:stretch}.library-masthead .search{max-width:none;min-height:48px;flex:auto}.library-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.library-filter-row .segmented{flex-shrink:0}.library-results{font-size:11px;color:var(--muted);white-space:nowrap}.library-masthead .level-tabs{grid-column:1/-1;margin:0;gap:9px}.library-shelves>.library-shelf:first-child>.shelf-heading{margin-top:0}.shelf-heading h2{display:flex;align-items:center;gap:12px;margin:0}.shelf-level-letter{display:inline-grid;place-items:center;width:34px;height:38px;flex-shrink:0;border:1px solid #d2dcc6;border-left:4px solid #9bac84;border-radius:4px 10px 10px 4px;background:#edf1e2;color:#547046;font:700 16px 'Avenir Next',sans-serif;letter-spacing:0}
@media(min-width:901px) and (orientation:landscape){.library-title h1{font-size:48px}.library-masthead .level-tabs button{min-height:44px}.library-masthead .segmented button{min-height:44px}}
@media(max-width:900px){.library-masthead{column-gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.library-title h1{font-size:40px}.library-title-top{gap:12px}.library-title-top .eyebrow{font-size:8px}.library-masthead .library-tools{padding:13px}.library-filter-row .segmented{width:100%;justify-content:space-between}.library-results{font-size:10px}}
@media(max-width:620px){.library-masthead{grid-template-columns:1fr;row-gap:16px}.library-title h1{font-size:35px}.library-title>.sub{font-size:12px;max-width:none}.library-title-top .eyebrow{font-size:9px}.library-masthead .library-tools{padding:12px}.library-filter-row .segmented{width:auto;flex:1}.library-filter-row{gap:9px}.library-masthead .level-tabs{gap:7px}.shelf-heading h2{gap:9px}.shelf-level-letter{width:28px;height:34px;font-size:14px}}
/* One clear speaking target; green remains reserved for recognized words. */
.story-word.reading-cursor{background:#fff0bc;color:#344a32;box-shadow:inset 0 -3px 0 #d99b3d;border-radius:6px;outline:2px solid #e7bd6c;outline-offset:2px}.story-word.reading-cursor::after{content:none}.reading-cue{display:inline-flex;align-items:center;min-height:36px;padding:5px 12px;border:1px solid #e0c48a;border-radius:18px;background:#fff2ce;color:#6a5228;font-size:13px;font-weight:750;white-space:nowrap}.reading-cue[hidden]{display:none}.story-word.matched:not(.reading-cursor){background:#e0edcd;color:#31582e}

@keyframes reading-retry{0%,100%{background:#fff0bd;box-shadow:inset 0 -3px #c9773f}50%{background:#ffe09a;box-shadow:inset 0 -3px #c9773f,0 0 0 4px #e7b65740}}
.story-word.reading-cursor.retry-word{animation:reading-retry 1.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.story-word.reading-cursor.retry-word{animation:none;outline:2px solid #c9773f}}
/* Picture-first word practice keeps teaching and recall on separate turns. */
.collection-picture{display:block;flex:0 0 54px;width:54px;height:54px;border-radius:13px;overflow:hidden;background:#f1f3e8}.collection-picture>.spot-illustration,.collection-picture>.book-art{display:block;width:100%;height:100%}
.picture-practice{max-width:1080px}.picture-practice .practice-meter{text-align:left;margin:0 0 14px}.practice-card{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);padding:0;overflow:hidden;text-align:left;min-height:480px}.practice-picture{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:24px;background:linear-gradient(115deg,#f0f4df,#e7eedf);border-right:1px solid #dce3cf;box-shadow:inset -12px 0 18px #37422e08}.practice-word-art{display:block;width:min(100%,260px);aspect-ratio:1;overflow:hidden;border-radius:18px}.practice-word-art>.spot-illustration,.practice-word-art>.book-art{display:block;width:100%;height:100%}.practice-picture h1{margin:0;font-size:48px;text-align:center;overflow-wrap:anywhere}.practice-picture>small{font-size:12px;text-align:center;color:#53654e}.practice-content{min-width:0;padding:26px}.practice-content h2{font-size:29px;margin:7px 0 18px}.practice-content .word-definition{font-family:Georgia,serif;font-size:25px;line-height:1.3;margin:10px 0 14px}.practice-content blockquote{margin:18px 0 12px;font-size:20px;color:#455d42}.practice-content .sub{font-size:14px;margin:18px 0}.practice-content .practice-feedback{margin:14px 0;font-size:14px}.practice-content .meaning-options{margin:18px 0 10px}.meaning-choice{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}.meaning-choice>button{border:1px solid #dedfce;border-radius:12px;background:#f8f7ee;min-height:52px;padding:12px 15px;font-size:17px;text-align:left}.meaning-choice>button:hover:not(:disabled){background:#f0eee1}.meaning-choice>.meaning-listen{display:grid;place-items:center;padding:10px}.meaning-choice>.correct{background:#e4efda;border-color:#94b878;color:#3d693f}.meaning-choice>.incorrect{background:#f5e6dc;border-color:#d2b8a2;color:#825433}.meaning-choice>button:disabled{opacity:1}.practice-answer-note{border-top:1px solid #e0e4d7;margin-top:14px;padding-top:10px}.practice-answer-note .word-definition{font-size:21px}.practice-answer-note blockquote{font-size:18px;margin:12px 0}.practice-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.practice-content .btn{min-height:46px}.practice-content>.text-btn{min-height:44px}.collection-word>button:first-child:focus-visible,.meaning-choice>button:focus-visible{outline:3px solid #bf7939;outline-offset:3px}
@media(max-width:700px){.practice-card{grid-template-columns:1fr}.practice-picture{border-right:0;border-bottom:1px solid #dce3cf;padding:20px;gap:12px}.practice-word-art{width:160px}.practice-picture h1{font-size:40px}.practice-content{padding:22px}.practice-content h2{font-size:27px}.collection-picture{flex-basis:46px;width:46px;height:46px}}

/* Keep the next learning action visible beside the celebration on landscape iPad. */
@media(min-width:901px){.home-recommendations{grid-template-columns:repeat(var(--book-count,4),minmax(0,1fr))}.finished-page{max-width:1100px;display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:16px 30px;align-items:start;text-align:left}.finish-intro{grid-column:1;grid-row:1;padding:22px 5px}.finished-page .celebration-mark{margin:0 0 20px;width:66px;height:66px;border-radius:23px}.finished-page h1{font-size:36px;line-height:1.12}.finished-sub{font-size:15px;line-height:1.6}.finished-page>.story-quiz{grid-column:2;grid-row:1/4;margin:0}.finished-page>.quiz-exits,.finished-page>.finish-words,.finished-page>.finish-actions{grid-column:1;margin:0;justify-content:flex-start}.finished-page>.finish-words{padding:18px}.finished-page .finish-words>div{justify-content:flex-start}.finished-page .finish-actions>.text-btn{flex-basis:auto}.quiz-summary{margin:15px 0}.quiz-summary>div{padding:10px}.story-quiz h2{font-size:27px}}
/* Guest readers keep a personal bookshelf without a sign-in screen. */
.profile-avatar{cursor:pointer;color:var(--ink);font-family:inherit;font-size:17px;font-weight:800;flex-shrink:0}.profile-avatar:focus-visible{outline:3px solid #b97e3f;outline-offset:4px}.reader-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reader-profile{padding:23px;border:1px solid #dce1d0;border-radius:23px;background:#fffdf7;box-shadow:0 5px 0 #dce1d0}.reader-profile.is-current{border-color:#9bae83}.reader-avatar{display:grid;place-items:center;background:var(--reader-tint);width:72px;height:72px;border-radius:25px;font:38px Georgia,serif;color:#39563f;margin-bottom:18px;box-shadow:0 4px 0 #314d3615}.reader-profile .eyebrow{display:block;font-size:9px}.reader-profile h2{font-size:31px;margin:10px 0}.reader-profile p{font-size:14px;color:#667760;margin:12px 0 22px;line-height:1.6}.reader-profile>.btn{width:100%}.new-reader-card{border:2px dashed #cad4bb;border-radius:23px;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#edf2e2;color:#35593b;padding:25px}.new-reader-card>.icon{width:37px;height:37px}.new-reader-card strong{font-size:22px}.new-reader-card span{font-size:14px}.guest-note{display:flex;align-items:center;gap:22px;background:#f1ecdf;border:1px solid #dfd9c5;border-radius:20px;padding:22px;margin:28px 0}.guest-note img{border-radius:20px}.guest-note h2{font-size:26px}.guest-note p{font-size:14px;line-height:1.6;margin-top:10px;max-width:680px}.guest-note>.btn{flex-shrink:0;margin-left:auto}.guest-settings-note{font-size:14px;line-height:1.6;margin:12px 0!important}.guest-settings-note+.btn{margin-bottom:12px}#new-reader-form label{display:block;font-weight:750;margin-top:20px}#new-reader-name{width:100%;border:1px solid #cdd6c0;border-radius:13px;padding:14px;margin:12px 0;font:inherit;min-height:50px}#new-reader-form>.btn{width:100%;margin-top:18px}@media(max-width:900px){.reader-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-note{flex-wrap:wrap}.guest-note>div{flex:1;min-width:200px}.guest-note>.btn{margin-left:0}}@media(max-width:620px){.reader-profiles{grid-template-columns:1fr}.reader-profile{padding:20px}.new-reader-card{min-height:150px}.guest-note{padding:18px}.guest-note>.btn{width:100%}}

.boot-recovery{max-width:540px;margin:12vh auto;padding:25px;line-height:1.7;text-align:center}.boot-recovery img{border-radius:22px}.boot-recovery h1{font:36px Georgia,serif;margin:20px 0}.boot-recovery>.btn{margin-top:22px}

.top-actions>.profile-avatar{display:grid;width:44px;height:44px;min-width:44px}
