*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:root{--color-dark-shade:#0e0e10;--color-dark:#131315;--color-dark-glare:#1c1b1d;--color-surface:#201f22;--color-surface-glare:#2a2a2c;--color-surface-bright:#353437;--color-mid:#514533;--color-mid-glare:#9e8e78;--color-light:#e5e1e4;--color-light-shade:#d6c4ac;--color-primary:#ffb40c;--color-primary-glare:#ffba37;--color-primary-pale:#ffd89d;--color-on-primary:#432c00;--color-error:#ffb4ab;--color-on-error:#690005;--color-error-surface:#93000a;--color-on-error-surface:#ffdad6;--focus-color:var(--color-primary);--size-step-000:.6875rem;--size-step-00:clamp(.8125rem, .7917rem + .1042vw, .875rem);--size-step-0:1rem;--size-step-1:clamp(1.0625rem, 1.0417rem + .1042vw, 1.125rem);--size-step-2:clamp(1.1875rem, 1.125rem + .3125vw, 1.375rem);--size-step-3:clamp(1.25rem, 1.1667rem + .4167vw, 1.5rem);--size-step-6:clamp(1.5rem, 1.3333rem + .8333vw, 2rem);--size-step-10:clamp(2rem, 1.6667rem + 1.6667vw, 3rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:clamp(.75rem, .7292rem + .1042vw, .8125rem);--space-s:clamp(1rem, .9583rem + .2083vw, 1.125rem);--space-m:clamp(1.5rem, 1.4375rem + .3125vw, 1.6875rem);--space-l:clamp(2.5rem, 2.3958rem + .5208vw, 2.8125rem);--space-xl:clamp(4rem, 3.8333rem + .8333vw, 4.5rem);--space-2xl:clamp(6rem, 5.75rem + 1.25vw, 6.75rem);--space-s-m:clamp(1rem, .7708rem + 1.1458vw, 1.6875rem);--space-m-l:clamp(1.5rem, 1.0625rem + 2.1875vw, 2.8125rem);--space-l-xl:clamp(2.5rem, 1.8333rem + 3.3333vw, 4.5rem);--font-base:"Satoshi", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--font-normal:400;--font-medium:500;--font-bold:700;--font-black:900;--leading:1.5;--leading-fine:1.2;--gutter:var(--space-m-l);--transition-base:.25s ease;--transition-movement:.2s linear;--transition-fade:.3s ease;--transition-bounce:.5s cubic-bezier(.5, .05, .2, 1.5);--stroke:1px solid var(--color-mid);--stroke-solid:1px solid var(--color-mid);--radius-s:.25rem;--radius-m:.5rem;--radius-round:100vmax;--uppercase-kerning:.05em;--wrapper-max-width:80rem;--region-space:var(--space-l-xl)}body{background:var(--color-dark);color:var(--color-light);font-family:var(--font-base);font-size:var(--size-step-0);line-height:var(--leading);flex-direction:column;min-block-size:100dvh;display:flex}main{flex-grow:1}::selection{background:var(--color-primary);color:var(--color-on-primary)}:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}h1,h2,h3{line-height:var(--leading-fine);text-wrap:balance}h1{font-size:var(--size-step-10);font-weight:var(--font-black);letter-spacing:-.01em}h2{font-size:var(--size-step-6);font-weight:var(--font-bold)}h3{font-size:var(--size-step-3);font-weight:var(--font-bold)}a{color:currentColor;-webkit-text-decoration-color:var(--color-mid-glare);text-decoration-color:var(--color-mid-glare);text-underline-offset:.2em}a:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}::marker{color:var(--color-primary)}.badge{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-round);font-family:var(--font-mono);font-weight:var(--font-medium);font-size:var(--size-step-000);text-transform:uppercase;letter-spacing:var(--uppercase-kerning);white-space:nowrap;border:1px solid #0000;padding:.25em .75em;display:inline-block}.badge[hidden]{display:none}.badge[data-variant=outline]{border:var(--stroke);color:var(--color-light-shade);background:0 0}.breadcrumb ol{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";opacity:.6;margin-inline-end:var(--space-2xs)}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:var(--color-light)}.breadcrumb [aria-current=page]{color:var(--color-primary)}.button{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-s);font-family:var(--font-mono);font-weight:var(--font-bold);font-size:var(--size-step-00);text-transform:uppercase;letter-spacing:var(--uppercase-kerning);cursor:pointer;transition:background var(--transition-base), border-color var(--transition-base);border:1px solid #0000;padding:.75em 1.5em;text-decoration:none;display:inline-block}.button:hover{background:var(--color-primary-glare)}.button[data-variant=ghost]{border:var(--stroke);color:var(--color-light);font-weight:var(--font-medium);background:0 0}.button[data-variant=ghost]:hover{border-color:var(--color-primary);background:0 0}.button[data-variant=ghost][aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary)}.callout{background:var(--color-surface);border-inline-start:4px solid var(--color-primary);padding:var(--space-m)}.callout__body{margin-block-start:var(--space-2xs);font-style:italic}.callout[data-variant=card]{background:var(--color-dark-shade);border:var(--stroke)}.callout[data-variant=card] .callout__body{font-size:var(--size-step-00);opacity:.8}.card{border:var(--stroke);border-radius:var(--radius-m);background:var(--color-surface);transition:border-color var(--transition-base);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card:hover{border-color:var(--color-primary)}.card__content{background:var(--color-dark-shade);padding:var(--space-m);flex-grow:1}.card__media+.card__content{border-block-start:var(--stroke)}.card__title{font-size:var(--size-step-3);font-weight:var(--font-bold);line-height:var(--leading-fine)}.card:hover .card__title{color:var(--color-primary)}.card__body{font-size:var(--size-step-00);color:var(--color-light-shade);margin-block-start:var(--space-2xs)}.form label{font-family:var(--font-mono);font-weight:var(--font-medium);font-size:var(--size-step-00);text-transform:uppercase;letter-spacing:var(--uppercase-kerning);color:var(--color-light-shade);display:block}.form input{inline-size:100%;background:var(--color-dark-glare);border:var(--stroke);border-radius:var(--radius-s);color:var(--color-light);margin-block-start:var(--space-2xs);padding:.75em;display:block}.form input:focus{border-color:var(--color-primary);outline:none}.form__error{color:var(--color-error)}.headline{border-inline-start:4px solid var(--color-primary);padding-inline-start:var(--space-s)}.headline[data-variant=accent]{color:var(--color-primary);border-inline-start:0;padding-inline-start:0}.hero{background:var(--color-surface);border-block-end:var(--stroke);padding-block:var(--space-xl)}.hero__intro{font-size:var(--size-step-1);color:var(--color-light-shade);max-inline-size:60ch}.hero__media{border:var(--stroke);border-radius:var(--radius-m)}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li+li{border-block-start:var(--stroke)}.lesson-list a{align-items:center;gap:var(--space-s);padding:var(--space-xs) var(--space-m);transition:background var(--transition-base);text-decoration:none;display:flex}.lesson-list a:hover{background:var(--color-surface)}.lesson-list__status{border:2px solid var(--color-light-shade);border-radius:var(--radius-round);flex-shrink:0;block-size:1.25em;inline-size:1.25em;position:relative}.lesson-list__status[data-state=done]{background:var(--color-primary-pale);border-color:var(--color-primary-pale)}.lesson-list__status[data-state=done]:after{content:"";border-block-end:2px solid var(--color-dark);border-inline-start:2px solid var(--color-dark);block-size:.3em;inline-size:.55em;margin:auto;position:absolute;inset:0;transform:rotate(-45deg)translateY(-25%)}.lesson-list__index{font-family:var(--font-mono);font-size:var(--size-step-00);color:var(--color-light-shade)}.lesson-list__meta{font-family:var(--font-mono);font-size:var(--size-step-000);text-transform:uppercase;letter-spacing:var(--uppercase-kerning);color:var(--color-light-shade)}.lesson-list li:has(a[aria-current=page]){background:var(--color-surface-bright);border-inline-start:3px solid var(--color-primary)}.lesson-list a[aria-current=page],.lesson-list a[aria-current=page] .lesson-list__meta{color:var(--color-primary)}.nav a{color:var(--color-light-shade);text-decoration:none}.nav a:hover{color:var(--color-light)}.nav a[aria-current=page],.nav a[aria-current=true]{color:var(--color-primary-pale);border-block-end:2px solid var(--color-primary-pale);padding-block-end:var(--space-3xs)}.nav button{font:inherit;color:var(--color-light-shade);cursor:pointer;background:0 0;border:0;padding:0}.nav button:hover{color:var(--color-light)}.panel{border:var(--stroke);border-radius:var(--radius-s);background:var(--color-dark-shade);overflow:hidden}.panel__header{align-items:center;gap:var(--space-s);background:var(--color-dark-glare);padding:var(--space-s) var(--space-m);cursor:pointer;list-style:none;display:flex}.panel__header::-webkit-details-marker{display:none}.panel__header:after{content:"";border-inline-end:2px solid var(--color-light-shade);border-block-end:2px solid var(--color-light-shade);block-size:.5em;inline-size:.5em;transition:transform var(--transition-base);flex-shrink:0;margin-inline-start:auto;transform:rotate(45deg)}.panel[open]>.panel__header:after{transform:rotate(225deg)}.panel__body{border-block-start:var(--stroke)}.panel__body[data-scroll]{max-block-size:20rem;overflow-y:auto}.panel[data-variant=chapter] .panel__title{font-family:var(--font-base);font-size:var(--size-step-3);font-weight:var(--font-bold);text-transform:none;letter-spacing:normal;color:var(--color-light)}.panel[data-variant=chapter] .panel__description{font-size:var(--size-step-00);color:var(--color-light-shade)}.prev-next{border-block-start:var(--stroke);margin-block-start:var(--space-xl);padding-block-start:var(--space-l)}.prev-next a{align-items:center;gap:var(--space-s);text-decoration:none;display:flex}.prev-next a[data-direction=next]{text-align:end;margin-inline-start:auto}.prev-next__arrow{color:var(--color-primary);font-size:var(--size-step-3)}.prev-next a .mono-label,.prev-next__title{display:block}.prev-next__title{font-size:var(--size-step-3);font-weight:var(--font-bold);line-height:var(--leading-fine)}.prev-next a:hover .prev-next__title{color:var(--color-primary)}.prose{max-inline-size:70ch;font-size:var(--size-step-1);color:var(--color-light-shade)}.prose :is(h2,h3,h4){color:var(--color-light)}.prose h3{font-size:var(--size-step-2)}.prose strong{color:var(--color-light);font-weight:var(--font-medium)}.prose a{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.prose :is(ul,ol){padding-inline-start:var(--space-m)}.prose li+li{margin-block-start:var(--space-2xs)}.prose blockquote{background:var(--color-surface);border-inline-start:4px solid var(--color-primary);padding:var(--space-m);font-style:italic}.site-foot{border-block-start:var(--stroke);background:var(--color-dark-shade);padding-block:var(--space-m);margin-block-start:var(--space-xl)}.site-foot__brand{font-weight:var(--font-bold);text-decoration:none}.site-foot__meta{font-size:var(--size-step-000);opacity:.7}.site-head{z-index:10;background:var(--color-dark);border-block-end:var(--stroke);padding-block:var(--space-s);transition:transform var(--transition-base);position:sticky;inset-block-start:0}.site-head[data-hidden]{transform:translateY(-100%)}.site-head__brand{font-size:var(--size-step-3);font-weight:var(--font-bold);letter-spacing:-.01em;text-decoration:none}@media (prefers-reduced-motion:reduce){.site-head{transition:none}}.skip-link{z-index:100;padding:var(--space-2xs) var(--space-s);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-s);font-family:var(--font-mono);font-weight:var(--font-medium);font-size:var(--size-step-00);text-transform:uppercase;letter-spacing:var(--uppercase-kerning);text-decoration:none;position:fixed;inset-block-start:var(--space-2xs);inset-inline-start:var(--space-2xs)}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden}.timestamps{margin:0;padding:0;list-style:none}.timestamps li+li{border-block-start:var(--stroke)}.timestamps a{align-items:baseline;gap:var(--space-s);padding:var(--space-xs) var(--space-m);transition:background var(--transition-base);text-decoration:none;display:flex}.timestamps a:hover{background:var(--color-surface);color:var(--color-primary)}.timestamps__time{min-inline-size:5ch;font-family:var(--font-mono);font-size:var(--size-step-00);color:var(--color-primary);flex-shrink:0}.video-player{border:var(--stroke);border-radius:var(--radius-s);background:var(--color-surface-bright)}[data-layout~=box]{background-color:var(--box-bg-color,#fff);color:var(--box-text-color,#000);border:var(--box-border-width,8px) solid var(--box-border-color,currentColor);outline:var(--box-border-width,8px) solid transparent;outline-offset:calc(var(--box-border-width,8px) * -1);padding:var(--box-padding,10px);display:block}[data-layout~=center]{box-sizing:content-box;max-inline-size:var(--center-max-width,90ch);margin-inline:auto;display:block}[data-layout~=center][data-gutters]{padding-inline:var(--center-gutter-width,10px)}[data-layout~=center][data-intrinsic]{flex-direction:column;align-items:center;display:flex}[data-layout~=center][data-text]{text-align:center}[data-layout~=cluster]{align-items:var(--cluster-vertical-alignment,center);gap:var(--cluster-gap,1rem);justify-content:var(--cluster-horizontal-alignment,flex-start);flex-wrap:wrap;display:flex}[data-layout~=container]{container-type:inline-size;container-name:var(--container-name,none)}[data-layout~=cover]{min-block-size:var(--cover-min-height,100vh);padding:var(--cover-space,1rem);flex-direction:column;display:flex}[data-layout~=cover][data-noPad]{padding:0}[data-layout~=cover]>*{margin-block:var(--cover-space,1rem)}[data-layout~=cover]>:first-child:not([data-centered]){margin-block-start:0}[data-layout~=cover]>:last-child:not([data-centered]){margin-block-end:0}[data-layout~=cover]>[data-centered]{margin-block:auto}[data-layout~=frame]{aspect-ratio:var(--frame-numerator,16) / var(--frame-denominator,9);justify-content:center;align-items:center;display:flex;overflow:hidden}[data-layout~=frame]>img,[data-layout~=frame]>video{object-fit:cover;block-size:100%;inline-size:100%}[data-layout~=frame]>iframe{border:0;block-size:100%;inline-size:100%}[data-layout~=grid]{grid-gap:var(--grid-space,1rem);display:grid}@supports (width:min(var(--grid-min-item-size, 16rem), 100%)){[data-layout~=grid]{grid-template-columns:repeat(var(--grid-placement,auto-fit), minmax(min(var(--grid-min-item-size,16rem), 100%), 1fr))}}[data-layout~=icon]{width:1cap;height:1cap}[data-layout~=icon][data-lowercase]{width:1ex;height:1ex}[data-layout~=with-icon]{align-items:baseline;display:inline-flex}[data-layout~=with-icon] [data-layout~=icon]{margin-inline-end:var(--icon-space,.5em)}[data-layout~=imposter]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-layout~=imposter]:not([data-breakout]){max-block-size:calc(100% - (var(--imposter-margin,0px) * 2));max-inline-size:calc(100% - (var(--imposter-margin,0px) * 2));overflow:auto}[data-layout~=imposter][data-fixed]{position:fixed}[data-layout~=reel]{block-size:var(--reel-height,auto);padding:var(--reel-padding,0);scrollbar-color:var(--reel-thumb-color,#fff) var(--reel-track-color,#000);display:flex;overflow:auto hidden}[data-layout~=reel]:after{content:"";flex-basis:var(--reel-padding,0);flex-shrink:0}[data-layout~=reel]::-webkit-scrollbar{block-size:1rem}[data-layout~=reel]::-webkit-scrollbar-track{background-color:var(--reel-track-color,#000)}[data-layout~=reel]::-webkit-scrollbar-thumb{background-color:var(--reel-track-color,#000);background-image:linear-gradient(var(--reel-track-color,#000) 0, var(--reel-track-color,#000) .25rem, var(--reel-thumb-color,#fff) .25rem, var(--reel-thumb-color,#fff) .75rem, var(--reel-track-color,#000) .75rem)}[data-layout~=reel]>*{flex:0 0 var(--reel-item-width,auto)}[data-layout~=reel]>img{block-size:100%;flex-basis:auto;width:auto}[data-layout~=reel]>*+*{margin-inline-start:var(--reel-space,1rem)}[data-layout~=reel][data-noBar]{scrollbar-width:none}[data-layout~=reel][data-noBar]::-webkit-scrollbar{display:none}[data-layout~=sidebar]{gap:var(--sidebar-gap,1rem);flex-wrap:wrap;display:flex}[data-layout~=sidebar][data-noStretch]{align-items:flex-start}[data-layout~=sidebar]:not([data-direction])>:first-child{flex-basis:var(--sidebar-target-width,20rem);flex-grow:1}[data-layout~=sidebar]:not([data-direction])>:last-child{min-inline-size:var(--sidebar-content-min-width,50%);flex-grow:999;flex-basis:0}[data-layout~=sidebar][data-direction=rtl]>:last-child{flex-basis:var(--sidebar-target-width,20rem);flex-grow:1}[data-layout~=sidebar][data-direction=rtl]>:first-child{min-inline-size:var(--sidebar-content-min-width,50%);flex-grow:999;flex-basis:0}[data-layout~=stack]{flex-direction:column;justify-content:flex-start;display:flex}[data-layout~=stack]:not([data-recursive])>*{margin-block:0}[data-layout~=stack]:not([data-recursive])>*+*{margin-block-start:var(--stack-space,1.5rem)}[data-layout~=stack][data-recursive] *{margin-block:0}[data-layout~=stack][data-recursive] *+*{margin-block-start:var(--stack-space,1.5rem)}[data-layout~=stack][data-splitAfter]:only-child{block-size:100%}[data-layout~=stack][data-splitAfter="2"]>:nth-child(2),[data-layout~=stack][data-splitAfter="3"]>:nth-child(3),[data-layout~=stack][data-splitAfter="4"]>:nth-child(4),[data-layout~=stack][data-splitAfter="5"]>:nth-child(5){margin-block-end:auto}[data-layout~=switcher]{align-items:var(--switcher-vertical-alignment,stretch);gap:var(--switcher-space,1rem);flex-wrap:wrap;display:flex}[data-layout~=switcher]>*{flex-basis:calc((var(--switcher-measure,90ch) - 100%) * 999);flex-grow:1}[data-layout~=switcher][data-limit="4"]>:nth-last-child(n+5),[data-layout~=switcher][data-limit="4"]>:nth-last-child(n+5)~*{flex-basis:100%}.l-flow>*+*{margin-block-start:var(--flow-space,1em)}.l-repel{justify-content:space-between;align-items:var(--repel-vertical-alignment,center);gap:var(--gutter,var(--space-m));flex-wrap:wrap;display:flex}.l-repel[data-nowrap]{flex-wrap:nowrap}.l-wrapper{max-width:var(--wrapper-max-width,1360px);padding-inline:var(--gutter);width:100%;margin-inline:auto;position:relative}.mono-label{font-family:var(--font-mono);font-weight:var(--font-medium);font-size:var(--size-step-00);text-transform:uppercase;letter-spacing:var(--uppercase-kerning);color:var(--color-light-shade)}.mono-label[data-variant=accent]{color:var(--color-primary)}.region{padding-block:var(--region-space,var(--space-m));position:relative}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:0;margin:0;padding:0;position:absolute;overflow:hidden}
