@font-face{font-family:inter;src:url(../media/inter_latin_400_normal-s.p.2qdljeg3s-lsl.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:inter;src:url(../media/inter_latin_500_normal-s.p.1d14jwmkqqa0f.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:inter;src:url(../media/inter_latin_700_normal-s.p.4421omqeymgmp.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_7d1cf1d0-module__ikoW0q__className{font-family:inter,inter Fallback}.inter_7d1cf1d0-module__ikoW0q__variable{--font-inter-var:"inter", "inter Fallback"}
@font-face{font-family:sourceCodePro;src:url(../media/source_code_pro_latin_400_normal-s.p.2huxmss1atkko.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:sourceCodePro Fallback;src:local(Arial);ascent-override:74.83%;descent-override:20.76%;line-gap-override:0.0%;size-adjust:131.49%}.sourcecodepro_4742b8ce-module__ACLBnq__className{font-family:sourceCodePro,sourceCodePro Fallback}.sourcecodepro_4742b8ce-module__ACLBnq__variable{--font-source-code:"sourceCodePro", "sourceCodePro Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:var(--font-inter-var), "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-source-code), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-lg:4px;--radius-2xl:16px;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas-cream:#f4f4f0;--color-paper-white:#fff;--color-cream-well:#e9e9e3;--color-hairline:#d1d5dc;--color-edge:#8a8a83;--color-ink-black:#000;--color-graphite:#242423;--color-pencil:#5c5c57;--color-cobalt:#2448e8;--color-cobalt-ink:#2448e8;--color-cobalt-wash:#e6ebfd;--color-on-cobalt:#fff;--color-highlight-yellow:#ffc900;--color-highlight-lime:#f1f333;--color-highlight-vermillion:#dc341e;--text-caption:14px;--leading-caption:1.43;--text-body-sm:16px;--leading-body-sm:1.5;--tracking-body-sm:-.064px;--text-code:15px;--leading-code:1.65;--text-body:18px;--leading-body:1.56;--tracking-body:-.108px;--text-subheading:24px;--leading-subheading:1.25;--tracking-subheading:-.264px;--text-heading-sm:30px;--text-heading:36px;--leading-heading:1.1;--text-heading-lg:48px;--leading-heading-lg:1.05;--text-display-sm:72px;--text-display:96px;--leading-display:1;--radius-full:9999px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-16{top:calc(var(--spacing) * 16)}.right-0{right:0}.left-0{left:0}.z-40{z-index:40}.col-span-2{grid-column:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-\[9px\]{margin-top:9px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\.5{margin-right:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-7{width:calc(var(--spacing) * 7)}.w-full{width:100%}.max-w-\[18ch\]{max-width:18ch}.max-w-\[21ch\]{max-width:21ch}.max-w-\[22ch\]{max-width:22ch}.max-w-\[24ch\]{max-width:24ch}.max-w-\[26ch\]{max-width:26ch}.max-w-\[30ch\]{max-width:30ch}.max-w-\[30rem\]{max-width:30rem}.max-w-\[32rem\]{max-width:32rem}.max-w-\[36ch\]{max-width:36ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[64ch\]{max-width:64ch}.max-w-\[66ch\]{max-width:66ch}.max-w-\[68ch\]{max-width:68ch}.max-w-\[70ch\]{max-width:70ch}.max-w-\[72ch\]{max-width:72ch}.max-w-\[74ch\]{max-width:74ch}.max-w-\[76ch\]{max-width:76ch}.max-w-\[78ch\]{max-width:78ch}.max-w-\[140px\]{max-width:140px}.max-w-\[280px\]{max-width:280px}.min-w-0{min-width:0}.min-w-\[12rem\]{min-width:12rem}.flex-1{flex:1}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.scroll-mt-28{scroll-margin-top:calc(var(--spacing) * 28)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-subgrid{grid-template-rows:subgrid}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-px{gap:1px}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.gap-x-14{column-gap:calc(var(--spacing) * 14)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.gap-y-10{row-gap:calc(var(--spacing) * 10)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[color\:var\(--line\)\]{border-color:var(--line)}.border-\[color\:var\(--line-strong\)\]{border-color:var(--line-strong)}.border-cobalt-ink{border-color:var(--color-cobalt-ink)}.border-hairline{border-color:var(--color-hairline)}.border-ink-black{border-color:var(--color-ink-black)}.bg-\[color\:var\(--line\)\]{background-color:var(--line)}.bg-canvas-cream{background-color:var(--color-canvas-cream)}.bg-canvas-cream\/40{background-color:#f4f4f066}@supports (color:color-mix(in lab, red, red)){.bg-canvas-cream\/40{background-color:color-mix(in oklab, var(--color-canvas-cream) 40%, transparent)}}.bg-canvas-cream\/80{background-color:#f4f4f0cc}@supports (color:color-mix(in lab, red, red)){.bg-canvas-cream\/80{background-color:color-mix(in oklab, var(--color-canvas-cream) 80%, transparent)}}.bg-cobalt{background-color:var(--color-cobalt)}.bg-cream-well{background-color:var(--color-cream-well)}.bg-edge{background-color:var(--color-edge)}.bg-hairline{background-color:var(--color-hairline)}.bg-paper-white{background-color:var(--color-paper-white)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\!text-\[16px\]{font-size:16px!important}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.013em\]{--tw-tracking:-.013em;letter-spacing:-.013em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[color\:var\(--text-faint\)\]{color:var(--text-faint)!important}.text-\[color\:var\(--text-faint\)\]{color:var(--text-faint)}.text-\[color\:var\(--text-muted\)\]{color:var(--text-muted)}.text-cobalt-ink{color:var(--color-cobalt-ink)}.text-graphite{color:var(--color-graphite)}.text-ink-black{color:var(--color-ink-black)}.text-on-cobalt{color:var(--color-on-cobalt)}.text-pencil{color:var(--color-pencil)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-ink-black{accent-color:var(--color-ink-black)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-100{opacity:1}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-cream-well:hover{background-color:var(--color-cream-well)}.hover\:text-graphite:hover{color:var(--color-graphite)}.hover\:text-ink-black:hover{color:var(--color-ink-black)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-cobalt:focus{border-color:var(--color-cobalt)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.aria-\[current\=page\]\:font-medium[aria-current=page]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.aria-\[current\=page\]\:text-ink-black[aria-current=page]{color:var(--color-ink-black)}@media (min-width:40rem){.sm\:ml-auto{margin-left:auto}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[186px_1fr\]{grid-template-columns:186px 1fr}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:pl-0{padding-left:0}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1\.4fr_1fr_1fr\]{grid-template-columns:1.4fr 1fr 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:64rem){.lg\:mt-6{margin-top:calc(var(--spacing) * 6)}.lg\:mt-12{margin-top:calc(var(--spacing) * 12)}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:max-w-\[180px\]{max-width:180px}.lg\:rotate-0{rotate:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[0\.82fr_1\.18fr\]{grid-template-columns:.82fr 1.18fr}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:gap-3{gap:calc(var(--spacing) * 3)}.lg\:gap-20{gap:calc(var(--spacing) * 20)}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:p-6{padding:calc(var(--spacing) * 6)}.lg\:p-10{padding:calc(var(--spacing) * 10)}.lg\:p-12{padding:calc(var(--spacing) * 12)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:py-8{padding-block:calc(var(--spacing) * 8)}.lg\:py-14{padding-block:calc(var(--spacing) * 14)}.lg\:py-16{padding-block:calc(var(--spacing) * 16)}.lg\:pt-20{padding-top:calc(var(--spacing) * 20)}.lg\:pt-24{padding-top:calc(var(--spacing) * 24)}.lg\:pt-28{padding-top:calc(var(--spacing) * 28)}.lg\:pb-1{padding-bottom:var(--spacing)}.lg\:pb-24{padding-bottom:calc(var(--spacing) * 24)}.lg\:text-left{text-align:left}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\>figure\]\:mt-0>figure{margin-top:0}.\[\&\>p\]\:mx-auto>p{margin-inline:auto}.\[\&\>p\]\:mt-0>p{margin-top:0}}:root{--code-surface:#1a1919;--page-max-width:1200px;--section-gap:96px;--card-padding:32px;--element-gap:12px;--lesson-measure:35em;--tracking:-.004em;--tracking-tight:-.013em;--tracking-heading-em:-.02em;--tracking-display-em:-.025em;--radius-nav:9999px;--radius-cards:16px;--radius-feature:24px;--radius-images:16px;--radius-buttons:4px;--radius-links:4px;--radius-pills:9999px;--radius-badges:9999px;--radius-inputs:4px;--radius-tabs:4px;--radius-code:4px;--line:var(--color-hairline);--line-strong:var(--color-edge);--text-muted:var(--color-pencil);--text-faint:var(--color-pencil);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--color-canvas-cream:#121211;--color-paper-white:#1c1c1a;--color-cream-well:#262624;--color-hairline:#3a3a37;--color-edge:#82827b;--color-ink-black:#f4f4f0;--color-graphite:#d9d9d3;--color-pencil:#a5a59d;--color-cobalt-ink:#8ea6ff;--color-cobalt-wash:#1a2240;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html{scroll-behavior:smooth}body{background-color:var(--color-canvas-cream);color:var(--color-graphite);font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--leading-body-sm);letter-spacing:var(--tracking);-webkit-font-smoothing:antialiased}::selection{background:var(--color-cobalt);color:var(--color-on-cobalt)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-ink-black);letter-spacing:var(--tracking-tight);text-wrap:balance;font-weight:500;line-height:1.2}h1,h2{letter-spacing:var(--tracking-heading-em);line-height:1.1}strong,b{color:var(--color-ink-black);font-weight:500}code,pre,kbd{font-family:var(--font-mono)}.btn,.chip,.card-dark,.nav-link,.eyebrow,a{transition:color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out,fill .2s ease-out,stroke .2s ease-out,text-decoration-color .2s ease-out}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--color-ink-black);outline-offset:2px}.link-ink{color:var(--color-ink-black);text-decoration-line:underline;-webkit-text-decoration-color:var(--color-cobalt-ink);-webkit-text-decoration-color:var(--color-cobalt-ink);-webkit-text-decoration-color:var(--color-cobalt-ink);text-decoration-color:var(--color-cobalt-ink);text-underline-offset:4px;text-decoration-thickness:2px}.link-ink:hover{text-decoration-color:currentColor}.shell{max-width:var(--page-max-width);margin-inline:auto;padding-inline:24px}@media (max-width:480px){.shell{padding-inline:16px}}.section{padding-block:clamp(64px, 9vw, var(--section-gap))}.section-tight{padding-block:clamp(40px,5vw,48px)}.eyebrow{font-family:var(--font-sans);font-size:var(--text-caption);letter-spacing:var(--tracking);font-weight:500;line-height:var(--leading-caption);color:var(--color-graphite);align-items:center;gap:8px;display:inline-flex}.eyebrow:before{content:"";border-radius:var(--radius-full);background:var(--color-cobalt);flex:none;width:10px;height:10px}.display-heading{font-family:var(--font-sans);font-size:clamp(40px, 6.5vw, var(--text-display-sm));font-weight:700;line-height:var(--leading-display);letter-spacing:var(--tracking-display-em);color:var(--color-ink-black)}.heading-xl{font-family:var(--font-sans);font-size:clamp(28px, 4vw, var(--text-heading));font-weight:500;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading-em);color:var(--color-ink-black)}.heading-lg{font-family:var(--font-sans);font-size:clamp(20px, 2.4vw, var(--text-subheading));font-weight:500;line-height:var(--leading-subheading);letter-spacing:var(--tracking-tight);color:var(--color-ink-black)}.heading-md{font-family:var(--font-sans);font-size:var(--text-body);letter-spacing:var(--tracking);color:var(--color-ink-black);font-weight:500;line-height:1.4}.text-accent{color:var(--color-cobalt-ink)}.lead{font-size:var(--text-body);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--tracking-body);color:var(--color-graphite);max-width:60ch}.muted{color:var(--color-pencil)}.sticker{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}@media (max-width:64rem){.sticker{display:none}}.marker{border-radius:var(--radius-full);background:var(--color-cobalt);vertical-align:middle;flex:none;width:10px;height:10px;display:inline-block}.marker-yellow{background:var(--color-highlight-yellow)}.marker-lime{background:var(--color-highlight-lime)}.marker-vermillion{background:var(--color-highlight-vermillion)}.marker-square{border-radius:0}.btn{border-radius:var(--radius-buttons);font-family:var(--font-sans);font-size:var(--text-body-sm);letter-spacing:var(--tracking);cursor:pointer;box-shadow:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:11px 23px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-accent,.btn-primary{background:var(--color-ink-black);color:var(--color-canvas-cream)}.btn-accent:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:#2c2c2b}@supports (color:color-mix(in lab, red, red)){.btn-accent:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-ink-black) 82%, var(--color-canvas-cream))}}.btn-ghost{border-color:var(--color-hairline);color:var(--color-ink-black);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--color-ink-black);background:var(--color-paper-white)}.btn-quiet{color:var(--color-pencil);background:0 0;padding:7px 11px}.btn-quiet:hover:not(:disabled){color:var(--color-ink-black)}.btn-arrow{padding:5px 23px 5px 5px}.btn-arrow:before{content:"→";content:"→" / "";border-radius:var(--radius-buttons);background:var(--color-cobalt);width:32px;height:32px;color:var(--color-on-cobalt);flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:transform .2s ease-out;display:inline-flex}.btn-arrow:hover:not(:disabled):before{transform:translate(2px)}.btn-sm{font-size:var(--text-caption);line-height:var(--leading-caption);padding:5px 15px}.btn-sm.btn-arrow{padding:3px 15px 3px 3px}.btn-sm.btn-arrow:before{width:24px;height:24px;font-size:13px}.btn:active:not(:disabled){transform:translateY(1px)}.spinner{color:var(--color-cobalt-ink);flex:none;align-items:center;gap:4px;display:inline-flex}.spinner i{border-radius:var(--radius-full);opacity:.25;background:currentColor;width:5px;height:5px;animation:.9s ease-out infinite led-scan;display:block}.spinner i:nth-child(2){animation-delay:.15s}.spinner i:nth-child(3){animation-delay:.3s}.spinner-lg i{width:8px;height:8px}.btn-accent .spinner,.btn-primary .spinner{color:currentColor}@keyframes led-scan{0%,to{opacity:.25}35%{opacity:1}}.btn[aria-busy=true],.btn[aria-busy=true]:disabled{opacity:1;cursor:progress}.state-in{animation:.3s ease-out both state-in}@keyframes state-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.notice-alert{border:1px solid var(--color-edge);border-left:3px solid var(--color-graphite);border-radius:var(--radius-inputs);background:var(--color-cream-well);color:var(--color-graphite);font-size:var(--text-body-sm);padding:14px 16px;line-height:1.6}@media (prefers-reduced-motion:reduce){.spinner i{opacity:1;animation:none}.spinner i:nth-child(2),.spinner i:nth-child(3){opacity:.45}}.file-drop{border:1px dashed var(--color-edge);border-radius:var(--radius-cards);background:var(--color-canvas-cream);cursor:pointer;align-items:center;gap:16px;padding:20px 24px;transition:border-color .2s ease-out,background-color .2s ease-out;display:flex}.file-drop:hover,.file-drop-over{border-color:var(--color-ink-black);background:var(--color-cobalt-wash)}.file-input:focus-visible+.file-drop{outline:2px solid var(--color-ink-black);outline-offset:2px;border-color:var(--color-ink-black)}.file-drop-icon{color:var(--color-cobalt-ink);flex:none}.file-card{border:1px solid var(--color-hairline);border-radius:var(--radius-cards);background:var(--color-cream-well);align-items:center;gap:14px;padding:14px 12px 14px 16px;display:flex}.file-card-ready{border-left:3px solid var(--color-cobalt-ink)}.file-card-ready .file-card-icon{color:var(--color-cobalt-ink)}.file-card-problem{border-left:3px solid var(--color-graphite);color:var(--color-graphite)}.file-card-remove{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-pencil);cursor:pointer;justify-content:center;align-items:center;transition:color .2s ease-out,background-color .2s ease-out;display:inline-flex}.file-card-remove:hover{color:var(--color-graphite);background:var(--color-canvas-cream)}.status-banner{border-left-width:3px;position:relative;overflow:hidden}.status-banner-passed{border-left-color:var(--color-cobalt-ink)}.status-banner-alert{border-left-color:var(--color-graphite)}.status-banner-working{border-left-color:var(--color-cobalt-ink)}.status-banner-working:after{content:"";background:var(--color-cobalt-ink);width:30%;height:2px;animation:1.8s ease-in-out infinite status-scan;position:absolute;top:0;left:0;transform:translate(-100%)}@keyframes status-scan{to{transform:translate(340%)}}.status-arrived .status-banner{animation:.4s ease-out both state-in}.status-arrived .status-banner:before{content:"";background:var(--color-cobalt-ink);transform-origin:0;width:100%;height:2px;animation:.9s ease-out both status-sweep;position:absolute;top:0;left:0}@keyframes status-sweep{0%{opacity:1;transform:scaleX(0)}60%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.grading-track{border-top:1px solid var(--color-hairline);font-size:var(--text-body-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:16px;display:grid}.grading-step{color:var(--text-faint);align-items:center;gap:10px;display:flex}.grading-step-done,.grading-step-now{color:var(--color-graphite)}.grading-led{border-radius:var(--radius-full);border:1px solid var(--color-ink-black);flex:none;width:9px;height:9px}.grading-step-done .grading-led{background:var(--color-cobalt);opacity:.55}.grading-step-now .grading-led{background:var(--color-cobalt);animation:1.2s ease-out infinite led-scan}@media (max-width:640px){.grading-track{grid-template-columns:repeat(2,minmax(0,1fr))}}.check-row{border-top:1px solid var(--line);animation:.3s ease-out both state-in;animation-delay:calc(var(--row,0) * 60ms);padding:20px 0}.check-row:first-child{border-top:0}.check-row-not-yet{border-left:3px solid var(--color-graphite);border-radius:var(--radius-inputs);background:var(--color-cream-well);padding-inline:16px}.check-row-not-yet+.check-row{border-top-color:#0000}.check-led{border-radius:var(--radius-full);border:1px solid var(--color-ink-black);flex:none;width:8px;height:8px}.check-led-passed{background:var(--color-cobalt)}@media (prefers-reduced-motion:reduce){.status-banner-working:after,.status-arrived .status-banner:before{display:none}.grading-step-now .grading-led{animation:none}}.card-dark{background:var(--color-paper-white);border:1px solid var(--color-hairline);border-radius:var(--radius-cards);padding:var(--card-padding)}.card-raised{background:var(--color-cream-well);border:1px solid var(--color-hairline);border-radius:var(--radius-cards);padding:var(--card-padding)}a.card-dark:hover,.card-link:hover{border-color:var(--color-ink-black)}.card-feature{--color-ink-black:#fff;--color-graphite:#fff;--color-pencil:#e6ebfd;--color-cobalt-ink:#fff;--color-hairline:#ffffff4d;--color-edge:#e6ebfd;--color-canvas-cream:#f4f4f0;--color-paper-white:#fff;--color-cream-well:#e9e9e3;--text-muted:#e6ebfd;--text-faint:#e6ebfd;--line:#ffffff4d;background:var(--color-cobalt);color:#fff;border-radius:var(--radius-feature);padding:clamp(28px,5vw,56px)}.card-preview{background:var(--code-surface);color:#ebe7e2;border-radius:var(--radius-feature);padding:clamp(20px,4vw,40px)}@media (max-width:720px){.card-dark,.card-raised{padding:20px}}.chip{border-radius:var(--radius-badges);font-family:var(--font-sans);font-size:var(--text-caption);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-weight:500;line-height:1.4;display:inline-flex}.chip-outline{background:var(--color-paper-white);border:1px solid var(--color-hairline);color:var(--color-graphite)}.chip-live{background:var(--color-cobalt);border:1px solid var(--color-cobalt);color:var(--color-on-cobalt)}.chip-alert{background:var(--color-cream-well);border:1px solid var(--color-ink-black);color:var(--color-ink-black)}.stat-number{font-family:var(--font-sans);font-size:clamp(36px, 5vw, var(--text-heading-lg));letter-spacing:var(--tracking-heading-em);color:var(--color-ink-black);font-weight:500;line-height:1}.stat-label{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:400;line-height:var(--leading-body-sm);color:var(--color-pencil);margin-top:8px}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-body-sm)}.data-table th{text-align:left;font-family:var(--font-sans);font-size:var(--text-caption);letter-spacing:var(--tracking);color:var(--color-pencil);border-bottom:1px solid var(--color-hairline);padding:10px 16px 10px 0;font-weight:500}.data-table td{border-bottom:1px solid var(--color-hairline);vertical-align:top;padding:14px 16px 14px 0}.data-table tr:last-child td{border-bottom:0}.field-label{font-family:var(--font-sans);font-size:var(--text-body-sm);letter-spacing:var(--tracking);color:var(--color-graphite);margin-bottom:8px;font-weight:500;display:block}.field-input{background:var(--color-paper-white);border:1px solid var(--color-edge);border-radius:var(--radius-inputs);width:100%;color:var(--color-graphite);font-family:var(--font-sans);font-size:var(--text-body-sm);padding:11px 14px;line-height:1.5;transition:border-color .2s ease-out}.field-input::placeholder{color:var(--color-pencil)}.field-input:hover:not(:disabled),.field-input:focus,.field-input:focus-visible{border-color:var(--color-ink-black)}textarea.field-input{resize:vertical}.code-block{background:var(--code-surface);border-radius:var(--radius-cards);border:1px solid var(--color-hairline);font-family:var(--font-mono);font-size:var(--text-code);line-height:var(--leading-code);color:#ebe7e2;padding:20px 24px;overflow-x:auto}.code-window{padding-top:48px;position:relative}.code-window:before{content:"";border-radius:var(--radius-full);background:#4a4646;width:9px;height:9px;position:absolute;top:18px;left:20px;box-shadow:15px 0 #4a4646,30px 0 #4a4646}.code-window .code-title{font-family:var(--font-mono);font-size:var(--text-caption);color:#a6a9b0;position:absolute;top:14px;right:20px}code.code-inline{background:var(--color-cream-well);border:1px solid var(--color-hairline);border-radius:var(--radius-code);color:var(--color-graphite);padding:1px 6px;font-size:.86em}.curriculum-prose{overflow-wrap:anywhere;max-width:72ch}.curriculum-catalog .stat-label{text-transform:none;letter-spacing:normal}.lesson-prose.curriculum-prose{font-size:var(--text-body-sm);line-height:1.7}.curriculum-prose>:first-child{margin-top:0!important}.curriculum-prose>:last-child{margin-bottom:0!important}.lesson-prose.curriculum-lead{font-size:var(--text-body);line-height:1.6}.curriculum-notes{align-items:start;gap:12px;display:grid}@media (min-width:48rem){.curriculum-notes{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));gap:16px}}.curriculum-note{background:var(--color-paper-white);border:1px solid var(--color-hairline);border-radius:var(--radius-cards);overflow:clip}.curriculum-note-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;list-style:none;transition:background-color .2s ease-out;display:flex}.curriculum-note-summary::-webkit-details-marker{display:none}.curriculum-note-summary:hover{background:var(--color-cream-well)}.curriculum-note-title{font-size:17px;line-height:1.3}.curriculum-note-body{padding:0 22px 22px}.explorer{background:var(--color-paper-white);border:1px solid var(--color-hairline);border-radius:var(--radius-feature);display:grid;overflow:clip}@media (min-width:64rem){.explorer{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.explorer-nav{background:var(--color-cream-well);border-bottom:1px solid var(--line);padding:16px 12px 20px;position:relative}@media (min-width:64rem){.explorer-nav{border-bottom:0;border-right:1px solid var(--line);padding:8px 20px 28px}}.explorer-blueprint{display:none}@media (min-width:64rem){.explorer-blueprint{display:block}}.explorer-nav .blueprint{padding:32px 0 12px;position:relative;top:auto}a.bp-node:hover{border-color:var(--color-ink-black)}a.bp-frame-label:hover{text-underline-offset:3px;text-decoration:underline}.explorer-list{gap:2px;display:grid;position:relative}@media (min-width:64rem){.explorer-list{margin-top:12px}}.explorer-link{border-radius:var(--radius-buttons);font-family:var(--font-sans);color:var(--color-graphite);overflow-wrap:anywhere;grid-template-columns:2rem minmax(0,1fr);gap:8px;padding:9px 12px;font-size:15px;line-height:1.4;display:grid;position:relative}.explorer-link:hover{background:var(--color-paper-white);color:var(--color-ink-black)}.explorer-link[aria-current=true]{background:var(--color-paper-white);color:var(--color-ink-black);font-weight:500}.explorer-link[aria-current=true]:before{content:"";border-radius:var(--radius-full);background:var(--color-cobalt);width:3px;position:absolute;top:8px;bottom:8px;left:0}.explorer-link-number{font-variant-numeric:tabular-nums;color:var(--color-pencil);padding-top:1px;font-size:14px;font-weight:500}.explorer-link[aria-current=true] .explorer-link-number{color:var(--color-cobalt-ink)}.explorer-panels{min-width:0;padding:28px 20px 32px}@media (min-width:48rem){.explorer-panels{padding:40px 36px}}@media (min-width:64rem){.explorer-panels{padding:48px 52px 44px}}.explorer-panel{display:none}.explorer-panel.is-current{display:block}.explorer-panels:has(:target)>.explorer-panel:not(:target):not(:has(:target)){display:none}.explorer-panel:target{display:block}.explorer-panel:has(:target){display:block}.explorer-kicker{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-pencil);font-size:14px;font-weight:500}.explorer-title{letter-spacing:var(--tracking-heading-em);margin-top:10px;font-size:clamp(28px,3.2vw,40px);line-height:1.08}.explorer-tagline{max-width:44ch;color:var(--color-graphite);margin-top:14px;font-size:20px;line-height:1.45}.lesson-prose.explorer-outcome{border-radius:var(--radius-cards);background:var(--color-cobalt-wash);margin-top:28px;padding:18px 22px}.explorer-panel>.curriculum-units{margin-top:28px}.curriculum-units{border-top:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline)}.curriculum-unit+.curriculum-unit{border-top:1px solid var(--color-hairline)}.curriculum-unit-summary{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:16px;margin-inline:-12px;padding:14px 12px;list-style:none;transition:background-color .2s ease-out;display:flex}.curriculum-unit-summary::-webkit-details-marker{display:none}.curriculum-unit-summary:hover{background:var(--color-cream-well)}.curriculum-unit-id{width:2.5rem;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-pencil);flex:none;font-size:14px;font-weight:500}.curriculum-disclosure-icon:before{content:"+"}.curriculum-unit[open]>summary .curriculum-disclosure-icon:before,.curriculum-note[open]>summary .curriculum-disclosure-icon:before,.explorer-project[open]>summary .curriculum-disclosure-icon:before{content:"−"}.curriculum-disclosure-icon{text-align:center;width:1ch;color:var(--color-pencil);font-family:var(--font-sans);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:22px;line-height:1}.curriculum-unit-body{padding:2px 0 24px}@media (min-width:48rem){.curriculum-unit-body{padding-left:calc(2.5rem + 16px)}}.explorer-project{border-radius:var(--radius-cards);background:var(--color-cream-well);margin-top:24px}.explorer-project-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:18px 20px;list-style:none;display:grid}.explorer-project-summary::-webkit-details-marker{display:none}.explorer-project-label{font-family:var(--font-sans);color:var(--color-pencil);grid-column:1;font-size:14px}.explorer-project-title{grid-column:1;margin-top:4px;font-size:17px;line-height:1.3}.explorer-project-summary>.curriculum-disclosure-icon{grid-area:1/2/span 2}.explorer-project-body{padding:0 20px 20px}.explorer-pager{border-top:1px solid var(--line);justify-content:space-between;gap:24px;margin-top:32px;padding-top:20px;display:flex}.explorer-pager-link{max-width:48%;font-family:var(--font-sans);color:var(--color-pencil);flex-direction:column;gap:4px;font-size:14px;display:flex}.explorer-pager-link.is-next{text-align:right;align-items:flex-end;margin-left:auto}.explorer-pager-title{color:var(--color-ink-black);text-underline-offset:4px;font-size:16px;font-weight:500;line-height:1.35;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:2px;transition:text-decoration-color .2s ease-out}.explorer-pager-link:hover .explorer-pager-title{-webkit-text-decoration-color:var(--color-cobalt-ink);-webkit-text-decoration-color:var(--color-cobalt-ink);-webkit-text-decoration-color:var(--color-cobalt-ink);text-decoration-color:var(--color-cobalt-ink)}.curriculum-closing .lesson-prose{color:var(--color-ink-black)}@media (prefers-reduced-motion:reduce){.curriculum-note-summary,.curriculum-unit-summary,.explorer-pager-title{transition:none}}.lesson-prose{font-size:var(--text-body);letter-spacing:var(--tracking-body);color:var(--color-graphite);line-height:1.6}@media (max-width:640px){.lesson-prose{line-height:1.45}}.lesson-prose h1,.lesson-prose h2,.lesson-prose h3,.lesson-prose h4{font-family:var(--font-sans);color:var(--color-ink-black);letter-spacing:var(--tracking-tight);font-weight:500;line-height:1.25}.lesson-prose h1,.lesson-prose h2{line-height:1.1}.lesson-prose h1{font-size:clamp(30px, 4vw, var(--text-heading))}.lesson-prose h2{font-size:clamp(26px, 3.2vw, var(--text-heading-sm))}.lesson-prose h3{font-size:var(--text-subheading);letter-spacing:var(--tracking-subheading)}.lesson-prose h4{font-size:var(--text-body);letter-spacing:var(--tracking-body)}.lesson-prose strong{color:var(--color-ink-black);font-weight:500}.lesson-prose ul,.lesson-prose ol{padding-left:1.4em}.lesson-prose ul{list-style:outside}.lesson-prose ol{list-style:decimal}.lesson-prose li{margin-block:.35em}.lesson-prose a{color:var(--color-ink-black);text-decoration:underline;-webkit-text-decoration-color:var(--color-cobalt-ink);-webkit-text-decoration-color:var(--color-cobalt-ink);-webkit-text-decoration-color:var(--color-cobalt-ink);text-decoration-color:var(--color-cobalt-ink);text-underline-offset:4px;overflow-wrap:anywhere;text-decoration-thickness:1.5px}.lesson-prose a:hover{text-decoration-color:currentColor}.lesson-prose code{font-family:var(--font-mono);background:var(--color-cream-well);border:1px solid var(--color-hairline);border-radius:var(--radius-code);color:var(--color-graphite);overflow-wrap:anywhere;padding:1px 6px;font-size:max(.86em,14px)}.lesson-prose pre{background:var(--code-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-cards);font-family:var(--font-mono);font-size:var(--text-code);line-height:var(--leading-code);padding:20px 24px;overflow-x:auto}.lesson-prose pre code{color:#ebe7e2;overflow-wrap:normal;background:0 0;border:0;padding:0}.lesson-prose blockquote{border-left:2px solid var(--color-cobalt-ink);color:var(--color-graphite);padding-left:20px}.lesson-prose table{border-collapse:collapse;width:100%;font-size:var(--text-body-sm)}.lesson-prose th,.lesson-prose td{border:1px solid var(--color-hairline);text-align:left;padding:8px 12px}.lesson-prose th{font-family:var(--font-sans);color:var(--color-graphite);background:var(--color-cream-well);font-weight:500}.lesson-prose hr{border:none;border-top:1px solid var(--color-hairline)}.lesson-prose:not(.flow) h1,.lesson-prose:not(.flow) h2,.lesson-prose:not(.flow) h3,.lesson-prose:not(.flow) h4{margin-top:1.6em;margin-bottom:.5em}.lesson-prose:not(.flow) :is(p,ul,ol){margin-block:.9em}.lesson-prose:not(.flow) blockquote,.lesson-prose:not(.flow) table{margin-block:1.2em}.lesson-prose:not(.flow) hr{margin-block:1.8em}.table-scroll{margin-block:1.2em;overflow-x:auto}@media (max-width:40rem){.lesson-prose table.table-stack,.lesson-prose table.table-stack tbody,.lesson-prose table.table-stack tr,.lesson-prose table.table-stack td{display:block}.lesson-prose table.table-stack thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lesson-prose table.table-stack tr{border:1px solid var(--color-hairline)}.lesson-prose table.table-stack tr+tr{border-top:none}.lesson-prose table.table-stack td{border:none;grid-template-columns:8.4em minmax(0,1fr);gap:12px;padding:4px 12px;display:grid}.lesson-prose table.table-stack td:first-child{padding-top:10px}.lesson-prose table.table-stack td:last-child{padding-bottom:10px}.lesson-prose table.table-stack td:before{content:attr(data-label);font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-pencil);overflow-wrap:anywhere}}.code-fig{border:1px solid var(--color-hairline);border-radius:var(--radius-cards);background:var(--code-surface);margin:0;overflow:hidden}.code-fig-head{background:var(--code-surface);font-family:var(--font-mono);letter-spacing:.06em;border-bottom:1px solid #312e2e;align-items:baseline;gap:16px;padding:9px 20px 8px;font-size:13px;display:flex}.code-fig-name{color:#dfddd8;overflow-wrap:anywhere;margin-right:auto}.code-fig-lang{color:#a6a9b0;white-space:nowrap}.code-fig-copy{font-family:var(--font-mono);letter-spacing:.06em;color:#a6a9b0;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0 2px;font-size:13px;transition:color .2s ease-out}.code-fig-copy:hover{color:#fff}.code-fig pre.shiki{font-family:var(--font-mono);font-size:var(--lesson-code,14px);border:none;border-radius:0;margin:0;padding-block:16px;padding-inline:0;line-height:1.7;overflow-x:auto}.code-fig pre.shiki code{overflow-wrap:normal;color:inherit;background:0 0;padding:0;display:grid}.code-fig pre.shiki .line{border-left:2px solid #0000;padding-inline:20px 22px}.code-fig pre.shiki .line:empty:after{content:"​"}.code-fig pre.shiki .line.highlighted{background:#2a2828;border-left-color:#a6a9b0}.code-fig pre.shiki .line[data-prompt]:before{content:attr(data-prompt);color:#8ea6ff;-webkit-user-select:none;user-select:none;margin-right:1ch}.code-fig[data-lang=text] pre.shiki .line[data-kind=cmd] span{color:#fff!important}.code-fig pre.shiki .line[data-kind=out] span{color:#a6a9b0!important}.code-fig pre.shiki .line[data-kind=out]+.line[data-kind=cmd]{margin-top:.5em}.code-fig pre.shiki.has-line-numbers code{counter-reset:line}.code-fig pre.shiki.has-line-numbers .line:before{counter-increment:line;content:counter(line);text-align:right;color:#a6a9b0;-webkit-user-select:none;user-select:none;opacity:.55;width:1.8rem;margin-right:1.25rem;display:inline-block}.code-fig pre.shiki.has-line-numbers .line.highlighted:before{color:#ebe7e2;opacity:1;font-weight:500}.code-fig pre.shiki-plain{background:var(--code-surface);color:#ebe7e2;padding-inline:22px}.code-fig[data-lang=text] pre code{white-space:pre-wrap;overflow-wrap:break-word}.diagram{box-sizing:border-box;width:100%;max-width:100%;margin:0}.diagram-frame{box-sizing:border-box;border:1px solid var(--color-hairline);border-radius:var(--radius-cards);width:100%;max-width:100%;padding:20px 24px;overflow-x:auto;color:#ebe7e2!important;background:#1a1919!important}.diagram-frame pre.diagram-source{color:var(--color-pencil);font-size:var(--lesson-code,14px);background:0 0;border:none;border-radius:0;margin:0;padding:0;line-height:1.7}.diagram-svg{color:#ebe7e2;width:100%;display:block}.diagram-svg svg{height:auto;margin:0 auto;display:block}.diagram-svg text,.diagram-svg tspan{fill:#ebe7e2}.diagram-svg foreignObject div,.diagram-svg foreignObject span,.diagram-svg foreignObject p,.diagram-svg .nodeLabel,.diagram-svg .label{color:#ebe7e2;opacity:1}.diagram-svg foreignObject b,.diagram-svg foreignObject strong,.diagram-svg .nodeLabel b,.diagram-svg .nodeLabel strong{color:#fff;font-weight:500}.diagram-svg .edgeLabel,.diagram-svg .edgeLabel span,.diagram-svg .edgeLabel p,.diagram-svg .edgeLabel div{color:#dfddd8;background-color:#1a1919}.diagram-svg .edgeLabel rect{fill:#1a1919;opacity:.85}.diagram-svg .cluster-label text,.diagram-svg .cluster-label span{fill:#fff;color:#fff;font-weight:500}.figure-caption{font-family:var(--font-sans);font-size:var(--text-caption);color:var(--color-pencil);margin-top:10px;line-height:1.5}.figure-caption:before{content:"FLOW DIAGRAM · ";font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);letter-spacing:.01em;text-transform:uppercase;color:var(--color-pencil);font-weight:400}.lesson-measure{max-width:var(--lesson-measure)}.lesson-layout{gap:32px;display:grid}@media (min-width:1024px){.lesson-layout{grid-template-columns:216px minmax(0,1fr);gap:48px}}.lesson-body{max-width:46em}.lesson-body>*+*{margin-top:32px}.lesson-canvas{--rail:192px;--rail-gap:52px;--bleed:0px;--lesson-body:clamp(17px, 1rem + .3vw, 19px);--lesson-code:clamp(13px, .8rem + .22vw, 14.5px);--measure:calc(37 * var(--lesson-body));--flow-gap:calc(var(--lesson-body) * 1.05);--rail-top:88px;padding-inline:20px}@media (min-width:640px){.lesson-canvas{--bleed:clamp(16px, 6vw, 84px);padding-inline:24px}}.flow{grid-template-columns:[full-start] minmax(0, 1fr) [body-start wide-start] var(--bleed) [text-start] min(var(--measure), max(0px, 100% - 2 * var(--bleed))) [text-end] var(--bleed) [wide-end body-end] minmax(0, 1fr) [full-end];display:grid}@media (min-width:1440px){.flow{grid-template-columns:[full-start] minmax(0, 1fr) [rail-start] var(--rail) [rail-end] var(--rail-gap) [body-start wide-start] var(--bleed) [text-start] min(var(--measure), max(0px, 100% - 2 * (var(--bleed) + var(--rail-gap) + var(--rail)))) [text-end] var(--bleed) [wide-end] var(--rail-gap) var(--rail) [body-end] minmax(0, 1fr) [full-end]}}.flow>*{grid-column:text;min-width:0}.flow>figure,.flow>figure.code-fig,.flow>figure.diagram,.flow>.table-scroll,.flow>.flow-apparatus,.flow>.callout,.flow>.apparatus{box-sizing:border-box;grid-column:text;width:100%;max-width:100%}.flow>.flow,.flow>.flow-band{grid-column:full}.flow>*+*{margin-top:var(--flow-gap)}.flow>*+h2{margin-top:calc(var(--flow-gap) * 2.4)}.flow>*+h3{margin-top:calc(var(--flow-gap) * 1.8)}.flow>:is(h2,h3,h4)+*{margin-top:calc(var(--flow-gap) * .55)}.flow>*+figure,.flow>figure+*,.flow>*+.table-scroll,.flow>.table-scroll+*{margin-top:calc(var(--flow-gap) * 1.5)}.flow>.table-scroll{margin-bottom:0}.flow>*+.callout,.flow>.callout+*{margin-top:calc(var(--flow-gap) * 1.6)}.flow>*+.flow-apparatus,.flow>.flow-apparatus+*{margin-top:calc(var(--flow-gap) * 2.2)}.unit-script-layout{padding-block:64px 0}.unit-script-layout>.lesson-contents{z-index:1;grid-area:1/rail;margin-top:0}.unit-script-layout>.unit-script-body{grid-area:1/full;margin-top:0}@media (max-width:1439px){.unit-script-layout>.lesson-contents{display:none}}.unit-script-body>.unit-script-phase+.unit-script-phase{margin-top:96px}.unit-script-body h2,.unit-script-body h3{scroll-margin-top:var(--rail-top,140px)}.unit-script-body{counter-reset:beat}.lesson-prose.flow>h2{counter-increment:beat;position:relative}.lesson-prose.flow>h2:before{content:counter(beat, decimal-leading-zero);font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);letter-spacing:.01em;color:var(--color-pencil);font-weight:400}@media (min-width:1440px){.lesson-prose.flow>h2:before{margin-right:26px;position:absolute;top:.55em;right:100%}}@media (max-width:1439px){.lesson-prose.flow>h2:before{margin-bottom:10px;display:block}}.lesson-prose.flow{font-size:var(--lesson-body);color:var(--color-graphite);line-height:1.6}@media (max-width:640px){.lesson-prose.flow{line-height:1.45}}.lesson-prose.flow h2{font-size:clamp(26px, 1.35rem + 1.3vw, var(--text-heading));letter-spacing:var(--tracking-heading-em);margin-top:calc(3 * 1.6 * var(--lesson-body,17px));margin-bottom:var(--lesson-body,17px);line-height:1.1}.lesson-prose.flow h3{font-size:clamp(21px, 1.15rem + .5vw, var(--text-subheading))}.lesson-prose.flow h4{font-size:clamp(17px,1rem + .2vw,18.5px)}.unit-script-phase:first-of-type>.lesson-prose.flow>p:first-of-type{font-size:clamp(19px, 1.05rem + .5vw, var(--text-subheading));letter-spacing:-.005em;color:var(--color-ink-black);line-height:1.45}.flow .callout>.lesson-prose{font-size:calc(var(--lesson-body) * .94)}.chapter-opener{background:var(--color-canvas-cream);border-bottom:1px solid var(--color-hairline);padding-block:72px 48px}.chapter-crumbs{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);letter-spacing:.01em;color:var(--color-pencil);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chapter-crumbs a{color:var(--color-pencil);text-decoration:none;transition:color .2s ease-out}.chapter-crumbs a:hover{color:var(--color-graphite)}.chapter-crumb-here{color:var(--color-pencil)}.chapter-title{font-size:clamp(40px, 1.6rem + 4vw, var(--text-heading-lg));font-weight:500;line-height:var(--leading-heading-lg);letter-spacing:var(--tracking-heading-em);margin-top:22px}.chapter-specs{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);letter-spacing:.01em;color:var(--color-pencil);flex-wrap:wrap;row-gap:8px;margin-top:24px;display:flex}.chapter-specs>span+span{border-left:1px solid var(--color-hairline);margin-left:14px;padding-left:14px}.chapter-beats{border-top:1px solid var(--color-hairline);margin-top:34px;padding-top:22px}.chapter-beats-title{font-size:var(--text-caption);margin-bottom:16px}.chapter-beats-list{gap:10px 32px;list-style:none;display:grid}@media (min-width:640px){.chapter-beats-list{grid-template-columns:1fr 1fr}}.chapter-beat{color:var(--color-pencil);font-size:var(--text-body-sm);gap:12px;line-height:1.4;text-decoration:none;transition:color .2s ease-out;display:flex}.chapter-beat:hover{color:var(--color-graphite)}.chapter-beat-index{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);letter-spacing:.01em;color:var(--color-pencil);flex:none;padding-top:2px}.apparatus{border-top:1px solid var(--color-hairline);padding-top:20px}.apparatus-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;margin-bottom:18px;display:flex}.apparatus-label{font-family:var(--font-sans);font-size:var(--text-body-sm);letter-spacing:var(--tracking);color:var(--color-graphite);font-weight:500}.apparatus-note{max-width:68ch;font-size:var(--text-body-sm);color:var(--color-graphite);line-height:1.65}.lesson-section>*+*{margin-top:20px}.lesson-section-title{font-size:clamp(21px, 2.4vw, var(--text-subheading));line-height:var(--leading-subheading);border-bottom:1px solid var(--color-hairline);align-items:baseline;gap:14px;padding-bottom:14px;scroll-margin-top:140px;display:flex}.lesson-section-index{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);color:var(--color-cobalt-ink)}.lesson-body h4{scroll-margin-top:140px}.lesson-contents{align-self:start}@media (min-width:1024px){.lesson-contents{top:var(--rail-top,136px);max-height:calc(100vh - var(--rail-top,136px) - 40px);position:sticky;overflow-y:auto}}.lesson-contents-title{font-size:var(--text-caption);margin-bottom:16px}.lesson-contents-list,.lesson-contents-sublist{flex-direction:column;list-style:none;display:flex}.lesson-contents-list{gap:14px}.lesson-contents-sublist{border-left:1px solid var(--color-hairline);font-size:var(--text-caption);gap:8px;margin-top:8px;padding-left:12px}.lesson-contents-link{color:var(--color-pencil);font-size:var(--text-caption);border-left:2px solid #0000;gap:10px;margin-left:-12px;padding-left:11px;line-height:1.4;text-decoration:none;transition:color .2s ease-out;display:flex}.lesson-contents-link-top{color:var(--color-pencil)}.lesson-contents-index{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);letter-spacing:.01em;color:var(--color-pencil);flex:none;padding-top:1px}.lesson-contents-link:hover,.lesson-contents-link[aria-current=true]{color:var(--color-ink-black)}.lesson-contents-link[aria-current=true]{border-left-color:var(--color-ink-black)}.lesson-contents-link[aria-current=true] .lesson-contents-index{color:var(--color-pencil)}.lesson-progress{background:var(--color-hairline);height:2px;margin-top:20px}.lesson-progress-fill{background:var(--color-ink-black);height:100%;display:block}.callout{box-sizing:border-box;background:var(--color-canvas-cream);border:1px solid var(--color-hairline);border-radius:var(--radius-cards);width:100%;max-width:100%;padding:20px 24px}.callout>*+*{margin-top:12px}.callout-gotcha{border-left:2px solid var(--color-ink-black)}.callout-checkpoint{border-left:3px solid var(--color-cobalt-ink);width:100%;max-width:100%}.callout-label,.callout-scratch-label{font-family:var(--font-sans);font-size:var(--text-caption);letter-spacing:var(--tracking);color:var(--color-pencil);font-weight:500}.callout-label-accent{color:var(--color-cobalt-ink)}.callout-title{font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-graphite);font-weight:500;line-height:1.3}.callout-body,.callout-question{font-size:var(--text-body-sm)}.callout-question{color:var(--color-graphite)}.callout-body>:first-child,.callout-question>:first-child,.reveal-body>:first-child{margin-top:0}.callout-body>:last-child,.callout-question>:last-child,.reveal-body>:last-child{margin-bottom:0}.callout-scratch{border-top:1px solid var(--color-hairline);padding-top:16px}.callout-scratch-label{margin-bottom:8px;display:block}.callout-scratch-note{font-size:var(--text-caption);color:var(--color-pencil);margin-top:8px;line-height:1.5}.reveal{border-top:1px solid var(--color-hairline);padding-top:14px}.reveal-flush{border-top:none;padding-top:0}.reveal>summary{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-caption);color:var(--color-pencil);align-items:center;gap:8px;margin-inline-start:-4px;padding:2px 4px;font-weight:500;list-style:none;display:inline-flex}.reveal>summary::-webkit-details-marker{display:none}.reveal>summary:before{content:"+";font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-cobalt-ink)}.reveal[open]>summary:before{content:"−"}.reveal>summary:hover{color:var(--color-graphite)}.reveal-body{font-size:var(--text-body-sm);margin-top:14px}.callout-aside{border-left:2px solid var(--color-edge);padding-top:18px}.callout-aside>summary{font-family:var(--font-sans);color:var(--color-pencil);font-size:16px;font-weight:500}.callout-aside[open]>summary,.callout-aside>summary:hover{color:var(--color-graphite)}.callout-recap{border-left:2px solid var(--color-cobalt-ink);background:var(--color-cobalt-wash)}.callout-coda{border-left:2px solid var(--color-ink-black);background:var(--color-cream-well)}.chapter-beat-time{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:var(--text-caption);letter-spacing:.01em;color:var(--color-pencil);white-space:nowrap;margin-left:auto;padding-left:16px}.chapter-beat-text,.lesson-contents-label{flex:1}details.faq-item summary{cursor:pointer;list-style:none}details.faq-item summary::-webkit-details-marker{display:none}details.faq-item summary .faq-chevron{flex-shrink:0;transition:transform .14s}details.faq-item[open] summary .faq-chevron{transform:rotate(90deg)}.nav-link{color:var(--color-graphite);letter-spacing:var(--tracking);border-radius:var(--radius-nav);align-items:center;padding:6px 12px;font-size:15px;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--color-ink-black);background:var(--color-cream-well)}.nav-link[aria-current=page]{color:var(--color-canvas-cream);background:var(--color-ink-black)}.skip-link{background:var(--color-ink-black);color:var(--color-canvas-cream);border-radius:var(--radius-buttons);z-index:100;padding:10px 18px;font-weight:500;position:absolute;top:0;left:-9999px}.skip-link:focus{top:16px;left:16px}.divider-dark{border-top:1px solid var(--color-hairline)}.chapter-heading{flex-direction:column;gap:.35rem;display:flex}.chapter-heading-number{font-family:var(--font-sans);font-size:var(--text-caption);letter-spacing:var(--tracking);color:var(--text-faint);font-weight:500}.lesson-prose details{border:1px solid var(--color-hairline);border-radius:var(--radius-cards);padding:0}.lesson-prose details>summary{cursor:pointer;padding:.75rem 1rem;font-weight:500;list-style:none}.lesson-prose details>summary::-webkit-details-marker{display:none}.lesson-prose details>summary:before{content:"▸";width:1.1em;transition:transform .12s;display:inline-block}.lesson-prose details[open]>summary:before{transform:rotate(90deg)}.lesson-prose details>:not(summary){margin-left:1rem;margin-right:1rem}.lesson-prose details>*+*{margin-top:var(--flow-gap,1em)}.lesson-prose details>summary+*{margin-top:.25rem}.lesson-prose details>:last-child:not(summary){margin-bottom:1rem}html{scroll-padding-bottom:var(--cookie-notice-space,0px)}body{padding-bottom:var(--cookie-notice-space,0px)}.cookie-notice{z-index:45;inset-inline:0;padding:0 24px 16px;position:fixed;bottom:0}@media (max-width:480px){.cookie-notice{padding:0 16px 16px}}.cookie-notice-card{background:var(--color-paper-white);border:1px solid var(--color-edge);border-radius:var(--radius-cards);flex-wrap:wrap;align-items:center;gap:12px 24px;max-width:48rem;margin-inline:auto;padding:16px 20px;display:flex}.cookie-notice-card p{color:var(--color-graphite);flex:20rem;font-size:16px;line-height:1.5}.cookie-notice-actions{gap:12px;display:flex}.drawer-backdrop{background:var(--code-surface);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.drawer-backdrop{background:color-mix(in srgb, var(--code-surface) 55%, transparent)}}.drawer-backdrop{z-index:50;transition:opacity .2s ease-out}.drawer-panel{background:var(--color-canvas-cream);border-left:1px solid var(--color-edge);z-index:50;width:100%;max-width:540px;box-shadow:none;border-radius:0;flex-direction:column;transition:transform .2s ease-out,visibility .2s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-trigger{bottom:calc(24px + var(--cookie-notice-space,0px));z-index:40;background:var(--color-cream-well);border:1px solid var(--color-edge);color:var(--color-graphite);font-family:var(--font-sans);font-size:var(--text-body-sm);letter-spacing:var(--tracking-body-sm);cursor:pointer;border-radius:var(--radius-buttons);box-shadow:none;align-items:center;gap:10px;padding:10px 18px;font-weight:500;display:inline-flex;position:fixed;right:24px}.drawer-trigger:hover{border-color:var(--color-ink-black)}.sales-page{overflow-x:clip}.sales-frame{max-width:var(--page-max-width);margin-inline:auto}.sales-hero{position:relative}.sales-rule{height:clamp(24px,4vw,48px)}.sales-rule>span{display:none}.sales-line{border-color:var(--line)}.sales-cells>*+*{border-top:1px solid var(--line)}@media (min-width:48rem){.sales-cells>*+*{border-top:0;border-left:1px solid var(--line)}}.sales-frame>section:not(.sales-closing),.sales-frame>figure,.sales-frame>div:not(.sales-rule){background:var(--color-paper-white);border:1px solid var(--color-hairline);border-radius:var(--radius-feature);margin-inline:16px;overflow:hidden}@media (max-width:480px){.sales-frame>section:not(.sales-closing),.sales-frame>figure,.sales-frame>div:not(.sales-rule){border-radius:var(--radius-cards)}}@media (min-width:1232px){.sales-frame>section:not(.sales-closing),.sales-frame>figure,.sales-frame>div:not(.sales-rule){margin-inline:0}}.sales-closing{margin-inline:16px}@media (min-width:1232px){.sales-closing{margin-inline:0}}.card-feature .btn-accent,.card-feature .btn-primary{color:#fff;background:#000}.card-feature .btn-accent:hover:not(:disabled),.card-feature .btn-primary:hover:not(:disabled){background:#242423}.card-feature .btn-ghost{color:#fff;border-color:#fff}.card-feature .btn-ghost:hover:not(:disabled){color:#2448e8;background:#fff}.card-feature :focus-visible{outline-color:#fff}.card-feature .link-ink,.card-feature a{text-decoration-color:currentColor}.sales-title{text-wrap:balance;font-family:var(--font-sans);font-size:clamp(44px, 8vw, var(--text-display));font-weight:700;line-height:var(--leading-display);letter-spacing:var(--tracking-display-em);color:var(--color-ink-black)}.sales-closing .sales-title{font-size:clamp(40px, 6.5vw, var(--text-display-sm))}.sales-heading{text-wrap:balance;font-family:var(--font-sans);font-size:clamp(30px, 4.5vw, var(--text-heading-lg));font-weight:500;line-height:var(--leading-heading-lg);letter-spacing:var(--tracking-heading-em);color:var(--color-ink-black)}.sales-stat{font-family:var(--font-sans);font-size:clamp(44px, 6vw, var(--text-display-sm));letter-spacing:var(--tracking-display-em);color:var(--color-ink-black);font-weight:700;line-height:1}.sales-frame>section:has(.track-body){overflow:clip}.track-body{border-top:1px solid var(--line);display:grid}@media (min-width:64rem){.track-body:not(.track-body-plain){grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}}.track-figure-column{background:var(--color-cream-well);border-bottom:1px solid var(--line);position:relative}@media (min-width:64rem){.track-figure-column{border-bottom:0;border-right:1px solid var(--line)}}.blueprint-paper{color:var(--color-hairline);pointer-events:none;position:absolute;inset:0}.blueprint{flex-direction:column;align-items:center;max-width:480px;margin:0 auto;padding:32px 20px 28px;display:flex;position:relative}@media (min-width:64rem){.blueprint{padding:40px 32px 32px;position:sticky;top:88px}}.bp-entry{font-family:var(--font-sans);color:var(--color-graphite);flex-direction:column;align-items:center;font-size:14px;font-weight:500;display:flex}.bp-entry:before{content:"";border-radius:var(--radius-full);background:var(--color-cobalt);width:10px;height:10px;margin-bottom:8px}.bp-link{background:var(--color-edge);flex:none;width:1px;height:16px;display:block}.bp-hlink{background:var(--color-edge);flex:none;width:14px;height:1px;display:block}.bp-row{justify-content:center;align-items:center;display:flex}.bp-node{border:1px dashed var(--color-edge);border-radius:var(--radius-cards);min-height:40px;color:var(--color-pencil);font-family:var(--font-sans);text-align:center;background:0 0;justify-content:center;align-items:center;padding:8px 14px;font-size:14px;font-weight:500;line-height:1.25;transition:background-color .3s ease-out,border-color .3s ease-out,color .3s ease-out;display:inline-flex}.bp-node.is-built{border-style:solid;border-color:var(--color-ink-black);background:var(--color-paper-white);color:var(--color-ink-black)}.bp-node.is-current{border-style:solid;border-color:var(--color-cobalt);background:var(--color-cobalt);color:var(--color-on-cobalt)}.bp-band{align-self:stretch;margin-top:18px}.bp-frame{border:1px dashed var(--color-edge);border-radius:var(--radius-feature);flex-direction:column;align-self:stretch;align-items:center;padding:48px 16px 16px;transition:background-color .3s ease-out,border-color .3s ease-out;display:flex;position:relative}.bp-frame.is-built,.bp-frame.is-current{background:var(--color-paper-white);border-style:solid}.bp-frame.is-built{border-color:var(--color-ink-black)}.bp-frame.is-current{border-color:var(--color-cobalt-ink)}.bp-frame-open{border-color:#0000}.bp-frame-label{border-radius:var(--radius-full);font-family:var(--font-sans);color:var(--color-pencil);padding:2px 10px;font-size:14px;font-weight:500;transition:background-color .3s ease-out,color .3s ease-out;position:absolute;top:12px;left:14px}.bp-frame.is-built>.bp-frame-label{color:var(--color-ink-black)}.bp-frame.is-current>.bp-frame-label{background:var(--color-cobalt);color:var(--color-on-cobalt)}.bp-caption{text-align:center;font-family:var(--font-sans);color:var(--color-pencil);margin-top:16px;font-size:14px}.track-number{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-pencil);padding-top:4px;font-size:14px;font-weight:500;transition:color .3s ease-out}.track-row.is-current:before{content:"";background:var(--color-cobalt);width:3px;position:absolute;top:0;bottom:0;left:0}.track-row.is-current .track-number{color:var(--color-cobalt-ink)}.track-row{grid-template-columns:2.25rem minmax(0,1fr) auto;column-gap:16px;padding:22px 24px;transition:background-color .2s ease-out;display:grid;position:relative}.track-row+.track-row,.track-finale{border-top:1px solid var(--line)}@media (min-width:64rem){.track-row{padding:26px 40px}}.track-link:after{content:"";position:absolute;inset:0}.track-row:has(.track-link):hover{background:var(--color-cream-well)}.track-row:has(.track-link:focus-visible){outline:2px solid var(--color-ink-black);outline-offset:-2px}.track-arrow{transition:transform .2s ease-out}.track-row:hover .track-arrow{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.track-row,.track-arrow,.track-number,.bp-node,.bp-frame,.bp-frame-label{transition:none}.track-row:hover .track-arrow{transform:none}}.code-fig.code-fig-bleed{border:0;border-top:1px solid var(--line);border-radius:0}@media (min-width:64rem){.code-fig.code-fig-bleed{border-top:0;border-left:1px solid var(--line)}}.code-fig-output{border-top:1px solid #312e2e;padding:14px 22px 18px}.code-fig-output-label{font-family:var(--font-mono);letter-spacing:.06em;color:#a6a9b0;font-size:13px}.code-fig-output pre{font-family:var(--font-mono);font-size:var(--lesson-code,14px);color:#ebe7e2;white-space:pre;margin:8px 0 0;line-height:1.7;overflow-x:auto}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}
