@import url('/learn/typography.css');
:root{--paper:#f7f8f3;--white:#fff;--ink:#24372f;--muted:#738078;--line:#e2e7df;--green:#275d47;--deep:#183d30;--lime:#d5e7ae;--orange:#c97538;--radius:18px;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a,button,input,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green)}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;font-weight:550}p+p{margin-top:12px}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.brand{display:flex;gap:12px;align-items:center;font-size:24px;font-weight:650;letter-spacing:-1px;line-height:1}.brand-mark{display:grid;place-items:center;background:var(--green);color:#fff;width:44px;height:44px;border-radius:14px;font:italic 36px var(--serif);letter-spacing:-3px;padding-right:5px;flex-shrink:0}.brand-sub{display:block;font:9px/1 var(--sans);letter-spacing:2px;margin-top:9px;color:var(--muted)}.eyebrow,.row-eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--green)}.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;padding:12px 20px;min-height:46px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--deep)}.secondary{background:#fff;border-color:var(--line);color:var(--green)}.secondary:hover{background:#eff3ec}.cream{background:var(--lime);color:var(--deep)}.cream:hover{background:#e4efcc}.wide{width:100%}.pill{display:inline-flex;align-items:center;font-size:9px;font-weight:700;letter-spacing:1.3px;border:1px solid #dce5d4;border-radius:5px;padding:5px 9px;color:#4e6542;background:#f2f5eb;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.fine-print{display:block;font-size:11px;line-height:1.7;color:var(--muted)}.back-link{font-size:12px;color:var(--muted)}.back-link:hover{color:var(--green)}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:var(--green)}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}input:not([type=radio]),textarea{width:100%;padding:12px 14px;border:1px solid #dce2d9;border-radius:8px;color:var(--ink);background:#fff}input::placeholder,textarea::placeholder{color:#939d95}input:focus,textarea:focus{border-color:var(--green)}textarea{resize:vertical;line-height:1.8;min-height:220px}.form-error{color:#a23222;font-size:12px;min-height:24px;margin:12px 0}.icon-button{background:transparent;border:0;padding:8px;border-radius:7px}.icon-button:hover{background:#e9eee5}.loading{min-height:90vh;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* Workspace */
.portal{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:#fcfdf9;border-right:1px solid var(--line);padding:34px 20px 0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar>.brand{margin:0 10px 48px}.workspace-label{color:#9aa397;font-size:9px;letter-spacing:1.6px;font-weight:650;margin:0 14px 14px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:8px;font-size:12px;color:#728070;margin-bottom:4px}.nav-item .icon{width:18px}.nav-item:hover{background:#f0f3ea}.nav-item.active{background:#e9f0e3;color:#315d3e;font-weight:650}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--green);margin-left:auto}.admin-label{margin-top:34px}.sidebar-note{padding:20px 14px;margin-top:auto;color:#8b997f}.tiny-orbit{font-size:24px;color:#8ca277}.sidebar-note strong{display:block;font:21px/1.3 var(--serif);color:#536950;margin:10px 0}.sidebar-note p{font-size:11px;max-width:150px}.account{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:20px 0;margin-top:12px}.avatar{width:34px;height:34px;border-radius:50%;background:#ebeadd;color:#796e48;display:inline-flex;align-items:center;justify-content:center;font:17px var(--serif);flex-shrink:0}.account>div{min-width:0;flex:1}.account strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account small{font-size:10px;color:var(--muted)}.account .icon{width:17px}.workspace{min-width:0}.topbar{height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);background:#fbfcf8}.topbar strong{color:var(--ink);font-weight:500}.crumb{color:#b1bbae;padding:0 13px}.topbar-right{display:flex;align-items:center;gap:20px}.top-streak{display:inline-flex;align-items:center;gap:7px;background:#fbf0e6;color:#9b633b;padding:5px 10px;border-radius:6px;font-size:11px}.top-streak .icon{width:15px;height:17px}.cohort-label{font-size:8px;letter-spacing:1.5px;color:#7f8b77}main#main{max-width:1460px;margin:0 auto;padding:42px 44px 60px;min-height:calc(100vh - 130px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:32px}.page-heading h1{font:32px/1.2 var(--serif);letter-spacing:-.8px;margin:12px 0}.heading-dot{color:#9caf7d}.page-heading p:not(.eyebrow){font-size:12px;color:var(--muted)}.date-chip{font-size:10px;white-space:nowrap;color:#7b8774;border:1px solid var(--line);padding:7px 10px;border-radius:6px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.main-column,.right-column{min-width:0}.continue-card{background:var(--deep);border-radius:var(--radius);color:#f0f3e8;padding:26px 28px 22px;position:relative;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.light-label{font-size:9px;letter-spacing:2px;color:#bccbb2}.status-light{font-size:9px;color:#becfac;display:flex;align-items:center;gap:7px}.status-light::before{content:'';width:5px;height:5px;border-radius:50%;background:#bbd38b}.course-art{display:flex;justify-content:center;align-items:center;gap:10px;height:122px;margin:7px 0 15px;color:#d8e4c3;font:10px monospace;position:relative}.course-art::before{content:'';position:absolute;width:180px;height:100px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #78976825;border-radius:50%}.art-node{border:1px solid #7c987854;background:#254b38;border-radius:7px;padding:9px 12px;z-index:1}.art-core{background:#d4e3b8;color:#31533a;padding:19px 15px;border-radius:12px;font-size:12px;z-index:1;box-shadow:0 0 0 8px #78976815}.course-art i{width:28px;height:1px;background:#6c8a60;position:relative}.course-art i::after{content:'';position:absolute;right:0;top:-2px;width:4px;height:4px;border-top:1px solid #6c8a60;border-right:1px solid #6c8a60;transform:rotate(45deg)}.art-bracket{font:60px var(--serif);color:#79906d44;padding:0 7px}.module-label{font-size:8px;font-weight:550;letter-spacing:1.9px;color:#bdd0ad;margin-bottom:15px}.module-label span{padding:0 6px;color:#7d9772}.continue-card h2{font:31px/1.15 var(--serif);letter-spacing:-.4px}.continue-card>p{color:#b7c8b1;font-size:12px;margin:15px 0 25px}.continue-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}.continue-bottom>span{color:#b5c4ae;font-size:10px;display:flex;align-items:center;gap:6px}.continue-bottom>span .icon{width:14px}.course-progress{display:grid;grid-template-columns:1fr auto;gap:9px;color:#b2c3a9;font-size:9px;margin-top:25px}.course-progress strong{color:#d2dfc3;font-weight:500}.progress-track{height:3px;background:#446044;border-radius:5px;grid-column:1/-1;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:#cfdfae}.progress-track.complete span{width:100%}.section-block{margin-top:29px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-title h2{font-size:15px;font-weight:550}.section-title>span:not(.flame-badge){font-size:10px;color:var(--muted)}.module-row{display:flex;gap:18px;align-items:flex-start;padding:24px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .15s}.module-row:hover{border-color:#99b08e}.module-number{display:grid;place-items:center;width:43px;height:48px;border:1px solid #dee6d7;border-radius:8px;background:#f3f6ec;color:#8ca173;font:23px var(--serif);flex-shrink:0}.row-eyebrow{font-size:8px;letter-spacing:1.2px;color:#8e9c81}.module-row h3{font-size:14px;margin:8px 0}.module-row p{font-size:11px;color:var(--muted)}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.tag-row span{border:1px solid #e5e9df;border-radius:4px;padding:3px 7px;color:#7e8b74;font-size:9px}.row-action{margin-left:auto;align-self:center;color:#718961}.row-action .icon{width:17px}.reflection-prompt{display:flex;gap:13px;align-items:center;background:#f0f3e9;border:1px solid #e4e9da;border-radius:12px;padding:22px;margin-top:22px}.prompt-icon{color:#8a9f71;align-self:flex-start}.reflection-prompt h3{font:18px var(--serif);margin:7px 0}.reflection-prompt p:not(.row-eyebrow){font-size:11px;color:var(--muted)}.reflection-prompt .text-link{margin-left:auto;font-size:10px;white-space:nowrap}.streak-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff}.streak-card .section-title{margin-bottom:10px}.streak-card h2{font-size:13px}.flame-badge{display:grid;place-items:center;width:30px;height:30px;background:#fbf1e6;border-radius:9px;color:#ba7b45}.flame-badge .icon{width:17px}.streak-number{font:60px/1 var(--serif);letter-spacing:-3px;color:#395c3b;margin:17px 0 10px}.streak-number span{font:13px var(--sans);letter-spacing:0;margin-left:9px;color:#8a967e}.streak-card>p{font-size:11px;color:var(--muted);line-height:1.7}.week-grid{display:flex;justify-content:space-between;margin:23px -5px 10px}.week-day{display:flex;align-items:center;flex-direction:column;gap:7px;font-size:8px;color:#9aa593}.week-day>div{width:27px;height:30px;border-radius:8px;background:#f2f4ee;display:grid;place-items:center;font-size:9px;color:#909e86}.week-day.done>div{background:#dce8ce;color:#597543}.week-day.today>div{border:1px solid #8ba275;color:#4c6b3e;background:#edf2e5}.week-day .icon{width:14px}.week-day small{font-size:7px;color:#7f8e70}.streak-best{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0;font-size:10px;color:var(--muted)}.streak-best strong{color:#667c54;font-weight:500}.streak-card .fine-print{font-size:9px;line-height:1.7}.today-card{background:#edf0e3;border:1px solid #e3e7d6;border-radius:var(--radius);padding:25px 23px;margin-top:22px}.today-card .pill{background:transparent;border-color:#d7dfc7;color:#8b986d;font-size:8px}.today-card h3{font:28px/1.1 var(--serif);color:#4f6544;letter-spacing:-.6px;margin:18px 0 13px}.today-card>p{font-size:11px;color:#7b896d}.focus-line{display:flex;gap:12px;font-size:11px;color:#657a52;border-top:1px solid #dce3cf;padding:11px 0}.focus-line:first-of-type{margin-top:20px}.focus-line:last-child{padding-bottom:0}.focus-line span{font-size:9px;color:#9aaa80}.storage-note{display:flex;gap:9px;color:#9ba68f;margin:20px 8px;font-size:9px;line-height:1.7}.storage-note .icon{width:13px}.workspace-footer{border-top:1px solid var(--line);padding:18px 44px;display:flex;justify-content:space-between;font-size:9px;color:#9ba58f}
/* Journal and instructor tools */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0}.panel h2{font-size:18px}.journal-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.journal-grid .today-card{margin-top:0}.journal-grid form{margin-top:24px}.journal-grid .muted{font-size:12px}.form-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:15px}.form-footer small{font-size:9px;color:var(--muted)}#reflection-form .small{margin:15px 0}.writing-prompts{padding-left:16px;color:#788568;font-size:12px}.writing-prompts li{margin:14px 0}.blog-nudge{padding:27px 13px}.blog-nudge h3{font:22px var(--serif);margin:12px 0}.blog-nudge p,.blog-nudge small{font-size:12px;color:var(--muted)}.blog-nudge small{display:block;margin-top:15px;font-size:10px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.stats-row>div{padding:22px 25px;border:1px solid var(--line);background:#fff;border-radius:12px}.stats-row span{font-size:11px;color:var(--muted)}.stats-row strong{display:block;font:35px var(--serif);margin-top:10px}.stats-row .stat-text{font-size:23px}.count-chip{background:#e7efdd;color:#65854d;border-radius:8px;padding:9px 14px;font-size:11px}.search-label{margin:0;max-width:260px;font-weight:400}.search-label input{font-size:11px;padding:9px 12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{color:#8c9882;font-weight:500;font-size:10px;padding:14px 12px;background:#f8f9f4}td{padding:17px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td strong{font-weight:500}.person-cell{display:flex;gap:10px;align-items:center}td code{font-size:11px;color:#7b876f}.role-tag{font-size:9px;padding:5px 8px;border-radius:5px;background:#f0f3e9;color:#789063}.role-tag.admin{background:#f1eede;color:#9a874e}.access-dot{display:inline-block;background:#7e9e64;width:5px;height:5px;border-radius:50%;margin-right:6px}.panel>.fine-print{margin-top:17px}.config-card{background:#edf1e6;border:1px solid #dfe6d6;border-radius:var(--radius);padding:27px;margin-top:24px;min-width:0}.config-card h2{font-size:18px;margin:10px 0 15px}.config-card p{font-size:12px;color:#75856a}.config-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f9faf6;border:1px solid var(--line);border-radius:8px;padding:20px;font-size:11px;color:#4c6343}.config-card code{font-size:11px;overflow-wrap:anywhere}.course-admin{display:flex;gap:24px;align-items:center;margin-bottom:24px}.course-admin h2{margin:12px 0;font:28px var(--serif)}.course-admin p:not(.eyebrow){font-size:12px;color:var(--muted)}.course-admin .button{margin-left:auto;white-space:nowrap}.journal-grid>.config-card{margin-top:0}.rhythm-list{padding:0;counter-reset:rhythm;list-style:none;margin:25px 0 0}.rhythm-list li{position:relative;padding:0 0 20px 40px;font-size:12px}.rhythm-list li::before{counter-increment:rhythm;content:'0' counter(rhythm);position:absolute;left:0;top:0;color:#8b9e78;font-size:11px}.rhythm-list strong{display:block;font-weight:600}.rhythm-list span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.empty-state{padding:70px 30px;text-align:center}.empty-state h1{font:32px var(--serif);margin:22px 0}.empty-state p{color:var(--muted)}.empty-state .button{margin-top:22px}
/* Classroom */
.lesson-heading{padding:0 0 32px;border-bottom:1px solid var(--line);margin-bottom:34px}.lesson-meta{display:flex;align-items:center;gap:20px;margin:25px 0 18px;font-size:11px;color:var(--muted)}.lesson-meta .icon{width:14px;margin-right:5px}.lesson-heading h1{font:44px/1.12 var(--serif);letter-spacing:-1px}.lesson-heading>p{font-size:13px;color:var(--muted);margin-top:18px}.lesson-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:30px}.lesson-toc{position:sticky;top:25px;align-self:start}.lesson-toc .eyebrow{font-size:9px;margin-bottom:20px}.toc-link{display:flex;gap:9px;align-items:baseline;background:none;border:0;font-size:11px;color:#7c8a70;padding:9px 0;text-align:left;width:100%}.toc-link:hover{color:var(--green)}.toc-link span{font-size:9px;color:#a0ac92;min-width:18px}.lesson-toc>.button{font-size:10px;padding:10px;margin:22px 0 12px;width:100%}.lesson-toc .fine-print{font-size:9px}.lesson-completion{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;display:flex;gap:9px;align-items:center;font-size:10px;color:#6a8354}.lesson-completion .icon{width:16px}.lesson-body{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 36px;color:#475445;line-height:1.85;font-size:13px;overflow-wrap:anywhere}.lesson-body h1{display:none}.lesson-body h2{font:28px/1.2 var(--serif);color:var(--ink);margin:40px 0 20px;scroll-margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.lesson-body h2:first-of-type{margin-top:0;border-top:0;padding-top:0}.lesson-body h3{font-size:17px;line-height:1.5;color:#35583c;margin:30px 0 15px}.lesson-body p{margin:13px 0}.lesson-body strong{font-weight:650;color:#365d3c}.lesson-body p:has(>strong:first-child){padding-left:12px;border-left:2px solid #d6e2c6}.lesson-body a{color:#477b43;text-decoration:underline;text-underline-offset:3px}.lesson-body ul,.lesson-body ol{padding-left:22px}.lesson-body li{margin:8px 0}.lesson-body pre{background:#1f3529;color:#dbe7ce;border-radius:8px;padding:19px;overflow-x:auto;font-size:11px;line-height:1.8;white-space:pre;overflow-wrap:normal}.lesson-body code{font-family:'SFMono-Regular',Consolas,monospace;font-size:11px;background:#eef2e7;padding:2px 4px;border-radius:3px}.lesson-body pre code{padding:0;background:transparent;color:inherit}.lesson-body table{display:block;overflow-x:auto;margin:20px 0;font-size:11px}.lesson-body th,.lesson-body td{white-space:normal;min-width:95px;vertical-align:top;padding:12px 10px}.lesson-body details{background:#f4f6ee;border:1px solid #e2e8d8;border-radius:8px;padding:15px 17px;margin:22px 0}.lesson-body summary{cursor:pointer;font-weight:600;color:#537047;font-size:12px}.lesson-body blockquote{border-left:3px solid #b6ca9a;margin:20px 0;padding-left:20px;color:#758567}.knowledge-check{margin-top:25px;border:1px solid #dce5d2;background:#eef3e6;border-radius:14px;padding:30px;scroll-margin-top:25px}.knowledge-check h2{font:29px var(--serif);margin:10px 0 15px}.knowledge-check>p:not(.eyebrow){font-size:12px;color:var(--muted)}fieldset{border:0;padding:0;margin:28px 0}legend{font-size:13px;font-weight:600;line-height:1.7;margin-bottom:14px}legend span{color:#9aac88;font-size:10px;margin-right:9px}.quiz-option{display:flex;align-items:baseline;gap:10px;background:#fff;border:1px solid #dce5d3;border-radius:8px;padding:12px;font-size:12px;font-weight:400;cursor:pointer}.quiz-option:has(input:checked){border-color:#6b8b52;background:#f9fcf3}.quiz-option input{accent-color:var(--green)}.quiz-feedback{border:1px solid #d6d7bd;background:#faf8e9;border-radius:10px;padding:20px;margin-top:25px;font-size:12px}.quiz-feedback.passed{background:#f8fcf1;border-color:#bad0a1}.quiz-feedback h3{font-size:16px;margin-bottom:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100% - 30px);padding:14px 22px;border-radius:10px;background:var(--deep);color:#edf3e3;font-size:12px;box-shadow:0 8px 30px #163b3025;z-index:50;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1550px){.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.continue-card{padding:30px 35px}.course-art{height:145px}.continue-card h2{font-size:38px}.week-day>div{width:31px}.page-heading h1{font-size:38px}}
@media(max-width:1200px){.portal{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:28px 14px 0}.topbar{padding:0 28px}main#main{padding:32px 28px 45px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.continue-card{padding:22px}.continue-card h2{font-size:28px}.continue-bottom{flex-wrap:wrap}.continue-bottom .button{font-size:11px}.page-heading h1{font-size:29px}.date-chip{display:none}.streak-card{padding:18px}.today-card{padding:22px 20px}.reflection-prompt{flex-wrap:wrap}.reflection-prompt .text-link{margin-left:33px}.lesson-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}.lesson-body{padding:26px}.journal-grid{grid-template-columns:minmax(0,1fr) 250px}.course-admin{flex-wrap:wrap}.course-admin .button{margin-left:67px}}
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.right-column .today-card{margin-top:0}.storage-note{grid-column:1/-1;margin:0 8px}.continue-bottom{flex-wrap:nowrap}.course-art{height:100px}.continue-card h2{font-size:32px}.cohort-label{display:none}.page-heading h1{font-size:30px}.lesson-layout{grid-template-columns:1fr}.lesson-toc{position:static}.lesson-toc nav{display:flex;flex-wrap:wrap;gap:3px 16px}.toc-link{width:auto;font-size:10px}.lesson-toc .button{width:auto;margin:15px 0 5px}.lesson-toc .fine-print,.lesson-completion{display:none}.journal-grid{grid-template-columns:1fr}.journal-grid>aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stats-row{gap:10px}.stats-row>div{padding:17px}.stats-row .stat-text{font-size:18px}.tag-one{left:-15px}.tag-two{right:-15px}}
@media(max-width:700px){.portal{display:block}.sidebar{position:relative;height:auto;padding:20px 18px 12px;display:grid;grid-template-columns:1fr auto;border-right:0;border-bottom:1px solid var(--line);gap:15px}.sidebar>.brand{margin:0;font-size:20px;gap:10px}.brand-mark{width:37px;height:37px;font-size:30px;border-radius:11px}.brand-sub{font-size:7px;margin-top:7px}.sidebar>.workspace-label,.sidebar-note,.admin-label{display:none}.sidebar nav{grid-column:1/-1;grid-row:2;display:flex;gap:5px;overflow-x:auto}.nav-item{font-size:10px;white-space:nowrap;padding:8px 10px;gap:6px;margin:0}.nav-item .icon{width:15px}.nav-dot{display:none}.account{margin:0;padding:0;border:0;grid-column:2;grid-row:1;gap:7px}.account .avatar{display:none}.account strong{max-width:95px;font-size:10px}.account small{font-size:9px}.topbar{padding:0 20px;height:53px;font-size:10px}.topbar-right{gap:0}.crumb{padding:0 6px}.top-streak{font-size:9px;padding:4px 7px}main#main{padding:28px 20px 40px}.page-heading{margin-bottom:24px}.page-heading .eyebrow{font-size:8px}.page-heading h1{font-size:28px;margin:11px 0}.page-heading p:not(.eyebrow){font-size:11px}.dashboard-grid{gap:22px}.continue-card{padding:23px;border-radius:14px}.course-art{height:107px;gap:8px}.art-bracket{font-size:48px;padding:0}.art-node{padding:7px 9px;font-size:9px}.art-core{padding:17px 11px;font-size:11px}.course-art i{width:16px}.continue-card h2{font-size:29px}.module-label{font-size:7px;letter-spacing:1.3px}.continue-card>p{font-size:11px}.continue-bottom{align-items:flex-start;flex-direction:column;gap:14px}.continue-bottom .button{width:100%;font-size:12px}.continue-bottom>span{font-size:9px}.right-column{grid-template-columns:1fr 1fr;gap:13px}.streak-card{padding:17px 14px;border-radius:12px}.streak-card .section-title{align-items:flex-start;gap:3px}.streak-card h2{font-size:12px}.flame-badge{width:24px;height:25px}.flame-badge .icon{width:15px}.streak-number{font-size:49px}.streak-card>p{font-size:10px}.week-grid{margin:19px -7px 9px;gap:1px}.week-day>div{width:21px;height:26px;font-size:8px;border-radius:6px}.week-day small{font-size:6px}.week-day{font-size:7px}.today-card{padding:20px 16px;border-radius:12px}.today-card .pill{font-size:7px;letter-spacing:.7px;padding:4px 6px}.today-card h3{font-size:26px}.today-card>p{font-size:10px}.focus-line{font-size:10px;gap:8px}.streak-best{font-size:9px}.streak-card .fine-print{font-size:8px}.module-row{gap:12px;padding:19px 16px}.module-number{width:34px;height:40px;font-size:21px}.module-row h3{font-size:13px}.module-row p{font-size:10px}.row-eyebrow{font-size:7px}.tag-row span{font-size:8px}.reflection-prompt{padding:19px;gap:10px}.reflection-prompt h3{font-size:18px}.reflection-prompt p:not(.row-eyebrow){font-size:10px}.reflection-prompt .text-link{margin-left:30px}.workspace-footer{padding:17px 20px;font-size:8px;gap:15px}.panel{padding:22px 18px;border-radius:12px}.form-footer{flex-direction:column;align-items:stretch;gap:12px}.journal-grid>aside{grid-template-columns:1fr}.blog-nudge{padding:10px}.lesson-heading h1{font-size:34px}.lesson-meta{flex-wrap:wrap;gap:10px;font-size:9px}.lesson-heading>p{font-size:12px}.lesson-body{padding:24px 19px;font-size:12px}.lesson-body h2{font-size:25px}.lesson-body h3{font-size:16px}.lesson-body pre{padding:14px;font-size:10px}.knowledge-check{padding:23px 18px}.knowledge-check h2{font-size:27px}.quiz-option{font-size:11px}.stats-row{grid-template-columns:1fr 1fr}.stats-row>div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.stats-row strong{font-size:28px}.stats-row .stat-text{margin:0;font-size:20px}.count-chip{font-size:9px;padding:7px 10px}.search-label{max-width:165px}.search-label input{font-size:9px}.config-card{padding:22px}.course-admin{gap:16px}.course-admin h2{font-size:24px}.course-admin .button{margin:0;width:100%}}
@media(max-width:380px){main#main{padding:24px 15px}.right-column{grid-template-columns:1fr}.week-day>div{width:30px}.week-day small{font-size:8px}.streak-card .fine-print{font-size:10px}.today-card h3 br{display:none}.nav-item{padding:8px}.topbar{padding:0 15px}.account strong{max-width:75px}.course-art{gap:5px}.continue-card{padding:20px}.continue-card h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.brand-sub{white-space:nowrap;letter-spacing:1.4px;font-size:8px}
@media(min-width:701px) and (max-height:760px){.sidebar-note{display:none}.account{margin-top:auto}.sidebar{overflow-y:auto}.sidebar>.brand{margin-bottom:30px}}

/* Minimal sign-in: one compact form, sized to the visible viewport. */
.signin{height:100vh;height:100dvh;display:grid;place-items:center;padding:20px;overflow:clip}
.signin-card{width:min(100%,340px)}
.signin .brand{font-size:22px;gap:10px;margin-bottom:24px}
.signin .brand-mark{width:38px;height:38px;border-radius:12px;font-size:31px}
.signin h1{font:32px/1.15 var(--serif);letter-spacing:-.7px;margin-bottom:8px}
.signin-intro{font-size:12px;color:var(--muted);margin-bottom:24px}
.signin-field+.signin-field{margin-top:16px}
.signin label{font-size:11px;margin-bottom:6px}
.signin input{height:44px;font-size:16px;padding:10px 12px}
.password-field{display:flex;position:relative}
.password-field input{padding-right:60px}
.password-toggle{position:absolute;right:6px;top:6px;background:transparent;border:0;padding:7px 8px;font-size:11px;color:var(--green)}
.signin .form-error{font-size:11px;line-height:1.5;min-height:0;margin:12px 0}
.signin .form-error:empty{margin:0;height:16px}
.signin .button{min-height:44px;padding:10px 18px}
.signin-help{font-size:11px;color:var(--muted);text-align:center;margin-top:18px}
.signin .back-link{display:block;text-align:center;font-size:10px;margin-top:14px}
@media(max-height:520px){.signin{padding:12px 20px}.signin .brand{margin-bottom:14px}.signin h1{font-size:27px}.signin-intro{margin-bottom:15px}.signin-field+.signin-field{margin-top:10px}.signin-help{margin-top:12px}.signin .back-link{margin-top:8px}}
@media(max-height:410px) and (min-width:540px){.signin-card{width:min(100%,620px);display:grid;grid-template-columns:1fr 1fr;column-gap:35px;align-items:center}.signin .brand{grid-column:1;grid-row:1;align-self:start}.signin h1{grid-column:1;grid-row:2;align-self:end}.signin-intro{grid-column:1;grid-row:3;align-self:start}.signin form{grid-column:2;grid-row:1 / 5}.signin-help{grid-column:1;grid-row:4;text-align:left;margin:0}.signin .back-link{grid-column:1;grid-row:5;text-align:left;margin-top:12px}}
@media(max-height:410px) and (max-width:539px){.signin .brand,.signin-intro,.signin-help,.signin .back-link{display:none}.signin h1{font-size:24px;margin-bottom:12px}.signin input{height:40px}.signin label{margin-bottom:3px}.signin-field+.signin-field{margin-top:8px}.signin .button{min-height:40px}.password-toggle{top:4px}}
/* Public course overview */
.course-overview{max-width:1160px;margin:0 auto;padding:0 42px}
.overview-header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.overview-header .brand{font-size:22px}.overview-header .back-link{display:flex;align-items:center;gap:8px}.overview-header .back-link .icon{width:14px}
.overview-main{padding:54px 0 0}.overview-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:65px;align-items:center}
.overview-intro h1{font:50px/1.09 var(--serif);letter-spacing:-1.9px;margin:20px 0 23px}.overview-intro h1 em{font-weight:normal;color:#63814b}
.overview-description{font-size:14px;line-height:1.85;color:var(--muted);max-width:460px}.overview-facts{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:#65785a;margin-top:23px}.overview-facts>span{display:flex;align-items:center;gap:7px}.overview-facts .icon{width:15px}
.overview-learn{min-width:148px;margin-top:28px}.overview-access{font-size:10px;color:var(--muted);margin-top:11px}
.available-lesson{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}.available-lesson .section-title>span:last-child{font-size:8px;letter-spacing:1px}.overview-lesson-number{display:block;font:52px/1 var(--serif);color:#c7d5b5;margin:24px 0 15px}.available-lesson h2{font:29px/1.13 var(--serif);letter-spacing:-.5px}.available-lesson>p{font-size:12px;color:var(--muted);margin-top:16px}.available-lesson ul{list-style:none;padding:0;margin:22px 0}.available-lesson li{display:flex;align-items:center;gap:8px;font-size:11px;color:#637b54;margin:10px 0}.available-lesson li .icon{width:14px;height:14px}.overview-duration{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);padding-top:17px;font-size:10px;color:var(--muted)}.overview-duration .icon{width:14px}
.overview-rhythm{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:46px 0;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.overview-rhythm .eyebrow{font-size:8px}.overview-rhythm h2{font:22px var(--serif);margin-top:8px}.overview-rhythm ol{display:flex;gap:27px;list-style:none;padding:0;margin:0}.overview-rhythm li{font-size:11px;white-space:nowrap}.overview-rhythm li span{display:block;color:#9aaa89;font-size:9px;margin-bottom:6px}
.overview-topics .section-title h2{font:27px var(--serif)}.overview-topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.overview-topic-grid article{border:1px solid var(--line);border-radius:10px;padding:22px}.topic-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1px;color:#8c9782;margin-bottom:15px}.topic-label .topic-available{color:#5d7b41}.overview-topic-grid h3{font-size:16px;margin-bottom:12px}.overview-topic-grid p{font-size:12px;color:var(--muted);line-height:1.8}.overview-note{display:flex;align-items:flex-start;gap:12px;border-radius:10px;background:#edf1e5;margin:24px 0 38px;padding:19px 22px;color:#77876a;font-size:11px}.overview-note strong{color:#526e42}.overview-note .icon{width:17px}.overview-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0;font-size:10px;color:var(--muted)}
@media(max-width:980px){.overview-hero{gap:30px;grid-template-columns:minmax(0,1fr) 310px}.overview-intro h1{font-size:41px}.overview-rhythm{align-items:flex-start;flex-direction:column}.overview-rhythm ol{width:100%;justify-content:space-between;gap:10px}}
@media(max-width:700px){.course-overview{padding:0 22px}.overview-header{height:80px}.overview-header .brand{font-size:20px}.overview-header>.back-link{font-size:9px;gap:4px}.overview-main{padding-top:36px}.overview-hero{grid-template-columns:1fr;gap:30px}.overview-intro h1{font-size:38px;letter-spacing:-1.2px}.overview-intro>.eyebrow{font-size:8px}.overview-description{font-size:13px}.overview-facts{gap:15px;font-size:10px}.overview-learn{margin-top:25px}.available-lesson{padding:23px}.overview-lesson-number{font-size:43px;margin-top:18px}.overview-rhythm{margin:30px 0;gap:20px}.overview-rhythm ol{gap:7px;flex-wrap:wrap}.overview-rhythm li{font-size:9px}.overview-topics .section-title{align-items:flex-start;flex-direction:column;gap:8px}.overview-topics .section-title h2{font-size:25px}.overview-topic-grid{grid-template-columns:1fr}.overview-note{padding:18px;font-size:10px}.overview-footer{font-size:9px;flex-direction:column;gap:5px}}
.account-create{margin-top:24px}.account-create form{max-width:440px;margin-top:22px}.account-create label:not(:first-child){margin-top:16px}.account-create button{margin-top:20px}.account-create [role=status]{font-size:12px;color:var(--green);margin-top:12px}
