:root{--ink:#243f35;--green:#28664f;--cream:#faf9f4;--line:#e7e9df;--muted:#66796e;--yellow:#f2ca69}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 ui-rounded,'Trebuchet MS',Arial,sans-serif}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b36c26;outline-offset:4px}.shell{display:flex;min-height:100vh}aside{width:246px;background:#fffef9;border-right:1px solid var(--line);padding:36px 24px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-size:20px;line-height:1.1;letter-spacing:-.6px}.brand b{font-size:28px}.brandicon{font-size:46px;color:var(--green)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:42px 12px 15px}nav{display:grid;gap:8px}nav a{display:flex;gap:15px;align-items:center;text-decoration:none;padding:12px;border-radius:12px;font-size:17px}nav a span{font-size:14px;font-weight:600}nav a.active{background:#e9f0e4;color:#24563f}nav a:hover{background:#f0f2ea}.sidebar-bottom{margin-top:auto;padding:35px 12px 0;font-size:12px}.sidebar-bottom p{color:var(--muted);margin:5px 0 26px}.sidebar-bottom a{text-decoration:none}.smallflower{font-size:34px;color:#be8561;margin-bottom:10px}.mainwrap{margin-left:246px;width:calc(100% - 246px)}header{height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 46px;font-size:13px}.breadcrumb{color:var(--muted)}.breadcrumb span{color:#b98a3d;margin-left:14px}.headcontrols{display:flex;gap:12px}select,.quiet{background:transparent;border:1px solid #dce2d6;padding:10px 13px;border-radius:24px;color:var(--ink);font-size:12px}main{max-width:1190px;margin:auto;padding:35px 46px 25px}h1{font:normal 43px/1.15 Georgia,serif;letter-spacing:-1.1px;margin:8px 0 13px}h2{font-size:21px;font-weight:600;letter-spacing:-.4px}h3{font-size:18px;margin:10px 0}.overline{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--green)}.muted{color:var(--muted)}.hero{background:#eaf0e3;border:1px solid #e0e8d8;border-radius:23px;padding:35px 36px;position:relative;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;min-height:280px}.hero p{max-width:340px;color:#53685a;font-size:14px;margin:0 0 24px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;border:0;border-radius:12px;padding:13px 20px;font-weight:600;font-size:14px;background:var(--green);color:white;min-height:48px}.secondary{background:#fffdf7;color:var(--ink);border:1px solid #dce2d6}.art{display:flex;justify-content:center;align-items:center}.art svg{width:100%;max-width:330px;height:230px}.underhero{display:flex;gap:26px;margin:19px 2px 32px;font-size:12px;color:var(--muted)}.underhero span:before{content:'✓';margin-right:7px;color:var(--green)}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.sectionhead p{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{text-decoration:none;display:flex;flex-direction:column;background:#fffefb;border:1px solid var(--line);border-radius:18px;padding:23px;min-height:220px;transition:transform .15s}.card:hover{transform:translateY(-3px);border-color:#a6bca6}.tileart{width:62px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:17px;font-size:33px;font-weight:bold;color:#3a6752;background:#e9efdd}.card:nth-child(2) .tileart{background:#fbecd2;color:#b7793e}.card:nth-child(3) .tileart{background:#e9e7f5;color:#756399}.card p{font-size:13px;color:var(--muted);margin:0 0 19px}.card .tag{font-size:10px;letter-spacing:1.2px;font-weight:700;color:#788475;margin-top:17px}.card .bottom{display:flex;justify-content:space-between;font-size:12px;color:var(--green);margin-top:auto}.progresspanel{margin-top:26px;border:1px solid var(--line);border-radius:17px;padding:19px 24px;display:flex;gap:20px;align-items:center;background:#fffefb}.progresspanel h3{font-size:15px;margin:0}.progresspanel p{font-size:12px;color:var(--muted);margin:3px 0}.progresspanel .grow{margin-left:auto;min-width:130px}.bar{height:7px;background:#e9eddf;border-radius:8px;overflow:hidden}.bar span{display:block;background:#7a9c66;height:100%}.sprout{font-size:32px}footer{max-width:1190px;margin:auto;padding:24px 46px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.intro{margin-bottom:27px}.intro p{color:var(--muted);max-width:640px}.panel{background:#fffefb;border:1px solid var(--line);border-radius:22px;padding:30px;margin:20px 0}.exercise{text-align:center;max-width:750px;margin:20px auto}.bigletter{font-size:120px;line-height:1.3;font-weight:600;margin:10px}.picture{font-size:66px}.letters{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.letterbtn,.choice,.slot{border:1px solid #dce4d5;background:white;color:var(--ink);border-radius:15px;min-height:78px;font-size:34px;font-weight:600}.letterbtn:hover,.choice:hover{background:#eaf0e3}.letterbtn small{display:block;font-size:10px;font-weight:normal;color:var(--muted)}.choices{display:flex;justify-content:center;gap:15px;margin:26px 0;flex-wrap:wrap}.choice{min-width:86px;padding:12px}.slots{display:flex;justify-content:center;gap:12px;margin:25px 0}.slot{width:75px;display:flex;align-items:center;justify-content:center;border:2px dashed #a4b49d;background:#f6f8f0}.slot.filled{border-style:solid}.letterbtn.selected,.choice.selected{background:#e0ecda;border:2px solid var(--green)}.feedback{min-height:36px;margin:12px 0;color:var(--green);font-weight:600}.actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:20px 0}.hint{background:#f5f0e4;padding:16px 20px;border-radius:12px;text-align:left;font-size:13px}.hint b{display:block;margin-bottom:5px}.chip{display:inline-block;border:1px solid #dce2d6;border-radius:20px;font-size:12px;padding:6px 12px;margin:3px;background:transparent;color:var(--ink)}.chip.active{background:var(--green);color:white}.settings{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings .panel{margin:0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.row label{font-size:14px}.row input[type=checkbox]{width:24px;height:24px;accent-color:var(--green)}input[type=range]{max-width:130px}input[type=file]{max-width:100%;font-size:12px}.wordline{font-size:48px;letter-spacing:5px;margin:26px 0}.readline{font-size:38px;line-height:1.9}.readline button{background:transparent;border:0;border-bottom:2px solid #c2d2b9;font:inherit;color:inherit;padding:0 6px}.recordrow{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.recordrow b{font-size:25px}.recordrow span{font-size:12px;color:var(--muted)}.recordrow button{padding:9px 12px;min-height:44px}.danger{color:#9c3c30}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#244d3e;color:white;padding:12px 22px;border-radius:14px;display:none;max-width:90%;z-index:20}body.large{font-size:19px}body.large .choice,body.large .letterbtn{min-height:94px}body.simple .art{display:none}body.simple .hero{grid-template-columns:1fr}body.simple .tileart,body.simple .smallflower{display:none}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:1450px){main{padding-top:48px}.hero{min-height:310px}}@media(max-width:1050px){aside{width:205px;padding:25px 15px}.mainwrap{margin-left:205px;width:calc(100% - 205px)}main{padding:28px 25px}header{padding:0 25px}.cards{gap:10px}.card{padding:17px}.hero{padding:26px}.letters{grid-template-columns:repeat(5,1fr)}}@media(max-width:760px){aside{position:static;width:auto;padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:15px}.brand b{font-size:22px}.brandicon{font-size:35px}.eyebrow,.sidebar-bottom{display:none}.shell{display:block}nav{display:flex;overflow:auto;margin-top:16px;gap:6px}nav a{padding:8px 11px;white-space:nowrap;min-height:46px}nav a span{font-size:12px}.mainwrap{margin:0;width:100%}header{height:65px;padding:0 18px}.breadcrumb{display:none}.headcontrols{width:100%;justify-content:space-between}main{padding:25px 18px}.hero{grid-template-columns:1.3fr 1fr;padding:24px;min-height:250px}h1{font-size:34px}.art svg{height:170px}.hero p{font-size:13px}.underhero{gap:15px;font-size:10px;margin-bottom:22px}.cards{grid-template-columns:1fr}.card{min-height:150px;display:grid;grid-template-columns:70px 1fr;column-gap:17px}.card .tileart{grid-row:1/5;align-self:center}.card .tag{margin-top:0}.card h3{margin:3px 0}.card p{margin-bottom:12px}.card .bottom{grid-column:2}.sectionhead{align-items:start}.sectionhead p{max-width:110px;margin-left:15px}.letters{grid-template-columns:repeat(4,1fr)}.settings{grid-template-columns:1fr}.panel{padding:22px}.progresspanel{padding:17px;gap:12px}.progresspanel .grow{min-width:70px}footer{padding:20px 18px;gap:20px}.readline{font-size:29px}.wordline{font-size:36px}}@media(max-width:400px){.hero{grid-template-columns:1fr}.art{display:none}.underhero{flex-wrap:wrap;gap:8px}.recordrow{grid-template-columns:30px 1fr auto}}
/* XO Learning */
[hidden]{display:none!important}.skiplink{position:fixed;top:-80px;left:15px;background:white;z-index:50;padding:12px}.skiplink:focus{top:12px}.xobrand .brandicon{font:italic 48px/1 Georgia,serif;letter-spacing:-7px;padding-right:6px;color:#ab705c}.xobrand b{font-size:26px;letter-spacing:-1px}.xobrand small{display:block;font-size:8px;font-weight:bold;letter-spacing:1.2px;margin-top:7px}.earlynav{margin-top:30px}.earlynav>.eyebrow{display:block;margin:0 12px 13px;font-size:9px}.earlynav nav a{padding-top:9px;padding-bottom:9px}.sidebar-bottom{padding-top:20px}.sidebar-bottom .smallflower{font-size:29px}.headcontrols select{max-width:150px}.headcontrols{align-items:center;gap:8px}header{padding-left:36px;padding-right:36px}.breadcrumb{font-size:11px;max-width:230px}.xohero{background:#eaf0e3;border:1px solid #e0e8d8;border-radius:23px;padding:34px 36px;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;min-height:300px}.xohero h1{font-size:46px}.xohero p{max-width:370px;font-size:14px;color:#53685a;margin-bottom:23px}.herofoot{display:block;font-size:10px;letter-spacing:.3px;color:#405c47;margin-top:15px}.xoart{position:relative;min-height:260px}.paper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;width:155px;height:190px;border-radius:12px;box-shadow:0 9px 20px #304f3520}.paper.one{background:#f5dfbc;font:95px Georgia,serif;transform:rotate(-12deg);left:1%;top:25px;color:#7b613a}.smallword{font:9px 'Trebuchet MS',sans-serif;letter-spacing:.4px;margin-top:10px}.paper.two{background:#fffdf6;font:30px/1.2 Georgia,serif;transform:rotate(10deg);right:1%;top:48px;color:#4e6755;align-items:start;padding:22px}.paper.two i{color:#b07b65}.artstar{position:absolute;right:8px;top:0;font-size:45px;color:#b38443}.xobadge{position:absolute;left:35%;bottom:8px;background:#2f634e;color:white;border:5px solid #eaf0e3;transform:rotate(-10deg);width:86px;height:86px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:24px Georgia,serif}.xobadge small{font:7px 'Trebuchet MS',sans-serif;letter-spacing:1.4px}.levelpicker{padding:22px 0 25px;border-bottom:1px solid var(--line);margin-bottom:27px}.levelpicker h2{margin:7px 0}.levelpicker p{font-size:13px;margin:0 0 16px}.levelchips{display:flex;flex-wrap:wrap;gap:7px}.levelchip{border:1px solid #dce2d6;background:#fffefb;color:var(--ink);padding:9px 13px;border-radius:20px;min-height:42px;font-size:12px}.levelchip.selected{background:var(--green);border-color:var(--green);color:white}.coursecard{min-height:230px}.coursecard .tag{margin-top:16px}.coursecard h3{font-size:18px}.coursecard p{line-height:1.5}.textlink{font-size:12px;font-weight:600;color:var(--green);text-underline-offset:4px}.sectionhead h2{margin:5px 0 15px}.sectionhead .overline{font-size:10px}.scope-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:22px}.soundbanner{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f5ecdf;border:1px solid #eadfcb;border-radius:18px;padding:24px;margin-top:25px}.soundbanner h2{margin:5px 0}.soundbanner p{font-size:13px;max-width:430px;margin-bottom:0;color:var(--muted)}.soundbanner .secondary{white-space:nowrap}.footerbrand{font-size:10px;margin-left:8px;color:#8b9484}.backlink{font-size:12px;text-underline-offset:4px;display:block;margin:0 0 23px}.lessonlayout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:start}.lessonlayout .panel{margin-top:0;margin-bottom:22px}.lessonaside{position:sticky;top:20px}.lessonaside .panel{padding:22px}.lessonaside p{font-size:13px}.lessonsteps{display:grid;gap:13px;font-size:12px;margin:24px 0;color:var(--muted)}.instruction{font-size:16px;line-height:1.8}.passage{white-space:normal;background:#f4f5ed;border-left:3px solid #92a681;padding:25px;border-radius:0 12px 12px 0;font:20px/1.9 Georgia,serif;margin:22px 0}.lessonlayout .sectionhead{flex-wrap:wrap;gap:8px}.lessonlayout h2{font-size:22px;line-height:1.5;letter-spacing:-.3px}.questiontop{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-top:16px}.answerlist{display:grid;gap:12px;margin:20px 0}.answer{display:flex;text-align:left;align-items:center;gap:15px;padding:15px 18px;min-height:62px;border:1px solid #dde3d6;border-radius:13px;background:#fffefb;color:var(--ink);font:15px/1.6 'Trebuchet MS',Arial,sans-serif}.answer:hover:not(:disabled){background:#f1f4e9;border-color:#9bb293}.answerletter{font-size:12px;border:1px solid #dce3d4;border-radius:7px;min-width:25px;height:27px;text-align:center;padding-top:3px;align-self:start}.answer.right{border:2px solid #437b58;background:#eef4e9}.answer:disabled{color:#475e50;cursor:default;opacity:1}.answer.retry{border-color:#bca988}.answerfeedback{font-size:14px;line-height:1.8;color:#355e45}.questionactions{justify-content:flex-start;margin-bottom:0}.completebadge{color:var(--green);font-size:34px;margin-top:20px}.writingprompt{font-size:17px;line-height:1.8}.draftlabel{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}textarea{width:100%;resize:vertical;border:1px solid #ccd6c2;border-radius:12px;background:#fffefb;color:var(--ink);font:16px/1.9 'Trebuchet MS',Arial,sans-serif;padding:15px;min-height:170px}textarea:focus-visible{outline:3px solid #b39160;outline-offset:2px}.draftmeta{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted);margin-top:7px}.draftactions{justify-content:flex-start}.reviewchecks{display:grid;gap:13px;margin-top:20px}.reviewchecks label{display:flex;align-items:flex-start;gap:10px;font-size:14px;min-height:40px;cursor:pointer}.reviewchecks input{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.stat{border:1px solid var(--line);border-radius:16px;background:white;padding:24px;display:grid;gap:4px}.stat strong{font:36px Georgia,serif;color:var(--green)}.stat span{font-size:12px;color:var(--muted)}.pathprogress{display:grid;grid-template-columns:150px 1fr 50px;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.pathprogress a{text-underline-offset:4px}.pathprogress>span{text-align:right;font-size:12px;color:var(--muted)}.savedlesson{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.savedlesson span{font-size:11px;color:var(--muted);white-space:nowrap}.sourcelist li{margin:15px 0}.adultmode .xoart .paper.one{background:#d7e3eb}.adultmode .soundbanner{display:none}body.simple .xoart{display:none}body.simple .xohero{grid-template-columns:1fr}body.large .passage{font-size:25px}body.large .answer{font-size:19px;min-height:85px}body.large .instruction,body.large .writingprompt{font-size:20px}.sourcelist{padding-left:20px}@media(min-width:1450px){.xohero{min-height:320px}}@media(max-width:1100px){header{padding:0 25px}.breadcrumb{display:none}.headcontrols{width:100%;justify-content:flex-end}.xohero h1{font-size:40px}.paper{width:120px;height:160px}.paper.one{font-size:76px}.paper.two{font-size:25px;padding:18px;top:70px}.xobadge{bottom:0;width:75px;height:75px}.lessonlayout{grid-template-columns:1fr}.lessonaside{display:none}.soundbanner{align-items:flex-start;flex-direction:column}.headcontrols select{max-width:145px}}@media(max-width:760px){.xobrand .brandicon{font-size:40px}.xobrand b{font-size:24px}.xobrand small{font-size:8px}.xobrand{gap:14px}.earlynav{margin-top:0}.earlynav>.eyebrow{display:none}.earlynav nav{margin-top:4px}aside nav{margin-top:14px}.mainwrap header{padding:0 18px;height:72px}.headcontrols{justify-content:space-between;gap:5px}.headcontrols select{font-size:11px;padding:9px;max-width:140px}.quiet{font-size:11px;padding:9px}.xohero{padding:27px;grid-template-columns:1.25fr .9fr;min-height:285px}.xohero h1{font-size:35px}.xohero p{font-size:13px}.xoart{min-height:240px}.paper{width:110px;height:145px}.paper.one{left:-5%;top:25px;font-size:68px}.paper.two{top:100px;right:-3%;font-size:22px;padding:15px}.smallword{font-size:7px}.xobadge{left:-4%;bottom:0;width:65px;height:65px;font-size:20px}.xobadge small{font-size:6px}.artstar{font-size:32px;right:5px;top:10px}.herofoot{font-size:9px}.levelpicker{padding-top:12px}.levelchip{font-size:11px;padding:9px 12px}.coursecard{min-height:165px}.coursecard .tag{margin:0}.sectionhead{gap:12px}.sectionhead>p{max-width:100px}.sectionhead .textlink{white-space:nowrap;font-size:11px}.passage{font-size:19px;padding:18px}.answer{padding:13px;font-size:15px}.stat{padding:18px}.statgrid{gap:10px}.stat span{font-size:11px}.stat strong{font-size:29px}.pathprogress{grid-template-columns:110px 1fr 40px;gap:10px;font-size:13px}.footerbrand{display:block;margin-left:0}.savedlesson{flex-direction:column;gap:5px}footer{font-size:10px;align-items:center}.lessonlayout h2{font-size:21px}.instruction{font-size:15px}.reviewchecks label{font-size:14px}.levelpicker h2{font-size:20px}}@media(max-width:430px){.xohero{grid-template-columns:1fr;min-height:0}.xoart{display:none}.xohero h1{font-size:37px}.headcontrols select{max-width:126px;font-size:10px}.headcontrols .quiet{font-size:10px;padding:9px 7px}.statgrid{grid-template-columns:1fr}.stat{grid-template-columns:50px 1fr;align-items:center}.questiontop{gap:8px}.sectionhead .textlink{white-space:normal;max-width:100px}.pathprogress{grid-template-columns:100px 1fr 35px}.lessonlayout .panel{padding:20px}}
main:focus{outline:none}#questionheading:focus{outline:none}.passage{overflow-wrap:anywhere}button,a{ -webkit-tap-highlight-color:transparent }
.spokenword{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;border:0;border-radius:3px;padding:0;background:transparent;cursor:pointer}.spokenword:hover{background:#e2e9d6}.spokenword:focus-visible{outline:2px solid #98764d;outline-offset:2px}.answerrow{display:grid;grid-template-columns:1fr 48px;gap:8px}.hearchoice{border:1px solid #d7dfce;background:#f2f5ec;color:#28664f;border-radius:12px;min-height:48px;font-size:21px}.resourcefilters{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}.resourcefilters>div{flex:1;min-width:200px}.resourcefilters label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.resourcefilters select{width:100%;border-radius:10px;font-size:14px}.resourcecards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.resourcecard{margin:0}.externalnotice{display:block;font-size:11px;color:#66796e;margin-top:15px}.resourcecard .overline{font-size:10px}.resourcecard p{font-size:14px;line-height:1.8}.passage:before{content:'Tap a word to hear it.';display:block;font:11px/1.5 "Trebuchet MS",sans-serif;color:#66796e;margin-bottom:12px}@media(max-width:760px){.resourcecards{grid-template-columns:1fr}.answerrow{grid-template-columns:1fr 45px}}
.phonicstages{display:grid;grid-template-columns:1fr 1fr;gap:18px}.phonicsstage{margin:0}.phonicsstage p{font-size:14px;line-height:1.8}.currentstage{border:2px solid #537d51}.soundtiles{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.soundtile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:67px;min-height:85px;border-radius:12px;padding:10px;background:#e7eee0}.soundtile.vowel{background:#f5e5c4}.soundtile strong{font-size:35px;line-height:1.2}.soundtile small{font-size:10px;margin-top:6px}.earlynav nav a{padding-top:7px;padding-bottom:7px}@media(max-width:760px){.phonicstages{grid-template-columns:1fr}}
/* Organized course and printable library */
.bandgrid,.gradegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0 34px}.bandcard{padding:30px}.bandcard h2{font-size:2rem;margin:12px 0}.gradegrid{grid-template-columns:repeat(3,minmax(0,1fr))}.gradegrid .card{padding:24px}.subjectsymbol{display:block;font-size:1.7rem;font-weight:700;color:var(--green,#27634e);margin-bottom:16px}.quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.quicklinks a{color:inherit;text-decoration:none}.release-note{background:#edf2ed;border-left:4px solid #27634e;padding:22px 26px;margin:28px 0;border-radius:0 14px 14px 0}.release-note p{margin:8px 0 0;line-height:1.7}.unitlist{list-style:none;padding:0}.unitlist li{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid #dfe5df}.weeklabel{flex:0 0 100px;font-size:.86rem;color:#4c6458;padding-top:4px}.unitlist h3{margin:0 0 7px}.coursestatus .tag{background:#eee6d7}.printtoolbar label{display:flex;gap:10px;align-items:center;margin-top:20px}.worksheet{background:white;color:#111;max-width:840px;margin:24px auto;padding:38px;border:1px solid #d6ddd7;font:15px/1.5 system-ui,sans-serif}.worksheet h2{font-size:24px;line-height:1.2}.worksheet h3{font-size:16px;margin:18px 0 6px}.printbrand,.printfoot{font-size:10px;letter-spacing:.07em;color:#384b40}.nameblank{font-size:12px}.print-example{border-left:3px solid #aaa;padding:10px 14px;background:#f4f5f2;white-space:normal}.printchoices{display:flex;flex-wrap:wrap;gap:7px 20px}.worksheet li{margin-bottom:14px}.worksheet li p{margin:4px 0}.response-space{height:130px;border:1px solid #bbb;background:repeating-linear-gradient(white,white 31px,#ddd 32px)}.hidekeys .answerkeys{display:none}.earlynav[hidden]{display:none!important}aside nav a{padding-top:10px;padding-bottom:10px}a.card:hover{border-color:#27634e}a.card:focus-visible{outline:3px solid #27634e;outline-offset:3px}
@media(max-width:850px){.gradegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.quicklinks{grid-template-columns:1fr}.worksheet{padding:22px}.printchoices{display:grid}.unitlist li{gap:12px}}
@media(max-width:500px){.bandgrid,.gradegrid{grid-template-columns:1fr}.bandcard{padding:24px}.weeklabel{flex-basis:80px}.worksheet{padding:16px;font-size:13px}.worksheet h2{font-size:21px}}
@media print{@page{size:auto;margin:14mm}html,body,.shell,.mainwrap,main#app{display:block!important;background:white!important;color:black!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important}aside,header,footer,.skiplink,#toast,.noprint{display:none!important}.worksheet{border:0;margin:0;padding:0;max-width:none;break-after:page;font-size:10pt;line-height:1.35}.worksheet h2{font-size:18pt}.worksheet h3{font-size:11pt;margin:12px 0 5px}.worksheet li{break-inside:avoid;margin-bottom:9px}.printchoices{display:block}.printchoices span{display:block}.response-space{height:95px}.printfoot{margin-top:14px}.answerkeys{break-before:page}.worksheet:last-child{break-after:auto}body:has(#printdocument) .intro{display:none!important}.print-example{background:white}.hidekeys .answerkeys{display:none!important}}
aside{overflow-y:auto}.card{min-width:0}.worksheet{overflow-wrap:anywhere}@media(max-width:760px){aside{overflow-y:visible}.card{display:flex}.card .bottom{grid-column:auto}.bandgrid .card,.gradegrid .card{min-height:160px}}
/* Direct-access disclosure menus and access controls */
.tree-nav{display:block;margin-top:16px}.tree-nav a,.tree-nav summary{font-size:14px;line-height:1.45;min-height:44px;padding:11px 10px;display:block;border-radius:8px;text-decoration:none;white-space:normal}.tree-nav details{margin:3px 0}.tree-nav summary{cursor:pointer;display:list-item;list-style-position:inside;font-weight:700}.tree-nav details details{margin-left:10px;border-left:1px solid #d4ddd2;padding-left:6px}.tree-nav details details summary{font-size:13px}.tree-nav details a{font-size:12px}.tree-nav summary:hover,.tree-nav a:hover{background:#eaf0e5}.tree-nav summary:focus-visible{outline:3px solid #9a5018;outline-offset:2px}.tree-nav .navnote{font-size:11px;padding:0 10px;color:#526458}.navtoggle{display:none}aside{width:270px}.mainwrap{margin-left:270px;width:calc(100% - 270px)}.sidebar-bottom{flex-shrink:0}.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.checkanswers{border:0;padding:0;margin:22px 0}.checkanswers legend{font-weight:600;margin-bottom:12px}.checkanswers label{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #becdbd;border-radius:10px;margin-bottom:10px;min-height:52px}.checkanswers input{margin-top:5px;flex-shrink:0;width:20px;height:20px}.checkreview{padding:15px 0;border-bottom:1px solid #cfd8cf}.accesssettings label{display:block;margin:20px 0}.accesssettings input[type=checkbox],.confirmrow input{width:20px;height:20px;vertical-align:middle;margin-right:10px}main input[type=email],main input[type=password],main input[type=search],main input[inputmode=decimal]{width:100%;min-height:48px;padding:12px;border:1px solid #9bb29d;border-radius:8px;color:#243f35;background:white;font:inherit}main form label{display:block;margin:18px 0 7px}.confirmrow{display:block;margin:20px 0}.budgettable,.mealplantable,.printable-practical table{width:100%;border-collapse:collapse;margin:20px 0}.budgettable td,.budgettable th,.mealplantable td,.mealplantable th,.printable-practical td,.printable-practical th{padding:12px 8px;border:1px solid #b9c8b8;text-align:left}.budgettable caption,.mealplantable caption,.printable-practical caption{font-weight:600;text-align:left;margin-bottom:12px}.budgettable th{width:60%}.budgettable input{min-width:75px}#budgetresult{font-weight:700;border-left:4px solid #28664f;padding:16px;background:#edf2e8}.printable-practical{line-height:1.8}.writtenalternative{margin:20px auto;max-width:550px;text-align:left}.writtenalternative summary{cursor:pointer;padding:12px;min-height:44px}.skillmetadata{font-size:13px;color:#526458}.aboutstory{background:#edf2e8}p.muted,.card p,.intro p,.card .tag,.scope-note,.externalnotice{color:#526458}.passage:before{content:'Read, or use the listening button.'}body.wordaudio .passage:before{content:'Tap a word to hear it.'}body.reducemotion *,body.reducemotion *:before,body.reducemotion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.highcontrast{--ink:#091b12;--muted:#172b20;--cream:#fff;--green:#174b2d;--line:#49614e;background:white;color:#091b12}body.highcontrast .panel,body.highcontrast .card,body.highcontrast aside,body.highcontrast .xohero{background:white;border-color:#49614e}body.highcontrast p,body.highcontrast .tag,body.highcontrast .muted,body.highcontrast .overline,body.highcontrast .scope-note,body.highcontrast .textlink{color:#172b20}body.highcontrast .primary{background:#174b2d;color:white}body.highcontrast a{text-decoration:underline}body.scaledtext{font-size:1rem}body.scaledtext main p,body.scaledtext main label,body.scaledtext main button,body.scaledtext main .chip,body.scaledtext .card p,body.scaledtext .answer,body.scaledtext .tree-nav a,body.scaledtext .tree-nav summary{font-size:1rem}body.scaledtext h1{font-size:2.5rem}body.scaledtext h2{font-size:1.5rem}body.scaledtext h3{font-size:1.2rem}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1000px){.checkgrid{grid-template-columns:1fr}.headcontrols{flex-wrap:wrap}}
@media(max-width:760px){aside{width:auto;position:static}.mainwrap{margin-left:0;width:100%}.navtoggle{display:block;margin-top:14px}.tree-nav{display:none;overflow:visible;max-height:65vh;overflow-y:auto}.tree-nav.mobileopen{display:block}.tree-nav a,.tree-nav summary{font-size:15px}.tree-nav details a{font-size:14px}.headcontrols{flex-wrap:wrap}.mainwrap header{height:auto;min-height:72px;padding:14px 18px}.mealplantable,.printable-practical table{font-size:12px}.mealplantable td,.mealplantable th,.printable-practical td,.printable-practical th{padding:8px 4px}.checkgrid{grid-template-columns:1fr}}
@media print{body:not(:has(#printdocument)) main#app>.intro{display:block!important}body:has(.printable-practical) main#app>.intro,body:has(.printable-practical) .noprint{display:none!important}.printable-practical{border:0;margin:0;padding:0;line-height:1.5;font-size:10pt}.printable-practical h2,.printable-practical h3{break-after:avoid}.printable-practical li,.checkreview{break-inside:avoid}.printable-practical input{border:0!important;padding:0!important;min-height:0!important}.checkreview h3{font-size:11pt}.checkreview p{font-size:10pt}main#app>section.panel{break-inside:auto}main#app>section.panel button,main#app>section.panel .actions{display:none!important}body.highcontrast .worksheet{color:black!important}}
/* Native button disclosure navigation with independent links */
.tree-nav .navbranch{margin:3px 0}.navexpander{font:600 14px/1.45 system-ui,sans-serif;font-family:inherit;width:100%;background:transparent;border:0;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;min-height:46px;padding:11px 9px;border-radius:8px;cursor:pointer}.navexpander:hover,.navexpander[aria-expanded=true]{background:#edf2e8}.navexpander:focus-visible{outline:3px solid #965119;outline-offset:1px}.navchildren{padding-left:7px;border-left:1px solid #d2ddd2;margin-left:7px}.navchildren a{font-size:13px;min-height:44px;line-height:1.5;padding:10px 8px}.navarrow{flex-shrink:0;font-size:19px}.navexpander[aria-expanded=true] .navarrow{transform:rotate(180deg)}.navroot>.navexpander{font-size:14px;font-weight:700}.assignmentcard{border-top:1px solid #d5dfd1;padding:20px 0}.familyrow{margin:22px 0;padding:16px 0;border-bottom:1px solid #d5dfd1}.familyrow h3{font-size:21px}.familyrow .assignmentcard{padding-left:14px}.familyrow p{margin-top:5px}.headcontrols{flex-wrap:wrap;justify-content:flex-end}header{height:auto;min-height:91px;padding-top:12px;padding-bottom:12px;gap:14px}#workspace{max-width:160px}.navexpander span{pointer-events:none}body.highcontrast .navexpander{color:#091b12}body.scaledtext .navexpander{font-size:1rem}@media(max-width:760px){.navexpander{font-size:15px}.navchildren a{font-size:14px}.headcontrols{justify-content:flex-start}.headcontrols select{max-width:145px}.navtoggle{min-height:48px}}

#resourcesearch{margin-top:8px}#socialnotice[hidden]{display:none}.familyrow select{display:block;min-height:48px;max-width:100%;margin-top:8px}.coloringprint{max-width:680px;margin:24px auto;background:white}.coloringprint img{width:100%;height:auto;display:block}@media print{body:has(.coloringprint) main#app>.intro,body:has(.coloringprint) .noprint{display:none!important}.coloringprint{margin:0;max-width:none;break-inside:avoid}.coloringprint img{height:9in;width:auto;max-width:100%;margin:auto}}

/* Parent hub and optional dark display */
.xo-parent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.xo-parent-grid .panel{margin:0}.xo-parent-grid a{display:inline-block;margin-top:.5rem}.nightmode{background:#151b20!important;color:#f3f5f6!important}.nightmode .panel,.nightmode aside,.nightmode header,.nightmode .mainwrap,.nightmode .navchildren,.nightmode .card{background:#202b32!important;color:#f3f5f6!important}.nightmode a{color:#aee8ff!important}.nightmode button,.nightmode select,.nightmode input,.nightmode textarea{background:#34414a;color:#fff;border-color:#87959d}.nightmode .muted,.nightmode p{color:#e0e6ea}
/* XO Learning unified 32-week coursebook UI */
.yearbands{display:grid;gap:24px}.yearband h2{font:700 1.5rem Georgia,serif;margin:10px 0 15px}.yeargrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px}.yearcard{display:block;background:var(--cream,#fffdf7);border:1px solid #c6d3ca;border-radius:15px;padding:20px;text-decoration:none;color:inherit;min-height:150px}.yearcard h2,.yearcard h3{font-size:1.3rem;margin:8px 0}.yearcard p{color:var(--muted,#435f54);font-size:.88rem}.yeargo{display:block;color:var(--green,#27634e);font-weight:700;margin-top:12px}.yearcard:hover,.yearweek:hover{outline:2px solid #427d59}.yearpanel{margin:24px 0}.yearactions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}.yearactions>a,.yearactions>button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 15px;border-radius:10px}.yearweekgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:11px;margin:20px 0}.yearweek{display:grid;align-content:start;gap:7px;min-height:106px;padding:16px;border-radius:12px;border:1px solid #c6d3ca;background:#fff;text-decoration:none;color:#253f34}.yearweek b{color:#26664e}.yearweek span{font-size:.94rem}.yearback{margin:12px 0 20px}.yearlesson{max-width:940px;margin:auto}.yearheading{display:block;height:auto;background:#eaf2ea;border-radius:18px;padding:23px 27px;margin:20px 0}.yearheading h1{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);margin:9px 0}.yearheading p{line-height:1.6}.yearstudy{padding:27px;background:#fff;border:1px solid #d3ddd4;border-radius:16px;margin:18px 0}.yearstudy h2{margin:0 0 16px;font:700 1.6rem Georgia,serif}.yearstudy h3{margin:20px 0 8px}.yearstudy p{line-height:1.8}.yearreading{white-space:pre-line;line-height:1.92;padding:21px;background:#f4f4ee;border-left:4px solid #438a64;border-radius:4px;font-size:1.05rem}.yeardays li{padding:12px 0;border-bottom:1px solid #d3ddd4}.yeardays li p{margin:5px 0}.yearquestion{border:1px solid #bfcfc3;margin:18px 0;padding:17px;border-radius:13px}.yearquestion legend{padding:4px 8px}.yearquestion label{display:flex;align-items:center;gap:10px;min-height:43px;padding:9px;border-radius:7px;margin-top:5px;background:#f1f4ee}.yearquestion input{width:21px;height:21px;flex-shrink:0}.yearresult{background:#ecf2e7;border-radius:12px;padding:20px;margin:20px 0}.yearresult li{margin:9px 0}.yearprintquiz{display:none}.year-response-space{height:110px;background:repeating-linear-gradient(white,white 29px,#cdd4cb 30px)}.yearnotebook textarea{width:100%;resize:vertical;border:1px solid #9eada0;border-radius:8px;padding:15px;font:inherit}.yearfoot{text-align:center;font-size:11px;color:#4c6754}.parentkey summary{cursor:pointer;font-weight:700;padding:15px;background:#eef3eb;border-radius:8px}.yearlesson input,.yearlesson textarea{max-width:100%}.yearband{margin-bottom:15px}.nightmode .yearcard,.nightmode .yearweek,.nightmode .yearstudy,.nightmode .yearheading,.nightmode .yearreading{background:#28333b;color:#f1f4f4;border-color:#778d8d}.nightmode .yearcard p,.nightmode .yeargo,.nightmode .yearweek b{color:#d5ebdd}.nightmode .yearquestion label,.nightmode .yearresult,.nightmode .parentkey summary{background:#354047}.yearpanel .yeargrid{margin-top:20px}
@media(max-width:620px){.yeargrid,.yearweekgrid{grid-template-columns:1fr 1fr}.yearcard,.yearweek{padding:13px}.yearstudy{padding:18px}.yearheading{padding:19px}.yearactions>a,.yearactions>button{width:100%}}
@media(max-width:410px){.yeargrid,.yearweekgrid{grid-template-columns:1fr}}
@media print{body:has(.yearlesson) .yearlesson{max-width:none;margin:0}.yearlesson .noprint,.yearlesson .yearnotebook,.yearlesson form,.yearlesson .parentkey{display:none!important}.yearlesson .yearprintquiz{display:block}.yearlesson .yearheading,.yearlesson .yearstudy{border:0;border-radius:0;padding:10px 0;margin:0;background:white;color:black;break-inside:auto}.yearlesson .yearstudy{break-before:page}.yearlesson .yearheading h1{font-size:22pt}.yearlesson .yearstudy h2{font-size:16pt}.yearlesson .yearreading{background:white;border-left:3px solid black}.yearlesson .yearprintquiz li{padding:9px 0;break-inside:avoid}.yearlesson .ychoices{display:grid;gap:5px;font-size:10pt;padding-top:5px}.yearlesson .yearfoot{display:block}.yearlesson .yearheading{break-after:avoid}}
/* Accessible interactive learning */
.gamechooser{text-align:left;cursor:pointer;font:inherit;color:inherit}.gameclock{width:244px;height:244px;max-width:100%;position:relative;margin:18px auto;border:7px solid #387d5c;border-radius:50%;background:#f9fcf7}.gameclock .hand{position:absolute;bottom:50%;left:calc(50% - 3px);width:6px;background:#1c4738;transform-origin:bottom center;border-radius:7px}.gameclock .hour{height:67px}.gameclock .minute{height:91px;width:4px;left:calc(50% - 2px)}.gameclock .dot{position:absolute;left:calc(50% - 6px);top:calc(50% - 6px);background:#193f30;width:12px;height:12px;border-radius:50%}.gameclock span{position:absolute;top:calc(50% - 10px);left:calc(50% - 8px);font-weight:700;transform:rotate(calc(var(--i)*30deg)) translateY(-99px) rotate(calc(var(--i)*-30deg))}.fractionbar{display:flex;border:3px solid #184831;border-radius:6px;overflow:hidden;max-width:500px;height:65px;margin:20px 0}.fractionbar>span{flex:1;border-right:1px solid #184831}.fractionbar>span:last-child{border:0}.fractionbar>.filled{background:#8cc6a0}.gameletters{display:flex;flex-wrap:wrap;gap:8px}.gameletters span{font-size:1.8rem;background:#ebf2e9;border:1px solid #9caf9c;padding:12px;border-radius:10px}.nightmode .gameletters span{background:#364b46;color:#fff}

/* XO Learning: accessible grocery planner + cursive practice */
.budgetsettings{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:1rem}
.budgetsettings label,.budgetday label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}
.budgetsettings input,.budgetday input,.budgettable input{width:100%;max-width:100%;min-height:2.4rem;box-sizing:border-box}
.budgetscroll{width:100%;overflow-x:auto}
.budgettable{width:100%;border-collapse:collapse;min-width:690px}
.budgettable th,.budgettable td{text-align:left;padding:.4rem;border-bottom:1px solid var(--border,#cbd9ce);vertical-align:middle}
.budgettable td:nth-child(1){min-width:175px}.budgettable td:nth-child(2){min-width:95px}
.budgetsummary{padding:1rem;border:2px solid currentColor;border-radius:12px;margin:.8rem 0}
.budgetsummary p{margin:.35rem 0}
.budgetmeals{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}
.budgetday{padding:1rem;border-radius:12px;border:1px solid #8aa99b}
.budgetday label{margin:.5rem 0}
.cursive-model,.cursive-trace{font-family:"Apple Chancery","URW Chancery L","Segoe Script",cursive;font-size:clamp(2rem,5vw,3.4rem);line-height:1.55;overflow-wrap:anywhere;letter-spacing:.04em}
.cursive-model{color:var(--ink,#163c2a)}
.cursive-trace{color:#b5c2ba;letter-spacing:.11em;border-bottom:1px solid #8fb0c1}
.cursive-rules{margin:1rem 0}.cursive-line{height:3.2rem;margin-bottom:.4rem;border-top:1px solid #a7bdc9;border-bottom:2px solid #627d90;background:linear-gradient(to bottom,transparent 49%,#aec1c7 50%,transparent 51%)}
@media print { .budgetscroll{overflow:visible}.budgettable{min-width:0;font-size:9pt}.budgetday{break-inside:avoid}.cursivepage .yearheading{break-after:avoid}.cursive-line{break-inside:avoid} }

/* Reviewer feedback form */
#reviewform{display:flex;flex-direction:column;gap:.55rem;max-width:900px}#reviewform label{font-weight:650;margin-top:.25rem}#reviewform :is(select,input,textarea){max-width:100%;width:100%;box-sizing:border-box;padding:.7rem;border:1px solid #5e7b6b;border-radius:8px;font:inherit;background:var(--paper,#fff);color:var(--ink,#173a2c)}#reviewform .confirmrow input{width:auto;min-width:1.2rem;min-height:1.2rem}#reviewform .confirmrow{display:flex;align-items:flex-start;gap:.7rem}#reviewform :is(input,select,textarea,button):focus-visible{outline:3px solid #b0691d;outline-offset:3px}
@media print{#reviewform{display:none}}

.checksource{padding:1rem;border:2px solid #6a8472;border-radius:12px;background:#f5f9f5;margin-bottom:1rem}.checksource h2{font-size:1.1rem;margin:0 0 .6rem}.nightmode .checksource{background:#273833;color:#f5fff8;border-color:#a9c8b7}

/* XO Learning: simplified 2026 navigation, clear grade folders and student focus */
[hidden]{display:none!important}
.compact-nav{display:flex!important;flex-direction:column;gap:7px;margin-top:22px}
.compact-nav a{display:flex;gap:12px;align-items:center;min-height:50px;padding:13px 13px;border:1px solid transparent;border-radius:13px;font-size:14px;font-weight:650;text-decoration:none;transition:background .15s ease,transform .15s ease}
.compact-nav a.active,.compact-nav a[aria-current=page]{background:#edf5e8;border-color:#b2d4be;color:#174f38}
.compact-nav a:hover{background:#edf5e8;transform:translateX(2px)}
.compact-nav .nav-icon{font-size:21px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;color:#28664f}
.headcontrols{gap:10px}.headcontrols .xo-signup{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:8px 13px;font-size:12px;line-height:1.2;border-radius:9px;white-space:nowrap}
.head-search{font-size:12px;min-height:39px;padding:8px 12px;display:inline-flex;align-items:center;white-space:nowrap}
.xo-activity-bubbles{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:14px 0}
.xo-activity-bubbles a{display:inline-flex;align-items:center;text-decoration:none;border:1px solid #c8d8c5;background:#edf5e9;color:#27533e;font-weight:650;border-radius:100px;padding:10px 15px;min-height:44px;font-size:13px}
.xo-activity-bubbles a:hover{background:#d4eacb}.xo-activity-bubbles a:focus-visible{outline:3px solid #8b4f1c;outline-offset:3px}
/* Distinct student learning surfaces */
.student-welcome{border-radius:23px;overflow:hidden;padding:30px;background:linear-gradient(125deg,#e6f4e0,#fff4dc 63%,#e7f3fa);display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #d5e2cb}
.student-welcome h1{font-size:clamp(30px,4vw,45px);line-height:1.1;margin:9px 0}.student-welcome p{max-width:550px}
.student-sticker{display:inline-block;letter-spacing:8px;font-size:25px}.student-mascot{font-size:90px;animation:owlfloat 3s ease-in-out infinite;filter:drop-shadow(0 6px 8px #abbaa6)}
@keyframes owlfloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(4deg)}}
.xo-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0}
.student-tile{text-decoration:none;color:#273e34;border:2px solid #d0dfcf;background:#fffdf5;border-radius:20px;padding:22px;min-height:180px;display:block;transition:transform .18s ease,box-shadow .18s ease}
.student-tile:nth-child(2){background:#eef7fc}.student-tile:nth-child(3){background:#fff0ee}.student-tile:nth-child(4){background:#f6effe}
.student-tile>span{font-size:39px;display:block}.student-tile h2{font-size:22px;margin:8px 0}.student-tile p{font-size:13px}.student-tile:hover{transform:translateY(-3px);box-shadow:0 7px 22px #a1af9e44}
/* Accessible gradebook; a practice record, not a transcript */
.gradebook-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}
.gradebook-top label{display:block;font-weight:650;margin-bottom:6px}.gradebook-top select{min-width:180px}
.gradebook-highlights{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.gradebook-highlights>div{background:#eff5eb;border-radius:13px;padding:14px 20px;display:flex;flex-direction:column;min-width:155px}.gradebook-highlights strong{font-size:26px}.gradebook-highlights small{font-size:12px}
.gradebook-table-wrap{max-width:100%;overflow-x:auto}.gradebook-table{width:100%;border-collapse:collapse;text-align:left;min-width:600px}.gradebook-table th,.gradebook-table td{border-bottom:1px solid #dbe4d7;padding:13px 8px;vertical-align:top;font-size:13px}.gradebook-table td small{display:block;color:#526458;margin-top:4px}.gradebook-table th{background:#eef3ea}.practice-good,.practice-review{font-weight:600;font-size:12px}.practice-good{color:#215e3c}.practice-review{color:#8a4b1f}
/* The owl helps navigate, it does not collect personal information */
.pip-widget{position:fixed;right:20px;bottom:22px;z-index:500;max-width:calc(100vw - 28px)}
.pip-launch{display:flex;gap:7px;align-items:center;border:2px solid #a9cdb6;border-radius:999px;background:#f1faeb;color:#204d38;font-weight:700;padding:11px 17px;box-shadow:0 4px 17px #243a2c30;min-height:50px}.pip-launch span:first-child{font-size:26px}
.pip-dialog{width:min(375px,calc(100vw - 28px));max-height:min(75vh,600px);overflow-y:auto;background:#fffefa;border:2px solid #b5d2b2;box-shadow:0 8px 38px #162c2138;border-radius:19px;padding:17px;position:absolute;right:0;bottom:63px;color:#263e32}
.pip-header{display:flex;gap:10px;align-items:center}.pip-avatar{font-size:42px}.pip-header strong{font-size:22px;display:block}.pip-header small{font-size:11px}.pip-header button{margin-left:auto;border:0;background:transparent;font-size:27px;min-width:43px;min-height:43px}
.pip-description{font-size:13px;line-height:1.5}.pip-dialog form label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}.pip-dialog form input{width:100%;max-width:100%;margin-bottom:10px}.pip-dialog .primary{padding:11px 15px}.pip-answer{margin:10px 0;font-size:13px}.pip-answer a{font-weight:650}.pip-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pip-prompts button{border-radius:999px;font-size:12px;padding:7px 11px;border:1px solid #bad1b4;background:#ecf5e8;color:#24583b}
body.nightmode .student-tile,body.nightmode .student-welcome,body.nightmode .pip-dialog,body.nightmode .gradebook-highlights>div{background:#293b3f!important;color:#f3f5f6!important}
body.nightmode .compact-nav a.active,body.nightmode .xo-activity-bubbles a{background:#36524a!important;color:#fff!important}
body.highcontrast .student-tile,body.highcontrast .student-welcome,body.highcontrast .pip-dialog{background:#fff;color:#06190f;border-color:#26392a}
@media(max-width:760px){.compact-nav{display:none!important}.compact-nav.mobileopen{display:flex!important}.headcontrols{justify-content:flex-end}.pip-widget{right:12px;bottom:10px}.pip-dialog{bottom:61px}.student-welcome{padding:23px}.student-mascot{font-size:53px}.headcontrols .xo-signup{font-size:12px;padding:8px 11px}}
@media(max-width:520px){.xo-student-grid{grid-template-columns:1fr}.student-tile{min-height:135px}.student-welcome{gap:6px}.student-sticker{letter-spacing:2px;font-size:17px}.student-mascot{font-size:45px}.gradebook-table{min-width:520px}.pip-launch span:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){.student-mascot{animation:none}.student-tile,.compact-nav a{transition:none!important}}
body.reducemotion .student-mascot{animation:none}
@media print{.pip-widget,.student-mascot,.navtoggle,.head-search{display:none!important}}

/* Optional local lesson narration and copyright footer */
.xo-personal-voice {margin-top:1.1rem;background:var(--surface,#fffaf4);border:1px solid var(--border,#cbd9ce);border-radius:18px;padding:1rem}
.xo-personal-voice h3 {margin:.2rem 0 .65rem;font-size:1.04rem}
.xo-personal-voice .actions {display:flex;flex-wrap:wrap;gap:.5rem}
.xo-personal-voice button {min-height:42px;border-radius:30px;font-size:.91rem}
.xo-personal-voice .xo-voice-status {margin-top:.5rem}
@media(max-width:500px){.xo-personal-voice .actions button{flex:1 1 45%}}

.xo-voice-upload {display:inline-flex;align-items:center;gap:.45rem;border:1px solid currentColor;padding:.55rem .7rem;border-radius:30px;font-size:.9rem;cursor:pointer}
.xo-voice-upload input {width:min(190px,46vw);font-size:.75rem}
.xo-personal-voice [hidden]{display:none!important}
/* Pip accessibility + layout repair: hidden is authoritative, launch toggles. */
.pip-dialog[hidden]{display:none!important}
.pip-widget{z-index:2000;max-width:none}
.pip-dialog{display:flex;flex-direction:column;width:min(475px,calc(100vw - 24px));height:min(690px,calc(100dvh - 105px));max-height:calc(100dvh - 105px);overflow:hidden;padding:0;right:0;bottom:66px;border-radius:22px;box-sizing:border-box;line-height:1.55}
.pip-header{flex:0 0 auto;padding:14px 19px;border-bottom:1px solid #dce9d7;background:#f1f8ef;gap:11px}
.pip-heading{flex:1;min-width:0}.pip-heading strong{font-size:20px}.pip-heading small{display:block;font-size:12px;line-height:1.35}
.pip-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:17px 19px 19px}
.pip-dialog form{display:block}.pip-dialog form input{min-width:0;box-sizing:border-box;margin:0}.pip-query-row{display:flex;align-items:stretch;gap:8px}.pip-query-row input{flex:1 1 auto}.pip-query-row button{white-space:nowrap;flex:0 0 auto}
.pip-dialog .pip-description{font-size:14px;line-height:1.65;margin:0 0 16px}.pip-dialog form label{font-size:14px}.pip-answer{border:1px solid #d1e2cb;border-radius:15px;background:#f7fbf4;padding:13px 15px;font-size:14px;line-height:1.6;overflow-wrap:anywhere;margin:17px 0}.pip-answer p{margin:0 0 10px}.pip-result-link{display:inline-flex;text-decoration:none;min-height:44px;align-items:center;border-radius:18px;padding:7px 12px}.pip-prompts button{min-height:43px;font-size:13px;white-space:normal}
.pip-bottom{flex:0 0 auto;padding:12px 19px;border-top:1px solid #dce9d7;background:#fffefa;display:flex;justify-content:flex-end}
.pip-x{font-weight:600;border-radius:50%!important;line-height:1;flex:0 0 44px}
.pip-launch[aria-expanded="true"]{background:#e2f1db}
.pip-dialog button:focus-visible,.pip-dialog a:focus-visible,.pip-launch:focus-visible{outline:3px solid #ad5c20;outline-offset:2px}
body.nightmode .pip-header,body.nightmode .pip-bottom,body.nightmode .pip-answer{background:#304842!important;color:#fff}
@media(max-width:540px){.pip-widget{right:10px;bottom:10px}.pip-dialog{right:0;bottom:62px;height:min(590px,calc(100dvh - 95px));max-height:calc(100dvh - 95px)}.pip-query-row{flex-direction:column}.pip-query-row button{width:100%}.pip-scroll{padding:15px}.pip-header{padding:10px 14px}}

/* XO Learning grocery, recipe, and club reading layouts */
.budget-switch{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.budget-mode{display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid #a9cbb5;background:#f0f9ee;border-radius:22px;font-weight:650;cursor:pointer}.budget-mode input{width:18px;height:18px;accent-color:#27634e}
.store-directory{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.store-region{width:100%;font-size:.91rem;letter-spacing:.05em;color:#426a53;margin:14px 0 3px}.store-pill{display:inline-flex;padding:10px 14px;border:1px solid #b5d1bd;background:#f6fcf4;border-radius:99px;min-height:44px;align-items:center;text-decoration:none;color:#23503d;font-size:.92rem;font-weight:600}.store-pill:focus-visible,.recipe-tile:focus-visible,.club-card:focus-visible{outline:3px solid #b45521;outline-offset:3px}
.budget-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.budget-actions button{white-space:normal;min-height:44px}.budgettable input{min-width:90px;max-width:185px}.budgettable [data-k="name"]{min-width:150px}.budgetmeals{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px}.budgetday{min-width:0;padding:14px;border:1px solid #bed5c4;border-radius:16px}.budgetday legend{padding:0 8px;font-weight:750;color:#20553d}.budgetday label{display:block;margin-bottom:7px}.budgetday input{width:100%;box-sizing:border-box}.budgetscroll{overflow-x:auto;width:100%}.budgetsummary{background:#f3f8ee;padding:14px;border-radius:12px;color:#234737}
.recipe-safety{font-size:.87rem;line-height:1.57;background:#f8f8f0;padding:12px 16px;border-radius:15px}.recipe-safety h2,.recipe-safety h3{font-size:1.05rem;margin:0 0 8px}.recipe-safety p{margin:7px 0}.recipe-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.recipe-filters label{display:block}.recipe-filters select{width:100%}.recipe-grid,.club-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.recipe-tile,.club-card{display:flex;flex-direction:column;gap:7px;padding:17px;border:1px solid #bcd1b9;background:#fcfff9;border-radius:19px;text-decoration:none;color:#1f4736;box-shadow:0 2px 6px #193f1b0d}.recipe-tile{flex-direction:row;gap:14px;align-items:start}.recipe-tile h3,.club-card h2{font-size:1.04rem;line-height:1.3;margin:0}.recipe-tile p,.club-card p{font-size:.9rem;margin:5px 0;color:#405e4a}.recipe-icon,.club-card>span{font-size:30px;line-height:1.2}.recipe-detail h2{font-size:1.3rem}.recipe-steps li{line-height:1.7;margin-bottom:12px}.recipe-head{display:flex;gap:17px;align-items:center}.recipe-emblem{font-size:55px}.recipe-print-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.club-card{justify-content:space-between}.club-card strong{margin-top:auto}.club-lesson h2{font-size:1.3rem}.club-question{border:1px solid #bad3c3;border-radius:15px;margin:13px 0;padding:13px}.club-question legend{font-weight:700;padding:0 8px}.club-question label{display:block;margin:7px 0;cursor:pointer}.club-question input{accent-color:#27634e}
.student-preview-card{display:flex;gap:20px;align-items:start}.student-preview-card .student-mascot{flex:0 0 auto}.student-preview-card>div:last-child{flex:1}.student-preview-card select{display:block;max-width:420px}.student-guest-invite a{display:inline-flex}.pip-dialog .pip-scroll{scrollbar-gutter:stable}
body.nightmode .budget-mode,body.nightmode .store-pill,body.nightmode .recipe-tile,body.nightmode .club-card,body.nightmode .budgetsummary,body.nightmode .recipe-safety{background:#30443e!important;color:#f7faf7!important;border-color:#789b86}body.nightmode .recipe-tile p,body.nightmode .club-card p{color:#e1ede6}
@media(max-width:570px){.budget-switch,.budget-actions{flex-direction:column;align-items:stretch}.budget-switch label,.budget-actions button{width:100%}.student-preview-card{flex-direction:column}.store-directory{gap:6px}.store-pill{font-size:.81rem}.recipe-grid,.club-grid{grid-template-columns:1fr}.recipe-head{align-items:start}.recipe-emblem{font-size:35px}}
@media print{.budget-switch,.budget-actions,.recipe-print-actions,.noprint,.pip-widget,.navtoggle{display:none!important}.recipe-detail,.club-lesson{break-inside:avoid}body{background:white!important}}
/* Keep the wide editable grocery table horizontally scrollable inside its card. */
#app .panel:has(.budgetscroll){min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
#app .budgetscroll{display:block;min-width:0;max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;contain:layout}
#app .budgettable{width:max-content;min-width:700px;max-width:none}
