:root{--paper:#f3efe4;--paper-raised:#faf7ef;--paper-inset:#ebe6d9;--ink:#162b35;--ink-soft:#506069;--ink-faint:#7e898d;--graph-line:#1f404c14;--rule:#162b3524;--proof:#a84732;--proof-soft:#f2e0d9;--focus:#2b6879;--success:#49715b;--shadow-paper:0 0 0 1px #162b350f, 0 1px 2px #162b350d, 0 12px 36px #162b350e;--sidebar-width:284px;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}:root[data-theme=dark]{--paper:#172228;--paper-raised:#1d2a30;--paper-inset:#121c21;--ink:#e8e5da;--ink-soft:#b0b6b3;--ink-faint:#7f8c8d;--graph-line:#e8e5da0e;--rule:#e8e5da1f;--proof:#df8069;--proof-soft:#3b2928;--focus:#72aabd;--success:#82ae91;--shadow-paper:0 0 0 1px #ffffff12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--paper);border-right:1px solid var(--rule);z-index:20;flex-direction:column;padding:20px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{justify-content:space-between;align-items:center;height:56px;margin-bottom:24px;display:flex}.brand>a{align-items:center;gap:12px;display:flex}.brand-mark{border:1px solid var(--rule);width:36px;height:36px;color:var(--proof);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:21px;display:grid}.brand strong{letter-spacing:-.02em;font-family:Libre Caslon Text,serif;font-size:18px;display:block}.brand small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.09em;margin-top:2px;font-size:10px;display:block}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;transition:background-color .16s,transform .12s;display:inline-grid}.icon-button:hover{background:var(--paper-inset)}.icon-button:active{transform:scale(.97)}.close-sidebar,.menu-button,.mobile-search{display:none}nav{font-size:13px}.nav-main{min-height:44px;color:var(--ink-soft);border-radius:7px;align-items:center;gap:11px;padding:0 12px;font-weight:500;display:flex}.nav-main:hover,.nav-main.active{background:var(--paper-inset);color:var(--ink)}.nav-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.nav-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;margin:28px 12px 12px;font-size:10px;font-weight:600}.course-nav+.course-nav{margin-top:14px}.course-heading{border-radius:7px;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;min-height:42px;padding:0 8px;font-weight:600;display:grid}.course-heading:hover,.course-heading.active{background:var(--paper-inset)}.course-number{color:var(--proof);font-family:Libre Caslon Text,serif;font-size:12px}.course-progress{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11px;font-weight:400}.lesson-links a{border-left:1px solid var(--rule);min-height:37px;color:var(--ink-faint);grid-template-columns:18px 1fr;align-items:center;gap:7px;margin-left:10px;padding:3px 8px;display:grid}.lesson-links a:hover,.lesson-links a.active{color:var(--ink);border-left-color:var(--proof)}.progress-mark{border:1px solid var(--rule);border-radius:50%;flex:none;place-items:center;width:14px;height:14px;display:inline-grid}.progress-mark.complete{color:var(--paper-raised);background:var(--success);border-color:var(--success)}.sidebar-foot{color:var(--ink-faint);margin:auto 10px 0;padding-top:24px;font-size:10px}.main-shell{margin-left:var(--sidebar-width);min-height:100vh}.topbar{z-index:12;background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--rule);align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.search{background:var(--paper-inset);width:min(420px,46vw);height:40px;color:var(--ink-faint);border-radius:7px;align-items:center;gap:10px;padding:0 12px;display:flex}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search input::placeholder{color:var(--ink-faint)}kbd{background:var(--paper-raised);border:1px solid var(--rule);border-radius:4px;padding:2px 6px;font-size:10px}.top-actions{margin-left:auto;display:flex}.page{width:min(1240px,100%);margin:0 auto;padding:64px 56px 96px}.page.narrow{width:min(900px,100%)}.eyebrow{color:var(--proof);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600}h1,h2,h3{text-wrap:balance;font-family:Libre Caslon Text,serif}h1{letter-spacing:-.045em;margin:14px 0 20px;font-size:clamp(38px,5vw,64px);line-height:1.03}h2{letter-spacing:-.03em;font-size:30px}h3{font-size:21px}.lede{max-width:670px;color:var(--ink-soft);text-wrap:pretty;font-family:Libre Caslon Text,serif;font-size:17px;line-height:1.7}.primary-button,.secondary-button{border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:600;transition:background-color .16s,transform .12s;display:inline-flex}.primary-button{background:var(--ink);color:var(--paper-raised);padding:0 18px}.primary-button:hover{background:var(--proof)}.secondary-button{border:1px solid var(--rule);background:var(--paper-raised);padding:0 16px}.secondary-button:hover{border-color:var(--ink-faint)}.primary-button:active,.secondary-button:active{transform:scale(.97)}.home-hero{grid-template-columns:1.35fr .75fr;align-items:center;gap:72px;min-height:450px;display:grid}.home-hero h1 em{color:var(--proof);font-weight:400}.home-hero .primary-button{margin-top:20px}.progress-sheet{background:var(--paper-raised);box-shadow:var(--shadow-paper);padding:28px;position:relative;transform:rotate(1deg)}.progress-sheet:before{content:"";pointer-events:none;background-image:linear-gradient(var(--graph-line) 1px, transparent 1px), linear-gradient(90deg, var(--graph-line) 1px, transparent 1px);background-size:24px 24px;position:absolute;inset:0}.progress-sheet>*{position:relative}.sheet-top{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.sheet-top strong{color:var(--ink);font-variant-numeric:tabular-nums;font-family:Libre Caslon Text,serif;font-size:36px}.large-progress{background:var(--paper-inset);height:3px;margin:24px 0 12px}.large-progress i,.mini-progress i{background:var(--proof);height:100%;display:block}.progress-sheet p{color:var(--ink-soft);font-size:12px}.formula-note{border-top:1px solid var(--rule);margin-top:48px;padding-top:18px}.formula-note span{color:var(--proof);text-transform:uppercase;letter-spacing:.12em;font-size:9px}.formula-note div{margin-top:12px;font-family:Libre Caslon Text,serif;font-style:italic}.formula-note b{color:var(--proof);padding:0 4px}.course-section{margin-top:72px}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px;display:flex}.section-heading h2{margin:8px 0 0}.section-heading>p{max-width:300px;color:var(--ink-soft);margin:0;font-size:13px}.course-grid{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid}.course-card{min-width:0;padding:28px}.course-card+.course-card{border-left:1px solid var(--rule)}.card-index{color:var(--proof);justify-content:space-between;font-family:Libre Caslon Text,serif;font-size:13px;display:flex}.card-index span{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;font-family:DM Sans,sans-serif;font-size:9px}.course-card h3{margin:32px 0 7px}.course-card>p{min-height:38px;color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.mini-progress{background:var(--paper-inset);height:2px;margin:28px 0 12px}.card-foot{color:var(--ink-faint);justify-content:space-between;font-size:10px;display:flex}.card-foot a{color:var(--ink);align-items:center;gap:4px;font-weight:600;display:flex}.desk-callout{background:var(--proof-soft);grid-template-columns:64px 1fr auto;align-items:center;gap:28px;margin-top:96px;padding:40px;display:grid}.callout-symbol{color:var(--proof);font-family:Libre Caslon Text,serif;font-size:46px}.desk-callout h2{margin:6px 0 8px}.desk-callout p{max-width:570px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.lesson-header{border-bottom:1px solid var(--rule);max-width:790px;padding-bottom:44px}.breadcrumb{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;gap:9px;font-size:10px;display:flex}.breadcrumb a{color:var(--proof)}.lesson-header h1{font-size:clamp(40px,5vw,58px)}.lesson-header>p{max-width:700px;color:var(--ink-soft);font-family:Libre Caslon Text,serif;font-size:18px;line-height:1.55}.lesson-meta{color:var(--ink-faint);gap:18px;margin-top:24px;font-size:11px;display:flex}.lesson-meta span+span:before{content:"·";margin-right:18px}.lesson-layout{grid-template-columns:minmax(0,790px) 190px;gap:64px;display:grid}.lesson-body{min-width:0;padding-top:44px}.objective{background:var(--paper-inset);border-radius:7px;gap:14px;padding:18px;display:flex}.objective svg{color:var(--proof);flex:none}.objective span{color:var(--proof);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600}.objective p{color:var(--ink-soft);margin:5px 0 0;font-size:13px;line-height:1.5}.markdown{overflow-wrap:break-word;min-width:0;font-family:Libre Caslon Text,serif;font-size:16px;line-height:1.8}.lesson-body>.markdown{margin-top:36px}.markdown p{text-wrap:pretty}.markdown strong{color:var(--ink)}.markdown h1{font-size:32px}.markdown h2{margin-top:48px;font-size:26px}.markdown h3{margin-top:36px}.markdown blockquote{border-left:2px solid var(--proof);color:var(--ink-soft);margin:24px 0;padding:4px 0 4px 20px}.markdown .katex-display{background:var(--paper-raised);max-width:100%;box-shadow:var(--shadow-paper);margin:28px 0;padding:18px 12px;font-size:1.05em;overflow:auto hidden}.markdown ul,.markdown ol{padding-left:24px}.terms{border-top:1px solid var(--rule);margin-top:48px}.terms>.eyebrow{padding:22px 0 10px}.term-row{border-bottom:1px solid var(--rule);grid-template-columns:180px 1fr;align-items:baseline;gap:24px;padding:16px 0;display:grid}.term-row strong{font-family:Libre Caslon Text,serif}.term-row .markdown{color:var(--ink-soft);font-family:DM Sans,sans-serif;font-size:13px}.term-row p{margin:0}.checkpoint{background:var(--proof-soft);margin-top:56px;padding:34px 34px 28px;position:relative}.checkpoint .margin-label{color:var(--proof);text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:600;display:block}.checkpoint h2{margin:10px 0 20px;font-size:23px}details summary{cursor:pointer;color:var(--proof);font-size:12px;font-weight:600}details p{color:var(--ink-soft);font-size:13px;line-height:1.6}.lesson-exercises{margin-top:64px}.section-heading.compact{margin-bottom:18px}.exercise{background:var(--paper-raised);box-shadow:var(--shadow-paper);margin-bottom:20px;padding:24px}.exercise.complete{opacity:.74}.exercise-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.source-tag{color:var(--proof);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600}.exercise-top button{min-height:40px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-size:10px;display:flex}.exercise .question{margin:14px 0 20px}.exercise .question p{margin:0}.reveal-row{border-top:1px solid var(--rule);flex-wrap:wrap;gap:24px;padding-top:16px;display:flex}.reveal-row details{flex:1;min-width:180px}.reveal-row .markdown{color:var(--ink-soft);font-family:DM Sans,sans-serif;font-size:12px}.complete-button{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:28px;font-weight:600;display:flex}.complete-button:hover{background:var(--paper-inset)}.complete-button.complete{color:var(--success);border-color:var(--success)}.lesson-pagination{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:24px;margin-top:64px;padding-top:28px;display:grid}.lesson-pagination a{flex-direction:column;gap:7px;display:flex}.lesson-pagination a.next{text-align:right;align-items:end}.lesson-pagination small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.lesson-pagination span{font-family:Libre Caslon Text,serif;font-size:14px}.study-margin{color:var(--ink-faint);align-self:start;margin-top:44px;padding-left:20px;font-size:10px;position:sticky;top:104px}.margin-rule{background:var(--proof);opacity:.45;width:1px;position:absolute;top:0;bottom:0;left:0}.study-margin>span{text-transform:uppercase;letter-spacing:.1em;display:block}.study-margin>strong{color:var(--ink);margin:7px 0 20px;font-family:Libre Caslon Text,serif;font-size:13px;display:block}.study-margin>a{grid-template-columns:22px 1fr;gap:5px;padding:6px 0;line-height:1.3;display:grid}.study-margin>a i{color:var(--proof);font-variant-numeric:tabular-nums;font-style:normal}.study-margin>a.active{color:var(--ink);font-weight:600}.study-margin .source-link{border-top:1px solid var(--rule);color:var(--proof);align-items:center;margin-top:20px;padding-top:16px;display:flex}.desk-header{padding-bottom:44px;position:relative}.desk-header h1{margin-bottom:12px}.desk-stat{text-align:right;position:absolute;bottom:44px;right:0}.desk-stat strong{font-family:Libre Caslon Text,serif;font-size:26px;display:block}.desk-stat span{color:var(--ink-faint);font-size:10px}.filter-tabs{background:var(--paper-inset);border-radius:8px;gap:4px;margin-bottom:32px;padding:4px;display:flex}.filter-tabs button{cursor:pointer;min-height:38px;color:var(--ink-soft);background:0 0;border:0;border-radius:5px;flex:1;font-size:12px}.filter-tabs button.active{background:var(--paper-raised);color:var(--ink);box-shadow:0 1px 2px #162b3514}.exercise-list>div+div{margin-top:32px}.exercise-lesson{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px 4px;font-size:9px;display:block}.notes-page{width:min(1040px,100%)}.notes-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:end;gap:40px;padding-bottom:40px;display:flex}.notes-header h1{margin-bottom:12px}.notes-header p{max-width:660px;color:var(--ink-soft);font-family:Libre Caslon Text,serif;line-height:1.6}.notes-header .secondary-button{flex:none}.raw-note{background:var(--paper-raised);box-shadow:var(--shadow-paper);margin-top:32px;padding:48px 64px}.raw-note .markdown>h1:first-child{display:none}.raw-note .markdown{font-size:14px}.raw-note .markdown h2{border-top:1px solid var(--rule);padding-top:30px}.result-list{border-top:1px solid var(--rule);margin-top:48px}.result-list a{border-bottom:1px solid var(--rule);padding:24px 48px 24px 0;display:block;position:relative}.result-list a:hover strong{color:var(--proof)}.result-list .result-course{color:var(--proof);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:9px;display:block}.result-list strong{font-family:Libre Caslon Text,serif;font-size:19px}.result-list p{color:var(--ink-soft);margin:7px 0 0;font-size:12px}.result-list svg{position:absolute;top:50%;right:8px;transform:translateY(-50%)}footer{border-top:1px solid var(--rule);min-height:72px;color:var(--ink-faint);justify-content:space-between;align-items:center;padding:0 56px;font-size:10px;display:flex}@media (max-width:1040px){.sidebar{transition:transform .22s cubic-bezier(.23,1,.32,1);transform:translate(-100%);box-shadow:20px 0 60px #00000026}.sidebar.open{transform:translate(0)}.close-sidebar,.menu-button{display:inline-grid}.scrim{z-index:18;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c14186b;border:0;position:fixed;inset:0}.main-shell{margin-left:0}.topbar{padding-left:20px}.menu-button{margin-right:12px}.lesson-layout{grid-template-columns:minmax(0,1fr)}.study-margin{display:none}}@media (max-width:760px){.topbar{height:64px;padding:0 12px}.search{width:auto;box-shadow:var(--shadow-paper);background:var(--paper-raised);display:none;position:absolute;top:70px;left:12px;right:12px}.search.mobile-open{display:flex}.mobile-search{display:inline-grid}.page{padding:44px 20px 72px}.home-hero{grid-template-columns:1fr;gap:44px;min-height:0}.home-hero h1{font-size:46px}.progress-sheet{transform:none}.course-section{margin-top:72px}.section-heading{display:block}.section-heading>p{margin-top:12px}.course-grid{grid-template-columns:1fr}.course-card+.course-card{border-left:0;border-top:1px solid var(--rule)}.desk-callout{grid-template-columns:42px 1fr;padding:28px 20px}.desk-callout .secondary-button{grid-column:1/-1}.lesson-header h1{overflow-wrap:anywhere;max-width:100%;font-size:38px}.term-row{grid-template-columns:1fr;gap:4px}.checkpoint{padding:28px 22px}.exercise{padding:20px}.lesson-pagination{gap:12px}.desk-stat{text-align:left;margin-top:24px;position:static}.filter-tabs{overflow-x:auto}.filter-tabs button{min-width:105px}.notes-header{display:block}.notes-header .secondary-button{margin-top:20px}.raw-note{padding:28px 18px}.raw-note .markdown{font-size:13px}footer{padding:24px 20px;line-height:2;display:block}footer span{display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}}[data-sensitive=true]{min-height:100vh}.top-actions{align-items:center;gap:10px}.top-actions form{margin:0}.top-actions .secondary-button{min-height:40px}.login-page,.finance-page{width:min(900px,100%);margin:0 auto;padding:64px 24px}.card,.finance-card{background:var(--paper-raised);box-shadow:var(--shadow-paper);margin:18px 0;padding:24px}input,textarea,select{font:inherit;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;padding:.7rem}button{font:inherit}.meta{color:var(--ink-faint);font-size:12px}.curtain.active{text-align:center;color:#e5e7eb;z-index:9999;background:#020617;place-content:center;gap:1rem;display:grid;position:fixed;inset:0}.curtain span{color:#9ca3af}@media print{body{display:none}}
