:root{color-scheme:light;--ink:#294b3d;--green:#2d6852;--green-dark:#214f3e;--muted:#65776c;--paper:#fffef9;--line:#e2e7db;--orange:#e6a15a;--lavender:#eee8f8;--font:"Avenir Next","Trebuchet MS",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#f2f4ed;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9b6526;outline-offset:5px}button:active:not(:disabled){transform:translateY(2px)}.preview-header{max-width:1320px;margin:auto;padding:27px 34px 25px;display:flex;align-items:center;justify-content:space-between;gap:16px}.preview-brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:700;letter-spacing:-.5px}.brand-mark{font-size:39px;line-height:1}.preview-brand small{display:block;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.2px;margin-top:2px}.preview-label{display:flex;align-items:center;gap:8px;font-size:12px;border:1px solid #d9dfd2;border-radius:20px;padding:9px 13px;color:#596957;background:#f9faf5}.preview-label>span{width:6px;height:6px;border-radius:50%;background:#83956d}.preview-layout{max-width:1320px;padding:0 34px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:31px;align-items:start}.tablet{position:relative;min-height:686px;background:var(--paper);border:9px solid #fff;border-radius:35px;box-shadow:0 14px 55px #304c3410,0 2px 8px #304c3409;overflow:hidden;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:17px 22px 11px;gap:12px}.app-brand{font-size:21px;letter-spacing:-.7px;font-weight:700}.app-brand>span{font-size:24px;margin-right:5px;color:#799854}.icon-button{border:1px solid #e6eadd;border-radius:50%;width:46px;height:46px;background:#fffef9;color:#49614f;display:grid;place-items:center;flex-shrink:0}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lesson-progress{display:flex;justify-content:center;gap:0;padding:8px 35px 3px}.progress-step{position:relative;display:flex;align-items:center;gap:7px;color:#7b8377;font-size:11px;font-weight:600;white-space:nowrap}.progress-step:not(:last-child):after{content:"";display:block;width:25px;height:1px;background:#dfe5d6;margin:0 13px 0 8px}.progress-number{width:23px;height:23px;border-radius:50%;background:#f0f2e9;border:1px solid #e7eadd;display:grid;place-items:center;font-size:10px}.progress-step.current{color:var(--green)}.progress-step.current .progress-number,.progress-step.done .progress-number{background:var(--green);border-color:var(--green);color:white}.progress-step.done{color:#52654d}.lesson-heading{text-align:center;padding:24px 18px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#778267}.lesson-heading h1{font-size:34px;letter-spacing:-1.5px;line-height:1.18;margin:10px 0 9px;font-weight:700}.lesson-heading p{color:var(--muted);font-size:16px;line-height:1.5;margin:0}.lesson-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;padding:18px 28px 0;align-items:center;flex:1}.pip-area{position:relative;align-self:center;text-align:center;padding-top:9px}.pip-speech{position:relative;font-size:14px;line-height:1.55;max-width:180px;margin:0 auto 5px;padding:13px 15px;border:1px solid #e6e9dc;background:#fff;border-radius:17px;transform:rotate(-3deg);z-index:1}.pip-speech:after{position:absolute;content:"";width:11px;height:11px;background:white;border-right:1px solid #e6e9dc;border-bottom:1px solid #e6e9dc;transform:rotate(45deg);bottom:-6px;left:56%}.fox-illustration{position:relative;max-width:170px;margin:8px auto -8px;z-index:1}.fox-illustration svg{width:100%;display:block}.pip-ground{width:153px;height:15px;background:#ebeddc;border-radius:50%;margin:0 auto;position:relative}.pip-ground>span{position:absolute;width:5px;height:20px;border-radius:5px;background:#adc08d;bottom:4px;left:8px;transform:rotate(-25deg)}.pip-ground>span:nth-child(2){left:16px;height:14px;transform:rotate(20deg)}.pip-ground>span:nth-child(3){left:auto;right:5px;height:15px;transform:rotate(25deg)}.pip-caption{color:#7b826d;font-size:10px;line-height:1.5;letter-spacing:.1px;margin:18px 0 0}.activity{min-height:266px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.sound-word{display:flex;gap:9px;justify-content:center;margin-bottom:15px}.sound-word span{background:#f1eee5;border:1px solid #e7e2d4;border-radius:20px;min-width:82px;height:102px;display:grid;place-items:center;font-size:65px;font-weight:600;line-height:1;color:#365b48}.word-display{font-size:100px;font-weight:600;letter-spacing:10px;line-height:1.15;text-indent:10px;margin:4px 0 23px;color:#315b47}.word-underline{height:6px;width:145px;border-radius:50%;background:#dbc7ac;transform:rotate(-2deg);margin:-15px auto 20px}.audio-button{border:1px solid #dce5d4;background:#f3f6ec;color:var(--green);border-radius:30px;min-height:49px;padding:10px 19px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px}.audio-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.small-label{font-size:11px;color:#73806c;margin:13px 0 0;text-align:center}.tile-slots{display:flex;justify-content:center;gap:12px;margin:25px 0 0}.tile-slot{height:100px;width:82px;border:2px dashed #cbd7bf;border-radius:19px;background:#f6f8ee;display:grid;place-items:center;font-size:62px;font-weight:600;color:var(--green);line-height:1}.tile-slot.empty:after{content:"";width:24px;height:3px;background:#c7d1bb;border-radius:3px;margin-top:38px}.tile-slot.filled{background:#e9efdf;border:2px solid #cad9b8;box-shadow:0 4px 0 #dce5ce}.tile-slot.correct{border-color:#63966d;background:#e8f1df}.tile-bank{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:23px}.letter-tile{width:58px;height:65px;border:1px solid #e1dbed;background:#eee8f8;box-shadow:0 4px 0 #dcd3eb;border-radius:14px;color:#665180;font-size:39px;font-weight:600;line-height:1}.letter-tile:nth-child(2){background:#f9e9dc;border-color:#efd7c3;color:#9a643c;box-shadow:0 4px 0 #edd3be}.letter-tile:nth-child(3){background:#e6eddf;border-color:#d4dfc9;color:#5d774b;box-shadow:0 4px 0 #cfdbc1}.letter-tile:nth-child(4){background:#faefd5;border-color:#eadcba;color:#876e39;box-shadow:0 4px 0 #ebdcb7}.letter-tile:disabled{opacity:.65}.activity-note{font-size:11px;text-align:center;color:#7a806f;margin-top:17px;line-height:1.5}.lesson-footer{position:relative;z-index:2;padding:9px 26px 28px;min-height:126px;display:flex;align-items:center;justify-content:space-between;gap:15px}.feedback{font-size:13px;line-height:1.6;max-width:270px;min-height:30px;color:#68775e}.feedback.positive{color:#2c674b}.feedback.help{color:#8b612b}.actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.primary,.secondary{border:0;min-height:54px;padding:13px 24px;border-radius:18px;background:var(--green);color:#fffef8;font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:15px;box-shadow:0 4px 0 #20513f}.primary:hover:not(:disabled){background:#245b46}.primary:disabled{background:#dfe6d6;box-shadow:0 4px 0 #d4ddc9;color:#6e7f65}.primary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.secondary{background:#f0f2e7;color:#4c654e;box-shadow:none;border:1px solid #dfe5d4}.skip{border:0;background:transparent;color:#697561;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:10px 5px;font-size:12px}.garden-edge{height:7px;background:linear-gradient(90deg,#d9e2c9 0 25%,#e6e8d4 25% 50%,#d1dfc3 50% 75%,#e7e9d7 75%);position:absolute;bottom:0;left:0;right:0}.walkthrough{padding:18px 0 0}.walkthrough-heading h2{font-size:25px;line-height:1.25;letter-spacing:-1px;margin:10px 0}.walkthrough-heading p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 22px}.screen-nav{display:flex;flex-direction:column;gap:3px}.screen-link{display:flex;align-items:center;text-align:left;gap:12px;border:0;background:transparent;border-radius:13px;padding:10px 9px;min-height:54px;color:#596c59;width:100%}.screen-link:hover{background:#e9eee1}.screen-link.active{background:#e2ebda;color:#2b5943}.screen-link .step-icon{background:#fafbf6;width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-size:13px;border:1px solid #e5e9dd;flex-shrink:0}.screen-link.active .step-icon{background:#2d6852;color:white;border-color:#2d6852}.screen-link strong{display:block;font-size:12px;font-weight:600}.screen-link small{display:block;font-size:10px;margin-top:3px;color:#6e7b65}.demo-note{display:flex;gap:8px;border-top:1px solid #dfe4d6;margin-top:22px;padding-top:19px;font-size:11px;line-height:1.7}.demo-note strong{font-size:11px;font-weight:600}.demo-note p{color:#6c7666;margin:4px 0 14px}.note-dot{width:6px;height:6px;border-radius:50%;background:#b88e4c;margin-top:6px;flex-shrink:0}.simulation-label{display:block;font-size:10px;color:#68775d;margin:2px 0 7px}select{border:1px solid #d4ddc9;border-radius:11px;padding:11px 27px 11px 10px;min-height:44px;background:#fafbf6;color:#36553e;font-size:11px;width:100%}.control-help{font-size:10px;line-height:1.7;color:#747f6a;margin:8px 0 13px}.restart{border:0;background:transparent;padding:8px 0;min-height:44px;color:#4e6c4d;font-size:11px}.adult-notes{font-size:10px;line-height:1.8;color:#69745e;margin-top:9px}.adult-notes summary{cursor:pointer;min-height:32px}.adult-notes p{margin:9px 0}.preview-bottom{max-width:1320px;padding:22px 34px 28px;margin:auto;color:#7c8671;font-size:10px;display:flex;justify-content:space-between;gap:12px}.mat-art{max-width:250px;width:100%;margin:0 auto 12px}.mat-art svg{width:100%;display:block}.counter-tray{border:2px dashed #d7dfca;background:#f6f8ee;border-radius:23px;min-height:104px;width:100%;max-width:350px;display:flex;flex-wrap:wrap;gap:11px;align-items:center;justify-content:center;padding:17px;margin:22px 0 17px}.tray-empty{font-size:12px;color:#78876b}.counter{border:1px solid #decda6;box-shadow:0 4px 0 #d8c69d;background:#f2dfac;color:#806232;border-radius:50%;width:43px;height:43px;font-size:14px;font-weight:600}.counter-tools{display:flex;gap:10px;align-items:center;justify-content:center}.add-counter{background:#e7eedc;color:#436b40;border:1px solid #cddbbf;border-radius:15px;min-height:49px;padding:10px 17px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.add-counter>span{font-size:20px}.remove-counter{border:1px solid #dfe4d6;background:#fffef9;border-radius:50%;width:45px;height:45px;color:#627657;font-size:21px}.turns{display:flex;justify-content:center;gap:9px;margin:16px 0 0}.turn{width:7px;height:7px;border-radius:50%;background:#dce3d3}.turn.used{background:#70935c}.turn.current{background:#bd9156}.guide-model{margin:12px 0 0;color:#92652e;font-size:14px;letter-spacing:4px;text-align:center}.reading-path{display:flex;align-items:center;gap:13px;color:#8ba373;margin:-7px 0 8px}.reading-path span{width:10px;height:10px;border-radius:50%;background:#bdcca9}.reading-path:before,.reading-path:after{content:"";width:35px;height:2px;background:#c6d2b6}.bloom-art{width:155px;height:190px;margin-top:-8px}.completed-words{display:flex;align-items:center;gap:8px;margin:10px 0 0;flex-wrap:wrap;justify-content:center}.completed-words span{border:1px solid #dce4d2;background:#f2f6e9;border-radius:16px;padding:7px 12px;font-size:11px;color:#5c7650}.lesson-recap{color:#63785a;text-align:center;font-size:14px;line-height:1.7;max-width:300px;margin:14px 0 0}dialog{border:1px solid #d9e1ce;border-radius:28px;background:var(--paper);color:var(--ink);padding:32px;max-width:350px;width:calc(100% - 32px);box-shadow:0 30px 90px #172d3320}dialog::backdrop{background:#254b3a55;backdrop-filter:blur(3px)}.dialog-content{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.dialog-content h2{font-size:28px;margin:0;letter-spacing:-1px}.dialog-content p{margin:0 0 9px;color:#65765d}.dialog-content button{width:100%}.dialog-flower{font-size:54px;color:#bc9058}.listening{animation:breathe .7s ease-in-out infinite alternate}@keyframes breathe{to{opacity:.65;transform:scale(.98)}}
@media(min-width:1450px){.tablet{min-height:735px}.lesson-body{gap:28px;padding:22px 45px 0;grid-template-columns:220px minmax(0,1fr)}.lesson-heading h1{font-size:38px}.activity{min-height:305px}.tile-slot{height:110px;width:92px}.letter-tile{height:70px;width:63px}.lesson-footer{padding:15px 38px 32px}}
@media(max-width:1090px){.preview-layout{grid-template-columns:minmax(0,1fr) 205px;gap:22px;padding:0 22px}.preview-header{padding:22px}.tablet{min-height:670px;border-width:7px}.lesson-body{grid-template-columns:145px minmax(0,1fr);gap:12px;padding:16px 19px 0}.pip-speech{font-size:12px;padding:11px;max-width:140px}.fox-illustration{width:137px}.pip-ground{width:125px}.pip-caption{font-size:9px}.lesson-heading h1{font-size:30px}.lesson-heading p{font-size:14px}.tile-slot{width:70px;height:87px;font-size:53px}.tile-slots{gap:9px}.letter-tile{width:51px;height:59px;font-size:35px}.sound-word span{min-width:70px;height:90px;font-size:55px}.lesson-footer{padding:12px 20px 27px;align-items:flex-end}.feedback{font-size:12px;max-width:180px}.primary{padding:13px 17px;font-size:13px;gap:9px}.actions{gap:7px}.progress-step:not(:last-child):after{width:15px;margin:0 8px 0 4px}.preview-bottom{padding-inline:22px}}
@media(max-width:850px){.preview-layout{grid-template-columns:1fr;max-width:780px}.preview-header{max-width:780px}.tablet{min-height:710px}.walkthrough{display:grid;grid-template-columns:1fr 1fr;column-gap:25px;padding:8px 6px}.walkthrough-heading{grid-column:1}.walkthrough-heading h2 br{display:none}.walkthrough-heading p{margin-bottom:10px}.screen-nav{grid-column:1;grid-row:2 / span 7}.demo-note{grid-column:2;grid-row:1;margin-top:0;padding-top:4px;border-top:0;align-self:end}.simulation-label,select,.control-help,.restart,.adult-notes{grid-column:2}.restart{text-align:left}.preview-bottom{max-width:780px}.lesson-body{grid-template-columns:180px minmax(0,1fr);gap:23px;padding-inline:30px}.fox-illustration{width:160px}.pip-speech{max-width:165px;font-size:13px}.pip-ground{width:148px}.tile-slot{width:82px;height:100px;font-size:62px}.letter-tile{width:58px;height:65px;font-size:39px}.lesson-heading h1{font-size:34px}.lesson-footer{padding:16px 28px 30px}.feedback{max-width:260px}.primary{font-size:15px;padding:13px 22px}.lesson-progress{padding-top:14px}}
@media(max-width:560px){.preview-header{padding:17px 15px}.preview-brand{font-size:15px}.preview-brand small{font-size:10px}.brand-mark{font-size:32px}.preview-label{font-size:9px;padding:8px 9px}.preview-layout{padding:0 10px;gap:18px}.tablet{min-height:690px;border-radius:26px;border-width:5px}.app-header{padding:12px 12px 7px}.app-brand{font-size:18px}.icon-button{width:44px;height:44px}.lesson-progress{padding:9px 10px 0}.progress-step{gap:4px;font-size:9px}.progress-step:not(:last-child):after{width:10px;margin:0 5px 0 3px}.progress-number{width:21px;height:21px}.lesson-heading{padding:23px 13px 0}.lesson-heading h1{font-size:29px;margin-top:9px;letter-spacing:-1px}.lesson-heading p{font-size:13px;max-width:310px;margin:auto}.lesson-body{display:flex;flex-direction:column;padding:12px 17px 0;gap:8px;justify-content:center}.pip-area{display:flex;align-items:center;flex-direction:row-reverse;padding:0;gap:8px;align-self:center;max-width:290px;min-height:77px}.pip-speech{transform:none;font-size:11px;max-width:200px;padding:9px 11px;margin:0}.pip-speech:after{left:-6px;top:35%;bottom:auto;transform:rotate(135deg)}.fox-illustration{width:59px;flex-shrink:0;margin:0}.pip-ground,.pip-caption{display:none}.activity{width:100%;min-height:243px}.tile-slots{margin-top:18px;gap:12px}.tile-slot{width:75px;height:85px;font-size:54px;border-radius:16px}.letter-tile{height:57px;width:54px;font-size:35px;border-radius:12px}.tile-bank{margin-top:19px}.activity-note{margin-top:13px;font-size:10px}.audio-button{min-height:47px;font-size:12px;padding:10px 17px}.lesson-footer{padding:11px 17px 23px;flex-direction:column;align-items:stretch;gap:8px;min-height:119px}.feedback{font-size:11px;max-width:none;text-align:center;min-height:18px}.actions{justify-content:center;gap:13px}.primary{min-height:52px;padding:12px 20px;font-size:14px}.skip{font-size:11px}.walkthrough{padding:5px 9px;column-gap:18px}.walkthrough-heading h2{font-size:20px}.walkthrough-heading p{font-size:10px}.eyebrow{font-size:8px;letter-spacing:1.4px}.screen-link{padding:8px 6px;gap:8px;min-height:52px}.screen-link strong{font-size:11px}.screen-link small{font-size:9px}.demo-note{font-size:10px}.demo-note strong{font-size:10px}.demo-note p{font-size:10px}.preview-bottom{font-size:9px;padding:20px;flex-direction:column;align-items:center;text-align:center}.mat-art{max-width:210px}.counter-tray{margin-top:15px;min-height:88px}.counter{width:38px;height:38px}.add-counter{font-size:12px}.word-display{font-size:85px}.sound-word span{min-width:66px;height:81px;font-size:51px}.bloom-art{height:145px;width:130px}.lesson-recap{font-size:13px;margin-top:8px}.completed-words span{font-size:10px}.small-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.meaning-picture{display:flex;flex-direction:column;align-items:center;margin:0 0 13px}.meaning-picture .mat-art{max-width:230px;margin:0}.meaning-word{font-size:48px;line-height:1.1;font-weight:600;letter-spacing:4px;text-indent:4px;color:var(--green)}.meaning-reward{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:13px}.meaning-reward>.bloom-art{width:44px;height:55px;margin:0}.meaning-reward p{font-size:11px;line-height:1.7;color:#63785a;margin:0}.meaning-reward+.completed-words{margin-top:8px}
@media(max-width:560px){.meaning-picture .mat-art{max-width:210px}.meaning-word{font-size:42px}.meaning-reward{margin-top:10px}.meaning-reward p{font-size:10px}.meaning-reward>.bloom-art{width:38px;height:48px}}

/* Content-driven lessons keep sound counts separate from grouped spelling tiles. */
.tile-slots{width:100%;max-width:370px}.tile-slot{flex:1;min-width:0;max-width:82px;width:auto}.tile-slot.chunk{font-size:36px}.letter-tile.chunk{font-size:25px}.word-display{font-size:clamp(55px,7vw,100px);overflow-wrap:anywhere}.guide-model{letter-spacing:1px;overflow-wrap:anywhere;max-width:100%;line-height:1.7}.sentence-text{font-size:30px;font-weight:600;line-height:1.65;text-align:center;max-width:390px;margin:5px 0 24px;overflow-wrap:break-word}.sentence-text mark{color:var(--green);background:#e9efdb;border-radius:6px;padding:1px 4px}.library-link{display:inline-block;font-size:11px;color:var(--green);text-underline-offset:3px;margin:0 0 17px}.lesson-picker{padding:0 0 13px;border-bottom:1px solid var(--line);margin-bottom:12px}.lesson-picker details{margin-top:8px}.lesson-picker select{font-size:13px}.lesson-picker p{overflow-wrap:anywhere}.lesson-progress{flex-wrap:wrap;row-gap:7px}.meaning-word{overflow-wrap:anywhere;max-width:100%}
@media(max-width:850px){.walkthrough{display:block}.walkthrough-heading{max-width:100%}.screen-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.demo-note{padding-top:15px;margin-top:15px;border-top:1px solid var(--line)}.lesson-picker{max-width:100%}.walkthrough .adult-notes{font-size:11px}.walkthrough select{font-size:12px}.control-help{font-size:11px}.simulation-label{font-size:11px}.lesson-picker .adult-notes p{max-width:650px}}
@media(max-width:560px){.tile-slot{max-width:75px}.tile-slot.chunk{font-size:30px}.tile-bank{max-width:100%;gap:9px}.letter-tile.chunk{font-size:22px}.sentence-text{font-size:26px;line-height:1.6;margin-bottom:18px}.screen-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-step:not(.current) .progress-name{display:none}.progress-step:not(:last-child):after{width:8px}.lesson-body{min-width:0}.meaning-word{font-size:38px}.meaning-reward+.completed-words{gap:5px}}

.lesson-navigation{position:sticky;top:0;z-index:10;width:100%;max-width:1320px;margin:0 auto;padding:0 34px 12px;background:#f2f4ed}.home-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #cad9b8;border-radius:14px;background:#e9efdf;color:var(--green);font-size:14px;font-weight:600;text-decoration:none;touch-action:manipulation}.home-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-link:hover{background:#dfe9d2}.home-link:focus-visible{outline:3px solid #9b6526;outline-offset:3px}
@media(max-width:1090px){.lesson-navigation{padding-inline:22px}}
@media(max-width:850px){.lesson-navigation{max-width:780px}}
@media(max-width:560px){.lesson-navigation{padding-inline:10px}}

.lesson-heading .feedback{width:fit-content;max-width:560px;margin:14px auto 0;padding:10px 16px;border:1px solid #dce5d4;border-radius:14px;background:#f3f6ec;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.lesson-footer{justify-content:flex-end;min-height:98px}
@media(max-width:560px){.lesson-heading .feedback{font-size:12px;padding:9px 12px;max-width:100%}}

#feedback{scroll-margin-top:80px;scroll-margin-bottom:20px}

/* The lesson library is a parent/teacher browse surface, not a mastery dashboard. */
.practice-tracker{padding:20px 24px;margin-bottom:24px;border:1px solid #cad9b8;border-radius:20px;background:#f9faf3}.practice-tracker h2{margin:0 0 9px;font-size:23px;letter-spacing:-.5px}.practice-tracker>p{font-size:14px;line-height:1.6}.practice-tracker details{font-size:12px;line-height:1.7}.practice-tracker summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--green);font-weight:600}.tracker-table-wrap{max-height:420px;overflow:auto}.practice-tracker table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.practice-tracker th,.practice-tracker td{padding:10px 8px;border-bottom:1px solid #dfe5d4}.practice-tracker thead th{position:sticky;top:0;background:#f9faf3;z-index:1}.tracker-error{color:#8b612b}.word-card .word-progress{margin-top:10px;font-size:10px;line-height:1.5;border-radius:9px;padding:5px 7px;background:#eef0e6}.word-card .word-progress.is-completed{color:#20513f;background:#dfead2}.practice-status{font-size:11px;line-height:1.6;color:#526a4e}
@media(max-width:560px){.practice-tracker{padding:15px}.practice-tracker table{font-size:10px}.practice-tracker th,.practice-tracker td{padding:9px 4px}.practice-tracker h2{font-size:21px}}
.catalog-shell{max-width:1180px;margin:auto;padding:10px 34px 30px}.catalog-intro{padding:20px 0 22px}.catalog-intro h1{font-size:48px;letter-spacing:-2px;line-height:1.14;margin:14px 0 15px}.catalog-intro>p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.catalog-guidance{background:#e8eedf;border:1px solid #dce5d1;border-radius:18px;padding:18px 22px;font-size:13px;line-height:1.8;max-width:100%}.catalog-guidance p{margin:6px 0 0;color:#526a4e}.component-nav{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0 30px}.component-nav a{font-size:11px;border:1px solid #d6e0cc;border-radius:24px;padding:10px 14px;color:var(--green);text-decoration:none;background:#fafbf5}.component-section{padding:26px;background:var(--paper);border:1px solid #e2e7da;border-radius:24px;margin-bottom:22px;scroll-margin-top:18px}.component-heading{display:flex;align-items:center;gap:14px}.component-heading h2{font-size:24px;letter-spacing:-.7px;margin:0 0 5px}.component-heading p{font-size:12px;color:var(--muted);margin:0}.component-number{display:grid;place-items:center;background:#e4edda;color:#52774b;width:43px;height:43px;flex-shrink:0;border-radius:15px;font-size:15px;font-weight:600}.component-concept{font-size:13px;line-height:1.9;color:#5e7357;margin:18px 0 22px;max-width:850px}.word-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px}.word-card{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink);background:#f6f7ee;border:1px solid #e3e8d9;border-radius:18px;padding:9px 6px 15px;transition:background .15s,border-color .15s}.word-card:hover{background:#edf2e4;border-color:#b9ceaa}.word-card:focus-visible,.component-nav a:focus-visible,.library-link:focus-visible{outline:3px solid #9b6526;outline-offset:4px}.word-card-picture{width:110px;height:90px;display:grid;place-items:center}.word-card-picture svg{max-width:100%;max-height:100%;width:110px}.word-card strong{font-size:24px;font-weight:600;letter-spacing:.5px;margin:4px 0 6px}.word-card>span{font-size:10px;color:#708267;max-width:100%;overflow-wrap:anywhere;text-align:center}.component-readiness{font-size:11px;line-height:1.8;color:#6c7d60;margin:19px 0 0}.catalog-footer{max-width:1180px;margin:auto;padding:0 34px 28px;font-size:11px;line-height:1.9;color:#6f7e66}.catalog-footer a{color:var(--green);text-underline-offset:3px}
@media(max-width:560px){.catalog-shell{padding:5px 16px 20px}.catalog-intro h1{font-size:36px}.catalog-intro>p{font-size:13px}.catalog-guidance{font-size:11px;padding:14px 16px}.component-section{padding:17px;border-radius:20px}.component-heading h2{font-size:20px}.component-heading p{font-size:11px}.component-concept{font-size:11px;line-height:1.8;margin:15px 0}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.word-card-picture{max-width:100%}.word-card strong{font-size:22px}.component-nav{gap:6px}.component-nav a{font-size:10px;padding:9px 12px}.catalog-footer{padding:0 18px 24px}.catalog-page .preview-header{align-items:flex-start}.catalog-page .preview-label{max-width:125px;text-align:center;line-height:1.7;font-size:9px}.component-number{width:36px;height:36px;border-radius:12px}}

/* Concepts first, followed by small, focused word sets. */
.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:4px 0 26px}.concept-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #dce5d2;border-radius:24px;background:var(--paper);color:var(--ink);text-decoration:none}.concept-card:hover{border-color:#a8c297;background:#fafcf5}.concept-card:focus-visible,a:focus-visible{outline:3px solid #9b6526;outline-offset:4px}.concept-card-top{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.concept-card h2{margin:18px 0 6px;font-size:25px;letter-spacing:-.6px}.concept-card>p{margin:0;font-size:14px;line-height:1.7;color:#526a4e}.concept-examples{display:flex;gap:10px;margin:18px 0}.concept-examples>span{flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;padding:7px 3px 10px;background:#f2f5ea;border-radius:14px;font-size:15px}.concept-examples svg{width:100%;max-width:120px;height:77px}.concept-examples strong{font-weight:600}.concept-card .concept-progress{font-size:12px;margin-top:auto;padding:0 0 14px}.concept-open{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:14px;font-weight:600;border-top:1px solid var(--line);padding-top:12px;color:var(--green)}.catalog-guidance{margin:0 0 24px}.catalog-guidance summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}.concept-introduction{background:#e8eedf;border:1px solid #d6e0cc;border-radius:22px;padding:24px;font-size:15px;line-height:1.8}.concept-introduction h2{font-size:21px;margin:0 0 8px}.concept-introduction p{margin:8px 0 14px}.concept-practice-tip{color:#526a4e}.concept-introduction details{font-size:12px;margin-top:16px}.concept-introduction summary{cursor:pointer;min-height:44px;padding:10px 0}.lesson-navigation{display:flex;flex-wrap:wrap;gap:8px}.concept-back{background:var(--paper)}
@media(max-width:650px){.concept-grid{grid-template-columns:1fr;gap:14px}.concept-card{padding:20px}.concept-card h2{font-size:23px}.concept-introduction{padding:18px;font-size:13px}.concept-introduction h2{font-size:19px}.lesson-navigation .home-link{font-size:12px;padding:9px 12px}.catalog-page .home-link{flex-shrink:0}}
.catalog-page[data-page=concept] .preview-header{position:sticky;top:0;z-index:10;background:#f2f4ed}.catalog-page[data-page=concept] .component-section{scroll-margin-top:110px}

/* A persistent, touch-sized restart action beside lesson navigation. */
.restart-lesson{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;margin-left:auto;border:1px solid #c69b62;border-radius:14px;background:#f5e6cb;color:#664824;font-size:15px;font-weight:700;line-height:1.4}.restart-lesson:hover:not(:disabled){background:#eed8b2}.restart-lesson:disabled{opacity:.55}.restart-lesson:focus-visible{outline:3px solid #9b6526;outline-offset:3px}
@media(max-width:650px){.lesson-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lesson-navigation .home-link{min-width:0;line-height:1.4;text-align:center}.restart-lesson{grid-column:1/-1;width:100%;margin-left:0}#feedback{scroll-margin-top:170px}}
