.ll-search{margin:28px 0}.ll-search label{display:block;font-size:17px;font-weight:750;margin-bottom:10px}.ll-search>div{display:flex;gap:10px;max-width:720px}.ll-search input{width:100%;min-width:0;min-height:52px;padding:12px 16px;border:1px solid #8aa99b;border-radius:10px;font:inherit;background:white;color:#173e35}.ll-search button{font:inherit;font-weight:700;border:1px solid #8aa99b;border-radius:10px;background:white;padding:10px 18px;cursor:pointer}.ll-library h2{font-size:24px;margin:0 0 18px}.ll-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ll-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:23px;background:white;border:1px solid #ccdcd3;border-radius:14px;text-decoration:none}.ll-card:hover{border-color:var(--ll-colour);box-shadow:0 4px 16px #173e350e}.ll-mark{font-weight:800;font-size:22px;min-width:48px;height:44px;display:grid;place-content:center;border-radius:9px;background:color-mix(in srgb,var(--ll-colour) 10%,white);color:var(--ll-colour)}.ll-card h3{font-size:21px;line-height:1.3;margin:0}.ll-card p{font-size:16px;line-height:1.5;margin:0}.ll-card-foot{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:8px;font-size:14px}.ll-card-foot strong{font-size:15px;color:var(--ll-colour)}.ll-library [hidden]{display:none!important}#ll-results ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}#ll-results a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 20px;border:1px solid #ccdcd3;padding:18px 20px;border-radius:10px;background:white;text-decoration:none}#ll-results strong{font-size:18px}#ll-results span{grid-column:1;font-size:14px;color:#526d60}#ll-results b{grid-column:2;grid-row:1/3;align-self:center}#ll-results a:hover{border-color:#196b5c}.ll-instruction{margin-top:12px!important}.ll-sections{margin:24px 0;padding:18px 20px;background:#eef3ed;border-radius:12px}.ll-sections summary{font-weight:750;cursor:pointer}.ll-sections nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.ll-section{margin:30px 0}.ll-section h2{font-size:23px;margin:0 0 15px}.ll-lessons{display:grid;gap:10px}.ll-lessons .lm-skill{max-width:none;border:1px solid #bdcfc3;border-radius:12px;box-shadow:none;background:white}.ll-lessons .lm-skill summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:16px;text-align:left;padding:18px 20px;align-items:center}.ll-lessons .lm-node-dot{width:36px;height:36px;border:0;border-radius:8px;background:#edf2ed;font-size:16px;color:#31594a}.ll-lessons .lm-node-title{font-size:18px}.ll-lessons .lm-node-body{padding:22px 24px}.ll-lessons .lm-node-body .lm-actions{display:flex;flex-wrap:wrap}.ll-lessons .lm-node-status{font-size:14px}.ll-related li{margin:20px 0}.ll-related a{font-size:17px;font-weight:750}.ll-related p{margin:6px 0}.ll-library~.lm-teacher{margin-top:32px}@media(max-width:900px){.ll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ll-grid{grid-template-columns:1fr}.ll-card{padding:20px}.ll-lessons .lm-skill summary{grid-template-columns:36px minmax(0,1fr);gap:8px 12px;padding:16px}.ll-lessons .lm-node-dot{grid-row:1/3}.ll-lessons .lm-node-status{grid-column:2}.ll-lessons .lm-node-body{padding:18px 16px}.ll-sections{padding:16px}.ll-sections .lm-button{width:100%}.ll-search input{font-size:16px}}

@media(max-width:600px){.ll-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 14px}.ll-mark{grid-column:1;grid-row:1/3;min-width:44px}.ll-card h3,.ll-card p,.ll-card-foot{grid-column:2}.ll-card-foot{gap:5px;padding-top:4px}.lm-resume p{display:none}.lm-resume h2{font-size:21px}}
/* Finite chapters: a goal, a short route, and a clear stopping point. */
.lc-goal{display:flex;align-items:center;gap:28px;padding:28px;background:#e8f0e6;border:1px solid #acc8b7;border-radius:18px;scroll-margin-top:20px}.lc-goal-copy{flex:1;min-width:0}.lc-goal h2{font-size:28px;line-height:1.2;margin:8px 0 12px}.lc-goal p{margin:8px 0 16px}.lc-ring{width:130px;height:130px;flex:none;border-radius:50%;background:conic-gradient(var(--lc-colour) var(--lc-fill),#cfdfd3 0);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}.lc-ring:before{content:'';position:absolute;inset:10px;border-radius:50%;background:#f9fcf8;z-index:-1}.lc-ring strong{font-size:32px;line-height:1.15}.lc-ring small{font-size:18px;font-weight:500}.lc-ring>span{font-size:14px;color:#466657}.lc-evidence{font-size:14px;color:#496859}.lc-chapters{margin:30px 0}.lc-chapters-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.lc-chapters-heading h2{font-size:22px;margin:0}.lc-chapters-heading>span{font-size:14px;color:#496859}.lc-chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lc-chapter{display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:#173e35;border:1px solid #c8d8cd;background:white;border-radius:12px;padding:14px;cursor:pointer;min-width:0}.lc-chapter.lc-active{border:2px solid #196b5c;background:#edf5ed;padding:13px}.lc-chapter-number{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#e6eee6;font-weight:800}.lc-chapter strong{display:block;font-size:16px;line-height:1.3}.lc-chapter small{display:block;font-size:13px;color:#496859;margin-top:5px}.lc-active-chapter>h2{font-size:26px;margin-bottom:8px}.lc-trail{display:flex;align-items:flex-start;list-style:none;padding:18px 0 26px;margin:0}.lc-trail li{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.lc-trail li:not(:last-child):after{content:'';position:absolute;left:50%;top:19px;width:100%;height:3px;background:#c8d8cd;z-index:0}.lc-trail a,.lc-trail .lc-end>span{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid #b7cdbd;background:#fff;text-decoration:none;font-weight:800}.lc-trail .lc-passed a{background:#196b5c;color:white;border-color:#196b5c}.lc-trail .lc-passed:after{background:#196b5c}.lc-trail .lc-current a{outline:3px solid #dcaa4c;outline-offset:3px}.lc-trail small{font-size:13px}.lc-trail .lc-end>span{color:#916014;background:#fff3d7;border-color:#d7b46e}.lc-checkpoint{display:flex;gap:18px;padding:24px;background:#fff6e2;border:1px solid #dfc78e;border-radius:14px;margin:22px 0 32px}.lc-checkpoint h3{font-size:21px;margin:0 0 10px}.lc-checkpoint p{margin:8px 0 14px}.lc-checkpoint .lm-button{margin:5px 8px 0 0}.lc-flag{font-size:32px;color:#94601a}.lc-finish-message{font-weight:750}.lc-chapter:hover{border-color:#196b5c}@media(max-width:850px){.lc-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.lc-goal{display:block;padding:22px}.lc-ring{width:90px;height:90px;margin-bottom:18px}.lc-ring:before{inset:7px}.lc-ring strong{font-size:24px}.lc-ring small{font-size:15px}.lc-ring>span{font-size:12px}.lc-goal h2{font-size:25px}.lc-chapter-grid{grid-template-columns:1fr}.lc-chapter{padding:12px}.lc-chapter.lc-active{padding:11px}.lc-chapters-heading{align-items:flex-start}.lc-chapters-heading>span{white-space:nowrap}.lc-checkpoint{padding:20px 16px;gap:12px}.lc-checkpoint .lm-button{width:100%;margin-right:0}.lc-trail a,.lc-trail .lc-end>span{width:34px;height:34px}.lc-trail li:not(:last-child):after{top:16px}.lc-goal .lm-button{width:100%}}
.lc-preparation{border-left:4px solid #b4862f;padding:12px 16px;background:#fff8e8;margin-top:16px}.lc-preparation p{font-size:15px;line-height:1.6}.lc-preparation .lm-button{margin:6px 8px 0 0}.lc-needs{color:#715620!important}.nu-preparation-links a{display:inline-flex;margin:4px 8px 4px 0}.nu-preparation-links p{font-size:15px}.nu-prerequisites[open]{margin:18px 0;padding:18px;border:1px solid #cdbd8e;background:#fff9e9;border-radius:10px}
.lc-chapters>summary{cursor:pointer;padding:16px 18px;border:1px solid #c2d5c8;background:white;border-radius:10px;font-weight:750}.lc-chapters>summary>span{float:right;font-size:14px;font-weight:500;color:#496859}.lc-chapters .lc-chapter-grid{margin-top:14px}.lc-chapter-grid button:focus-visible{outline:3px solid #335ad7;outline-offset:3px}
/* Child-facing route: one next action, a short lesson list, optional details. */
.kid-topline{display:flex;align-items:center;gap:18px;margin:0 0 22px}.kid-topline>span{font-size:18px;font-weight:750}.kid-stage.lc-goal{display:block;max-width:800px;margin:0 auto 28px;padding:28px 32px;background:#fff;border:1px solid #c4d8cb;border-top:5px solid #196b5c}.kid-stage h1{font-size:clamp(27px,4vw,36px);line-height:1.2;margin:8px 0 12px}.kid-stage .kid-goal{font-size:18px;line-height:1.5;margin:0 0 20px}.kid-progress>span{font-size:15px;color:#466657}.kid-stage .lc-trail{padding:18px 0 24px}.kid-dot{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid #b7cdbd;background:#fff;font-weight:800}.lc-passed .kid-dot{background:#196b5c;border-color:#196b5c;color:white}.lc-current .kid-dot{outline:3px solid #e0ad42;outline-offset:3px}.kid-next-up{padding:22px;border-radius:12px;background:#e8f2e8}.kid-stage .kid-next-up h2{font-size:24px;line-height:1.3;margin:7px 0 18px}.kid-next-up p{font-size:16px;margin:0 0 18px}.kid-stage .kid-next-up .lm-primary{font-size:19px;min-height:56px;min-width:200px;padding:13px 24px}.kid-stage .kid-next-up .lm-button:not(.lm-primary){display:flex;margin-top:16px}.kid-text-button{display:block;font:inherit;font-weight:700;color:#196b5c;text-decoration:underline;border:0;background:none;padding:14px 0 0;cursor:pointer}.kid-lesson-list,.kid-more{max-width:800px;margin-left:auto;margin-right:auto}.kid-lesson-list>h2{font-size:23px;margin:0 0 16px}.kid-lesson{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:16px;padding:18px;border:1px solid #c4d8cb;border-radius:12px;background:white;text-decoration:none;min-height:76px}.kid-lesson strong{display:block;font-size:18px;line-height:1.35}.kid-lesson small{display:block;margin-top:6px;font-size:14px;color:#4c6b5e}.kid-step{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#edf3ec;font-weight:800}.kid-next{border:2px solid #196b5c;padding:17px}.kid-done .kid-step{background:#196b5c;color:white}.kid-lesson:hover{background:#f1f7ef}.kid-stop{padding:18px 20px;border-radius:12px;background:#fff4d9;margin:18px 0 28px;font-size:16px;line-height:1.5}.kid-more{margin-top:14px;border:1px solid #c4d8cb;border-radius:10px;background:white;padding:0}.kid-more>summary,.lc-chapters.kid-more>summary{padding:17px 20px;min-height:54px;font-size:17px;font-weight:750;cursor:pointer;border:0;background:none}.kid-more[open]{padding-bottom:18px}.kid-more>p,.kid-more>.lm-button,.kid-more>.kid-evidence{margin-left:20px;margin-right:20px}.kid-more>.lm-button{margin-top:10px}.kid-more>.lc-chapter-grid,.kid-extras{margin:0 18px}.kid-extras>div{padding:16px 0;border-bottom:1px solid #dce6de}.kid-extras>div:last-child{border:0}.kid-extras strong{display:block;font-size:17px;margin-bottom:10px}.kid-extras>div>div{display:flex;flex-wrap:wrap;gap:10px}.kid-evidence{padding:14px 0;border-top:1px solid #dce6de;font-size:15px}.kid-evidence p{margin-bottom:0}.kid-evidence .lm-status{display:block;margin-top:8px}.kid-evidence small{font-size:14px}.lc-preparation.kid-more{border:1px solid #c4d8cb}.kid-resume .lm-button{font-size:18px;min-height:54px}.kid-resume .lm-label{font-size:14px}.ll-card-foot>span:empty{display:none}.ll-card{gap:10px}.ll-card-foot{padding-top:2px}.kid-stage~.ll-related{max-width:800px;margin-left:auto;margin-right:auto}.lm-header nav a{font-size:18px}@media(max-width:600px){.kid-stage.lc-goal{padding:22px 18px}.kid-stage .kid-goal{font-size:16px}.kid-stage .kid-next-up{padding:18px}.kid-stage .kid-next-up h2{font-size:22px}.kid-stage .kid-next-up .lm-primary{width:100%;min-width:0}.kid-stage .kid-dot{width:34px;height:34px}.kid-lesson{gap:12px;padding:16px 14px}.kid-next{padding:15px 13px}.kid-lesson strong{font-size:17px}.kid-topline{gap:14px}.kid-topline>span{font-size:17px}.kid-more>summary,.lc-chapters.kid-more>summary{font-size:16px;padding:16px}.lm-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.lm-header nav{margin-top:0}.lm-brand{font-size:21px}.lm-resume>.lm-button{margin-top:14px}}
.nu-preparation-links{padding:18px 20px;background:#edf5e9;border:1px solid #b8cfb7;border-radius:12px;margin:18px 0}.nu-preparation-links>strong{font-size:18px}.nu-preparation-links>p{margin:8px 0;font-size:17px}.nu-preparation-links>.nu-small{font-size:14px;margin-top:12px}.nu-preparation-links>.nu-button{min-height:48px}
