:root{--canvas:#f6f5f0;--paper:#fff;--navy:#17323f;--navy-soft:#244653;--ink:#203b46;--muted:#65777d;--line:#dce2df;--teal:#17685f;--teal-light:#e8f1eb;--gold:#c6a76c;--warn:#825525;--warn-bg:#fcf2df;--red:#a13333;--font-sans:"Avenir Next","Segoe UI",Arial,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--font-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--r1:6px;--r2:12px;--r3:20px;--pill:100px;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-hero:48px;--sidebar:242px;--content:1180px;--shadow:0 12px 40px #17323f0b}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm);margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}h1{font-family:var(--font-serif);font-size:var(--text-hero);letter-spacing:-.03em;font-weight:400;line-height:1.15}h2{font-size:var(--text-xl);font-weight:500;line-height:1.25}h3{font-size:var(--text-lg);font-weight:600;line-height:1.35}.muted{color:var(--muted)}.number{font-family:var(--font-mono)}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:var(--paper);padding:var(--s10) var(--s6);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{margin-bottom:var(--s12);display:block}.brand-mark{background:var(--paper);padding:var(--s3);border-radius:var(--r1);object-fit:contain;width:170px;height:64px}.brand-name{font-size:var(--text-xs);margin-top:var(--s3);color:var(--line);display:block}.nav-item{gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r1);margin-bottom:var(--s2);color:var(--line);align-items:center;display:flex}.nav-item.active{background:var(--navy-soft);color:var(--paper)}.nav-icon{font-size:var(--text-lg)}.sidebar-bottom{padding-top:var(--s10);margin-top:auto}.sidebar-note{font-size:var(--text-xs);color:var(--line);margin-bottom:var(--s6)}.profile{border-top:1px solid var(--navy-soft);padding-top:var(--s6);overflow-wrap:anywhere}.profile-name{font-size:var(--text-sm)}.text-button{color:inherit;text-underline-offset:4px;font-size:var(--text-xs);background:0 0;padding:0;text-decoration:underline}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);height:84px;padding:0 var(--s12);justify-content:space-between;align-items:center;gap:var(--s4);background:var(--paper);display:flex}.topbar-title{color:var(--muted)}.badge{align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);border-radius:var(--pill);font-size:var(--text-xs);background:var(--teal-light);color:var(--teal);display:inline-flex}.content{max-width:var(--content);padding:var(--s12);margin:auto}.page-intro{margin-bottom:var(--s10);max-width:760px}.page-intro p{margin-top:var(--s4);font-size:var(--text-md);color:var(--muted);max-width:640px}.section-heading{justify-content:space-between;align-items:center;gap:var(--s4);margin:var(--s10) 0 var(--s5);display:flex}.toolbar{gap:var(--s3);margin-bottom:var(--s6);display:flex}.search-wrap{flex:1;position:relative}.search-icon{top:var(--s3);left:var(--s4);color:var(--muted);position:absolute}input,select{border:1px solid var(--line);border-radius:var(--r1);background:var(--paper);color:var(--ink);padding:var(--s3) var(--s4);min-height:48px}input{width:100%}.search-wrap input{padding-left:var(--s12)}.tabs{gap:var(--s6);border-bottom:1px solid var(--line);margin-bottom:var(--s8);display:flex;overflow-x:auto}.tab{padding:var(--s3) 0;color:var(--muted);white-space:nowrap;background:0 0;border-bottom:2px solid #0000}.tab.active{color:var(--teal);border-color:var(--teal)}.course-grid{gap:var(--s6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.course-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);flex-direction:column;display:flex;overflow:hidden}.course-art{background:var(--teal-light);height:120px;padding:var(--s6);color:var(--teal);justify-content:space-between;align-items:center;display:flex}.course-art.alt{background:var(--navy-soft);color:var(--paper)}.course-art-mark{font-family:var(--font-serif);font-size:var(--text-hero);line-height:1}.course-art-lines{gap:var(--s2);width:96px;display:grid}.course-art-lines i{opacity:.25;background:currentColor;height:1px;display:block}.course-art-lines i:nth-child(2){width:75%}.course-art-lines i:nth-child(3){width:50%}.course-body{padding:var(--s6);gap:var(--s3);flex-direction:column;flex:1;display:flex}.course-body p{color:var(--muted);font-size:var(--text-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-meta{gap:var(--s4);font-size:var(--text-xs);color:var(--muted);display:flex}.course-footer{padding-top:var(--s4);margin-top:auto}.progress-track{border-radius:var(--pill);background:var(--line);height:5px;margin:var(--s3) 0;overflow:hidden}.progress-fill{background:var(--teal);border-radius:var(--pill);height:100%}.progress-label{font-size:var(--text-xs);color:var(--muted);justify-content:space-between;display:flex}.button{justify-content:center;align-items:center;gap:var(--s2);min-height:44px;padding:var(--s3) var(--s5);border-radius:var(--r1);background:var(--teal);color:var(--paper);font-weight:600;display:inline-flex}.button.secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.button.wide{width:100%}.course-footer .button{margin-top:var(--s5)}.continue-card{background:var(--navy);color:var(--paper);padding:var(--s8);border-radius:var(--r2);justify-content:space-between;align-items:center;gap:var(--s8);display:flex}.continue-card h2{margin:var(--s2) 0 var(--s3);font-family:var(--font-serif)}.continue-card p{color:var(--line)}.continue-card .button{background:var(--paper);color:var(--navy);flex-shrink:0}.notice{padding:var(--s5);border-radius:var(--r1);background:var(--warn-bg);color:var(--warn);margin-bottom:var(--s6)}.notice.error{color:var(--red)}.notice p{margin-top:var(--s2)}.empty{padding:var(--s16) var(--s6);text-align:center;border:1px dashed var(--line);border-radius:var(--r2)}.empty p{margin:var(--s3) auto var(--s5);max-width:480px;color:var(--muted)}.skeleton{border:1px solid var(--line);border-radius:var(--r2);background:var(--paper);height:240px}.lesson-layout{gap:var(--s8);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.breadcrumb{color:var(--muted);margin-bottom:var(--s6);display:inline-block}.lesson-title{font-size:var(--text-xl);margin:var(--s3) 0 var(--s6)}.video{background:var(--navy);border-radius:var(--r2);width:100%;max-height:70vh;display:block}.media-pending{background:var(--navy);min-height:260px;color:var(--paper);border-radius:var(--r2);padding:var(--s8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.media-pending p{max-width:440px;color:var(--line);margin-top:var(--s3)}.media-icon{font-size:var(--text-xl);margin-bottom:var(--s4)}.lesson-copy{padding:var(--s8) 0;white-space:pre-wrap;line-height:1.8;font-size:var(--text-md)}.lesson-actions{align-items:center;gap:var(--s3);border-top:1px solid var(--line);padding-top:var(--s6);flex-wrap:wrap;display:flex}.save-state{font-size:var(--text-xs);color:var(--muted);width:100%}.lesson-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s6)}.lesson-list h2{font-size:var(--text-lg)}.lesson-list ol{margin:var(--s5) 0 0;padding:0;list-style:none}.lesson-link{gap:var(--s3);padding:var(--s3);margin:0 calc(-1 * var(--s3));border-radius:var(--r1);display:flex}.lesson-link.current{background:var(--teal-light);color:var(--teal)}.lesson-index{font-family:var(--font-mono);color:var(--muted);flex-shrink:0}.lesson-link small{color:var(--muted);display:block}.resources{margin-top:var(--s10)}.resources h2{font-size:var(--text-lg);margin-bottom:var(--s4)}.resource{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line);display:flex}.resource span:last-child{color:var(--teal);font-size:var(--text-xs)}.login-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{background:var(--navy);color:var(--paper);padding:var(--s16);flex-direction:column;justify-content:space-between;display:flex}.login-story h1{max-width:440px;font-size:56px}.login-story p{margin-top:var(--s6);max-width:390px;color:var(--line);font-size:var(--text-md)}.login-form-wrap{padding:var(--s12);justify-content:center;align-items:center;display:flex}.login-form{width:100%;max-width:390px}.login-form h2{font-family:var(--font-serif);font-size:36px}.login-form>p{margin:var(--s4) 0 var(--s8);color:var(--muted)}.login-form label{margin:var(--s4) 0 var(--s2);display:block}.login-form details{margin-top:var(--s8);border-top:1px solid var(--line);padding-top:var(--s5)}.login-form summary{cursor:pointer;color:var(--muted)}.login-form form .button{margin-top:var(--s5)}.login-foot{font-size:var(--text-xs);margin-top:var(--s8);color:var(--muted)}.ms-icon{grid-template-columns:repeat(2,7px);gap:2px;display:grid}.ms-icon i{background:currentColor;height:7px}.mobile-brand{display:none}@media (min-width:1500px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.sidebar{padding:var(--s8) var(--s4)}.shell{grid-template-columns:200px 1fr}.content{padding:var(--s8)}.topbar{padding:0 var(--s8)}.lesson-layout{grid-template-columns:1fr}.lesson-list{order:2}.login-story{padding:var(--s10)}.login-story h1{font-size:var(--text-hero)}}@media (max-width:760px){.shell{display:block}.sidebar{align-items:center;gap:var(--s4);height:auto;padding:var(--s4) var(--s5);flex-direction:row;display:flex;position:static}.brand{margin:0 auto 0 0}.brand-mark{width:120px;height:44px;padding:var(--s2)}.brand-name,.sidebar-bottom,.nav-icon{display:none}.nav-item{padding:var(--s2);font-size:var(--text-xs);margin:0}.topbar{height:64px;padding:0 var(--s5);font-size:var(--text-xs)}.content{padding:var(--s8) var(--s5)}h1{font-size:36px}.course-grid{grid-template-columns:1fr}.toolbar{flex-direction:column}.continue-card{align-items:flex-start;gap:var(--s5);padding:var(--s6);flex-direction:column}.page-intro{margin-bottom:var(--s8)}.lesson-layout{gap:var(--s6)}.login-layout{display:block}.login-story{padding:var(--s6)}.login-story h1{font-size:var(--text-xl);margin-top:var(--s8)}.login-story p,.login-story>small{display:none}.login-form-wrap{padding:var(--s10) var(--s6)}.login-form h2{font-size:var(--text-xl)}.media-pending{min-height:220px}.section-heading h2{font-size:var(--text-lg)}}.livid-player{aspect-ratio:16/9;border-radius:var(--r2);background:var(--navy);border:0;width:100%;display:block}.embed-note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--s3)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
