@font-face{font-family:TradeGothicLT;src:url(../../../fonts/327F7D_0_0.eot);src:url(../../../fonts/327F7D_0_0.eot?#iefix)format("embedded-opentype"),url(../../../fonts/327F7D_0_0.woff2)format("woff2"),url(../../../fonts/327F7D_0_0.woff)format("woff"),url(../../../fonts/327F7D_0_0.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TradeGothicLT-Bold;src:url(../../../fonts/327F7D_2_0.eot);src:url(../../../fonts/327F7D_2_0.eot?#iefix)format("embedded-opentype"),url(../../../fonts/327F7D_2_0.woff2)format("woff2"),url(../../../fonts/327F7D_2_0.woff)format("woff"),url(../../../fonts/327F7D_2_0.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TradeGothicLT-BoldCondTwenty;src:url(../../../fonts/327F7D_1_0.eot);src:url(../../../fonts/327F7D_1_0.eot?#iefix)format("embedded-opentype"),url(../../../fonts/327F7D_1_0.woff2)format("woff2"),url(../../../fonts/327F7D_1_0.woff)format("woff"),url(../../../fonts/327F7D_1_0.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}.skip-link{top:-100%;left:var(--spacing-md);z-index:1000;background-color:var(--color-primary-orange);color:var(--color-white);font-family:var(--font-family-bold);font-size:var(--font-size-sm);padding:.5rem 1rem;text-decoration:none;position:absolute}.skip-link:focus{top:var(--spacing-xs)}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}::view-transition-old(root){animation:.15s ease-out fade-out}::view-transition-new(root){animation:.15s ease-in fade-in}:root{--color-black:#000;--color-primary-orange:#f47920;--color-orange-text:#b05400;--color-orange-on-dark:#f88025;--color-dark:#1a1a1a;--color-dark-gray:#333;--color-gray:#373737;--color-white:#fff;--color-light-gray:#f5f5f5;--color-medium-gray:#666;--color-border:#e0e0e0;--font-family:"TradeGothicLT", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-family-bold:"TradeGothicLT-Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-family-headline:"TradeGothicLT-BoldCondTwenty", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:4rem;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.6;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-xxl:4rem;--radius-sm:4px;--radius-md:8px;--max-width:1200px;--content-width:720px;--masthead-height:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-dark);background-color:var(--color-white)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-bold);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm);scroll-margin-top:calc(var(--masthead-height) + var(--spacing-md))}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-sm)}a{color:var(--color-orange-text);text-decoration:none;transition:color .2s}a:hover{color:var(--color-dark);text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary-orange);outline-offset:2px}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--max-width);padding:0 var(--spacing-md);margin:0 auto}.grid{gap:var(--spacing-md);width:100%;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-constrained{max-width:1000px;margin:0}.grid-narrow{max-width:700px;margin:0}.grid-stack{margin-bottom:var(--spacing-xl)}.bg-white{background-color:var(--color-white)}.bg-light-gray{background-color:var(--color-light-gray)}.section{padding:var(--spacing-xxl) 0}.section-header{margin-bottom:var(--spacing-md);border-left:4px solid var(--color-primary-orange);padding-left:var(--spacing-md)}.section-header h2{color:var(--color-dark);margin-bottom:0}.section-kicker{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-orange-text);margin-bottom:var(--spacing-xs);display:block}.section-intro{font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--color-dark-gray);margin-bottom:var(--spacing-lg);max-width:800px}.content-body{max-width:var(--content-width)}table{border-collapse:collapse;width:100%;margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}th,td{text-align:left;padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-xs) 0;border-bottom:1px solid var(--color-border);vertical-align:top}th{font-family:var(--font-family-bold);font-weight:var(--font-weight-bold);color:var(--color-dark)}tr:last-child td{border-bottom:none}@media (width<=768px){:root{--font-size-xl:1.25rem;--font-size-2xl:1.75rem;--font-size-3xl:2rem;--font-size-4xl:3rem}html{font-size:14px}}@media (width<=1024px){.grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr}}@page{margin:1.5cm}@media print{body{color:var(--color-black);background:var(--color-white);font-size:12pt;line-height:1.4}a{color:var(--color-black);text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")";word-break:break-all;font-size:.8em}nav a[href^=http]:after{content:none}a[href^=http]:has(img):after{content:none}.skip-link,.breadcrumbs,.content-navigation,.table-of-contents,.copy-btn,.dropdown-wrapper,.scroll-progress,.swipe-hint,footer{display:none!important}.masthead{border-bottom:2px solid var(--color-black);background:0 0;height:auto;padding:.5rem 0}.masthead .logo{filter:grayscale()brightness(0);height:30px}.hero{color:var(--color-black);background:0 0;padding:1rem 0}:is(:global(.hero .course-code),:global(.hero .course-subtitle),:global(.hero .course-meta p),:global(.hero .course-meta a)){color:var(--color-dark-gray)}:global(.hero .course-title){color:var(--color-black);font-size:var(--font-size-2xl)}.section{padding:1rem 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr;gap:.5rem}h2,h3,h4{break-after:avoid}.code-block{break-inside:avoid}:global(.shiki){border:1px solid var(--color-border);background:var(--color-light-gray)!important;color:var(--color-black)!important}:global(.shiki span){color:var(--color-black)!important}.topic-card{break-inside:avoid}.bg-light-gray{background-color:var(--color-white)}table{break-inside:avoid;border-collapse:collapse;width:100%}th,td{border:1px solid var(--color-border);padding:.4em .6em;font-size:.9em}th{background:var(--color-light-gray)}img{break-inside:avoid;max-width:100%!important}.youtube-embed{border:1px solid var(--color-border);border-radius:0;padding:.5em;background:0 0!important;padding-top:0!important}.youtube-embed iframe{display:none!important}.youtube-embed:before{content:"Video: " attr(data-title);color:var(--color-dark-gray);font-style:italic;display:block;position:static}.aside{break-inside:avoid;border:1px solid var(--color-border)}blockquote{break-inside:avoid}}
