:root{--course-muted:#575750;--course-line:#c9c8c0}html{scroll-padding-top:24px}.course-page{line-height:1.55}.course-page .site-header{grid-template-columns:1fr auto auto;gap:32px}.course-page .site-nav{gap:24px}.course-page :focus-visible{outline:3px solid var(--blue);outline-offset:4px}.course-page a{overflow-wrap:anywhere}.course-page .header-index{color:var(--course-muted)}.course-eyebrow{font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.course-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;align-items:center;padding:70px var(--page-pad) 80px;max-width:1680px;margin:auto}.course-hero h1{font-size:clamp(62px,7.7vw,122px);font-weight:800;letter-spacing:-.075em;line-height:.93;margin:30px 0}.course-hero h1 em{font-family:var(--serif);font-weight:400;color:var(--blue)}.course-lede{font-size:clamp(19px,1.65vw,25px);line-height:1.4;max-width:660px;letter-spacing:-.02em}.course-hero-figure{margin:0}.course-hero-figure img{width:100%;height:auto}.course-caption{font:10px/1.5 ui-monospace,monospace;color:var(--course-muted);padding:12px 0;border-bottom:1px solid var(--course-line)}.course-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.course-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:13px 18px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;border-radius:0}.course-button-primary{background:var(--blue);border-color:var(--blue);color:white}.course-button:hover{background:var(--ink);color:white}.course-button-primary:hover{background:#193ee1;border-color:#193ee1}.course-meta{display:flex;flex-wrap:wrap;gap:16px 26px;color:var(--course-muted);font:11px/1.6 ui-monospace,monospace;margin-top:30px}.course-band{background:var(--ink);color:var(--paper);padding:32px var(--page-pad);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.course-band strong{display:block;font-size:clamp(26px,3vw,46px);letter-spacing:-.04em;line-height:1.2}.course-band p{margin:8px 0 0;color:#c5c5bf;font-size:14px;max-width:380px}.course-section{max-width:1680px;margin:auto;padding:76px var(--page-pad);border-bottom:1px solid var(--course-line)}.course-section-heading{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:start;margin-bottom:32px}.course-section-heading h2{font-size:clamp(36px,4vw,62px);line-height:1.08;letter-spacing:-.055em;margin:0}.course-section-heading p{font-size:18px;max-width:740px;margin:0;line-height:1.55}.first-route{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--course-line)}.first-route a{display:block;padding:25px 24px 24px 0;text-decoration:none;border-bottom:1px solid var(--course-line);min-width:0}.first-route a+ a{padding-left:24px;border-left:1px solid var(--course-line)}.first-route a:hover h3{color:var(--blue)}.first-route span{font:11px ui-monospace,monospace;color:var(--blue)}.first-route h3{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:15px 0 12px}.first-route p{font-size:14px;line-height:1.65;margin:0;color:var(--course-muted)}.course-search-form{display:flex;gap:12px;max-width:860px}.course-search-form input{flex:1;min-width:0;padding:16px 18px;background:#fff;border:1px solid var(--course-line);border-radius:0;font-size:17px;color:var(--ink)}.course-search-form button{padding:12px 24px}.course-search-label{display:block;font-weight:700;font-size:13px;margin-bottom:12px}.search-feedback{font-size:13px;color:var(--course-muted);min-height:24px;margin:12px 0}.course-search-results{list-style:none;margin:0;padding:0;max-width:1060px}.course-search-results li{padding:20px 0;border-top:1px solid var(--course-line)}.course-search-results a{color:var(--blue);font-weight:700;text-underline-offset:4px}.course-search-results p{font-size:14px;color:var(--course-muted);line-height:1.6;margin:8px 0 0}.course-syllabus{display:grid;grid-template-columns:1fr 3fr;gap:38px;margin-top:32px;border-top:1px solid var(--course-line);padding-top:26px}.course-syllabus .module-title{position:sticky;top:24px;align-self:start}.module-title span{font:11px ui-monospace,monospace;color:var(--blue)}.module-title h3{font-size:27px;line-height:1.12;letter-spacing:-.03em;margin:12px 0}.module-title p{color:var(--course-muted);font-size:13px;margin:0}.lesson-list{list-style:none;padding:0;margin:0}.lesson-list li{border-bottom:1px solid var(--course-line)}.lesson-list a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:18px;align-items:center;text-decoration:none;padding:17px 0}.lesson-list a:hover .lesson-name{color:var(--blue)}.lesson-number{font:11px ui-monospace,monospace;color:var(--course-muted)}.lesson-name{font-size:17px;line-height:1.35;font-weight:700}.lesson-result{display:block;font-size:12px;font-weight:400;color:var(--course-muted);margin-top:5px}.lesson-done{font:10px ui-monospace,monospace;color:var(--blue)}.course-progress-bar{width:100%;max-width:620px;accent-color:var(--blue);height:6px;display:block;margin:12px 0}.progress-copy{font-size:12px;color:var(--course-muted)}.progress-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.progress-reset{font-size:12px;background:none;border:0;border-bottom:1px solid var(--course-muted);padding:2px 0;color:var(--course-muted);cursor:pointer}.course-reference-links{display:grid;grid-template-columns:repeat(2,1fr);gap:0 35px}.course-reference-links a{padding:24px 0;border-top:1px solid var(--course-line);text-decoration:none;display:grid;grid-template-columns:1fr auto;gap:15px}.course-reference-links strong{font-size:25px;line-height:1.25;letter-spacing:-.025em}.course-reference-links p{color:var(--course-muted);font-size:14px;line-height:1.6;margin:12px 0 0;max-width:570px}.course-reference-links a:hover strong{color:var(--blue)}.course-downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.course-downloads a{padding:22px 0;border-top:1px solid var(--course-line);text-decoration:none}.course-downloads strong{font-size:23px;letter-spacing:-.025em}.course-downloads p{font-size:14px;color:var(--course-muted);line-height:1.6}.course-downloads span{font:11px ui-monospace,monospace;color:var(--blue)}.course-reading-shell{max-width:1460px;margin:auto;padding:32px var(--page-pad) 70px}.course-breadcrumb{font-size:12px;color:var(--course-muted);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}.course-breadcrumb a{text-underline-offset:3px}.reader-heading{max-width:1000px;margin-left:calc(250px + 5vw);margin-bottom:38px}.reader-heading h1{font-size:clamp(38px,4.1vw,66px);line-height:1.06;letter-spacing:-.055em;margin:18px 0 22px;overflow-wrap:anywhere}.reader-heading .course-eyebrow{color:var(--blue)}.reader-summary{font-size:18px;line-height:1.5;color:var(--course-muted);max-width:740px}.reader-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:5vw}.course-sidebar{font-size:13px;align-self:start;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding-right:8px}.course-sidebar>details>summary{font-size:13px;font-weight:700;cursor:pointer;padding:14px 0;border-top:1px solid var(--course-line)}.course-sidebar ol{list-style:none;margin:0;padding:0}.course-sidebar li a{display:block;text-decoration:none;padding:9px 0;font-size:12px;line-height:1.45}.course-sidebar li a[aria-current=page]{color:var(--blue);font-weight:700}.course-sidebar li a:hover{color:var(--blue)}.course-sidebar .sidebar-all{display:block;margin-top:22px;font-size:12px;color:var(--blue)}.reader-content{min-width:0;max-width:980px}.reader-content article{font-size:17px;line-height:1.72;overflow-wrap:anywhere}.reader-content p{margin:0 0 18px}.reader-content h2{font-size:29px;line-height:1.25;letter-spacing:-.03em;margin:42px 0 19px;scroll-margin-top:30px}.reader-content h2:first-child{margin-top:0}.reader-content h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:32px 0 15px}.reader-content ul,.reader-content ol{padding-left:24px;margin:18px 0 24px}.reader-content li{margin:9px 0}.reader-content a{color:var(--blue);text-underline-offset:3px}.reader-content code{font:14px/1.55 ui-monospace,monospace;white-space:normal;background:#e4e3da;padding:2px 5px;overflow-wrap:anywhere}.reader-content figure{margin:30px 0}.reader-content figure img{width:100%;height:auto;background:white;border:1px solid var(--course-line)}.table-wrap{max-width:100%;overflow-x:auto;margin:24px 0 30px}.reader-content table{border-collapse:collapse;width:100%;min-width:650px;font-size:13px;line-height:1.55}.reader-content th,.reader-content td{padding:12px 11px;text-align:left;vertical-align:top;border-bottom:1px solid var(--course-line);overflow-wrap:anywhere}.reader-content th{background:#deddd4;font-size:11px;letter-spacing:.03em;text-transform:uppercase;border-top:1px solid var(--ink)}.reader-content td:first-child{font-weight:700}.reader-content tr:nth-child(even) td{background:#f7f6f0}.lesson-end{margin-top:45px;padding:24px 0;border-top:1px solid var(--course-line)}.lesson-end p{font-size:13px;color:var(--course-muted);margin:12px 0}.lesson-pager{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px;border-top:1px solid var(--course-line);padding-top:22px}.lesson-pager a{text-decoration:none;color:var(--ink)}.lesson-pager a:last-child{text-align:right}.lesson-pager span{display:block;font:10px ui-monospace,monospace;color:var(--course-muted);margin-bottom:8px}.lesson-pager strong{font-size:15px;line-height:1.4;display:block}.lesson-pager a:hover strong{color:var(--blue)}.reference-lead{padding:16px 20px;margin-bottom:28px;border-left:3px solid var(--blue);background:#e7e6dd;font-size:14px;line-height:1.65}.reader-toc{margin-bottom:30px;border-top:1px solid var(--course-line);border-bottom:1px solid var(--course-line);padding:14px 0}.reader-toc summary{cursor:pointer;font-weight:700;font-size:13px}.reader-toc ol{font-size:13px;margin:12px 0 0}.reader-toc a{text-underline-offset:3px}.course-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--course-line);font-size:13px;line-height:1.6;color:var(--course-muted)}.course-note a{color:var(--blue)}.course-page .site-footer{min-height:170px}.course-page .site-footer p{font-size:10px}.course-page [hidden]{display:none!important}
@media(min-width:1400px){.course-hero{padding-top:95px;padding-bottom:105px}}
@media(max-width:1050px){.course-hero h1{font-size:72px}.reader-heading{margin-left:0;max-width:920px}.reader-layout{grid-template-columns:200px minmax(0,1fr);gap:32px}.course-sidebar{font-size:12px}.course-page .header-index{display:none}}
@media(max-width:720px){.course-page .site-header{grid-template-columns:1fr auto;gap:16px;min-height:68px}.course-page .site-nav{gap:16px;font-size:10px}.course-page .site-nav a:first-child{display:none}.course-hero{display:block;padding-top:34px;padding-bottom:36px}.course-hero h1{font-size:clamp(54px,13.4vw,84px);margin-top:25px;line-height:.98}.course-lede{font-size:19px;line-height:1.55}.course-hero-figure{margin-top:36px}.course-meta{font-size:10px;gap:8px 18px}.course-band{grid-template-columns:1fr;gap:22px;padding-top:28px;padding-bottom:28px}.course-band strong{font-size:28px}.course-band p{margin-top:5px}.course-section{padding-top:44px;padding-bottom:44px}.course-section-heading{display:block;margin-bottom:25px}.course-section-heading h2{font-size:37px;margin-bottom:20px}.course-section-heading p{font-size:16px}.first-route{grid-template-columns:1fr}.first-route a{padding:22px 0}.first-route a+ a{padding-left:0;border-left:0}.first-route h3{font-size:23px}.course-search-form{display:block}.course-search-form input{width:100%;padding:15px;font-size:16px}.course-search-form button{margin-top:12px;width:100%}.course-syllabus{grid-template-columns:1fr;gap:14px;margin-top:27px;padding-top:22px}.course-syllabus .module-title{position:static}.module-title h3{font-size:25px}.lesson-list a{grid-template-columns:22px minmax(0,1fr) auto;gap:11px;padding:16px 0}.lesson-name{font-size:16px}.lesson-result{font-size:12px}.lesson-done{max-width:52px;font-size:9px}.course-reference-links,.course-downloads{grid-template-columns:1fr}.course-reference-links strong{font-size:23px}.course-downloads{gap:0}.course-reading-shell{padding-top:24px;padding-bottom:44px}.course-breadcrumb{margin-bottom:28px;font-size:11px;gap:8px}.reader-heading{margin-bottom:26px}.reader-heading h1{font-size:clamp(33px,8.3vw,48px);line-height:1.13}.reader-summary{font-size:16px}.reader-layout{display:flex;flex-direction:column;gap:28px}.course-sidebar{position:static;max-height:none;width:100%;padding:0}.course-sidebar>details:not(.mobile-course-menu){display:none}.course-sidebar .sidebar-all{display:none}.mobile-course-menu{border-bottom:1px solid var(--course-line)}.course-sidebar .mobile-course-menu li a{font-size:13px;padding:10px 0}.reader-content article{font-size:16px;line-height:1.76}.reader-content h2{font-size:25px;margin-top:34px}.reader-content h3{font-size:21px}.reader-content table{font-size:12px;min-width:620px}.reader-content th,.reader-content td{padding:10px}.lesson-pager{gap:18px}.lesson-pager strong{font-size:13px}.course-page .site-footer{display:block;padding-top:35px;padding-bottom:30px}.course-page .site-footer p{margin:25px 0}.course-page .site-footer>span{font-size:55px}}
@media(min-width:721px){.mobile-course-menu{display:none}}
@media(prefers-reduced-motion:reduce){.course-page *{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header,.course-sidebar,.course-search-form,.course-search-results,.lesson-end,.lesson-pager,.site-footer,.course-actions,.course-breadcrumb{display:none!important}.reader-layout{display:block}.reader-heading{margin-left:0}.course-page{background:white}.reader-content article{font-size:11pt}.reader-content table{min-width:0;font-size:8pt}.table-wrap{overflow:visible}tr,figure{break-inside:avoid}h2,h3{break-after:avoid}}
.course-search-form{align-items:flex-end}.course-search-form button{min-height:58px}
.table-hint{display:none}
@media(max-width:720px){.course-page .site-nav a:last-child{display:inline}.reader-content .table-hint{display:block;font-size:11px;color:var(--course-muted);margin:24px 0 -14px}}
