:root{--ink:#283e32;--green:#426c4e;--muted:#7b867a;--paper:#faf9f4;--line:#e6e8df;--lime:#e8eecf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Nunito','Noto Sans SC',sans-serif}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit;transition:transform .15s,background .15s}button:hover{filter:brightness(.96);transform:translateY(-1px)}button:focus-visible,a:focus-visible{outline:3px solid #d59a46;outline-offset:4px}button:disabled{cursor:default;opacity:.45;transform:none}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:29px 35px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--ink);display:flex;gap:12px;align-items:center;font-weight:700;font-size:19px}.brand-icon{font-size:38px;color:var(--green)}small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:4px;color:var(--muted)}nav{display:flex;gap:8px}nav button,.plain{background:transparent;padding:11px 20px;font-size:14px;color:var(--muted)}nav button.active{background:var(--lime);border-radius:25px;color:var(--ink)}main{max-width:1140px;margin:45px auto 60px;padding:0 25px;min-height:65vh}.eyebrow{font-size:11px;letter-spacing:2.3px;color:var(--green);font-weight:800}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}h1{font-size:34px;letter-spacing:-1px;margin:10px 0}h2{font-size:24px;margin:10px 0 16px}h3{margin:0 0 12px}p{line-height:1.85}.muted,.sub{color:var(--muted);font-size:14px}.pill{display:inline-flex;gap:8px;background:white;border:1px solid var(--line);padding:10px 16px;border-radius:25px;font-size:13px}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px}.hero{position:relative;overflow:hidden;background:#e9eedf;border-radius:24px;padding:34px;min-height:316px}.hero h2{font-size:32px;max-width:70%}.hero p{max-width:65%;font-size:14px;color:#687a61}.primary{background:var(--green);color:white;border-radius:13px;padding:15px 23px;font-weight:700;box-shadow:0 4px 0 #30553c}.secondary{background:#edf0e7;border-radius:12px;padding:13px 20px}.hero .primary{margin-top:20px}.garden{position:absolute;right:25px;bottom:18px;width:170px;height:185px}.stem{position:absolute;height:105px;width:7px;background:#70855a;left:82px;top:68px;transform:rotate(-9deg);border-radius:10px}.leaf{position:absolute;background:#98ad76;width:60px;height:30px;border-radius:0 100% 0 100%;left:84px;top:116px;transform:rotate(-27deg)}.flower{position:absolute;top:10px;left:42px;font-size:112px;line-height:1;color:#e2b85b;filter:drop-shadow(0 6px 0 #d6a845)}.soil{position:absolute;bottom:0;width:155px;height:30px;border-radius:50%;background:#d2dac0}.float-letter{position:absolute;right:0;top:13px;transform:rotate(15deg);font-size:26px;background:white;padding:7px 17px;border-radius:12px;box-shadow:0 5px 0 #dae1ce}.panel{padding:26px;background:white;border:1px solid var(--line);border-radius:22px}.schedule{display:flex;gap:12px;margin:20px 0}.day{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f2f3ed;font-size:12px}.day.done{background:#6c8857;color:white}.stats{display:flex;gap:34px;padding-top:18px;border-top:1px solid var(--line)}.stats strong{font-size:26px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:32px 0 17px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.step{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.step .num{display:block;font-size:24px;margin-bottom:17px;color:#9ca98b}.step p{margin:7px 0 0;font-size:12px;color:var(--muted)}.tip{margin-top:23px;padding:15px 22px;border-radius:12px;background:#f0eee4;font-size:13px;color:#797764}footer{max-width:1090px;margin:0 auto;padding:22px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.session-head{display:flex;justify-content:space-between;align-items:center}.progress{height:6px;border-radius:10px;background:#e3e8d9;margin:20px 0 35px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green)}.study{max-width:750px;margin:auto;text-align:center}.card{background:white;border:1px solid var(--line);border-radius:26px;padding:35px 25px;margin:24px 0;min-height:290px;box-shadow:0 8px 0 #f0f0e8}.word{font-size:70px;font-weight:900;letter-spacing:5px;margin:12px 0;color:var(--green)}.sound{background:var(--lime);border-radius:50%;height:50px;width:50px;font-size:23px}.segments{display:flex;justify-content:center;gap:9px;margin:18px 0}.segment{background:#f2f3ec;border-radius:10px;padding:12px 18px;font-size:26px}.segment:nth-child(2){background:#f8e8c5;color:#997737}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:20px 0}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.choice{font-size:27px;background:white;border:2px solid var(--line);border-radius:14px;padding:20px}.choice.correct{background:#e1eed9;border-color:#7d9e68}.choice.wrong{background:#f9e1d6;border-color:#dca68a}.feedback{min-height:28px;color:var(--green);font-size:14px}.path{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.lessons{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.lesson{border:1px solid var(--line);border-radius:9px;background:#f8f9f4;padding:10px 12px}.lesson.done{background:#dfe9d2}.lesson.current{border-color:var(--green)}.filter{display:flex;gap:8px;margin:25px 0}.filter button{padding:10px 15px;background:#ecefe3;border-radius:20px}.filter button.active{background:var(--green);color:white}.empty{text-align:center;padding:55px 20px}.sentence{font-size:32px;line-height:1.6}.badge{font-size:62px}.close{float:right;background:none;font-size:25px}dialog{border:1px solid var(--line);border-radius:20px;max-width:620px;padding:30px;color:var(--ink)}dialog::backdrop{background:#20352766}dialog p{font-size:14px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#283e32;color:white;padding:12px 23px;border-radius:14px;display:none;z-index:9}select{font:inherit;border:1px solid var(--line);padding:10px;border-radius:9px;max-width:100%} .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){header{padding:18px;flex-wrap:wrap;gap:18px}.brand{font-size:17px}header>.plain{font-size:12px;padding:4px}nav{order:3;width:100%;justify-content:center}main{margin-top:24px;padding:0 18px}.intro{align-items:start;gap:10px}h1{font-size:27px}.intro>.pill{font-size:11px;padding:9px}.grid,.path{grid-template-columns:1fr}.hero{padding:25px}.hero h2{font-size:27px}.garden{right:7px;transform:scale(.8);transform-origin:bottom right}.steps{grid-template-columns:repeat(2,1fr)}footer{margin:0 20px;gap:15px;flex-direction:column}.word{font-size:58px}.choice{font-size:23px;padding:17px 8px}.session-head{gap:10px;font-size:12px}.card{padding:27px 15px}.pill{padding:8px 12px}.sentence{font-size:26px}}

/* Expanded curriculum and sound lab */
.steps.six{grid-template-columns:repeat(3,1fr)}
.text-left{text-align:left}.spaced{margin-top:28px}.step-track{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:-14px 0 28px;font-size:11px;color:var(--muted)}.step-track span{padding:7px 10px;border-radius:14px;background:#f0f1ea}.step-track .current{background:var(--green);color:white}.step-track .complete{background:var(--lime)}
.sound-guide{background:white;border:1px solid var(--line);border-radius:17px;margin:12px 0;text-align:left;overflow:hidden}.sound-guide summary{cursor:pointer;display:flex;align-items:center;gap:18px;padding:20px}.sound-guide summary>b{font-size:25px;min-width:50px;color:var(--green)}.sound-guide summary .muted{margin-left:auto;font-size:11px}.guide-body{padding:0 24px 22px;border-top:1px solid var(--line)}.guide-body p{font-size:14px}.guide-body strong{font-size:12px;color:var(--green)}.guide-body small{letter-spacing:0;font-size:11px;line-height:1.6;margin-top:10px}.sound-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0 20px;margin:25px 0}.extra-guides{margin-top:15px;text-align:left}.extra-guides>summary,details>summary{cursor:pointer}.extra-guides .sound-guide{background:var(--paper)}
.review-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;background:white;border:1px solid var(--line);border-radius:14px;margin:10px 0}.review-row>b{font-size:26px;min-width:50px}.review-row .sound{height:40px;width:40px}.spell-slots{display:flex;align-items:center;justify-content:center;gap:8px;min-height:86px;background:var(--paper);border:1px dashed #a6b594;border-radius:12px;margin:25px 0;padding:12px}.tiles{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.tile{background:#e8eddf;border:1px solid #cad5bb;box-shadow:0 3px 0 #c2cfaf;padding:12px 20px;border-radius:10px;font-size:28px}.tile:disabled{visibility:hidden}.read-check{display:flex;gap:10px;align-items:start;margin:22px 0 6px;font-size:14px;cursor:pointer}.read-check input{width:20px;height:20px;accent-color:var(--green)}.reading-card .sentence{font-size:29px;line-height:1.9;text-align:left}.lesson-list{display:grid;gap:8px}.lesson-list .lesson{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:15px}.lesson-list .lesson>span:nth-child(2){flex:1}.lesson-list small{letter-spacing:0;font-size:11px}.lesson-list b{font-size:14px}.filter{flex-wrap:wrap}.panel li{margin-bottom:10px;line-height:1.6}a{color:var(--green)}.tip+.grid{margin-top:24px}header nav{gap:2px}nav button{padding:11px 14px}
@media(max-width:700px){.steps.six{grid-template-columns:repeat(2,1fr)}.sound-grid{grid-template-columns:1fr}.sound-guide summary{gap:10px;padding:16px}.sound-guide summary>b{font-size:23px;min-width:38px}.sound-guide summary .muted{font-size:10px}.guide-body{padding:0 18px 18px}.reading-card .sentence{font-size:24px}.review-row{flex-wrap:wrap}.review-row .secondary{padding:10px;font-size:13px}.step-track{gap:5px}.step-track span{padding:6px 8px}nav button{font-size:13px;padding:10px 13px}.word{letter-spacing:3px}.segments{flex-wrap:wrap}.segment{padding:10px 14px}}
