@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap");:root{--ink:#203c36;--green:#182e2c;--muted:#69766d;--paper:#f5f4ee;--line:#dedfd4;--lime:#d4e6bb;--white:#fffefa;--red:#9a3934}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,system-ui,sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}a,button,input,select,summary,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:11px 17px;border-radius:6px;font-weight:550}button:hover{border-color:#718a71;background:#f0f3e8}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:52px;line-height:1.1;letter-spacing:-1px;margin-bottom:14px}h1,h2{font-family:Libre Caslon Display,Georgia,serif;font-weight:400}h2{font-size:32px;line-height:1.2}h3{font-weight:550;font-size:17px;line-height:1.5}p{margin-bottom:16px}.small,small{font-size:12px}.eyebrow,.muted,.small,small{color:var(--muted)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;line-height:1.7;text-transform:uppercase;margin-bottom:15px}.primary{background:var(--green);border-color:var(--green);color:var(--white)}.primary:hover{background:#2d4f46;color:white}.text-button{border:0;background:transparent;padding:6px 0}.panel{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:28px;margin-bottom:20px}.wordmark{display:flex;gap:13px;align-items:center;font-size:17px;line-height:1.2;letter-spacing:.1px}.wordmark b{font-weight:450}.auth{max-width:1260px;margin:auto;padding:35px 55px}.back{font-size:12px;color:var(--muted);text-decoration:none}.auth-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;margin-top:75px;align-items:center}.auth .wordmark{font-size:13px;font-weight:650;letter-spacing:2px;margin-bottom:60px}.auth h1{font-size:65px;line-height:1.05;letter-spacing:-1.5px;margin-bottom:24px}.auth h1 em{font-weight:400;color:#6d8262}.intro{color:var(--muted);font-size:16px;max-width:440px}.auth-stats{display:flex;gap:28px;margin-top:35px;font-size:11px;color:var(--muted)}.auth-stats strong{display:block;font-size:24px;font-weight:450;color:var(--ink)}.signin{padding:36px}.signin h2{font-size:36px}.signin>p{color:var(--muted)}label{display:block;font-size:12px;font-weight:550;margin-bottom:8px}input,select,textarea{display:block;background:#fffefa;border:1px solid #cfd5c9;border-radius:5px;width:100%;padding:12px;color:var(--ink);max-width:100%}input,textarea{margin-bottom:18px}textarea{min-height:120px;resize:vertical}input[type=checkbox]{width:auto;margin:3px 0 0;flex:none}input[type=file]{font-size:12px}input:focus,select:focus,textarea:focus{outline:2px solid #758e68;outline-offset:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9ab782;outline-offset:3px}.signin .primary{width:100%;display:flex;justify-content:space-between;margin-bottom:25px}.setup{background:#edf1e7;padding:20px;margin-top:25px;border-radius:6px}.setup p{font-size:12px}.auth-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:9px;letter-spacing:1px;color:var(--muted);text-align:center}.auth-footer span{padding:0 10px}.chart-art{height:160px;display:flex;align-items:flex-end;gap:13px;position:relative;padding:0 15px 35px;max-width:420px;margin-top:35px;border-bottom:1px solid var(--line)}.chart-art i{width:40px;background:#dce2d0;flex:1 1;border-radius:3px 3px 0 0}.chart-art i:first-child{height:22%}.chart-art i:nth-child(2){height:35%}.chart-art i:nth-child(3){height:47%}.chart-art i:nth-child(4){height:60%;background:#b7c8a1}.chart-art i:nth-child(5){height:78%;background:#90ab79}.chart-art i:nth-child(6){height:95%;background:#54775a}.chart-art span{position:absolute;bottom:7px;left:15px;font-size:8px;letter-spacing:1.6px;color:var(--muted)}footer{margin-top:45px;padding:25px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:1.4px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}footer span{letter-spacing:0}.shell{display:flex;min-height:100vh}.sidebar{width:230px;background:var(--green);color:#eaf0e2;padding:32px 21px;position:fixed;height:100vh;display:flex;flex-direction:column}.sidebar .wordmark{padding:0 10px 45px}.nav-label{color:#93a397;font-size:9px;letter-spacing:1.6px;padding:0 13px;margin-bottom:12px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{border:0;background:transparent;color:#b8c5ba;text-align:left;padding:12px 14px;display:flex;align-items:center;gap:14px;font-size:13px;font-weight:450}.sidebar nav button>span{font-size:18px;width:18px;text-align:center;color:#9daf9f}.sidebar nav button.active{background:#30483e;color:var(--lime)}.sidebar nav button.active>span{color:var(--lime)}.sidebar-bottom{margin-top:auto;border-top:1px solid #3b4d43;padding:20px 10px 0;font-size:11px;color:#b8c5ba;overflow-wrap:anywhere}.sidebar-bottom p{font-size:10px;margin-top:7px}.sidebar-bottom button{background:transparent;color:#cbd8c7;border-color:#405448;font-size:11px;padding:6px 11px}.private-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--lime);margin-right:7px}.workspace{margin-left:230px;flex:1 1;min-width:0}.topbar{padding:19px 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.2px}.divider{margin:0 16px;color:#a0aa9b}.save-status{letter-spacing:0;color:var(--muted)}.topbar button{padding:4px 8px;font-size:10px;margin-left:10px}main#main{max-width:1400px;margin:auto;padding:36px 38px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:9px}.page-heading h1{margin:0;font-size:46px}.page-heading>button{font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;background:var(--white);margin-bottom:25px}.metric{padding:23px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric .eyebrow{font-size:9px;margin-bottom:14px}.metric strong{font-weight:450;font-size:31px;line-height:1}.metric>p:last-child{font-size:11px;color:var(--muted);margin:9px 0 0}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.continue-card{border-radius:8px;padding:28px;background:var(--green);color:#e9f0df;margin-bottom:20px}.continue-card .eyebrow{color:#b9cfa3;display:flex;justify-content:space-between}.continue-card h2{font-size:37px;max-width:370px;margin:15px 0}.continue-card>p:not(.eyebrow):not(.lesson-number){color:#bdcbbd;font-size:13px}.lesson-number{font-size:10px;letter-spacing:1px;margin-top:30px}.lesson-number span{color:#a1b5a0}.continue-bottom{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.continue-bottom button{background:var(--lime);border:0;font-size:12px}.continue-bottom>span{font-size:9px;color:#bbcbb1;letter-spacing:1px}.progress-line{height:5px;background:#e9ecdf;border-radius:4px;margin-top:25px;overflow:hidden}.progress-line span{display:block;background:#73965d;height:100%}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:17px 0}.section-title h2{font-size:27px;margin:0}.section-title .text-button{font-size:11px}.weeks{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:34px}.week-card{text-align:left;padding:19px 16px;display:flex;flex-direction:column;align-items:flex-start;background:transparent;min-height:170px}.week-card h3{font-size:13px;line-height:1.45;flex:1 1}.week-card .eyebrow{font-size:9px}.week-card .small{font-size:10px}.review-row{display:flex;align-items:center;gap:20px}.review-row>span{font-size:26px;color:#6d8a5d}.review-row>div{flex:1 1}.review-row p{margin:3px 0 0}.review-row button{font-size:11px}.filters{display:flex;gap:16px;margin:25px 0}.filters label{flex:1 1}.filters input,.filters select{margin-top:8px;margin-bottom:0}.curriculum-week{margin-bottom:25px}.lesson-row{width:100%;display:flex;align-items:center;gap:20px;border-radius:0;border-bottom:0;text-align:left;padding:17px 20px}.lesson-row:last-child{border-bottom:1px solid var(--line)}.lesson-row .day{font-family:Georgia,serif;color:#8f9b88;font-size:24px}.lesson-info{flex:1 1}.lesson-info strong{display:block;font-size:14px;font-weight:550}.lesson-info small{display:block;margin-top:3px;font-size:10px;text-transform:capitalize}.lesson-info small>span{margin:0 8px}.badge{display:inline-block;border-radius:4px;background:#edefe5;padding:4px 8px;font-size:9px;letter-spacing:.2px;white-space:normal;text-transform:capitalize;color:#6c7963}.badge.awaiting_submission,.badge.in_progress{background:#ece5cc;color:#847038}.badge.completed,.badge.feedback_provided{background:#deead5;color:#466740}.scorecards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.scorecards .panel{margin-bottom:0}.scorecards{margin-bottom:25px}.score-heading h2{font-size:42px}.score{font-size:35px;font-weight:400}.timeline article{border-left:1px solid #c4cfb7;padding:0 0 30px 25px}.timeline article:last-child{padding-bottom:0}.timeline article h3{margin-bottom:5px}.timeline article p{margin-bottom:8px}.timeline .eyebrow span{color:#94a18c;font-size:9px}.transfer-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:23px}.json-input{font:12px/1.6 ui-monospace,monospace;min-height:260px}.check{display:flex;gap:10px;font-size:11px;font-weight:400;margin:15px 0 25px}.import-review{padding-top:25px;border-top:1px solid var(--line);margin-top:25px}.alert,.notice{padding:15px 20px;border-radius:6px;font-size:12px;margin-bottom:22px}.notice{background:#e1ecd9;color:#375c36}.alert{background:#f5e3de;color:var(--red)}details{border-top:1px solid var(--line);padding-top:14px;margin:20px 0}summary{cursor:pointer;font-size:12px;font-weight:550;margin-bottom:12px}pre{font:12px/1.7 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);max-width:100%}.empty{padding:45px 25px;text-align:center;max-width:550px;margin:auto}.empty-icon{font-size:35px;color:#9bb384}.empty h3{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:10px 0}.empty p{color:var(--muted)}.notebook h2{font-size:42px;margin-top:15px}.notebook h3{margin-top:30px}.notebook ul{padding-left:20px}.notebook li{margin-bottom:10px}.note{border-left:2px solid #b4c7a3;padding:6px 15px;margin-bottom:15px;white-space:pre-wrap}.note p{margin:0}.actions{display:flex;gap:12px;flex-wrap:wrap}.question{margin:25px 0}.question label{font-size:14px}.question textarea{margin-top:10px}.feedback{padding:12px 15px;background:#eef1e6;font-size:13px}.answer-key{font-size:12px}.assessment dl>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.assessment dt{color:var(--muted);text-transform:capitalize;flex:1 1}.assessment dd{margin:0;flex:1 1;text-align:right;white-space:pre-wrap}.assessment .section-title{margin-top:0}.assessment .section-title p{margin:0}.signin code{overflow-wrap:anywhere}@media(min-width:1500px){main#main{padding-top:50px}}@media(max-width:1100px){.weeks{grid-template-columns:repeat(3,1fr)}.sidebar{width:200px;padding:27px 13px}.workspace{margin-left:200px}.scorecards{grid-template-columns:repeat(2,1fr)}.auth-grid{gap:45px}.auth h1{font-size:55px}.auth{padding:30px}.auth-stats{gap:18px}.metric{padding:18px}.metric .eyebrow{letter-spacing:1px;font-size:8px}}@media(max-width:800px){.auth-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.auth .wordmark{margin-bottom:35px}.chart-art{display:none}.auth h1{font-size:54px}.signin{max-width:550px}.auth{padding:25px}.shell{display:block}.sidebar{width:100%;height:auto;position:static;padding:17px 20px}.sidebar .wordmark{padding:0 0 20px;font-size:14px}.sidebar .wordmark br{display:none}.sidebar .wordmark b{margin-left:5px}.sidebar nav{flex-direction:row;overflow-x:auto;gap:3px;padding-bottom:4px}.sidebar nav button{white-space:nowrap;padding:8px 12px;font-size:11px;gap:8px}.sidebar nav button>span{font-size:14px}.nav-label,.sidebar-bottom{display:none}.workspace{margin-left:0}.topbar{padding:13px 22px}.page-heading h1{font-size:40px}main#main{padding:25px 22px}.dashboard-grid,.transfer-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.weeks{grid-template-columns:repeat(2,1fr)}.filters{flex-wrap:wrap}.filters label:first-child{flex-basis:100%}.lesson-row{gap:12px;padding:16px 12px}.lesson-info strong{font-size:12px}.lesson-row .badge{max-width:80px;font-size:8px}.lesson-row .day{font-size:20px}.panel{padding:22px}.scorecards{grid-template-columns:1fr}.continue-card h2{font-size:34px}.page-heading>button{padding:9px;font-size:9px}.topbar>span:first-child{font-size:8px}.divider{margin:0 7px}.score-heading h2{font-size:34px}footer{font-size:8px}.notebook h2{font-size:34px}.assessment h2{font-size:28px}.review-row{gap:12px}.review-row strong{font-size:12px}.review-row button{padding:7px 9px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}