@font-face{font-family:Forma;src:url('fonts/DejaVuSans.ttf') format('truetype');font-display:swap}
:root{--paper:#f5f2eb;--surface:#fffdf8;--ink:#272b25;--muted:#62675b;--line:#dadbd0;--lime:#cbee70;--purple:#dcd3f5;--orange:#f2b58d;--radius:20px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Forma,Arial,sans-serif;font-size:14px;line-height:1.6}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #6854b5;outline-offset:4px}button{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:var(--ink);color:#fff;padding:10px}.skip:focus{top:10px}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:32px 22px;overflow-y:auto;background:#eeeee5}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:32px;font-weight:800;letter-spacing:-1.5px;line-height:1.1}.brand-mark{background:var(--lime);border:1px solid var(--ink);height:48px;width:48px;border-radius:12px;display:grid;place-items:center;font-size:38px;font-family:Georgia,serif;line-height:1}.brand-caption{display:block;font-size:8px;letter-spacing:1.35px;margin-top:9px;font-weight:500}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700}.nav-label{color:var(--muted);margin:48px 10px 14px}nav{display:grid;gap:7px}nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:10px;text-decoration:none;line-height:1.2;font-size:12px;border:1px solid transparent}nav a span{width:20px;font-size:19px;text-align:center}nav a small{margin-left:auto;font-size:10px;color:var(--muted)}nav a:hover{background:#e2e5d6}nav a.active{background:var(--ink);color:#fff}nav a.active small{color:var(--lime)}.side-progress{border-top:1px solid var(--line);margin:35px 10px 0;padding-top:24px}.side-progress strong{display:block;font-size:13px;margin:8px 0 11px}.side-progress p{font-size:10px;color:var(--muted);line-height:1.8}.progress-bar{height:5px;background:#dddeda;border-radius:5px;overflow:hidden}.progress-bar span{height:100%;background:#69952d;display:block;transition:width .3s}.side-help{display:block;margin:25px 10px;font-size:10px;color:var(--muted)}.workspace{margin-left:242px}.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;gap:20px}.top-tag{font-size:9px;letter-spacing:1.8px;white-space:nowrap;font-weight:bold;display:flex;gap:10px;align-items:center}.status-dot{width:6px;height:6px;background:#6d8539;border-radius:50%}.topbar form{border:1px solid var(--line);border-radius:8px;display:flex;background:var(--surface);width:280px}.topbar input{width:100%;min-width:0;border:0;background:transparent;padding:10px 12px;font-size:11px;color:var(--ink)}.topbar button{background:none;border:0;padding:0 12px;font-size:23px}main{max-width:1390px;margin:0 auto;padding:38px 44px 60px;min-height:calc(100vh - 157px)}main:focus{outline:none}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px;gap:22px}.page-head p{margin:7px 0 0;color:var(--muted);max-width:690px}.page-head h1{margin:0;font-size:34px;letter-spacing:-1.3px;line-height:1.2}.eyebrow{display:block;color:var(--muted);margin-bottom:12px}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:364px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.hero-copy{padding:36px 32px;display:flex;flex-direction:column;align-items:start}.hero h1{font-size:clamp(32px,3.4vw,49px);font-weight:800;letter-spacing:-2.1px;line-height:1.12;margin:7px 0 20px}.hero h1 em{font-style:normal;color:#6e8734}.hero p{max-width:370px;color:var(--muted);font-size:12px;line-height:1.9;margin:0 0 25px}.hero .eyebrow{color:var(--ink);font-size:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;border:1px solid var(--ink);border-radius:8px;padding:12px 17px;font-size:12px;font-weight:700;background:var(--ink);color:#fff;line-height:1.4}.btn:hover{background:#414737}.btn.light{background:transparent;color:var(--ink);border-color:var(--line)}.btn.light:hover{background:#e9eade}.btn.lime{background:var(--lime);color:var(--ink)}.btn.small{padding:8px 12px;font-size:11px}.hero-meta{margin-top:20px;display:flex;gap:16px;font-size:9px;color:var(--muted)}.hero-art{background:#e7e6de;position:relative;min-height:340px;overflow:hidden;display:grid;place-items:center;border-left:1px solid var(--line)}.hero-art svg{width:100%;height:100%;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 32px;gap:14px}.stat{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;gap:14px;align-items:center}.stat strong{font-size:27px;line-height:1.1;letter-spacing:-1px}.stat span{font-size:10px;color:var(--muted);line-height:1.5}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 17px}.section-head h2{font-size:20px;margin:0;letter-spacing:-.5px}.section-head>a{font-size:11px;text-decoration:none}.home-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px}.card h2,.card h3{margin:0 0 10px;line-height:1.4}.card h2{font-size:21px;letter-spacing:-.5px}.card h3{font-size:16px}.card p{color:var(--muted);font-size:12px}.card.accent{background:var(--lime);border-color:#becd93}.card.accent p{color:#3d492c}.continue-card{display:grid;grid-template-columns:112px 1fr;gap:24px}.module-art{background:var(--purple);border-radius:10px;min-height:150px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.module-art:before{content:'';position:absolute;width:68px;height:68px;border:18px solid #5e5375;border-radius:50%;left:-10px;bottom:15px}.module-art:after{content:'';position:absolute;width:62px;height:90px;background:var(--lime);transform:rotate(18deg);right:10px;top:20px}.continue-card h3{font-size:18px;margin:8px 0}.badge{display:inline-block;font-size:9px;padding:4px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);margin-right:6px;background:var(--surface)}.badge.done{background:#e5f3c9;color:#395620;border-color:#c3d6a4}.small-meta{font-size:10px;color:var(--muted)}.route-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.route-mini a{padding:18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--surface)}.route-mini strong{display:block;font-size:12px;margin:10px 0}.route-mini span{font-size:10px;color:var(--muted)}.step-number{font-size:22px;color:#808d68;letter-spacing:-1px}.tip{font-size:11px;color:var(--muted);margin-top:20px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chip{background:transparent;border:1px solid var(--line);border-radius:30px;padding:8px 13px;font-size:11px;white-space:nowrap}.chip:hover{background:#e6e8dc}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.module-list{display:grid;gap:12px}.module-row{display:grid;grid-template-columns:52px 1fr auto;gap:17px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px;text-decoration:none}.module-row:hover{border-color:#8d9c76}.module-num{font-size:25px;color:#75835f;letter-spacing:-1px}.module-row h3{margin:0 0 5px;font-size:15px}.module-row p{margin:0;font-size:10px;color:var(--muted)}.module-row .arrow{font-size:23px}.phase-title{font-size:14px;margin:30px 0 14px;display:flex;align-items:center;gap:15px}.phase-title:after{content:'';height:1px;flex:1;background:var(--line)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:26px}.lesson-content{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px}.lesson-content p{font-size:14px;line-height:1.9;max-width:780px}.lesson-content h2{font-size:24px;margin:0 0 20px}.lesson-content h3{font-size:17px;margin-top:30px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.tabs button{border:1px solid var(--line);padding:10px 15px;border-radius:8px;background:transparent;font-size:12px}.tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.lesson-side{align-self:start;position:sticky;top:24px}.lesson-side .card{padding:20px;margin-bottom:15px}.lesson-side h3{font-size:13px}.lesson-side p{font-size:10px}.lesson-side a.resource-link{display:block;font-size:11px;line-height:1.6;margin:14px 0}.lesson-side .btn{width:100%;font-size:11px}.check-row{display:flex;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}.check-row input{margin-top:6px;width:17px;height:17px;flex-shrink:0;accent-color:#557330}.callout{padding:16px 20px;border-left:3px solid #8ca25d;background:#eef1e5;font-size:12px;line-height:1.8;margin:24px 0}.note-field{display:block;width:100%;min-height:145px;padding:15px;background:#faf9f3;border:1px solid var(--line);border-radius:10px;resize:vertical;line-height:1.8;color:var(--ink);font-size:13px}.note-label{display:block;font-weight:700;margin:22px 0 10px;font-size:12px}.lesson-pagination{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.step-list{padding-left:25px}.step-list li{padding:8px 0;font-size:13px;line-height:1.9}.step-list li::marker{font-weight:bold;color:#687c4b}details{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:15px;background:var(--surface)}summary{cursor:pointer;font-weight:bold;font-size:13px}.quiz-question{border-bottom:1px solid var(--line);padding:16px 0}.quiz-question legend{font-weight:700;font-size:13px;padding:0;margin-bottom:12px}.quiz-question fieldset{border:0;margin:0;padding:0;min-width:0}.quiz-option{display:flex;gap:10px;align-items:start;font-size:12px;padding:9px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.quiz-option input{margin-top:4px;accent-color:#557330}.quiz-result{padding:15px;border-radius:8px;background:#eff2e7;margin:20px 0;font-size:12px;line-height:1.8}.library-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.resource-card{display:flex;flex-direction:column;min-height:240px}.resource-card h3{font-size:15px;margin-top:20px}.resource-card p{flex:1;font-size:11px}.resource-card .btn{align-self:start}.resource-symbol{font-size:28px;line-height:1;color:#71834d}.project-card{position:relative;padding-top:25px}.project-card .project-number{font-size:38px;letter-spacing:-2px;color:#839267;font-weight:bold;line-height:1;margin-bottom:20px}.project-card h3{font-size:16px}.project-body{white-space:pre-line;font-size:14px;line-height:1.9}.project-tools{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rubric-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:12px}.rubric-row select{padding:5px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.score{font-size:32px;line-height:1.2;letter-spacing:-1px}.score small{font-size:14px;color:var(--muted)}.term-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.term{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.term dt{font-weight:700;font-size:14px;margin-bottom:8px}.term dd{margin:0;font-size:12px;color:var(--muted)}.inline-search{width:100%;padding:13px 16px;background:var(--surface);border:1px solid var(--line);border-radius:9px;font-size:13px}.empty{padding:40px;border:1px dashed var(--line);border-radius:12px;font-size:13px;color:var(--muted)}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.lab-preview{min-height:210px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;margin:18px 0;padding:24px;text-align:center;overflow:hidden}.lab-preview h3{font-size:28px;line-height:1.2;margin:0 0 14px}.lab-preview p{margin:0}.control{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0;font-size:11px}.control input[type=range]{width:55%;accent-color:#6e8734}.control input[type=color]{width:60px;height:30px;padding:0;border:1px solid var(--line);background:none}.metrics{display:flex;gap:10px;flex-wrap:wrap;margin:13px 0}.metric{font-size:11px;background:#edf0e3;padding:8px 12px;border-radius:5px}.subtle{font-size:11px;color:var(--muted)}.workbook-tools{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.import-label{cursor:pointer}.error-notice{background:#f9e4db;padding:15px;border:1px solid #d9b3a0;border-radius:8px;font-size:12px}.toast{position:fixed;bottom:24px;left:calc(50% + 120px);transform:translateX(-50%) translateY(100px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:10px;z-index:99;font-size:12px;max-width:90%;transition:transform .2s;pointer-events:none}.toast.visible{transform:translateX(-50%) translateY(0)}footer{border-top:1px solid var(--line);margin:0 44px;padding:20px 0;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.menu-toggle{display:none}.noscript{padding:30px;margin-left:242px}.quote{font-size:23px;letter-spacing:-.5px;line-height:1.5}.about-list{font-size:13px;line-height:1.9}.search-item{display:block;text-decoration:none;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:10px 0}.search-item strong{font-size:14px}.search-item p{font-size:11px;margin:5px 0;color:var(--muted)}.notebook-entry{display:block;white-space:pre-wrap;background:#f8f7f0;padding:16px;border-radius:8px;word-break:break-word;font-size:12px}.spaced{margin-top:26px}
@media(min-width:1500px){main{padding-top:48px}.hero{min-height:400px}.hero-copy{padding:46px}.hero h1{font-size:52px}}
@media(max-width:1180px){.sidebar{width:216px;padding:28px 16px}.workspace{margin-left:216px}.topbar{padding:0 28px}main{padding:30px 28px}.hero-copy{padding:28px 24px}.hero h1{font-size:37px}.hero-meta{gap:8px;flex-wrap:wrap}.stat{padding:15px 12px;gap:10px}.stat strong{font-size:22px}.lesson-layout{grid-template-columns:minmax(0,1fr) 220px}.lesson-content{padding:25px}.library-grid,.project-grid{grid-template-columns:1fr 1fr}.route-mini{grid-template-columns:1fr 1fr}.toast{left:calc(50% + 108px)}}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:30px}.hero-art{min-height:230px;height:230px;border-left:0;border-top:1px solid var(--line)}.hero-art svg{max-width:440px}.hero h1{font-size:42px}.home-grid,.lesson-layout{grid-template-columns:1fr}.lesson-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px}.lesson-side .card{margin:0}.stats{grid-template-columns:1fr 1fr}.top-tag{display:none}.topbar form{width:100%}.project-tools,.lab-grid{grid-template-columns:1fr}.page-head{align-items:start}.term-list{grid-template-columns:1fr}}
@media(max-width:640px){.sidebar{position:relative;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line);overflow:visible;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.brand{font-size:27px}.brand-mark{width:40px;height:40px;font-size:31px}.brand-caption{font-size:7px;margin-top:6px}.menu-toggle{display:flex;gap:13px;align-items:center;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:8px 12px;font-size:12px}#navigation{display:none;width:100%}#navigation.open{display:block}.nav-label{margin-top:25px}.side-progress,.side-help{display:none}.workspace{margin:0}.topbar{height:70px;padding:0 20px}main{padding:26px 20px 40px}.hero-copy{padding:26px}.hero h1{font-size:38px}.hero-art{height:240px}.hero-meta{font-size:9px}.stats{gap:10px;margin:16px 0 25px}.stat{padding:15px}.stat strong{font-size:23px}.home-grid{gap:14px}.continue-card{grid-template-columns:70px 1fr;gap:17px}.continue-card h3{font-size:16px}.module-art{min-height:150px}.card{padding:22px}.section-head h2{font-size:18px}.route-mini{gap:10px}.route-mini a{padding:15px}.page-head{display:block}.page-head h1{font-size:29px}.page-head .btn{margin-top:15px}.module-row{grid-template-columns:35px 1fr 18px;gap:12px;padding:17px}.module-row h3{font-size:13px}.module-row p{font-size:9px}.module-num{font-size:22px}.lesson-content{padding:22px}.lesson-content p{font-size:13px}.lesson-side{grid-template-columns:1fr}.tabs{gap:6px}.tabs button{padding:9px 10px;font-size:11px}.library-grid,.project-grid{grid-template-columns:1fr}.lesson-pagination{flex-wrap:wrap}.filter-row{gap:6px}.chip{font-size:10px;padding:8px 11px}.lab-preview{padding:17px}.toast{left:50%;width:max-content}.project-body{font-size:13px}footer{margin:0 20px;gap:15px;font-size:9px;flex-wrap:wrap}.noscript{margin:0}.quote{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.sidebar,.topbar,footer,.tabs,.workbook-tools,.lesson-pagination,.toast,.btn{display:none!important}.workspace{margin:0}main{padding:0}.lesson-layout,.project-tools{display:block}.card,.lesson-content{border:0;padding:10px 0}.lesson-side{display:none}body{background:white;color:black}.check-row{break-inside:avoid}}
