:root{--ink:#273c2c;--pine:#40664b;--light:#fffaf3;--paper:#fff;--red:#ea5448;--gold:#f5c96b;--line:#d9e1d5;--soft:#f2f7ee;--shadow:0 12px 40px rgba(46,71,40,.12);font-family:'Trebuchet MS',Verdana,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:#f5f8ef;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #ecb850;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fffdf7;border-bottom:1px solid #dce6d8;padding:12px clamp(16px,3vw,48px)}.brand{background:none;border:0;color:#aa342e;display:flex;gap:11px;align-items:center;font-size:1.38rem;font-weight:1000;letter-spacing:.03em;text-align:left}.brand small{color:#567555;font-size:.76rem;display:block;letter-spacing:.05em;font-weight:800}.brand-apple{background:#e64b41;border-radius:48% 48% 42% 42%;width:39px;height:41px;display:inline-grid;place-items:center;color:#e64b41;position:relative;flex:none;box-shadow:inset -7px -4px #c93336}.brand-apple:before{content:'';position:absolute;top:-8px;left:20px;width:18px;height:11px;background:#5c9d47;border-radius:100% 0;transform:rotate(-12deg)}.brand-apple:after{content:'';position:absolute;top:-9px;left:19px;background:#7a572d;width:4px;height:15px;transform:rotate(18deg)}.header-actions{display:flex;gap:8px}.header-btn,.quiet{border:1px solid #cbdacb;background:white;color:#3c6443;padding:10px 15px;border-radius:13px;font-weight:800}.header-btn:hover,.quiet:hover{background:#eef5e8}main{max-width:1570px;margin:0 auto;padding:23px clamp(14px,3vw,46px) 70px}.welcome{display:grid;grid-template-columns:1fr 290px;gap:22px;align-items:center;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:28px;padding:26px 32px;margin-bottom:27px;overflow:hidden;position:relative}.welcome h1{font-size:clamp(1.9rem,3.6vw,3.25rem);line-height:1.07;letter-spacing:-.04em;margin:9px 0 10px}.welcome h1 span{color:#d44d42}.welcome p{max-width:720px;line-height:1.65;color:#61705e;margin:0 0 16px}.welcome .pill,.label-pill{background:#fcebcf;color:#94602c;border-radius:40px;display:inline-flex;padding:7px 12px;font-weight:900;font-size:.76rem;letter-spacing:.055em;text-transform:uppercase}.welcome-art{background:#f8faf4;border:1px solid #e4eadf;border-radius:19px;padding:10px;box-shadow:0 8px 20px #35542d13;transform:rotate(2deg)}.welcome-art img{display:block;aspect-ratio:792/540;object-fit:cover;width:100%}.action-btn{border:0;border-radius:13px;padding:13px 19px;font-weight:900;background:#477c54;color:white;box-shadow:0 4px 0 #2d5239}.action-btn.red{background:#df564c;box-shadow:0 4px 0 #a43933}.action-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.action-btn:active{transform:translateY(3px);box-shadow:none}.stats{display:flex;flex-wrap:wrap;gap:11px;margin:0 0 23px}.stat{padding:12px 17px;background:white;border:1px solid var(--line);border-radius:13px;font-weight:900;color:#5a765b}.stat strong{color:#b54136;font-size:1.25rem}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:19px 0 15px}.section-title h2{margin:0;font-size:1.45rem}.section-title p{margin:0;color:#6d796c;font-size:.86rem}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.lesson-card{border:1px solid #dce6d8;background:white;border-radius:19px;padding:0;overflow:hidden;text-align:left;box-shadow:0 5px 18px #3e53310c;color:inherit;display:flex;flex-direction:column;min-width:0}.lesson-card:hover{border-color:#8fad90;box-shadow:0 12px 26px #425c361e;transform:translateY(-2px)}.lesson-thumb{background:#fffdfb;height:164px;overflow:hidden;position:relative;display:grid;place-items:center;border-bottom:1px solid #ebeee7}.lesson-thumb img{width:100%;height:100%;object-fit:contain}.lesson-thumb .index{position:absolute;left:10px;top:10px;background:#eaf2df;color:#3d653f;padding:5px 8px;border-radius:10px;font-size:.76rem;font-weight:900}.lesson-copy{display:grid;gap:6px;padding:14px 16px 16px;flex:1}.lesson-copy strong{font-size:1rem;line-height:1.35}.lesson-copy small{color:#667867;line-height:1.4}.lesson-copy .track{height:6px;background:#edf2e9;border-radius:20px;overflow:hidden;margin-top:6px}.lesson-copy .track span{display:block;height:100%;background:#7cab72}.lesson-copy .mini-count{font-size:.76rem;font-weight:900;color:#487b52}.breadcrumbs{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.link-back{background:none;border:0;color:#49744e;font-weight:900;padding:8px 0}.crumb{font-size:.85rem;font-weight:800;color:#6b806a}.book-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.book-heading h1{margin:0 0 4px;letter-spacing:-.035em;font-size:clamp(1.55rem,2.6vw,2.4rem)}.book-heading p{margin:0;color:#74816f;font-size:.87rem}.page-picker{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.page-chip{border:1px solid #d6e0d0;border-radius:13px;background:#fff;padding:9px 12px;font-weight:900;color:#477151;min-width:45px}.page-chip[aria-current="page"]{border-color:#bf4940;background:#fce8e5;color:#a63032}.page-chip.done:after{content:' ✓';color:#427e4e}.worksheet-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;align-items:start;gap:18px}.worksheet-column{min-width:0}.paper-shell{padding:12px;background:#fff;border:1px solid #e1e7dd;border-radius:19px;box-shadow:var(--shadow)}.paper-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:5px 5px 12px;color:#637666;font-size:.82rem;font-weight:800}.zoom-controls{display:flex;align-items:center;gap:6px}.tiny-btn{border:1px solid #e0e6d8;background:#f6f9f3;color:#35583a;border-radius:9px;padding:6px 11px;font-weight:900}.zoom-scroll{width:100%;overflow:auto;overscroll-behavior-x:contain;background:#f9faf8;border:1px solid #e9e9e2;border-radius:12px;max-height:76vh}.art-stage{position:relative;width:100%;min-width:0;line-height:0;margin:0 auto;background:white;user-select:none}.art-stage img{width:100%;height:auto;display:block;pointer-events:none;user-select:none}.art-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;mix-blend-mode:multiply}.tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 2px 1px}.tool-group{display:flex;gap:5px;flex-wrap:wrap}.tool-button{background:#fff;border:1px solid #d4e1d1;border-radius:11px;padding:10px 12px;color:#3c6343;font-weight:900;font-size:.85rem}.tool-button.selected{background:#3f7453;color:white;border-color:#3f7453}.paint-swatches{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.swatch{border:2px solid #fff;box-shadow:0 0 0 1px #cad9c9;background:var(--sw);height:30px;width:30px;border-radius:50%;padding:0;flex:none}.swatch.selected{outline:3px solid #345f45;outline-offset:2px}.size-control{font-size:.8rem;color:#657867;font-weight:900;display:flex;align-items:center;gap:8px}.size-control input{width:76px;accent-color:#4f7d52}.tools-tail{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.sidepanel{display:grid;gap:13px}.side-card{background:white;border:1px solid #dce5d9;border-radius:18px;padding:17px 17px 19px}.side-card h2{font-size:1.05rem;margin:0 0 9px}.side-card p{font-size:.86rem;line-height:1.55;color:#637463;margin:0}.side-card .steps{margin:10px 0 0;padding-left:22px;color:#4b634e;font-size:.85rem;line-height:1.55}.side-card .steps li{margin:6px 0}.hint{background:#fff7e4;border:1px solid #f0dfba;border-radius:10px;padding:10px 12px!important;color:#81623c!important;margin:10px 0!important}.listen{width:100%;margin-top:13px}.trace-card{padding:14px}.trace-card .trace-name{font-size:.79rem;color:#758374;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.trace-surface{position:relative;border:2px dashed #d7dfd2;border-radius:13px;overflow:hidden;background:linear-gradient(to bottom,#fff 0%,#fff 32%,#d7ded8 32.4%,#fff 32.8%,#fff 66%,#dde7da 66.4%,#fff 66.8%);margin:10px 0;aspect-ratio:600/150}.trace-surface svg{display:block;width:100%;height:100%;pointer-events:none}.trace-surface canvas{width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:crosshair}.trace-card .quiet{width:100%}.check-grid{display:grid;gap:7px;margin:12px 0}.answer-button{background:#f8faf5;border:1px solid #d6e2d2;border-radius:10px;font-weight:900;color:#355a3d;text-align:left;padding:11px 13px}.answer-button:hover{background:#e8f3e5}.answer-button.correct{background:#e1f6dd;border-color:#64a36f}.answer-button.incorrect{background:#fcedeb;border-color:#d47575}.answer-feedback{color:#3c8149!important;font-weight:900;min-height:23px}.complete-button{width:100%;margin-top:9px}.page-nav{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin:17px 0}.page-nav button{min-width:132px}.note{margin:12px 0 0;color:#6c776a;font-size:.76rem;line-height:1.55}.progress-head{margin:12px 0 23px}.progress-head h1{font-size:2.4rem;margin:0 0 10px}.meter{height:14px;background:#e2e9de;border-radius:99px;overflow:hidden;max-width:750px}.meter span{height:100%;display:block;background:#71a86c}.progress-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.progress-item{background:white;border:1px solid #dce6d8;border-radius:15px;padding:13px 17px;display:flex;justify-content:space-between;gap:10px;align-items:center}.progress-item button{color:#356b41;border:1px solid #bdd2b9;background:#f4f9f0;border-radius:10px;padding:8px 12px;font-weight:900}.toast{position:fixed;bottom:19px;left:50%;transform:translate(-50%,25px);background:#315c40;color:white;font-weight:900;padding:13px 20px;border-radius:20px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:all .2s;z-index:99;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.name-input{padding:10px 12px;border:1px solid #bad3bc;border-radius:11px;width:100%;font-size:1.04rem}.lesson-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px}.lesson-status strong{color:#508251}@media(max-width:1200px){.book-grid{grid-template-columns:repeat(3,1fr)}.worksheet-layout{grid-template-columns:minmax(0,1fr) 270px}}@media(max-width:860px){.worksheet-layout{grid-template-columns:1fr}.sidepanel{grid-template-columns:repeat(2,minmax(0,1fr))}.side-card.worksheet-instructions{grid-column:span 2}.book-grid{grid-template-columns:repeat(2,1fr)}.zoom-scroll{max-height:none}}@media(max-width:580px){main{padding:16px 12px 50px}.topbar{padding:12px}.brand{font-size:1.01rem}.brand-apple{width:32px;height:34px}.brand small{font-size:.63rem}.header-btn{font-size:.76rem;padding:8px}.welcome{grid-template-columns:1fr;padding:20px}.welcome-art{display:none}.welcome h1{font-size:2rem}.book-grid{gap:10px}.lesson-thumb{height:119px}.lesson-copy{padding:11px}.lesson-copy strong{font-size:.87rem}.lesson-copy small{font-size:.73rem}.book-heading h1{font-size:1.6rem}.paper-shell{padding:6px}.tools{gap:10px}.tool-button{font-size:.78rem;padding:8px}.sidepanel{grid-template-columns:1fr}.side-card.worksheet-instructions{grid-column:auto}.progress-list{grid-template-columns:1fr}.page-nav button{min-width:0}.page-chip{min-width:38px;padding:8px 10px}.zoom-scroll{max-height:unset}}@media print{body{background:white}.topbar,.page-picker,.tools,.sidepanel,.page-nav,.paper-head,.breadcrumbs{display:none!important}.worksheet-layout{display:block}.paper-shell{border:0;box-shadow:none;padding:0}main{padding:0}.zoom-scroll{max-height:none;overflow:visible}.art-stage{width:100%!important}}

/* Apple Orchard home menu — illustrations sourced from the connected Drive clipart library. */
:root{--ink:#2f493b;--pine:#426f4c;--light:#fff9f0;--red:#df5949;--gold:#ffe4a0;--line:#e6e4d7;--shadow:0 16px 42px rgba(65,87,52,.10)}
body{background:radial-gradient(ellipse at 12% 4%,#fceece 0,transparent 30%),radial-gradient(ellipse at 88% 0%,#e4f1dd 0,transparent 32%),#fbfaf4}
.topbar{background:rgba(255,255,249,.94);border-bottom:1px solid #e2e4d9;padding:16px clamp(16px,4vw,64px)}
.brand{font-weight:1000;letter-spacing:.02em;color:#b7463d;font-size:1.45rem;line-height:1.2;padding:0;gap:0}
.brand span{display:block}.brand small{color:#70836b;font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.header-btn{border-radius:100px;padding:10px 17px;background:#f7fbf5;color:#44684b;border-color:#d8e4d4}
main{max-width:1490px;padding-top:26px}
.welcome{min-height:355px;grid-template-columns:minmax(0,1fr) minmax(270px,35%);gap:10px;border:1px solid #e8dacc;background:linear-gradient(114deg,#fff9e8 0%,#fff9ef 56%,#ebf6e5 100%);box-shadow:0 15px 44px #7b925a16;border-radius:34px;padding:clamp(24px,3.9vw,54px);overflow:hidden;margin-bottom:20px}
.welcome:before{content:"";position:absolute;width:300px;height:300px;right:19%;top:-236px;border-radius:50%;border:70px solid #ffefd1;opacity:.65;pointer-events:none}
.welcome-text{position:relative;z-index:1}
.welcome .pill{background:#fff;color:#b46042;border:1px solid #f0d9bc;letter-spacing:.09em;padding:10px 14px}
.welcome h1{font-family:Georgia,'Trebuchet MS',serif;font-weight:900;font-size:clamp(2.8rem,5.25vw,5.5rem);letter-spacing:-.055em;color:#335c42;line-height:.97;margin:22px 0 18px}
.welcome h1 span{color:#df5c4c}
.welcome p{font-size:clamp(.92rem,1.14vw,1.1rem);line-height:1.75;max-width:575px;color:#697b67;margin-bottom:20px}
.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hero-note{font-size:.83rem;font-weight:800;color:#73906d}
.action-btn.red{background:#e25e4d;box-shadow:0 5px 0 #bb493b}
.welcome-art{transform:none;box-shadow:none;background:none;border:0;padding:0;height:100%;min-height:275px;align-self:stretch;display:grid;place-items:center;position:relative}
.welcome-art:before{content:"";width:85%;height:79%;border-radius:50%;position:absolute;left:12%;top:9%;background:#dbedca;opacity:.7}
.welcome-art:after{content:"";width:75%;height:18px;position:absolute;left:15%;bottom:1px;border-radius:50%;background:#648b5830;filter:blur(8px)}
.welcome-art img.hero-tree{width:min(100%,390px);height:290px;object-fit:contain;aspect-ratio:auto;filter:drop-shadow(0 9px 3px rgba(73,87,43,.13));position:relative;z-index:1}
.stats{gap:12px;margin:3px 0 26px}.stat{background:#fffdf8;border-color:#eee6d8;box-shadow:0 4px 15px #859d7b0c;color:#698069;padding:13px 20px;border-radius:16px}.stat strong{color:#d95746;font-size:1.35rem;margin-right:3px}
.section-title{align-items:end;margin:14px 0 20px}.section-kicker{color:#c6784c;font-size:.77rem;letter-spacing:.16em;font-weight:1000}.section-title h2{font-family:Georgia,serif;font-size:2rem;letter-spacing:-.03em;color:#335f43;margin:6px 0 7px}.section-title p{color:#778474;font-size:.91rem}
.book-grid{gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.lesson-card{border:1px solid #e8e4db;border-radius:25px;background:#fff;box-shadow:0 7px 24px #53735613;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.lesson-card:hover{transform:translateY(-5px);border-color:#d5bd9f;box-shadow:0 17px 35px #53735621}.lesson-card:active{transform:translateY(-1px)}
.lesson-thumb{height:207px;background:var(--card-tone);border-bottom:0;position:relative;overflow:hidden;isolation:isolate}
.lesson-thumb:before{content:"";position:absolute;width:196px;height:196px;left:calc(50% - 98px);top:20px;background:#ffffff73;border-radius:50%;z-index:-1}
.lesson-thumb:after{content:"";position:absolute;width:240px;height:170px;left:calc(50% - 120px);top:33px;border:1px solid #ffffffbd;border-radius:45%;z-index:-1}
.lesson-thumb img{object-fit:contain;width:87%;height:83%;max-width:230px;max-height:177px;transform:translateY(12px);filter:drop-shadow(0 7px 4px rgba(95,76,56,.12));transition:transform .2s}
.lesson-card:hover .lesson-thumb img{transform:translateY(5px) scale(1.045)}
.lesson-number{position:absolute;top:13px;left:14px;font-size:.68rem;letter-spacing:.13em;font-weight:1000;color:#5a8063;background:#fffefbdf;border:1px solid #ffffffdc;border-radius:100px;padding:7px 11px;z-index:2}
.lesson-copy{padding:21px 20px 20px;gap:8px;min-height:205px}
.lesson-copy strong{font-family:'Trebuchet MS',Verdana,sans-serif;color:#304c3a;font-size:1.05rem;line-height:1.3;min-height:2.45em}
.lesson-copy small{font-size:.8rem;color:#748173;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.lesson-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.lesson-copy .mini-count{color:#69826b;font-weight:900;font-size:.71rem}.activity-link{color:#cb5746;font-weight:900;font-size:.76rem}
.lesson-copy .track{height:5px;background:#edf2e8;margin-top:4px}.lesson-copy .track span{background:#7ab780}
@media(max-width:1200px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome{grid-template-columns:1fr 230px;min-height:300px;padding:28px}.welcome-art img.hero-tree{height:240px}.welcome h1{font-size:clamp(2.4rem,6vw,4.6rem)}}
@media(max-width:580px){.topbar{padding:13px 12px}.brand{font-size:1.12rem}.brand small{font-size:.58rem}.header-btn{font-size:.69rem;padding:8px 10px}.welcome{padding:24px 22px;grid-template-columns:1fr;border-radius:25px}.welcome h1{font-size:clamp(2.8rem,12vw,4.25rem);margin-top:15px}.welcome-art{height:140px;min-height:140px;display:grid}.welcome-art img.hero-tree{height:160px}.welcome-art:before{height:110%;width:180px;left:calc(50% - 90px);top:0}.welcome-art:after{display:none}.stats{gap:8px}.stat{font-size:.77rem;padding:10px 12px}.stat strong{font-size:1.12rem}.section-title h2{font-size:1.7rem}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.lesson-card{border-radius:17px}.lesson-thumb{height:138px}.lesson-thumb img{width:92%;height:86%;transform:translateY(10px)}.lesson-thumb:before{width:128px;height:128px;left:calc(50% - 64px);top:14px}.lesson-thumb:after{display:none}.lesson-number{top:7px;left:7px;font-size:.57rem;padding:5px 7px;letter-spacing:.04em}.lesson-copy{padding:12px 11px;min-height:175px;gap:6px}.lesson-copy strong{font-size:.83rem;min-height:2.4em}.lesson-copy small{font-size:.7rem;min-height:3em}.lesson-copy .mini-count{font-size:.64rem}.activity-link{display:none}.lesson-copy .track{margin-top:2px}}
@media(max-width:360px){.book-grid{grid-template-columns:1fr}.lesson-thumb{height:165px}.lesson-copy{min-height:135px}.lesson-copy strong{font-size:1rem}.lesson-copy small{font-size:.83rem}}

/* Pen reliability: keep drawing surfaces above page art and let touch gestures draw. */
.art-stage{isolation:isolate}
.art-stage img{position:relative;z-index:0}
.art-stage canvas{z-index:2;display:block;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}
.trace-surface canvas{z-index:2;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}
