@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f7f2;--white:#fff;--ink:#213f39;--muted:#53645f;--green:#174d45;--lime:#e4edb6;--line:#d9e1d8;--soft:#edf2e9;--orange:#e8ae70;font-size:17px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.65}button,input,textarea{font:inherit}button,a,input,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ab600a}button{cursor:pointer}a{color:var(--green);text-underline-offset:4px}header{display:flex;align-items:center;gap:24px;height:92px;padding:0 42px;border-bottom:1px solid var(--line);background:#fff}.brand{font-family:Manrope,system-ui,sans-serif;font-size:22px;font-weight:800;display:flex;gap:13px;align-items:center;text-decoration:none;white-space:nowrap}.brand i{font-weight:500;font-style:normal}.brand-icon{display:grid;place-items:center;background:var(--green);color:white;width:43px;height:43px;border-radius:12px;font-size:29px}.header-note{margin-left:auto;color:var(--muted);font-size:14px}.quiet{background:transparent;border:1px solid var(--line);border-radius:10px;padding:9px 16px;color:var(--ink);font-size:14px}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);max-width:1680px;margin:auto}aside{padding:36px 22px;min-height:calc(100vh - 92px);border-right:1px solid var(--line);background:#fcfcf8}.eyebrow{display:block;font-size:11px;letter-spacing:1.7px;font-weight:800;color:var(--muted);margin:0 0 12px}aside .eyebrow{padding-left:12px}.nav{width:100%;display:block;text-align:left;border:0;background:transparent;padding:14px 12px;margin:6px 0;border-radius:10px;color:var(--muted);font-size:14px;font-weight:600}.nav.active{background:var(--green);color:white}.side-progress{margin:50px 12px 0}.side-progress .eyebrow{padding:0}.side-progress strong{display:block;font-size:17px}.side-progress p,.saved-note{font-size:12px;color:var(--muted)}progress{width:100%;height:7px;appearance:none;border:0;border-radius:10px;overflow:hidden;margin:14px 0;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.saved-note{display:flex;gap:8px;align-items:center;margin:40px 12px}.dot{width:7px;height:7px;border-radius:50%;background:#4f7b4a;flex-shrink:0}main{padding:42px 48px 60px;max-width:1300px;width:100%}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;line-height:1.25;letter-spacing:-.6px}h1{font-size:42px;font-weight:700;margin:5px 0 18px}h2{font-size:23px;margin:6px 0 14px}h3{font-size:21px;margin:12px 0}p{margin:10px 0 20px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:24px}.welcome p:not(.eyebrow){color:var(--muted);max-width:520px;font-size:16px}.ring{width:128px;height:128px;background:conic-gradient(var(--green) 0%,var(--line) 0);border-radius:50%;padding:8px;flex-shrink:0;margin-right:20px}.ring>div{background:var(--bg);border-radius:50%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.ring strong{font-size:29px;line-height:1.2}.ring span{font-size:12px;color:var(--muted)}.resume{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--lime);border-radius:16px;padding:24px 28px;margin:22px 0 38px}.resume .eyebrow{color:#40552d;margin-bottom:6px}.resume h2{font-size:20px;margin:0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--green);color:white;border:1px solid var(--green);border-radius:9px;padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none}.primary:hover{background:#0e3b34}.primary:disabled{opacity:.7;cursor:default}.section-label{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-label span{font-size:12px;color:var(--muted)}.section-label h2{margin:0}.order-note{font-size:13px;color:var(--muted);margin:12px 0 25px}.workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px}#stages{display:flex;flex-direction:column;gap:6px}.stage{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;border-radius:11px;padding:13px 10px;color:var(--ink)}.stage.active{background:white;border-color:var(--line);box-shadow:0 3px 8px #203f3905}.stage-num{width:31px;height:31px;border-radius:50%;border:1px solid #a9b9ad;display:grid;place-items:center;font-size:13px}.stage.active .stage-num,.stage.done .stage-num{background:var(--green);color:#fff;border-color:var(--green)}.stage strong{display:block;font-size:14px;line-height:1.4}.stage small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.task-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;min-width:0}.task-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-panel-head .eyebrow{margin:0}.pill{background:var(--soft);font-size:11px;padding:4px 10px;border-radius:40px;white-space:nowrap}#stage-title{font-size:26px;margin-top:17px}#stage-intro{font-size:14px;color:var(--muted)}#task-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px;flex-wrap:wrap}.task-dot{height:34px;min-width:34px;border-radius:7px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:13px}.task-dot.selected{border:2px solid var(--green);color:var(--green);font-weight:700}.task-dot.complete{background:var(--soft)}.task-kicker{font-size:12px;color:var(--muted)}.instruction{font-size:17px;line-height:1.7}.instruction-list{padding-left:23px;font-size:16px}.instruction-list li{padding-left:5px;margin-bottom:10px}.resource{display:inline-flex;gap:10px;align-items:center;padding:11px 16px;border:1px solid var(--line);border-radius:8px;font-size:14px;margin:4px 0 16px;background:var(--bg);font-weight:600}.note-label{display:block;font-size:13px;font-weight:700;margin-top:18px}textarea{display:block;width:100%;min-height:80px;resize:vertical;margin:8px 0 22px;border:1px solid #bbc8bf;border-radius:8px;padding:11px 14px;background:#fdfefb;color:var(--ink);font-size:15px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}.complete-msg{background:var(--soft);color:var(--green);padding:12px 15px;border-radius:8px;font-size:14px;margin:15px 0}.text-btn{background:transparent;border:0;padding:9px 0;text-decoration:underline;color:var(--muted);font-size:13px}.footnote{font-size:12px;color:var(--muted);margin-top:22px}.skill-summary{background:#e9efdf;padding:20px 25px;border-radius:12px;margin:28px 0}.skill-summary strong{display:block}.skill-summary span{display:block;font-size:13px}.group-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.group-tabs button{padding:10px 14px;border-radius:7px;background:white;border:1px solid var(--line);font-size:14px;color:var(--ink)}.group-tabs button[aria-selected=true]{background:var(--green);color:white}.skill-row{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin:12px 0}.skill-row p{margin:0 0 12px;font-size:17px}.skill-options{display:flex;gap:8px;flex-wrap:wrap}.skill-options label{display:flex;gap:7px;align-items:center;padding:7px 11px;background:var(--bg);border-radius:7px;font-size:13px;cursor:pointer}.skill-options input{width:17px;height:17px;accent-color:var(--green)}.resource-group{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:18px 0}.resource-group p{font-size:15px;color:var(--muted);margin-bottom:10px}.resource-group a{display:block;padding:8px 0;font-size:16px}.practice{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:18px 0}.practice table{border-collapse:collapse;width:100%;font-size:13px}.practice th,.practice td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}.practice th{background:var(--soft)}.practice input{width:100%;min-width:0;border:1px solid #94aa9a;border-radius:5px;padding:8px;font-size:14px}.practice caption{text-align:left;padding:14px;font-weight:700}.formula-row{margin:15px 0}.formula-row label{font-size:14px;display:block;font-weight:700}.formula-row input{width:100%;padding:11px 13px;border:1px solid #a3b7aa;border-radius:7px;font-size:16px;margin-top:6px}.formula-feedback{font-size:13px;color:var(--muted);margin:5px 0 12px}.correct{color:#226444}.incorrect{color:#9d4d16}dialog{border:1px solid var(--line);border-radius:16px;padding:34px;max-width:540px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#193b3466}dialog p{font-size:15px}dialog h2{font-size:28px}.close{position:absolute;right:15px;top:12px;background:transparent;border:0;font-size:28px;color:var(--muted)}.import-label{display:block;margin:24px 0 7px;font-size:15px}#import{max-width:100%;font-size:13px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.toggle{display:flex;align-items:center;gap:12px}.toggle input{width:20px;height:20px;accent-color:var(--green)}details{font-size:14px;margin-top:24px}.danger{background:white;color:#9d311e;border:1px solid #c28a7d;border-radius:8px;padding:10px 14px}.skip{position:absolute;top:-70px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}body.large{font-size:20px}body.large .instruction,body.large .instruction-list,body.large .skill-row p{font-size:21px}body.large #stage-intro,body.large .resource,body.large .task-dot,body.large .nav{font-size:17px}@media(min-width:1500px){main{padding-left:70px;padding-right:70px}}@media(max-width:1150px){.layout{grid-template-columns:220px minmax(0,1fr)}main{padding:32px 28px}.workspace{grid-template-columns:180px minmax(0,1fr);gap:15px}.task-panel{padding:22px}.header-note{display:none}header{justify-content:space-between}.ring{width:105px;height:105px;margin-right:0}h1{font-size:36px}}@media(max-width:850px){.layout{display:block}aside{padding:12px 20px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}aside>.eyebrow,.side-progress,.saved-note{display:none}aside nav{display:flex;gap:7px}.nav{width:auto;flex:1;text-align:center;padding:10px;font-size:12px}.workspace{grid-template-columns:1fr}#stages{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.stage{padding:10px;gap:8px;border-color:var(--line)}.stage strong{font-size:12px}.stage small{font-size:10px}.stage-num{width:25px;height:25px}.task-panel{padding:26px}main{padding:28px 22px}.resume{margin-top:18px}header{height:77px;padding:0 22px}.brand{font-size:19px}.brand-icon{width:36px;height:36px;font-size:25px}.quiet{font-size:12px;padding:8px 10px}.welcome .eyebrow{font-size:9px}.ring{width:95px;height:95px}.ring strong{font-size:25px}}@media(max-width:520px){h1{font-size:30px}.welcome{gap:12px}.ring{width:78px;height:78px;padding:6px}.ring span{font-size:9px}.ring strong{font-size:21px}.welcome p:not(.eyebrow){font-size:14px}.resume{padding:20px;align-items:flex-start;flex-direction:column}.resume .primary{width:100%}.section-label{align-items:flex-start;gap:8px;flex-direction:column}.section-label h2{font-size:22px}.stage{grid-template-columns:1fr;gap:6px}.stage small{font-size:10px}.stage strong{font-size:12px}.task-panel{padding:22px 18px}.brand i{display:block;font-size:12px;line-height:1.2}.brand{gap:9px;font-size:18px}#stage-title{font-size:24px}.skill-options{flex-direction:column}.skill-options label{padding:10px}.resource-group{padding:19px}main{padding:24px 16px}.header-note{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
